Skip to content
This is an open-source python package for computing support regions for legged robots in multi-contact scenarios (non-coplanar feet)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Balancing of legged robots in multi-contact scenarios.

This library uses common operations over convex polyhedra in higher dimensions in order to assess the problem of stability and motion feasibility of legged robots.

What you can do with this package

  • find various example formulations of linear, convex or nonlinear optimization problems;
  • find examples of convex and nonlinear trajectory optimization problems for legged robots;
  • find implamentation of Iterative Projection algorithms for the solution of geometrical problems related to legged locomotion stability and feasibility analysis
  • generate animated plots


APT dependencies:

  • GLPK
  • Cython

ROS dependencies:

sudo apt-get  install ros-kinetic-graph-msgs

Python dependencies:

  • Numpy
  • Scipy
  • Pycddlib
  • Matplotlib
  • Pypoman for the manipulation of polyhedrical object

Install dependencies by:

sudo apt-get install cython libglpk-dev python python-dev python-pip python-scipy
CVXOPT_BUILD_GLPK=1 pip install cvxopt --user
pip install pycddlib --user
pip install pypoman

You can remove all --user arguments to install these Python modules system-wide.

Optional dependencies:

  • Ipopt and its Python interface Pypi for the solution of large-scale nonlinear optimization problems
  • ffmpeg for the generation of Matplotlib animations
sudo apt-get install ffmpeg
  • unittest for testing of dependencies installation and for development

Testing the library

Jet-Leg comes with a number of unit tests intended to check the proper installation of the packages and make sure that all the mandatory depedencies are properly found. For this purpose, after completing the installation navigate to the and run it.

After that, navigate to the examples folder to find more explanation on the usage of the package.


  • if CVXOPT is not found even after trying the pip-installation, we then suggest to try install the version 1.1.4 of CVXOPT using Synaptic or to clone and install it manually after building.
  • IMPORTANTE NOTE: delete every previous installation of cvxopt that is in the system using locate cvxopt (after sudo updatedb)

See also

You can’t perform that action at this time.