frankaemika / libfranka

C++ library for Franka research robots
https://frankaemika.github.io
Apache License 2.0
221 stars 147 forks source link

Unable to apply specific force to an object by the gripper #136

Open simon-TUM opened 1 year ago

simon-TUM commented 1 year ago

Hi, I'm using libfranka with a ROS service to control the gripper. My goal is to apply a certain force on a deformable object to measure deformation at different forces. I'm using the bool franka::Gripper::grasp(double width, double speed, double force) function to do so.

When I call the function with distance 0 and a certain force*, I noticed that force is applied for a first moment and then the gripper stops applying force. However, I never get the specified force I want.

Using the tolerances epsilon_inner and epsilon_outer couldn't solve my problem. I used an external force sensor to verify the force from the gripper and it seems far off the requested force. Is it actually possible to apply a specific force to an object? If yes, how can I do that?

* Function call and external force sensor readings: gripper.grasp (0.001, 0.05, 25) The tolerances were left by their default values. By looking at the readings of the external force sensor, the force reaches about 35N and then goes down to 5N.

force_sensor