MCPcopy Index your code
hub / github.com/BoosterRobotics/booster_train

github.com/BoosterRobotics/booster_train @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
181 symbols 573 edges 36 files 75 documented · 41%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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): bash 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:

    ```bash

    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: bash # 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:

    ```bash

    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:

    ```bash

    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= --headless --device cuda:N ```

  • Play a trained policy and export it for deployment:

    ```bash

    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= --checkpoint= ```

    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.

Core symbols most depended-on inside this repo

_get_body_indexes
called by 6
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/rewards.py
_get_adaptive_sigma
called by 6
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/rewards.py
reset
called by 2
source/booster_train/booster_train/assets/robots/actuator.py
_lerp
called by 2
scripts/csv_to_npz.py
compute
called by 1
source/booster_train/booster_train/assets/robots/actuator.py
_adaptive_sampling
called by 1
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/commands.py
_resample_command
called by 1
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/commands.py
main
called by 1
scripts/list_envs.py

Shape

Class 77
Method 71
Function 33

Languages

Python100%

Modules by API surface

source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/commands.py37 symbols
source/booster_train/booster_train/assets/robots/actuator.py30 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/robots/k1/mj_dance_004/tracking_env_cfg.py13 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/robots/k1/mj_dance_002/tracking_env_cfg.py13 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/robots/k1/fight_001/tracking_env_cfg.py13 symbols
scripts/csv_to_npz.py13 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/rewards.py9 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/robots/k1/mj_dance_004/env_cfg.py8 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/robots/k1/mj_dance_002/env_cfg.py8 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/robots/k1/fight_001/env_cfg.py8 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/observations.py7 symbols
source/booster_train/booster_train/tasks/manager_based/beyond_mimic/mdp/terminations.py5 symbols

For agents

$ claude mcp add booster_train \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact