jrl-umi3218/mc_panda

PandaHand not working with real robot (missing encoder sensors)

Closed this issue · 2 comments

We are trying to use the mc_rtc framework including mc_panda with a real Franka Emika Panda robot.
Our application (simple motion to contact point) works fine in simulation with or without robot hand attached.
But on the real robot, it only works without Franka Hand attached.
With Franka Hand, we get the following error message:

[critical] what(): Could not initialize the robot state from encoder sensors: got 0 encoder values but the robot (panda_hand) expects 9.
Make sure that the MainRobot is compatible with the real/simulated robot used by the interface.
Could not initialize the robot state from encoder sensors: got 0 encoder values but the robot (panda_hand) expects 9.
Make sure that the MainRobot is compatible with the real/simulated robot used by the interface.
Aborted (core dumped)

In mc_rtc.yaml, we use PandaHand (instead of PandaDefault), and we also changed the respective lines in our controller to PandaHand, panda_hand, and Hand (instead of PandaDefault, panda_default, and Arm).
We assume that the changes in our controller are correct since everyhing works fine in simulation.

We also know that the robot is working fine with and without hand since we can operate it with ros + libfranka.

Can you please tell us if we are missing something in any of the configuration files or can you provide a minimum working example for the use of PandaHand with the real robot.
Or could still there be an issue with the framework while operating with the real robot with its hand attached?
We saw examples of the robot working with a custom end effector or the suction pump but never with its original hand.

What we wonder about most, is the fact that 0 of the 9 expected encoder values are available.
We assume that the 9 expected values are those for 7 arm joints plus 2 finger joints.
But, since PandaDefault works fine, we would have expected that at least 7 of the 9 expected values are available.

Thanks for any help in advance!

Hi @sven1904

I think this is rather an mc_franka configuration issue, i.e. you should have a Franka section in your configuration (like this example) and it might be missing a panda_hand section?

Thanks! That solved the issue.
We had that section, but there was still panda_default instead of panda_hand.