Skip to content

This package computes the Improved Feasible Region. This is an intersection between the Feasible Region (Orsolino, 2020) and the Reachable Region (a 2D level area representing the CoM reachable workspace). The details are explained in this preprint:

License

Notifications You must be signed in to change notification settings

abdelrahman-h-abdalla/jet-leg

 
 

Repository files navigation

reachable_region_aliengo_orientation reachable_region_violation2 double_stance_region_page variable_height_reachable_region_4

Improved Feasible Region

This python library contains the code used for the computation of the feasibilty criteria in TRO paper. In here you can also find the code used to generate the figures and plots of the manuscript.

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 with the incorportation of the robot inertial effects as in Abdalla. et al. 2023;
  • compute the Reachable region as in Abdalla. et al. 2023;
  • 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;

Setup

This guide assumes that $PROJECT_ROOT refers to the absolute path to this repository.

Installing and Setting Up Virtual Environment

For a quick install, you can set up a virtual environment inside the project directory:

sudo apt install -y python-venv
python -m venv $PROJECT_ROOT/venv
source $PROJECT_ROOT/venv/bin/activate

Now, you are ready to use the virtual environment. To install the dependencies related to this project, make sure you activate the environment and then run:

cd $PROJECT_ROOT/jet_leg_common
pip install -e .

And then

cd $PROJECT_ROOT
pip install -e .

Dependencies

  • Numpy
  • PyYAML
  • Shapely
  • Pycddlib
  • Scipy
  • CVXOPT
  • Matplotlib
  • Pathos (multiprocessing)

Other dependencies:

after cloning remember to do in the jetleg folder:

git submodules update --init --recursive

Optional dependencies:

  • [rospkg]
pip install rospkg
  • 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

After completing the installation navigate to the examples folder:

Troubleshooting

  • 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

About

This package computes the Improved Feasible Region. This is an intersection between the Feasible Region (Orsolino, 2020) and the Reachable Region (a 2D level area representing the CoM reachable workspace). The details are explained in this preprint:

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.6%
  • CMake 1.4%