pymanoid icon indicating copy to clipboard operation
pymanoid copied to clipboard

Humanoid robotics prototyping environment based on OpenRAVE

pymanoid

License Documentation Status

Humanoid robotics controller prototyping environment based on OpenRAVE.

Features

Whole-body inverse kinematics

  • Check out 🟣 Pink for a next-generation implementation of this IK as a library 📚
  • Based on a weight-prioritized multi-task formulation of differential IK
  • Jacobians and Hessians for center of mass (CoM) and angular momentum tasks

Contact stability

Model predictive control

Use cases

Getting started

Installation

The following instructions were verified on Ubuntu 14.04:

sudo apt-get install cython libglpk-dev python python-dev python-pip python-scipy python-simplejson
  • Install the LP solver: CVXOPT_BUILD_GLPK=1 pip install cvxopt --user
  • Install the QP solver: pip install quadprog --user
  • For polyhedral computations (optional): pip install pycddlib --user

Finally, clone this repository and run the setup script:

git clone --recursive https://github.com/stephane-caron/pymanoid.git
cd pymanoid
python setup.py build
python setup.py install --user

Optional

For nonlinear numerical optimization, you will need to install CasADi, preferably from source with the MA27 linear solver.

Citing pymanoid

I developed pymanoid during my PhD studies and share it in the hope it can be useful to others. If it helped you in your research, please use the following BibTeX template to cite it in scientific discourse:

@phdthesis{caron2016thesis,
    title = {Computational Foundation for Planner-in-the-Loop Multi-Contact Whole-Body Control of Humanoid Robots},
    author = {Caron, St{\'e}phane},
    year = {2016},
    month = jan,
    school = {The University of Tokyo},
    url = {https://scaron.info/papers/thesis.pdf},
    doi = {10.15083/00074003},
}