Giter Site home page Giter Site logo

orsoromeo / jet-leg Goto Github PK

View Code? Open in Web Editor NEW
18.0 3.0 4.0 19.58 MB

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:

Home Page: https://arxiv.org/abs/1903.07999#

License: GNU Lesser General Public License v3.0

Python 100.00%

jet-leg's Introduction

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;

Dependencies

APT dependencies:

  • CVXOPT
  • 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
  • Pinocchio

The above dependencies can be installed with the following commands:

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

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

jet-leg's People

Contributors

orsoromeo avatar stephane-caron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jet-leg's Issues

Unittest and examples fail

Hi,
Running the unittest fails for a number reasons:
a) inverse_kin() takes exactly 3 arguments (7 given)
b) LP_projection() takes at most 6 arguments (10 given)
c) getInequalities() takes at most 3 arguments (10 given)

The example I am interested in is the actuation_region_main.py and actuation_region_example.py as I was planning to use these as the starting point to understand how I can integrate the code for my use case.

Running actuation_region_example.py result in the following error:

AttributeError: IterativeProjectionParameters instance has no attribute 'getCoMPos'
The class instead has getCoMPosWF and getCoMPosBF

Running actuation_region_main.py result in the following error:

iterative_projection_bretl() takes at most 3 arguments (7 given)

Could these two examples and necessary functions be updated? Alternatively, which example is more updated that I should use?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.