Skip to content

Commit

Permalink
Updated README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
S-Dafarra committed Jan 26, 2024
1 parent c79f07d commit 4e4e456
Showing 1 changed file with 24 additions and 7 deletions.
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

0 comments on commit 4e4e456

Please sign in to comment.