Website | Paper | Supplementary Video
Authors: Jin Cheng, Marin Vlastelica, Pavel Kolev, Chenhao Li, Georg Martius
Autonomous Learning Group, Max Planck Institute for Intelligent Systems, Tübingen, Germany
ETH Zürich, Zürich, Switzerland
University of Tübingen, Tübingen, Germany
-
Clone the repo:
git clone git@gitlab.is.tue.mpg.de:autonomous-learning/solo_legged_gym.git
-
Install poetry
curl -sSL https://install.python-poetry.org | python3 - --version 1.4.0 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
-
Check if this worked so far. Call
poetry --version
It should be:
Poetry (version 1.4.0) -
Now we want to use Python 3.8 to create virtual environment. This is ensured to work with isaacgym preview version 4. First make sure that you are in a clean environment. Deactivate all conda env virtualenv environments and delete any
.venvin the root folder of your legged_gym clone. Call:poetry env use /usr/bin/python3.8
If get stuck in creating venv in endless loop, try
export XDG_DATA_HOME=/tmp -
Install dependencies
poetry install
-
Download IsaacGym from here and extract it to somewhere you like :).
poetry shell # enter the virtual environmententer the directory of
IsaacGym_Preview_4_Package/isaacgym/python, and runpip install -e .Don't panic if some packages are removed and reinstalled :)
-
(Optional) Login Weights and Biases
echo 'export WANDB_USERNAME=<wandb_username>' >> ~/.bashrc source ~/.bashrc poetry run wandb login
you will be asked to paste the API keys, you can get it from your personal profile.
To fix the following error:
ImportError: libpython3.8m.so.1.0: cannot open shared object file: No such file or directory
install python-dev:
sudo apt install libpython3.8Run the scripts from the repository root directory (where .venv is).
You can either choose to enter the environment by runing poetry shell or run the scripts directly by poetry run python <script_name>.
-
use
scripts/train.pyto start training. For example:python solo_legged_gym/scripts/train.py --task=solo12_dominic_position --w
When viewer is enabled (which should be the case by default), use
vto pause/resume rendering; usebto zoom in the first env/ zoom out.In principle, you can specify
--wto enable Weights&Biases and specify--dvto disable viewer.Special Note on video recording functionality with Wandb:
- Using video recording may slow down the training process, but for visualization purpose, it is recommended to enable it.
- To make sure video recording works properly, please enable wandb by '--w' and DON'T use
--dvto disable viewer.
-
use
scripts/position_play.pyto play the trained skill. For example:python solo_legged_gym/scripts/position_play.py --task=solo12_dominic_position
specify the log data in
position_play.py, userto restart, use number to specify skill. -
use
scripts/position_play2.pyto play all trained skills. For example:python solo_legged_gym/scripts/position_play2.py --task=solo12_dominic_position
specify the log data in
position_play2.py, userto restart, use number to specify skill. -
If wandb is not used, tensorboard will be the default writer. For example:
run tensorboard --logdir logs/solo12_dominic_position
This project is based on legged_gym and rsl_rl. We thank all the contributors for their great work.