Skip to content

snozawa/3d-mpc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D-COM MPC

Source code for https://hal.archives-ouvertes.fr/hal-01349880

Abstract

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 a downward-pointing cone. We reduce its computation to a convex hull of (dual) 2D points, for which optimal 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.

Authors: Stéphane Caron and Abderrahmane Kheddar

Installation

On Ubuntu 14.04, once you have installed OpenRAVE, do:

sudo apt-get install cython python python-dev python-pip python-scipy python-shapely
sudo pip install pycddlib quadprog pyclipper

Then, clone the repository and its submodule via:

git clone --recursive https://github.com/stephane-caron/3d-mpc.git

If you already have pymanoid installed on your system, be sure that its version matches the one used by 3d-mpc.

Usage

There are three subfolders in this repository, corresponding to different Sections of the paper:

  • Section IV: cones/ contains scripts to display and play with the COM acceleration cones
  • Section VI: staircase/ walks the humanoid model around a circular staircase with tilted stepping stones
  • Appendix: sep/ compares four algorithms calculating the static-equilibrium polygon

Due to the copyright problem, we cannot release the COLLADA model HRP4R.dae used to produce the accompanying video and paper illustrations. We have replaced it with JVRC-1, which has the same kinematic chain.

About

Model Preview Control over 3D COM Accelerations

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Shell 0.2%