《MicroDuck RL:训练机器鸭从仿真走到真机》 系列课程 · 第 02 集 / 共 14 集
上一集:【MicroDuck RL 01】这个项目是什么:用强化学习训练机器鸭走路 |课程目录 | 下一集:【MicroDuck RL 03】环境配置全过程(含踩坑记录)
这一集补齐所有背景概念。已经熟悉 MuJoCo 和 RL 的同学可以直接跳到第 03 集环境配置。
MuJoCo 与 MuJoCo Warp
- MuJoCo:业界最常用的物理仿真引擎之一,擅长刚体接触仿真(关节、碰撞、摩擦),是机器人强化学习的事实标准。模型用 MJCF(XML) 格式描述:body(刚体)、joint(关节)、actuator(驱动器)、sensor(传感器)、碰撞几何体等。
- MuJoCo Warp:NVIDIA Warp 框架上的 MuJoCo 重写版,核心优势是 GPU 上同时仿真成千上万个场景副本。传统做法一个 CPU 核跑一个环境;Warp 让 4096 个机器人同时在一张 RTX 5080 上以实时以上的速度仿真——这是"训练 1–2 小时就能学会走路"的前提。
强化学习的基本循环
本项目的 RL 循环(每 0.02 秒一轮,即 50 Hz):
观测 obs (61维) ──> 策略网络 π ──> 动作 action (14维关节目标位置)
↑ │
│ ↓
奖励 reward <── 奖励函数评估 <── MuJoCo 物理仿真一步
- 策略(policy):一个神经网络,输入观测、输出动作。本项目是 MLP(多层感知机)。
- PPO:近端策略优化,最常用的策略梯度算法。核心思想:收集一批经验(rollout),计算优势函数,用裁剪的目标函数更新网络,防止单步更新过猛。
- 奖励(reward):你唯一能"跟机器人沟通"的方式。你必须把"好好走路"拆解成数值信号:跟踪上目标速度 +、摔倒 −、脚滑 −、动作抖动 −……RL 会精确优化你写出来的东西,包括你没想到的漏洞(第 10 集有真实案例,仓库的
AGENTS.md里全是)。
Sim2Real 与域随机化(Domain Randomization, DR)
仿真永远和现实有差距(摩擦、质量、电机特性、传感器噪声)。Sim2real 的主流做法不是把仿真做到完美,而是每次重置环境时随机化物理参数,逼策略学会"无论参数怎么变都能走"。这样真机只是随机分布中的一个样本。本项目完整的随机化清单见第 05 集。
技术栈分工
microduck_rl(本仓库) 任务定义:机器人、奖励、DR、课程
│
mjlab 训练框架:环境封装、PPO runner、日志、查看器
│
MuJoCo Warp GPU 并行物理仿真
│
rsl_rl PPO 实现(ETH 机器人系统实验室)
│
BAM 舵机电压级物理模型(Rhoban 出品)
概念就这些,没有更多数学——这个项目是绝佳的"先动手、后补理论"入口。下一集开始装环境。