Code Monkey home page Code Monkey logo

pybullet_ur5_robotiq's Introduction

Gym-Styled UR5 arm with Robotiq-85 / 140 gripper in PyBullet simulator

Probably the best one among all GitHub repos.

This repo is under active development. Issues / PRs are welcomed.

User Control Demo

Highlights

  • UR5 arm with end-effector 6D IK (Position [X Y Z] and Orientation [R P Y])
  • Enhanced Robotiq-85 / 140 gripper, with precise position control and experimental torque control
  • Built-in YCB models loader (and obj models after decomposition)
  • Gym-styled API, making it suitable for Reinforcement Learning in the field of push-and-grasp
  • A heuristic grasping demo
  • An interactive user-control demo

Prerequisite

  • Python 3
  • PyBullet

Run

You can try this repo with the interactive user-control demo.

python main.py

You can change the XYZ and RPY of the gripper on the right panel.

Press Z to close the gripper and R to open it.

Usage

See heuristic demo in main.py.

References

https://github.com/matafela/pybullet_grasp_annotator_robotiq_85

https://github.com/zswang666/pybullet-playground

https://github.com/ros-industrial/robotiq

https://github.com/Alchemist77/pybullet-ur5-equipped-with-robotiq-140

I do not claim copyright for any model files under this repo.

pybullet_ur5_robotiq's People

Contributors

electronicelephant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pybullet_ur5_robotiq's Issues

about the RPY

Hi,
Thanks for providing a good simulation. I just checked the RPY control, found only Y works, RP not. So I just wonder whether it's code like this, or there is some bug?

Floating base constraint

Hi, Thanks for your model!

I'm trying to combine ur5robotiq85 with a husky ugv. The robot itself works very well, but when I add the constraint, ugv will be attached to the robot base, and it seems like the position and orientation of the robot base is not changeable, and the base will not be affected by gravity.

I tried general methods like set useFixedBase = False when loading the URDF, but it does not work. What can I do with it?

1

Question: how did you generate the pure urdf file

Hi,

I apologize for asking a question here. But I was trying to generate a "pure" urdf file recently (to use openrave ikfast) but all I can find online is how to convert the macro file to urdf and this always gives me issues.

I would appreciate a lot if you could share some suggestions or point me to the right direction. Thank you.

End-effector pose

Hellow,
Thanks for providing a good simulation. I got a problem when I was controlling the end-effector. In the main.py file, I added the following code to get the pose of the end-effector.

 pos = p.getLinkState(robot.id, robot.eef_id)
 start_eur = p.getEulerFromQuaternion(pos[5])
 print(start_eur)

But the returned start_eur variable is inconsistent with the input of env.read_debug_parameter().
For example

start_eur = (3.141490980302897, 0.6957960404397654, -1.57088815227758)
[roll, pitch, yaw] in env.read_debug_parameter() is [0.0, 2.446, 1.571]

This looks like there is a missing transformation matrix between the pose of the end-effector and the Orientation [R P Y].
How to make the end-effector move to the specified pose?

I would appreciate it if you could share some suggestions or point me in the right direction. Thank you.

Is agent.py finished?

Hi, thanks for your great work. I wonder agent.py has already finished? Is its function just to provide a heuristic template for us to refer to, and the specific functions still need to be completed by ourselves?

Gripper 85 bug when changing force

Hello,
Thank you for this model!
I am working on an simulation where I need to modify the force in the gripper, so in the ControlGripper method that you provide, I changed the value of the force. Specifically I change the variable desired_force in the following parts:

  1. p.setJointMotorControl2(robotID, parent.id, controlMode, targetPosition=pose, force=desired_force, maxVelocity=parent.maxVelocity)

  2. p.setJointMotorControl2(robotID, child.id, controlMode, targetPosition=childPose, orce=desired_force, maxVelocity=child.maxVelocity)

I have tried different force values but I have the behavior that you can see in the image, where some of the parts of the gripper are not attached when I try to grab an object. Are there some parameter in the urdf that I must change?

Screenshot from 2022-03-25 15-57-46

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.