ami-iit / hippopt

A Python-based Trajectory Optimization Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 suggested to use mamba.

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
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

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 100.0%