Skip to content

xuqi777/LeggedLab

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Legged Lab: Direct IsaacLab Workflow for Legged Robots

IsaacSim Isaac Lab RSL_RL Python Linux platform Windows platform License pre-commit

Overview

This repository provides a direct workflow for training a legged robot using IsaacLab. It provides high transparency and low refactoring difficulty of the direct environment, and uses isaaclab components to simplify the workflow.

It has all the necessary conditions for sim-to-real and has been tested on real unitree g1 and h1 robots, video available. Deploy Code: https://github.com/Hellod035/LeggedLabDeploy

Maintainer: Wandong Sun Contact: 24b908020@stu.hit.edu.cn

Key Features:

  • Easy to Reorganize Provides a direct workflow, allowing for fine-grained definition of environment logic.
  • Isolation Work outside the core Isaac Lab repository, ensuring that the development efforts remain self-contained.
  • Long-term support This repository will be updated with the updates of isaac sim and isaac lab, and will be supported for a long time.

Installation

LeggedLab is built against the latest version of Isaacsim/IsaacLab. It is recommended to follow the latest updates of legged lab.

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

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

# Option 1: HTTPS
git clone https://github.com/Hellod035/LeggedLab

# Option 2: SSH
git clone git@github.com:Hellod035/LeggedLab.git
  • Using a python interpreter that has Isaac Lab installed, install the library
cd LeggedLab
pip install -e .
  • Verify that the extension is correctly installed by running the following command:
python legged_lab/scripts/train.py --task=g1_flat --headless --logger=tensorboard --num_envs=64

Use Your Own Robot

Assets must be converted into USD format to be compatible with Legged Lab/IsaacLab. Convert Tutorial.

Multi-GPU and Multi-Node Training

Legged Lab supports multi-GPU and multi-node reinforcement learning using rsl_rl, the usage is exactly the same as IsaacLab. Detailed information

Troubleshooting

Pylance Missing Indexing of Extensions

In some VsCode versions, the indexing of part of the extensions is missing. In this case, add the path to your extension in .vscode/settings.json under the key "python.analysis.extraPaths".

{
    "python.analysis.extraPaths": [
        "${workspaceFolder}/legged_lab",
        "<path-to-IsaacLab>/source/isaaclab_tasks",
        "<path-to-IsaacLab>/source/isaaclab_mimic",
        "<path-to-IsaacLab>/source/extensions",
        "<path-to-IsaacLab>/source/isaaclab_assets",
        "<path-to-IsaacLab>/source/isaaclab_rl",
        "<path-to-IsaacLab>/source/isaaclab",
    ]
}

References and Thanks

This project repository builds upon the shoulders of giants.

  • IsaacLab The various reusable practical components in IsaacLab greatly simplify the complexity of LeggedLab.
  • legged_gym We borrowed the code organization and environment definition logic of legged_gym and simplified it as much as possible.
  • Protomotions The motivation for building this repository comes from protomotions. For the first time, we realized that we could create our own environment using only IsaacLab components without inheriting 'DirectRLEnv' or 'ManagerBasedRLEnv'.

Citation

If you use Legged Lab in your research, you can cite it as follows:

@software{LeggedLab,
  author = {Wandong, Sun},
  license = {BSD-3-Clause},
  title = {Legged Lab: Direct IsaacLab Workflow for Legged Robots},
  url = {https://github.com/Hellod035/LeggedLab},
  version = {1.0.0},
  year = {2025}
}

About

Direct IsaacLab Workflow for Legged Robots

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%