Skip to content

Code used in the paper "Leveraging Cone Double Description for Multi-contact Stability..." (RSS 2015)

License

Notifications You must be signed in to change notification settings

LinYuChi/rss-2015

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leveraging Cone Double Description for Multi-contact Stability of Humanoids with Applications to Statics and Dynamics

Source code for http://www.roboticsproceedings.org/rss11/p28.pdf

Abstract

We build on previous works advocating the use of the Gravito-Inertial Wrench Cone (GIWC) as a general contact stability criterion (a "ZMP for non-coplanar contacts"). We show how to compute this wrench cone from the friction cones of contact forces by using an intermediate representation, the surface contact wrench cone, which is the minimal representation of contact stability for each surface contact. The observation that the GIWC needs to be computed only once per stance leads to particularly efficient algorithms, as we illustrate in two important problems for humanoids : "testing robust static equilibrium" and "time-optimal path parameterization". We show, through theoretical analysis and in physical simulations, that our method is more general and/or outperforms existing ones.

Authors: Stéphane Caron, Quang-Cuong Pham and Yoshihiko Nakamura

Content

  • box/: generate the box climbing motion (Section V)
  • lib/: various (old) versions of the pymanoid library
  • perf/: sample log files and small script to analyse computation times
  • robust/: robust static equilibrium criterion (Section IV)
  • stair/: retime a stair climbing motion (Section V)

Requirements

You will also need the HRP4R.dae Collada model for HRP4 (md5sum dcea527e4fb2e7abae64a27a017102e4 for our version), as well as the hrp4.py helper scripts in the library folders. Unfortunately it is unclear whether we can release these files here due to copyright problems.

SageMath installation

Link the openravepy and TOPP python modules into your SageMath installation. For example, if your sage directory is in ~/Software/sage:

cd ~/Software/sage/local/lib/python2.7/site-packages
ln -sf /usr/local/lib/python2.7/dist-packages/openravepy
ln -sf /usr/local/lib/python2.7/dist-packages/TOPP 

TOPP tunings

You may need to set the integrationtimestep to a smaller value than the one computed by TOPP. In these experiments, we used integrationtimestep=1e-4.

About

Code used in the paper "Leveraging Cone Double Description for Multi-contact Stability..." (RSS 2015)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.7%
  • Shell 1.3%