This repository contains the code for our paper Tuning Legged Locomotion Controllers via Safe Bayesian Optimization. A demo video is available at https://www.youtube.com/watch?v=pceHWpFr3ng.
All relevant code for the paper is in gosafeopt/aquisitions/*
, gosafeopt/models/__init__.py
, gosafeopt/optim/swarm_opt.py
and gosafeopt/optim/base_optimizer.py
.
python -m venv .venv
. .venv/bin/activate
pip install -e .
wandb login
It might be necessary to create a wandb account at wandb.ai if not already existing.
To train the pendulum toy problem model with a specific aquisition function and show the result plot run
python examples/pendulum.py train --aquisition GoSafeOpt --seed 42
python examples/pendulum.py plot --data-path wandb/wandb/{RUN_NAME}/files/res
The aquisition function can be one of GoSafeOpt, SafeOptMultiStage, SafeUCB, SafeEI, UCB
.
Most settings can be changed in config.txt