📌 项目地址:pollen-robotics/microduck_rl | ⭐ 735 颗星 | 🔧 Python | 📜 未标注
这是什么
Pollen Robotics 给他们的双足机器人 Microduck 做的强化学习训练环境。机器人本体约 800 克、25 厘米高,训练框架是 mjlab(MuJoCo Warp),算法是 PPO。策略在仿真里以 50 Hz 训练,导出 ONNX,再由姊妹仓库 pollen-robotics/microduck 的运行时部署到真机。
735 star 不算多,但这个仓库的价值不在 star 数。它是一个完整 sim2real 闭环项目的训练侧:BAM 执行器物理建模、域随机化、齿隙(backlash)仿真,全都对着真实硬件的痛点去的。齿隙是小型减速电机的老问题,仿真里不建模,策略到了真机步态就散架。
任务清单比代码更值得看
uv run list-envs 打印完整任务注册表。README 列出的任务分几类:
基本运动
• Mjlab-Velocity-{Flat,Rough}-MicroDuck:主力任务,速度指令行走 + 头部姿态控制
• Mjlab-VelStand-{Flat,Rough}-MicroDuck:行走和跌倒恢复塞进同一个策略
• Mjlab-StandUp-{Flat,Rough}-MicroDuck:从面朝下/面朝上/坐姿起身,保持站立并控制身体姿态
• Mjlab-SitStand-{Flat,Rough}-MicroDuck:指令控制的坐下↔站起,头部可控制
花活
• Mjlab-GroundPick-{Flat,Rough}-MicroDuck:蹲下用嘴尖触地,再站回来
• Mjlab-BallKick-Flat-MicroDuck:踢一个 70 mm / 15 g 的球,策略观测里没有球的信息,完全靠估计
• Mjlab-Roulade-Flat-MicroDuck:过头前滚翻,落回脚上
轮滑系列(脚底装被动轮)
• Mjlab-Velocity-Flat-MicroDuck-Rollers:轮滑速度跟踪
• Mjlab-Velocity-Swizzle-MicroDuck:对称花式滑行
• Mjlab-RollerCrouch-Flat-MicroDuck:滑行中下蹲
• Mjlab-RollerSlope-Flat-MicroDuck(README 在此处截断)
一个 800 克的双足平台能覆盖这个任务谱系——从走路到前滚翻到轮滑——本身就是这套配方有效性的直接证据。
CLAUDE.md 是仓库里最值钱的文件
多数 RL 机器人仓库停在”仿真里能走”。这个仓库把 reward 设计的踩坑记录蒸馏到了根目录的 CLAUDE.md,README 原话是 “the distilled playbook”。
Reward 设计是 sim2real 里最难传递的经验。论文会写最终公式,但不会写”为什么第一版不收敛”、“哪个项加上去真机就翻”。哪怕你做的不是双足、不是这个尺寸,这份经过真机验证的设计笔记也值得单独读一遍。
上手
需要 CUDA GPU(训练跑在 MuJoCo Warp 上)和 uv。
git clone https://github.com/pollen-robotics/microduck_rl
cd microduck_rl
# 训练行走策略,4096 个并行环境约 1-2 小时得到可用步态
uv run train Mjlab-Velocity-Flat-MicroDuck --env.scene.num-envs 4096
# 在 viewer 里看训练好的策略
uv run play Mjlab-Velocity-Flat-MicroDuck --wandb-run-path <your-run>
# 导出 ONNX
uv run scripts/export.py Mjlab-Velocity-Flat-MicroDuck --wandb-run-path <your-run>
# 用键盘在 CPU 版 MuJoCo 里驱动导出的策略
uv run scripts/infer_policy.py --walking output.onnx
从断点恢复:
uv run train Mjlab-Velocity-Flat-MicroDuck --env.scene.num-envs 4096
--agent.run-name resume --agent.load-checkpoint model_29999.pt --agent.resume True
没有本地 GPU?任何训练命令加 --hf-jobs,直接跑在 Hugging Face Jobs 上,细节见 scripts/hf/README.md。
我会怎么用这个仓库
两条路。一是配合 Microduck 硬件做完整真机开发——这是它的设计用途。二是把它当 sim2real 参考实现读:执行器建模、齿隙仿真、域随机化各做到了什么程度,直接翻环境定义源码,比读十篇论文更快建立直觉。
4096 环境并行、1-2 小时出可用步态,这个训练成本意味着个人开发者也能复现和魔改。门槛在硬件,不在算力。