Skip to content

Commit

Permalink
Merge pull request #12 from ami-iit/humanoidPlanning_planners
Browse files Browse the repository at this point in the history
Humanoid planning planners
  • Loading branch information
S-Dafarra authored Feb 23, 2024
2 parents ec33e27 + a37a6a2 commit 7cba549
Show file tree
Hide file tree
Showing 16 changed files with 3,832 additions and 8 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci_cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- name: Dependencies
shell: bash -l {0}
run: |
mamba install python=${{ matrix.python }} casadi pytest liecasadi adam-robotics idyntree meshcat-python ffmpeg-python matplotlib
mamba install python=${{ matrix.python }} casadi pytest liecasadi adam-robotics idyntree meshcat-python ffmpeg-python matplotlib resolve-robotics-uri-py
mamba list
- name: Install
Expand Down
31 changes: 24 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,36 @@ hippopt is an open-source framework for generating whole-body trajectories for l

## 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 and examples to help you get started
- [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 suggested to use [``conda``](https://docs.conda.io/en/latest/).
It is suggested to use [``mamba``](https://github.com/conda-forge/miniforge).
```bash
conda install -c conda-forge casadi pytest
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``](src/hippopt/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``](src/hippopt/turnkey_planners/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``](src/hippopt/turnkey_planners/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``](src/hippopt/turnkey_planners/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``](src/hippopt/turnkey_planners/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``](https://github.com/icub-tech-iit/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:
Expand Down
1 change: 1 addition & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ robot_planning=
adam-robotics
turnkey_planners=
idyntree
resolve-robotics-uri-py
visualization=
ffmpeg-python
idyntree
Expand Down
Empty file.
5 changes: 5 additions & 0 deletions src/hippopt/turnkey_planners/humanoid_kinodynamic/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.stl
*.urdf
frames/*
*.png
*.mp4
Empty file.
Loading

0 comments on commit 7cba549

Please sign in to comment.