Skip to content

This is an open-source python package that shows how to compute the Feasible Region, i.e. the extension of the well known support region to include joint-torque limits constraints. The details are explained in this preprint:

License

Notifications You must be signed in to change notification settings

orsoromeo/jet-leg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hyqgreen planning hyqgreen planning

Feasible Region: an Actuation-Aware Extension of the Support Region

This python library contains the code used for the motion planning formulation proposed in this preprint. In here you can also find the code used to generate the figures and plots of the manuscript.

hyqgreen planning hyqgreen planning

Jet-leg performs 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 Jet-leg:

  • compute the Support region of legged robots as in Bretl. et al. 2008;
  • compute the Feasible region of legged robots as in Orsolino. et al. 2019;
  • compute force polytopes of legged robots given their URDF;
  • compare different leg designs and understand their consequences on the robot's balancing capabilities;
  • test various formulations of linear, convex or nonlinear trajectory optimization problems;

Build and Installation

After cloning the repo, you can build the package using docker with the following command:

cd jet-leg
./build.sh

This will create a docker image with all the required dependencies. You can then attach the image by running:

./run.sh

To make sure that the installation worked successfully, you can run, for example:

python3 python3 src/examples/iterative_projection/single_iterative_projection_example.py

The example above should generate two figures representing the feasible region of the Anymal robot in a default configuration in 2D and 3D.

Python dependencies:

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

Optional dependencies:

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

Troubleshooting

  • Jet-leg has been tested using Python 3.8.17 and Docker;
  • 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. Note: delete every previous installation of cvxopt that is in the system using locate cvxopt (after sudo updatedb)

See also

About

This is an open-source python package that shows how to compute the Feasible Region, i.e. the extension of the well known support region to include joint-torque limits constraints. The details are explained in this preprint:

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages