This repo contains the code used to generate the figures of Zero-Shot Transfer in Reinforcement Learning using Buckingham's Pi Theorem.
- Setup the environment.
The
python3 -m venv .venv . .venv/bin/activate python3 -m pip install -r requirements-exp.txtrequirements-exp.txtis the exact environment that was used to generate the figures. Therequirements.txtcontains the simplified "direct" dependencies of the environment. - Open and run each notebook.
Generates the figures for the simulated pendulum. Note that the "Optimal" data generation takes a looong time (>30h) to compute (because of sub-optimal single threaded Python).
Generates the figure for the real pendulum.
This notebook is not particularly long to run.
The code used to run the pendulum to gather the experimental data is in experimental_code.zip.
The raw data is contained in the bags/ directory as ROS2 bags.
Generates the figure for the HalfCheetah.
This notebook takes about 1h to run.
The make_cheetah.py module is used to generate custom HalfCheetah MuJoCo specs.