Floating base estimation for Inverse Kinematics #80
Replies: 1 comment 2 replies
-
In this controller we maintain two robot states:
Since we don't update the configuration of the control state from measurements, the inverse kinematics runs "open loop", in the sense that for instance its floating base transform is updated by forward integration rather than read from measurements. This doesn't mean however that the IK is independent from sensor readings, since we do whole-body admittance control (force readings change IK targets). For example, in the Standing the plank experiment with HRP-4 we can see the robot leaning forward/backward in response to terrain orientation changes: if we look at the control robot state while this happens, what changes are the feet orientations (foot damping control) and leg retractions (foot force difference control) in response to force readings, not the floating base orientation. This is somehow counter-intuitive when we look at the robot's behavior, but that's how this controller works 😄 I don't have a side-by-side video to illustrate this, but you can play with it by e.g. running the Docker image and pushing the robot around in Choreonoid. The state that you will see in RViz is the control robot state, look at how it changes upon various pushes. Plagiating Pascal: please forgive this long answer; I didn’t have time to write a short one 😉 |
Beta Was this translation helpful? Give feedback.
-
Hi @stephane-caron,
Firstly, thanks for maintaining this nice repo and especially for answering everyone's questions, it's helped me clarify many concepts and learn a lot!
In Figure 2 of your manuscript, I saw that the floating base is updated from real robot measurements in the DCM observer (as you also explained here) but I was wondering whether any of this information (floating base position/orientation or joint states) is fed into the Inverse Kinematics block?
The IK QP is solved in mc_rtc (if I'm not mistaken), so I guess I'm asking, does the IK run in "closed-loop", taking into account the robot's current state from sensor readings?
Thanks so much for your time!
Beta Was this translation helpful? Give feedback.
All reactions