ZMP Support Areas for Multi-contact Mobility Under Frictional Constraints

Stéphane Caron, Quang-Cuong Pham and Yoshihiko Nakamura. IEEE Transactions on Robotics. Submitted October 2015. Published December 2016.


We propose a method for checking and enforcing multi-contact stability based on the Zero-tilting Moment Point (ZMP). The key to our development is the generalization of ZMP support areas to take into account (a) frictional constraints and (b) multiple non-coplanar contacts. We introduce and investigate two kinds of ZMP support areas. First, we characterize and provide a fast geometric construction for the support area generated by valid contact forces, with no other constraint on the robot motion. We call this set the full support area. Next, we consider the control of humanoid robots using the Linear Pendulum Mode (LPM). We observe that the constraints stemming from the LPM induce a shrinking of the support area, even for walking on horizontal floors. We propose an algorithm to compute the new area, which we call pendular support area. We show that, in the LPM, having the ZMP in the pendular support area is a necessary and sufficient condition for contact stability. Based on these developments, we implement a whole-body controller and generate feasible multi-contact motions where an HRP-4 humanoid locomotes in challenging multi-contact scenarios.



pdf Paper
github Source code
html Slides (opens in new window/tab for online reading)
doi 10.1109/TRO.2016.2623338


  title = {ZMP Support Areas for Multi-contact Mobility Under Frictional Constraints},
  author = {Caron, St{\'e}phane and Pham, Quang-Cuong and Nakamura, Yoshihiko},
  journal = {IEEE Transactions on Robotics},
  year = {2017},
  month = feb,
  volume = {33},
  number = {1},
  pages = {67--80},
  publisher = {IEEE},
  doi = {10.1109/TRO.2016.2623338},

Q & A

In Equation (5), the wrench coordinates \(\boldsymbol{w}^c_{O}\) are taken with respect to the origin of the world frame. Why don't you rather take this wrench at the COM, as is usually done?

Wrench coordinates are indeed taken at the origin of the world frame (or any other fixed point, for what matters). Taking screw coordinates at the origin of the world frame is typical of spatial vector algebra, which was formalized by Roy Featherstone.

The main reason for working with the CWC at the origin is that it only depends on the stance (set of contacts), while the CWC taken at the COM would also depend on COM coordinates. Actually, once you have the former, it is straightforward to compute the latter using a simple dual transformation formula, as we described in Section III of the following paper.

Pages of this website are under the CC-BY 4.0 license.