diff --git a/README.md b/README.md index dc793c3..83a348c 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,17 @@ Deploy Code: https://github.com/Hellod035/LeggedLabDeploy LeggedLab is built against the latest version of Isaacsim/IsaacLab. It is recommended to follow the latest updates of legged lab. +### Version Compatibility + +The following version combinations have been tested and verified to work: + +- ✅ **Isaac Sim 4.5.0** + **Isaac Lab 2.1.0** +- ✅ **Isaac Sim 5.0.0** + **Isaac Lab 2.2.1** + +> **Note**: While other version combinations may work, these are the officially tested configurations. Ensure that your Isaac Sim and Isaac Lab versions are compatible with each other. + +### Setup Steps + - Install Isaac Lab by following the [installation guide](https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/index.html). 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): @@ -56,6 +67,29 @@ pip install -e . python legged_lab/scripts/train.py --task=g1_flat --headless --logger=tensorboard --num_envs=64 ``` +### Training + +To train a model, use the following command: + +```bash +python legged_lab/scripts/train.py --task=g1_flat --headless --logger=tensorboard --num_envs=8192 +``` + +**Training Notes:** +- For a 12GB GPU, training with 8192 environments typically converges after approximately 2000 iterations. +- Adjust `--num_envs` based on your GPU memory capacity. +- Use `--logger=tensorboard` or `--logger=wandb` to track training progress. + +### Supported Tasks + +The following tasks are currently supported: + +- `g1_flat` - Unitree G1 on flat terrain +- `g1_rough` - Unitree G1 on rough terrain +- `h1_flat` - Unitree H1 on flat terrain +- `h1_rough` - Unitree H1 on rough terrain +- `gr2_flat` - FFTai GR2 on flat terrain +- `gr2_rough` - FFTai GR2 on rough terrain ## Use Your Own Robot @@ -66,6 +100,25 @@ Assets must be converted into USD format to be compatible with Legged Lab/IsaacL Legged Lab supports multi-GPU and multi-node reinforcement learning using rsl_rl, the usage is exactly the same as IsaacLab. [Detailed information](https://isaac-sim.github.io/IsaacLab/main/source/features/multi_gpu.html) +## Testing and Evaluation + +### Running Trained Models + +To test a trained model, use the `play.py` script: + +```bash +# Basic usage - test with default settings +/isaaclab.sh -p legged_lab/scripts/play.py --task=g1_flat --num_envs=64 +``` + + +The script will: +- Load the latest checkpoint from `logs//` directory +- Export the policy as JIT and ONNX formats to `logs///exported/` +- Run the policy in simulation + + + ## Troubleshooting ### Pylance Missing Indexing of Extensions @@ -86,6 +139,25 @@ In some VsCode versions, the indexing of part of the extensions is missing. In t } ``` +### RSL-RL Version Mismatch + +In some cases, you may encounter a version mismatch with RSL-RL, resulting in the following error: + +``` +ValueError: The observation configuration dictionary 'obs_groups' must contain the 'policy' key. Found keys: [] +``` + +**Solution:** + +Reinstall RSL-RL using the Isaac Lab installation script: + +```bash +/isaaclab.sh -i rsl-rl +``` + +This will ensure that RSL-RL is properly installed and compatible with your Isaac Lab version. + + ## References and Thanks This project repository builds upon the shoulders of giants. * [IsaacLab](https://github.com/isaac-sim/IsaacLab) The various reusable practical components in IsaacLab greatly simplify the complexity of LeggedLab.