Skip to content

ami-iit/paper_sartore_rando_2024_humanoids_zero_order_gain_tuning

Repository files navigation

Automatic Gain Tuning for Humanoid Robots Walking Architectures Using Gradient-Free Optimization Techniques

C.Sartore*, M. Rando*, G. Romualdi, C. Molinari, L.Rosasco, D.Pucci "Automatic Gain Tuning for Humanoid Robots Walking Architectures Using Gradient-Free Optimization Techniques" in 2024 IEEE-RAS International Conference on Humanoid Robotics (Humanoids)

Authors* contributed equally to this work.

automatic_gain_tuning.mov

IEEE-RAS International Conference on Humanoid Robotics

Installation

⚠️ The repository depends on HSL for IPOPT (Coin-HSL), to correctly link the library please substitute this line of the docker image with the absolute path to the coinhsl.zip. In particular, for the paper experiments Coin-HSL 2019.05.21 have been used, but also later version should work fine.

To install the software in this repo, follow the instructions in either the "Docker Installation" or the "Pixi installation" section.

Docker Installation

⚠️ This repository depends on docker

To install the repo on a Linux terminal follow the following steps

git clone https://github.com/ami-iit/paper_sartore_rando_2024_humanoids_zero_order_gain_tuning
cd paper_sartore_rando_2024_humanoids_zero_order_gain_tuning
docker build --tag sartore_rando_humanoids_2024 . 

Pixi Installation

If you already have pixi installed in your machine, no installation is required, just execute the scripts that you want to run with pixi run and pixi will install all required software and then run the script. For example run:

pixi run optimize_fitness_ga

to run an optimization with genetic algorithms or:

pixi run check_output --visualize

to visualize the output of an optimization.

At the momement the pixi installation does not support using HSL solver.

Running

In the src folder, you can find:

  • optimize_fitness_ga: optimize the fitness function using genetic algorithm.
  • optimize_fitness_es: optimize the fitness function using evolutionary strategies.
  • optimize_fitness_tde: optimize the fitness function using differential evolution.
  • optimize_fitness_cmaes: optimize the fitness function using cmaes.
  • check_output: to check an actual simulation of ergocub walking with optimized gains.

⚠️ Each of the file run a repetition optimization: 10 independent optimization perfromed for the fitness that considers the torques, and 10 independent run performed for the fitenss that does not consider the torques.

⚠️ The optimization runs with a multiprocess and will take 100 CPU cores.

Citing this work

@INPROCEEDINGS{SartoreRando2024gainTuning,
  author={Sartore, Carlotta and Rando, Marco and Romualdi, Giulio and Molinari, Cesare and Rosasco, Lorenzo and Pucci, Daniele},
  booktitle={2024 IEEE-RAS 23rd International Conference on Humanoid Robots (Humanoids)}, 
  title={Automatic Gain Tuning for Humanoid Robots Walking Architectures Using Gradient-Free Optimization Techniques}, 
  year={2024},
  volume={},
  number={},
  pages={996-1003},
  keywords={Legged locomotion;Humanoid robots;Europe;Optimization methods;Organizations;Manuals;Trajectory;Tuning;Genetic algorithms;Convergence},
  doi={10.1109/Humanoids58906.2024.10769876}}

Maintainer

This repository is maintained by:

    Carlotta Sartore     Marco Rando

About

Code associated with Humanoids 2024 paper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published