fzi-forschungszentrum-informatik / cartesian_controllers

A set of Cartesian controllers for the ROS1 and ROS2-control framework.
BSD 3-Clause "New" or "Revised" License
397 stars 118 forks source link

Force control on uneven surface with Franka Emika #169

Closed albic98 closed 1 month ago

albic98 commented 10 months ago

Hello, I integrated this controllers on Franka Emika Panda and would like to use it while moving on some 3D uneven surface. I want to track the shape of the surface while having constant contact. Is this possible with the compliance controller which is here? And how would you suggest to do it?

matthias-mayr commented 10 months ago

We have an example for an even surface and a UR5 with this controller package in this paper (arXiv). A video of it is also quickly shown in the ROSCon talk here. A few seconds later you also see one of our KUKA iiwas doing a similar wiping task.
Since the iiwa - like the Panda - allows us to use torque control, we used our Cartesian impedance controller, which give us very stable behavior w.r.t oscillations. A short paper about this controller just got published yesterday with JOSS. Unfortunately it's not ported to ROS 2 yet.

I've always been interested in uneven surfaces, but haven't tried it yet myself. What we did for both demos with the even surface is to disable stiffness in the direction to the surface and apply a force. Then we execute our trajectory and with the stiffness in both horizontal direction, the end effector follows the reference trajectory. More is in the paper.