Panda Grasp fail in Gazebo 9.0 via ROS and Moveit

asked 2020-07-16 03:06:40 -0600

mert gravatar image

Dear all,

Shortly : In gazebo I am using a franka emika panda to grasp an object from the table. The robot is controller through ros and moveit. The objects seems to slip away, as there is no force applied from the fingers of the gripper or there is no friction. I am not sure if that is indeed true or there is another problem.

Here is a gif showing the problem:

via GIPHY

More info : I am currently trying to simulate a simple object pick and place task in Gazebo 9 with a Panda, which is mounted on top of a mobile base. The object to grasp is pretty simple, a small cube object of mass 0.5. For grasping, what I am doing is sending a position for end effector via moveit, then when the gripper is around the target object sending close gripper command.

When I search for the problem, most cases I see with a similar issue (with mostly different robot setups) was because the robot needs to be controlled with EffortJointInterface. However, my launch file runs the manipulator with EffortJointInterface.

If anybody has a solution or further question please let me know. If you know a repo that includes a running example of grasp with panda in Gazebo, that could also be useful.

Best

edit retag flag offensive close merge delete

Comments

did you try to increase the grasping force applied by the manipulator ? Are you sure that you send an effort to every joints of the robots (via EffortJointInterface or PositionJointInterface with PID gain) ? Did you try to increase contact friction coefficent ?

Clément Rolinat gravatar imageClément Rolinat ( 2020-07-23 10:25:13 -0600 )edit

Hi Clement,

Thank you for your response. I do not know how to change the contact friction coefficient for gripper, or force applied by it, do you have a suggestion to direct me? I am setting every joint via moveit and EffortJointInterface. But I will check the fingers again and update my response.

mert gravatar imagemert ( 2020-07-29 05:06:41 -0600 )edit

If you use EffortJointInterface, you directly control the force applied by the gripper (maybe I'm missing something about your setup ?). The friction coefficient is a parameter in your sdf/urdf file. See those links for details about gazebo parameters : link1, link2, link3

Clément Rolinat gravatar imageClément Rolinat ( 2020-08-17 08:27:25 -0600 )edit

Thank you @clement for your answer. I tried to play with the coefficients in gripper to understand how they affect the grasping but I could not get it to run by then. In the end I used Jennifer Buehler's Gazebo Extensions. This package implements a fake grasp that was good enough to work my case. I will read the links you have sent next week and try to solve it without additional packages.

mert gravatar imagemert ( 2020-10-06 05:16:39 -0600 )edit