ZMP during the DSP #56
Replies: 1 comment
-
That's right, that's why there is a comment in the code next to the line you mention 😉 zmpError_ = pendulum_.zmp() - measuredZMP_; // XXX: both in same plane? The two are in the same plane during single support, but during double support, the pendulum ZMP is computed in the previous contact frame (see The discrepancy affects the DCM derivative term (which was disabled on HRP-4 in 2019, but active on HRP-2Kai) and only applies during stair climbing. The DCM derivative term is not so impactful but this could yield some undesired reactions during stair climbing. @arntanguy @gergondet FYI. This is still around jrl-umi3218/lipm_walking_controller. There are two straightforward ways things to try from there:
@Saeed-Mansouri thanks for pointing this out 👍 |
Beta Was this translation helpful? Give feedback.
-
Hi Dr. Caron,
As far as I know, the plane of the support foot is considered to calculate the zmp of the pendulum (
pendulum.zpm()
) during the DSP. However, for estimating the zmp of the stabilizer (stabilizer.zpm()
) during the DSP, you considered the average of the left and right foot planes (zmpframe_
). I think that beacuse of this inconsistency that occurs during walking on the stair, the below term ofStabilizer::computeDesiredWrench()
should be modified.zmpError_ = pendulum_.zmp() - measuredZMP_;
Beta Was this translation helpful? Give feedback.
All reactions