crigroup / osr_course_pkgs

13 stars 15 forks source link

I have a question about friction #3

Closed wonchul-kim closed 6 years ago

wonchul-kim commented 7 years ago

I want to grasp the object using robotiq-85.

I installed robotiq-85 to UR3 manipulator and want it to grasp an object.

However, it just slipped the object when it close the finger..

I added friction condition using into the object urdf....

Could you tell me what to do?

xuanhien070594 commented 7 years ago

Hi Wonchul, Have you created the new gazebo world file for your robot? If so, the solution is below.

I also faced your problem when I worked with Gazebo before. The root cause of your problem is that the physics engines of Gazebo (ODE, Bullet or DART) is not working well in grasping even though you try to specify the friction models for objects. Therefore, our solution is when the robot arm grasps the object, we use a plugin (gazebo_ros_link_attacher) to attach the object to the gripper, so that the object could not slip off. You can implement by adding the following line of code to your gazebo world file:

<plugin name="ros_link_attacher_plugin" filename="libgazebo_ros_link_attacher.so"/>

You can open the file cube_task.world to see where to put the line of code above Once you've done that, the robot should be able to grasp the object. Make sure in your script, you use class GripperController to control gripper (see the script gazebo_pick_and_place.py for more detailed usage)

Thanks, if you have any other problem please inform us.

Regards, Bui Xuan Hien

wonchul-kim commented 7 years ago

Thanks for you advice!!

This is what i guess based on your answer: Even though i set the physics engines of Gazebo, it is not working when gripper grasps an object. So, the plugin you mentioned has to be added, and this is just attaching the object to the gripper when the gripper grasps it, not about physics, right?

Regards, Wonchul Kim

2017-09-29 20:31 GMT+09:00 xuanhien070594 notifications@github.com:

Hi Wonchul, Have you created the new gazebo world file for your robot? If so, the solution is below.

I also faced your problem when I worked with Gazebo before. The root cause of your problem is that the physics engines of Gazebo (ODE, Bullet or DART) is not working well in grasping even though you try to specify the friction models for objects. therefore, our solution is when the robot arm grasps the object, we using a plugin (gazebo_ros_link_attacher) to attach the object to the gripper, so that the object could not slip off. You can implement by adding the following line of code to your gazebo world file:

You can open the file cube_task.world to see where to put the line of code above Once you've done that, the robot should be able to grasp the object. Make sure in your script, you use class GripperController to control gripper (see the script gazebo_pick_and_place.py for more detailed usage)

Thanks, if you have any other problem please inform us.

Regards, Bui Xuan Hien

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/crigroup/osr_course_pkgs/issues/3#issuecomment-333102547, or mute the thread https://github.com/notifications/unsubscribe-auth/AT7jwcZ2v068qEl8K_6ZGw58C1fbltOaks5snNUHgaJpZM4Pm52H .

xuanhien070594 commented 7 years ago

Yes, the plugin is just a trick to attach the object to the gripper and it is totally not related to physics. Regards, Bui Xuan Hien

wonchul-kim commented 6 years ago

Thank you for your reply!!! I solve the problem and I can make the gripper to grasp the object.

I have one more questions. Since I am trying to make the manipulator learn to grasp a certain object at any direction. Or, cooperative work with two manipulator.

Is this possible in gazebo? I heard that ROS doesn't provide contact dynamics or information I would need to make the robot learn for those works. Could you give me any advice?

Wonchul Kim.

2017-09-30 15:27 GMT+09:00 xuanhien070594 notifications@github.com:

Yes, the plugin is just a trick to attach the object to the gripper and it is totally not related to physics. Regards, Bui Xuan Hien

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/crigroup/osr_course_pkgs/issues/3#issuecomment-333287615, or mute the thread https://github.com/notifications/unsubscribe-auth/AT7jwb8e5QTDTbPTr8tRoN1MwAaCDXmrks5snd9QgaJpZM4Pm52H .

fsuarez6 commented 6 years ago

I'll split this in two: Grasping in gazebo and contact (dynamics) information in gazebo.

Grasping in gazebo

Grasping in gazebo has always been complicated. Here some related threads that show what complicated means:

That is why we use the gazebo_ros_link_attacher plugin.

Contacts in gazebo

Yes, you can simulate (and 'measure') contacts in gazebo. In this question you can see an image where the contacts between the gripper and the drill are visualized. Although, there are several limitations with gazebo:

Summary

Is it possible for a manipulator+gripper to learn how to grasp an object using contact information in gazebo? I wouldn't say it's impossible but I can imagine that to get good results you will need to spend a good amount of time tuning the simulation parameters. If you have more questions regarding grasping in gazebo and contacts in gazebo, the proper place to look for support is http://answers.gazebosim.org