hippopt

A Python-based Trajectory Optimization Framework

https://github.com/ami-iit/hippopt

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary
Last synced: 8 months ago · JSON representation ·

Repository

A Python-based Trajectory Optimization Framework

Basic Info
  • Host: GitHub
  • Owner: ami-iit
  • License: bsd-2-clause
  • Language: Python
  • Default Branch: main
  • Size: 494 KB
Statistics
  • Stars: 21
  • Watchers: 20
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Created about 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

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

  • [X] Direct transcription of optimal control problems with multiple-shooting methods
  • [X] Support for floating-base robots, including humanoids ...
    • [ ] ... and quadrupeds
  • [X] Integration with CasADi library for efficient numerical optimization
  • [X] Generation of optimized trajectories that include both kinematic and dynamic quantities
  • [ ] Extensive documentation
  • [X] 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.

bash 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: - humanoid_pose_finder/main.py: generates a static pose for the humanoid robot ergoCub given desired foot and center of mass positions. - humanoid_kinodynamic/main_single_step_flat_ground.py: generates a kinodynamic trajectory for the humanoid robot ergoCub to perform a single step motion with no a-priori guess or terminal constraint. - humanoid_kinodynamic/main_periodic_step.py: generates a kinodynamic trajectory for the humanoid robot ergoCub to perform a periodic walking motion. - humanoid_kinodynamic/main_walking_on_stairs.py: generates a kinodynamic trajectory for the humanoid robot ergoCub to perform a walking motion on stairs.

[!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:

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

Owner

  • Name: Artificial and Mechanical Intelligence
  • Login: ami-iit
  • Kind: organization
  • Location: Italy

Citation (CITATIONS.bib)

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

GitHub Events

Total
  • Issues event: 1
  • Watch event: 6
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 1
  • Watch event: 6
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 467
  • Total Committers: 1
  • Avg Commits per committer: 467.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 35
  • Committers: 1
  • Avg Commits per committer: 35.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Stefano s****a@g****m 467

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 7
  • Total pull requests: 15
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 2.86
  • Average comments per pull request: 2.6
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 5
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: about 1 month
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 1.2
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • S-Dafarra (5)
  • rob-mau (1)
  • diegoferigo (1)
Pull Request Authors
  • S-Dafarra (24)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Dependencies

.github/workflows/ci_cd.yml actions
  • actions/checkout v3 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/style.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • isort/isort-action master composite
  • psf/black stable composite