From 1bc1256df83ff84087eb03e25e3b6a1ab90a88f5 Mon Sep 17 00:00:00 2001 From: Stefano Date: Fri, 26 Jan 2024 18:46:38 +0100 Subject: [PATCH] Updated README.md --- README.md | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 3a917313..5cf54c9b 100644 --- a/README.md +++ b/README.md @@ -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: