Releases: fan-ziqi/robot_lab
v2.3.2
v2.3.0
This version is compatible with IsaacLab 2.3.0 and IsaacSim 5.1.0.
What's Changed
- fix: rename stand_still reward term and func name by @fan-ziqi in a181bfb
- fix: change unitree G1 solver iteration count by @fan-ziqi in cb2e07b
- feat: add mass randomization to all link and disable inertia randomization by @fan-ziqi in c4c4150
- fix: update material config by @fan-ziqi in 9b1d5ab
- fix: change randomize_actuator_gains distribution to uniform by @fan-ziqi in b545eb0
- fix: change go2w wheel color to black by @fan-ziqi in 68b147d
- feat: adds changes for rsl_rl 3.0.1 by @fan-ziqi in be9ed48
- feat: adds a configuration example for Student-Teacher Distillation by @fan-ziqi in c288a34
- fix: add ang_vel to command threshold by @fan-ziqi in 43238a2
- feat(cusrl): add a distillation configuration example; fix scripts and configuration issues by @chengruiz in #91
- fix: Adds logdir configuration parameter to environments by @fan-ziqi in 796e8ee
- Moves IO descriptor log dir to logs by @fan-ziqi in 8305cb2
- fix: add launch.template.json by @fan-ziqi in beba721
- chore: add pyrightconfig.json for vim lsp by @fan-ziqi in 16f6b65
- fix: del train_batch.py by @fan-ziqi in 482bc32
- fix: fixes skrl train/play script configurations when using the --agent argument and rename agent configuration variable by @fan-ziqi in ffaed8d
- fix: Removes pickle dependency for cfg load and dump by @fan-ziqi in 64cc331
- feat: add beyondmimic tracking pipeline by @fan-ziqi in #99
- fix: Fixes TiledCamera data types and rlgames training on CPU by @fan-ziqi in 73e0e5f
- fix: Update env_cfg_entry_point to use module path for UnitreeG1BeyondMimicFlatEnvCfg by @fan-ziqi in 26e70a3
Full Changelog: v2.2.1...v2.3.0
v2.2.1
What's Changed
- fix the bug of reward by @cmjang in #79
- fix: add
dont_collapse="true"to unitree A1&B2 foot joints by @fan-ziqi in d1bb2a4 - docs: change the expected input of checkpoint in rsl-rl to an absolute path to avoid ambiguity by @fan-ziqi in af8f2dd
- feat: added :attr:--agent to RL workflow scripts to allow switching between different configurations. by @fan-ziqi in 3c71527
- feat: added symmetry data augmentation example with RSL-RL for anymal locomotion environments. by @fan-ziqi in c9635fc
- chore: add pr template by @fan-ziqi in 62ef86b
- feat(cusrl): support hydra for configuration overwriting by @chengruiz in #80
- feat(cusrl): add symmetry augmentation configurations for ANYmal-D and remove cusrl version requirement by @chengruiz in #82
- Replace urdf import with the official method by @fan-ziqi in #85
Full Changelog: v2.2.0...v2.2.1
v2.2.0
👀 Overview
I'm excited to announce the release of robot_lab 2.2.0! This version supports IsaacLab 2.2.0 and IsaacSim 5.0.0, uses urdf/xacro/mjcf instead of USD, support more robot models, and support CusRL. Here are the main updates:
🔆 Highlighted Changes:
Full Changelog: v2.1.1...v2.2.0
- Compatibility Updates
- Supported IsaacLab-2.2.0 and IsaacSim-5.0.0.
- Python version has been updated to 3.11 from 3.10.
- PyTorch version is updated to torch 2.7.0+cu128, which will include Blackwell support.
-
New Robot Supports
Added Deeprobotics Lite3, Deeprobotics M20, Booster T1, RobotEra Xbot, Openloong Loong, DDTRobot Tita, Zsibot ZSL1, Zsibot ZSL1W, Roboparty Atom01, magiclab magicdog, magiclab magicdog-W, magiclab magicbot-gen1, magiclab magicbot-Z1 robots.
Click to view all support plans.
-
Use urdf/xacro/mjcf instead of USD
This version supports direct import of URDF, XACRO, and MJCF robot models without requiring pre-conversion to USD format.
from robot_lab.assets.utils.usd_converter import ( # noqa: F401 mjcf_to_usd, spawn_from_lazy_usd, urdf_to_usd, xacro_to_usd, ) YOUR_ROBOT_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( # for urdf func=spawn_from_lazy_usd, usd_path=urdf_to_usd( file_path=f"{ISAACLAB_ASSETS_DATA_DIR}/Robots/your_robot/your_robot.urdf", merge_joints=True, fix_base=False, ), # for xacro func=spawn_from_lazy_usd, usd_path=xacro_to_usd( file_path=f"{ISAACLAB_ASSETS_DATA_DIR}/Robots/your_robot/your_robot.xacro", merge_joints=True, fix_base=False, ), # for mjcf func=spawn_from_lazy_usd, usd_path=mjcf_to_usd( file_path=f"{ISAACLAB_ASSETS_DATA_DIR}/Robots/your_robot/your_robot.xml", import_sites=True, fix_base=False, ), # ... other configuration parameters ... ), # ... other configuration parameters ... )
-
Add Unitree-G1 AMP SKRL direct-based enviroment
-
Tasks have been reworked and restructured. Notably, the following paths were updated:
robot_lab.tasks.locomotion-->robot_lab.tasks.manager_based.locomotionscripts/rsl_rl/base/*.py-->scripts/reinforcement_learning/rsl_rl/*.py
-
Support new training framework CusRL
✈️ Roadmap
- Add more robot models and training code — community contributions are welcome!
🤗 Support & Contribution
If you enjoy this project, please Star it! It’s the motivation behind my continuous updates. If you have any questions, suggestions, or want to contribute, feel free to submit issues or pull requests.
v2.1.1
Overview
This is the final release compatible with IsaacLab-v2.1.1 and IsaacSim-v4.5.0.
What's Changed
- fix: base orientation issue of humanoid robots by @fan-ziqi in #27
- [New Robot] Booster T1 and RobotEra Xbot by @legubiao in #42
- Update velocity_env_cfg.py by @cmjang in #47
- feat: multiple GPUs support and new version of rsl-rl by @fan-ziqi c025f1f
New Contributors
Full Changelog: v2.1...v2.1.1
v2.1
What's Changed
Full Changelog: v2.0...v2.1
-
Fall Recovery
Added fall recovery functionality: the robot starts by randomly falling from different heights and angles, withillegal_contactdisabled. -
Playback Script
Added keyboard remote control support. -
New Command Class
UniformThresholdVelocityCommand: Introduced a velocity command generator with threshold support. -
Control Curriculum
Addedcommand_levels_velfor curriculum velocity control. -
Joint Configuration
Enabled separate scaling configuration (scale) for each joint position (joint_pos), allowing for finer control.
v2.0
👀 Overview
I'm excited to announce the release of robot_lab 2.0! This version comes with numerous improvements and optimizations, enhancing training efficiency, scalability, and support for multiple robot models. Here are the main updates:
🔆 Highlighted Changes:
Full Changelog: v1.1...v2.0
-
Compatibility Updates
Supported IsaacLab-v2.0.0 and IsaacSim-v4.5.
-
Training & Replay Optimization
Optimized the training and replay scripts, added batch training and batch cleanup scripts.
-
Reward Function Enhancements
Made adjustments and optimizations to the reward functions, making the training process more stable and easier to fine-tune.
-
New Randomization Features
Added multiple randomization functions to increase robustness in robot training, including:
randomize_rigid_body_material,randomize_rigid_body_mass,randomize_rigid_body_inertia,randomize_com_positions,randomize_apply_external_force_torque,randomize_reset_joints,randomize_actuator_gains,randomize_reset_base,randomize_push_robot, etc. -
Network Architecture Update
The network structure has been modified to a simpler asymmetric Actor-Critic model. Removed linear velocity and height information from observations to streamline deployment on real robots.
-
New Robot Examples
Added example code for B2, B2W, Go2, and Go2W robots, organizing them into separate folders for easier management and extension. Also providing a training baseline for wheeled-quadruped robots.
✈️ Roadmap
- Optimize the wheeled-quadruped training code for better performance.
- Add more robot models and training code — community contributions are welcome!
🤗 Support & Contribution
If you enjoy this project, please Star it! It’s the motivation behind my continuous updates. If you have any questions, suggestions, or want to contribute, feel free to submit issues or pull requests.
v1.1
👀 Overview
This is the final release compatible with IsaacLab-v1.4.1 and IsaacSim-v4.2. Users upgrading to IsaacLab-v2.0.0 will need to migrate to robot_lab-v2.0.
Full Changelog: v1.0...v1.1
🤗 Support & Contribution
If you enjoy this project, please Star it! It helps me stay motivated to keep working on it. Feel free to submit issues or pull requests if you have any feedback or need further assistance!
v1.0
Full Changelog: v0.4...v1.0