Skip to content

ami-iit/hippopt

Repository files navigation

hippopt

HIgh Performance* Planning and OPTimization framework

hippopt is an open-source framework for generating whole-body trajectories for legged robots, with a focus on direct transcription of optimal control problems solved with multiple-shooting methods. The framework takes as input the robot model and generates optimized trajectories that include both kinematic and dynamic quantities.

*supposedly

Features

  • Direct transcription of optimal control problems with multiple-shooting methods
  • Support for floating-base robots, including humanoids ...
    • ... and quadrupeds
  • Integration with CasADi library for efficient numerical optimization
  • Generation of optimized trajectories that include both kinematic and dynamic quantities
  • Extensive documentation
  • examples to help you get started

Installation

It is possible to install all the dependencies using conda. If you do not have a conda distribution on your system, we suggest to use the minimal miniforge distribution, that uses conda-forge packages by default.

conda install -c conda-forge -c robotology python=3.11 casadi pytest liecasadi adam-robotics idyntree meshcat-python ffmpeg-python matplotlib resolve-robotics-uri-py hdf5storage
pip install --no-deps -e .[all]

Examples

Turnkey planners

The folder turnkey_planners contains examples of whole-body trajectory optimization for legged robots. In this folder it is possible to find the following examples:

Important

For the tests to run, it is necessary to clone ergocub-software and extend the GAZEBO_MODEL_PATH environment variable to include the ergocub-software/urdf/ergoCub/robots and ergocub-software/urdf folders.

Note

It is necessary to launch the examples from a folder with write permissions, as the examples will generate several files (ground meshes, output videos, ...).

Citing this work

If you find the work useful, please consider citing:

@ARTICLE{dafarra2022dcc,
  author={Dafarra, Stefano and Romualdi, Giulio and Pucci, Daniele},
  journal={IEEE Transactions on Robotics}, 
  title={Dynamic Complementarity Conditions and Whole-Body Trajectory Optimization for Humanoid Robot Locomotion}, 
  year={2022},
  volume={38},
  number={6},
  pages={3414-3433},
  doi={10.1109/TRO.2022.3183785}}

Maintainer

This repository is maintained by:

@S-Dafarra

About

A Python-based Trajectory Optimization Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages