Multi-contact Walking Pattern Generation based on Model Preview Control of 3D COM Accelerations

Stéphane Caron, Abderrahmane Kheddar. The 2016 IEEE-RAS International Conference on Humanoid Robots, Cancun, Mexico, November 2016.


We present a multi-contact walking pattern generator based on preview-control of the 3D acceleration of the center of mass (COM). A key point in the design of our algorithm is the calculation of contact-stability constraints. Thanks to a mathematical observation on the algebraic nature of the frictional wrench cone, we show that the 3D volume of feasible COM accelerations is a always an upward-pointing cone. We reduce its computation to a convex hull of (dual) 2D points, for which optimal \({\cal O}(n \log n)\) algorithms are readily available. This reformulation brings a significant speedup compared to previous methods, which allows us to compute time-varying contact-stability criteria fast enough for the control loop. Next, we propose a conservative trajectory-wide contact-stability criterion, which can be derived from COM-acceleration volumes at marginal cost and directly applied in a model-predictive controller. We finally implement this pipeline and exemplify it with the HRP-4 humanoid model in multi-contact dynamically walking scenarios.

HRP-4 walking a circular staircase using MPC of 3D COM accelerations


  title = {Multi-contact Walking Pattern Generation based on Model Preview Control of 3D COM Accelerations},
  author = {Caron, St{\'e}phane and Kheddar, Abderrahmane},
  booktitle = {Humanoid Robots, 2016 IEEE-RAS International Conference on},
  year = {2016},
  month = {November},
  hal_id = {hal-01349880},
  hal_version = {v4},
  url = {},

Q & A

Feel free to write me directly about any question you have on this work.

In the abstract, you mention a "significant speedup compared to previous methods". How much is that exactly? Is it quantified in the paper?

The main benefit and the real novelty of the algorithms introduced in Section IV (for the ZMP support area and COM acceleration volume) is that they only recompute the time-varying part of these stability criteria. This is e.g. quantified by the computation times in Table III: even using state-of-the-art algorithms, computing the whole criterion from scratch takes 10 times longer than computing only its time-varying part.
Content on this website is under the CC-BY 4.0 license.