fan-ziqi/robot_lab

RL Extension Library for Robots, Based on IsaacLab.

robot_lab – 面向现实世界机器人的强化学习环境

它是什么

  • 一个构建在 NVIDIA Isaac Lab 之上的扩展库,捆绑了大量可直接运行的强化学习 (RL) 环境,涵盖多种商业机器人平台(四足、轮式底盘、人形等)。
  • 它独立于核心 Isaac Lab 仓库,因此您可以独立安装并保持实验的独立性。

核心功能

  • 数百个预配置任务 – 每个环境都遵循 OpenAI-Gym API (gym.Env),并由类似 RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0 的名称标识。名称中编码了任务(例如 Velocity)、地形风格(Rough 与 Flat)、机器人模型和版本。
  • 广泛的机器人覆盖 – 包括 Anymal D、Unitree Go2/B2/A1、Deeprobotics Lite3、MagicDog、Unitree G1/H1、Booster T1 等流行平台。支持足式和轮式机器人。
  • 多种 RL 后端 – 您可以使用捆绑的 RSL-RL 或实验性的 CusRL 算法进行训练,同时也提供了使用 skrl 的示例。脚本允许通过命令行标志切换算法、智能体和超参数。
  • 可扩展训练 – 支持单 GPU、多 GPU(通过 torch.distributed.run)和多节点设置。您还可以运行多个并行环境 (--num_envs) 以加速数据收集。
  • 便捷工具 – 提供用于健全性检查的虚拟零值或随机智能体、视频录制、单机器人键盘遥控,以及将动作捕捉数据集 (BeyondMimic) 转换为训练数据的工具。
  • Docker 支持 – 提供基于 Isaac-Lab 基础镜像构建的 Dockerfile 和 docker-compose 设置,让您可以在容器中运行整个堆栈。
  • 可扩展性 – 仓库展示了如何通过定义资产和注册新的 Gym 环境来添加新机器人;配置可以通过 Python 类或 YAML 文件来表达。

典型工作流程

  1. 安装 Isaac Lab(遵循 NVIDIA 指南,建议通过 Conda)。
  2. 克隆 robot_lab 并以可编辑模式安装:python -m pip install -e source/robot_lab。
  3. 列出可用环境:python scripts/tools/list_envs.py。
  4. 训练 策略:
    python scripts/reinforcement_learning/rsl_rl/train.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0 --headless
    
  5. 运行/评估 训练好的策略:
    python scripts/reinforcement_learning/rsl_rl/play.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0
    
    添加 --keyboard 进行手动控制,--video 进行录制,或 --num_envs 运行多个实例。

适用人群

  • 从事机器人运动、操作或全身控制研究的研究人员和工程师,他们需要由 NVIDIA Isaac Sim 支持的高保真仿真。
  • 需要在转移到硬件之前在各种真实机器人模型上进行策略原型的团队(README 指向了一个用于 Gazebo/真实机器人部署的配套仓库 rl_sar)。

安装要点

  • 需要 Isaac Sim 4.5-5.1 和 Isaac Lab 2.3.2(或匹配的分支)。
  • 支持 Linux 和 Windows (64-bit)。
  • 提供可选的 VS Code 任务用于自动配置 Python 环境,以及用于从 Sim UI 加载库的 Omniverse UI 扩展。

社区

  • 讨论在 GitHub Discussions 和 Discord 服务器(提供链接)上进行。
  • 项目遵循 Apache 2.0 许可证。

总结:robot_lab 是一个真正的生产级 RL 扩展,让您可以在 NVIDIA 的 Isaac Sim 生态系统中为多种商业机器人训练和评估策略,并全面支持可扩展训练、Docker 部署以及轻松添加新机器人模型。

相关

  • 项目
  • 项目
  • 项目
  • 项目