Skip to content

BoosterRobotics/booster_train

Repository files navigation

Booster RL Tasks

Overview

This repository provides a set of reinforcement learning tasks for Booster robots using Isaac Lab. Currently it includes the fabulous BeyondMimic motion tracking framework adapted to Booster K1 robots. This repository follows the standard Isaac Lab project structure, and is tested with IsaacLab 2.2 and Isaac Sim 5.0.

Installation

  • Install Isaac Lab by following the installation guide. We recommend using the conda installation as it simplifies calling Python scripts from the terminal.

  • Clone or copy this project/repository separately from the Isaac Lab installation (i.e. outside the IsaacLab directory):

    git clone https://github.com/BoosterRobotics/booster_train.git
  • Download and install booster_assets:

    • Clone the booster_assets which contains Booster robot models and motion data.
    • Install booster_assets python helper following the instructions in the repository.
  • Using a python interpreter that has Isaac Lab installed, install the library in editable mode using:

    # use 'PATH_TO_isaaclab.sh|bat -p' instead of 'python' if Isaac Lab is not installed in Python venv or conda
    python -m pip install -e source/booster_train
  • Prepare BeyondMimic motion data:

    # use 'FULL_PATH_TO_isaaclab.sh|bat -p' instead of 'python' if Isaac Lab is not installed in Python venv or conda
    python scripts/csv_to_npz.py --headless --input_file=<PATH_TO_BOOSTER_ASSETS>/motions/K1/<MOTION>.csv --input_fps=<FPS> --output_name=<PATH_TO_BOOSTER_ASSETS>/motions/K1/<MOTION>.npz

Usage

  • Listing the available tasks:

    # use 'FULL_PATH_TO_isaaclab.sh|bat -p' instead of 'python' if Isaac Lab is not installed in Python venv or conda
    python scripts/list_envs.py
  • Running a task:

    # use 'FULL_PATH_TO_isaaclab.sh|bat -p' instead of 'python' if Isaac Lab is not installed in Python venv or conda
    python scripts/rsl_rl/train.py --task=<TASK_NAME> --headless --device cuda:N
  • Play a trained policy and export it for deployment:

    # use 'FULL_PATH_TO_isaaclab.sh|bat -p' instead of 'python' if Isaac Lab is not installed in Python venv or conda
    python scripts/rsl_rl/play.py --task=<TASK_NAME> --checkpoint=<CHECKPOINT_PATH>

    This script also exports the trained policy to a TorchScript/ONNX file for deployment on real robots in logs/rsl_rl/<EXPERIMENT>/<RUN>/exported/.

Deploy

After a model has been trained and exported, you can deploy the trained policy in MuJoCo or on real Booster robots using the booster_deploy repository. For more details, please refer to the instructions in the booster_deploy repository.

Acknowledgements

  • whole_body_tracking: the motion tracking training in BeyondMimic, which is a versatile humanoid control framework that provides highly dynamic motion tracking.

About

This repository provides a set of reinforcement learning tasks for Booster robots using Isaac Lab.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages