技术深度解析
Legged Gym的核心创新在于利用NVIDIA Isaac Gym的向量化环境API,在单个GPU上并行运行数千个机器人仿真。传统的机器人强化学习依赖基于CPU的物理引擎(如MuJoCo或PyBullet),一次只能模拟一个或少数几个机器人。这造成了瓶颈:收集足够经验以实现策略收敛可能需要数天或数周。Legged Gym通过将每个机器人视为独立的环境实例,并在GPU上同时运行所有实例,绕过了这一瓶颈。物理仿真——接触力、关节动力学、地形交互——在单个大规模张量运算中计算,利用CUDA核心实现大规模并行化。
架构细节: 该框架围绕一个`Runner`类构建,负责编排训练循环。它使用基于PyTorch实现的近端策略优化(PPO)算法,并采用共享的Actor-Critic网络。观测值包括关节位置、速度、机体线速度/角速度,以及指定期望前向速度、横向速度和偏航率的指令向量。动作是目标关节位置,随后通过PD控制器转换为扭矩。奖励函数是模块化的,包含前向速度跟踪、能效、平滑度和足部离地间隙等项。域随机化应用于物理参数,如摩擦系数、质量、电机强度和地形高度,这对于弥合仿真到现实的差距至关重要。
性能基准测试: 下表比较了典型四足运动任务在不同仿真后端上的训练吞吐量和实际时间:
| 后端 | 并行环境数 | 每秒步数 | 1000万步耗时 | 硬件 |
|---|---|---|---|---|
| MuJoCo (CPU) | 1 | ~3,000 | ~55分钟 | 8核CPU |
| Isaac Gym (CPU) | 1 | ~5,000 | ~33分钟 | 8核CPU |
| Isaac Gym (GPU) | 4,096 | ~150,000 | ~1.1分钟 | NVIDIA RTX 4090 |
| Isaac Gym (GPU) | 8,192 | ~250,000 | ~0.7分钟 | NVIDIA A100 |
数据要点: 与单环境CPU仿真器相比,GPU并行化实现了50-80倍的训练吞吐量加速。这使得奖励设计和超参数调优能够快速迭代,而这通常是现实世界机器人研究中的瓶颈。
仿真到现实流程: Legged Gym包含一个`deploy`模块,可将训练好的策略导出为轻量级ONNX或TorchScript模型,该模型可在机器人的机载计算机(如NVIDIA Jetson或Intel NUC)上运行。该策略通常是一个具有256个隐藏单元的双层MLP,内存需求低于1 MB,推理时间小于1毫秒。域随机化和精心调优的奖励函数确保策略无需微调即可迁移。该框架还支持在训练期间向观测值添加噪声,以模拟传感器的不完美性。
相关开源仓库: 除了Legged Gym本身,社区还构建了多个扩展。`legged_gym_ros`仓库提供了用于现实部署的ROS集成。ANYbotics的`isaacgym_anymal`仓库提供了ANYmal C和D的预训练权重。在GitHub上,`legged_gym`项目拥有3,022颗星,并得到积极维护,最近的提交增加了对Unitree H1人形机器人和轮腿机器人的支持。
关键参与者与案例研究
苏黎世联邦理工学院机器人系统实验室(RSL): 由Marco Hutter教授领导,RSL在足式机器人领域处于前沿超过十年。他们开发了ANYmal机器人(衍生为ANYbotics),并发表了关于基于模型控制和运动强化学习的开创性论文。Legged Gym是他们研究的直接成果,并已用于多篇RSL出版物,包括2023年《科学机器人》上关于“在野外学习四足机器人的鲁棒感知运动”的论文。
ANYbotics: 这家ETH衍生公司将ANYmal机器人商业化,用于工业检测。他们已采用Legged Gym作为主要训练框架,并展示了ANYmal使用完全在仿真中训练的策略导航石油钻井平台、天然气厂和建筑工地的能力。其内部基准测试显示,自切换到Legged Gym以来,新运动行为的开发时间减少了40%。
宇树科技(Unitree Robotics): 这家中国公司是Go1、A1和H1机器人的制造商,已将Legged Gym集成到其开发者工具中。宇树为其平台提供了预配置的URDF文件和奖励函数,社区贡献的训练脚本在Go1上取得了最先进的结果。在2024年的一次演示中,宇树展示了一台使用Legged Gym训练的Go1,无需任何现实世界微调即可穿越楼梯、碎石和湿滑表面。
Legged Gym支持的机器人平台比较:
| 平台 | 重量 | 自由度 | 最大速度 | 关键用例 | 社区支持 |
|---|---|---|---|---|---|
| ANYmal C | 50 kg | 12 | 1.0 m/s | 工业检测 | 高(