TL;DR
Pollen Robotics 开源了 Microduck(~800g 双足机器人)的强化学习训练环境,基于 mjlab (MuJoCo Warp) 实现高并行度 PPO 训练。其核心价值在于提供了一套完整的 Sim2Real 配方,包括高保真执行器模型、 backlash(齿隙)模拟及 ONNX 部署工具链,实现了从仿真到实物的无缝策略热切换。
它解决什么问题
微型双足机器人的 Sim2Real 鸿沟主要源于执行器动力学(如摩擦、延迟)和机械间隙。传统 MuJoCo 仿真在大规模并行训练时受限于 CPU,而 mjlab 利用 GPU Warp 技术解决了这一瓶颈。该项目针对 Microduck 这种小型化、低成本伺服电机驱动的机器人,专门优化了执行器物理模型和域随机化策略,解决了“仿真练得好,实物动不了”的痛点。
核心做法
架构基于 mjlab (MuJoCo Warp + rsl_rl),支持在 GPU 上以 50 Hz 频率并行训练数千个环境。关键设计包括: 1. 高保真执行器模型:采用 BAM (Better Actuator Model) 对 Dynamixel XL330 进行建模,包含电压控制律、反电动势及库仑/斯特里贝克摩擦。 2. 齿隙模拟 (Backlash):在 14 个伺服关节中引入 ±1° 的被动齿隙 hinge,并模拟编码器位于输出侧的物理特性,确保观测空间在仿真与实物间保持一致。 3. 统一观测接口:所有策略共享 61 维观测空间(48 本体感 + 命令),使得不同任务策略可在运行时热切换。 4. 域随机化:对电池电压、负载压降、命令延迟和摩擦系数进行随机化处理,提升策略鲁棒性。
作者
项目由 Pollen Robotics (pollen-robotics) 维护。该组织专注于微型机器人研发,Microduck 是其代表性硬件产品。README 中未提及具体个人贡献者名单,但代码风格与 Rhoban (BAM 库作者) 紧密相关,暗示了技术渊源。
社区反应
项目创建于 2025 年底,截至最近推送已获 773 Stars、132 Forks 和仅 8 个 Open Issues。考虑到其垂直领域属性(微型双足+特定硬件),这一数据表明社区关注度极高且维护状态活跃。Python 生态下,基于 MuJoCo Warp 的 RL 环境相对稀缺,该项目填补了高性能微型机器人训练工具的空白。
怎么上手
依赖 CUDA GPU(用于 MuJoCo Warp)和 uv 包管理器。
1. 安装:克隆仓库,运行 uv sync(ARM 设备需设置长超时)。
2. 训练:运行 uv run train Mjlab-Velocity-Flat-MicroDuck --env.scene.num-envs 4096,约 1-2 小时可获可用步态。
3. 导出:使用 scripts/export.py 将策略转为 ONNX,注意必须使用该脚本以嵌入观测归一化器。
4. 部署:通过 scripts/infer_policy.py 在 CPU MuJoCo 中验证,或部署至 Microduck 硬件。
支持通过 --hf-jobs 在 Hugging Face Jobs 上无 GPU 训练。
争议与局限
- 硬件绑定:策略和模型针对 Microduck 特定构型优化,迁移到其他双足平台需大量重构。
- GPU 依赖:训练强依赖 CUDA,无 GPU 环境仅能使用 HF Jobs 或极低速 CPU 模拟。
- 任务范围:虽然支持多种技能(翻滚、踢球等),但主要聚焦于平地或简单粗糙地形,复杂非结构化环境支持有限(推断)。
- 模型复杂度:BAM 执行器模型虽精确,但增加了仿真计算开销,需在保真度与训练速度间权衡。
相关项目
- microduck — Microduck 硬件主仓库,包含运行导出策略的板载运行时系统
- mjlab — 底层训练框架,提供 MuJoCo Warp 加速和 rsl_rl 集成
- BAM — Rhoban 开发的更优执行器模型库,为 Microduck RL 提供物理基础
- legged_gym — NVIDIA 经典的四足机器人强化学习库,侧重通用性而非微型特定优化
- IsaacGymEnvs — NVIDIA 基于 Isaac Gym 的 RL 环境集合,提供类似的高并行训练能力但生态更封闭