Gripper Controllers for Franka Panda in Gazebo Simulation

asked 2020-05-28 11:46:36 -0500

Abhinavgandhi09 gravatar image

updated 2020-05-28 11:47:34 -0500

Hi all,

[Context] I have a Franka Panda robot setup in Gazebo along with Moveit for my research. I have written a class that exposes some moveit functions as services and am successfully able to control the robot and move it to pose and orientation goals using the joint planning and cartesian planning functions in moveit. I am using joint trajectory and state controllers with the effort controller hardware interface for the arm.

[Issue] I am trying to pick a small rectangular prism that is balanced on the edge of a surface. I tried using effort force controllers for each of the fingers on the franka gripper. I do this with a service that sends a force value to the fingers. Although the gripper is able to close and grasp the prism, when the robot moves away to a new position the fingers are unable to keep the object grasped, they slacken and the object falls out. I tried increasing the force limits for the joints in the urdf but it wasn't helpful. The current force limit is 20N I tried upto 1000N.

I moved to using position controllers, with effort controller hw interface. With this, I am able to command the width between the gripper fingers but the fingers do not exert enough force to grasp the object. Does anyone have any suggestions on how I could use a mix of both position and force control for the fingers? It looks like the effort_controllers/JointPositionController should do exactly this but I am not sure how to set the force for it. The service seems to accept only a position value. Should I be using some other controller like the gripper action controller for this task? If so how do I go about that? Thanks in advance!

edit retag flag offensive close merge delete