状态:草稿 (2026-10-18),实测。 数字是使用笔记本电脑(Apple M1 Max,macOS 26.5)上的 Python 3.9.6 和 numpy 2.0.2 直接计算出的仿真值。本文中的“真实”是另一个修改了物理常数的仿真器,并非真正的机器人(未进行硬件实测)。原始数据与代码:工作目录
measure/robot-arm-basics/rl/的ttenv.py,ppo.py,exp_rl.py(组sim2real),结果out/rl/s2r_*_s{0,1,2}.json。 参考资料查阅于 2026-10-18。编写规则:以实测数据为基础,未能测量的标记为“未实测”,未能确认的标记为“未确认”。
目录
1. 直觉:学习仿真器的漏洞
强化学习策略会寻找所有能提高奖励的漏洞(第 13 篇)。在仿真器中,这些漏洞也包含 仿真器出错的部分。如果球拍反弹比实际稍强,策略就会学着配合这种较强的反弹轻轻击球。而在真实世界中,球就会挂网。
正如第 1~10 篇所展示的,乒乓球的物理常数是不确定的。文献中的马格努斯系数相差 7 倍以上(第 6 篇),0.05 的反弹系数差异导致落点相差 13 cm(第 7 篇),相机和控制器的延迟在几十到 100 ms 之间(第 1 篇)。处理从仿真到真实(sim-to-real, sim2real)问题的方法大致有四种。
| 方法 | 思路 | 代价 |
|---|---|---|
| 域随机化 (domain randomization) | 在每个回合中扰动常数,学习在任何数值下都能适用的策略 | 问题变得更困难,需要学习更多内容 |
| 延迟与噪声建模 | 将真实系统的延迟和噪声加入仿真器中 | 必须测量真实的延迟 |
| 系统辨识 (system identification, real2sim) | 在真实世界中测量常数并输入仿真器 | 无法测量的内容(如旋转效应等)会残留 |
| 大规模并行仿真 | 通过计算来支撑上述三种方法所增加的训练量 | GPU 和 CPU 资源 |
2. 真实乒乓球机器人所做的事情
- 延迟必须测量并输入,如果不准确就会崩塌。 D'Ambrosio 等人 (2023) 报告称,当仿真延迟设置为硬件测量值时,真实世界迁移得分平均为 1.83(满分 2.0);当减少到 50% 时降至 1.33;而在 0%、20% 和 150% 时表现非常糟糕(III-A2 节,图 4)。在真实世界中故意增加观测延迟时,性能在 150 ms 时急剧下降(III-B 节)。
- 如果不随机化反弹系数,性能会下降 14%。 同一篇论文指出,如果不随机化球台反弹系数,性能会下降 14%;将球反弹系数提高 2%,性能下降 25%;将球台反弹提高 8%,性能下降 36%(III-A5 节)。有趣的是, 测得的反弹系数比调整后的数值表现更差,作者认为这是因为仿真器未能正确对旋转进行建模,而调整后的数值弥补了这一缺陷。
- D'Ambrosio 等人 (2024) 随机化了观测噪声与延迟、球台与球拍的阻尼和摩擦力,并对每个执行器和关节进行了系统辨识。他们通过附加一个拥有 2.8k 参数的轻量级 FiLM 适配器解决了真实世界中对上旋球较弱的问题,并指出将拉力赛分成较短的区间并在每次初始化机器人状态对于真实世界的迁移至关重要(II-E1、II-E2、II-E4 节)。基础策略使用 6,000 个并行仿真工作线程训练了约 24 亿步(II-C 节)。
- 随机化的鼻祖。 Tobin 等人 (2017) 报告称,仅通过随机化渲染纹理并在仿真中训练的物体位置检测器在真实世界中达到了 1.5 cm 的精度;Peng 等人 (2017) 随机化了动力学常数,在没有真实世界训练的情况下将机械臂推动物体的策略迁移到了现实中(两篇论文均见摘要)。
3. 实测:摆球拍的“真实”
3.1 设置
“真实”是一个改变了以下五个方面的仿真器。各项数值根据第 1~10 篇中观察到的不确定性大小进行选择。
| 项目 | 标称仿真 | “真实” | 依据 |
|---|---|---|---|
| 球拍反弹 e_r | 0.80 | 0.72 | 与第 10 篇模型误差实验相同的值 |
| 观测延迟 | 0 | 20 ms(2步) | 第 1 篇:真实系统的延迟为数十毫秒 |
| 球位置噪声 | 0 | σ 5 mm(速度噪声与之成正比) | 第 2、6 篇的校准与观测噪声大小 |
| 空气阻力 | ×1.0 | ×1.1 | 第 6 篇:文献 C_D 0.37~0.55 |
| 马格努斯效应 | ×1.0 | ×1.5 | 第 6 篇:文献数值相差 7 倍以上 |
训练分布有四种。全部采用直接控制、形状奖励、PPO 默认设置、19,200 个球、3 个随机种子,评估分别在标称仿真和“真实”环境中通过未用于训练的 1,000 个球进行。
| 训练分布 | 反弹 | 延迟(步) | 噪声 | 空气阻力倍数 | 马格努斯倍数 |
|---|---|---|---|---|---|
| 无随机化 | 0.80 | 0 | 0 | 1.0 | 1.0 |
| 窄范围随机化 | 0.75~0.85 | 0~1 | 0~3 mm | 0.95~1.05 | 0.8~1.2 |
| 宽范围随机化 | 0.65~0.90 | 0~3 | 0~8 mm | 0.9~1.2 | 0.5~2.0 |
| 使用辨识出的精确值 | 0.72 | 2 | 5 mm | 1.1 | 1.5 |
窄范围随机化 不包含“真实”值(反弹 0.72 超出范围,延迟 2 步也超出范围)。宽范围随机化包含“真实”值。最后一行是系统辨识完全成功的情况。
3.2 结果
| 训练分布 | 标称仿真 | “真实”中位数(最小~最大) | 差距(中位数) |
|---|---|---|---|
| 无随机化 | 82.9% | 72.7% (62.9~80.0) | −10.2%p |
| 窄范围随机化 | 91.2% | 79.5% (70.8~85.2) | -11.7%p |
| 宽范围随机化 | 57.4% | 54.7% (52.6~75.4) | −2.7%p |
| 使用辨识出的精确值 | 79.3% | 74.4% (64.2~80.4) | −4.9%p |
3.3 解读
- 没有进行随机化学习的策略在“真实”环境中损失了 10%p。 这仅仅是因为反弹、延迟、噪声和空气动力学效果略有不同所造成的差异。击中球拍的比例也在 76%~83% 之间,低于标称仿真(88%~94%)。在 20 ms 的延迟期间,球大约移动了 6 cm,导致时机出现偏差。
- 窄范围随机化在“真实”中表现最好(79.5%)。 即使没有将“真实”值纳入范围也是如此。我们认为,仅仅通过在常数略有波动的世界中学习,就防止了策略过度拟合特定数值。标称仿真成绩(91%)也高于无随机化(83%),但由于只有 3 个随机种子,这一差异并不确定。
- 宽范围随机化将差距缩小到了 3%p,但在相同的训练量下,学习效果较差。 仿真和“真实”环境均在 55% 左右,并且学习曲线一直缓慢上升到 300 次迭代结束(一个种子达到了 82%·75%)。随机化范围越广,问题就越难,需要更多的样本。这就是大规模并行仿真与 sim2real 结对的原因。
- 完美的系统辨识(74.4%)低于窄范围随机化(79.5%)。 如果直接使用“真实”值进行学习,由于一开始就存在 20 ms 的延迟和 5 mm 的噪声,导致学习更加困难,在相同的预算下学到的东西更少。可以这样理解:辨识用于对齐起点,而随机化用于抵御剩余的不确定性。实际应用中通常会将两者结合使用(以辨识出的值为中心进行窄范围随机化)。
3.4 改变观测的方法
随机化是“抵御未知事物”的方法。也有“弄清未知事物”的方法。在同一项目中单独进行的 MuJoCo 仿真器实验报告称,当经典规划器不单靠球轨迹来适应旋转,而是预先知道“上旋·下旋·无旋转”的旋转种类并将该种类的平均旋转作为先验信息时,根据条件的不同,回报率高出了 7~19%p(例如:当决策时机在击球前 300 ms 且旋转直接来自数据集时,为 77% → 94%)。旋转种类可以通过击球前的信号(如对手的姿势或击球声音)来识别。D'Ambrosio 等人 (2024) 也将无法准确读取强烈旋转列为局限性,并写道对手正是利用了这一点(V 节第 5 项)。有时,增加策略能看到的信息比扩大随机化范围更具成本效益。
4. 局限性
- “真实”本质上也是使用相同方程的仿真器。与真实机器人的差距不仅在于常数,还在于模型的形态(橡胶的旋转传递、减速机的背隙、相机的丢帧)(未实测)。
- 在所有设置中保持训练量相同(19,200 个球)。对宽范围随机化进行更长时间的训练可能会改变结果(未实测)。
- 由于只有 3 个随机种子,设置之间的大多数差异都在误差范围内重叠(第 15 篇)。
- 3.4 节的旋转种类实验是借用了其他任务的结果,并未针对本文的摆球拍问题重新测量。
5. 总结
- 仿真器错得越多,策略也就错得越多。在一个仅稍微改变了五个常数的“真实”环境中,没有随机化的策略损失了 10%p。
- 在这个预算下,窄范围随机化效果最好。宽范围随机化缩小了差距,但需要更多的训练。
- 系统辨识用于对齐起点,而随机化用于抵御剩余的不确定性。两者结合使用。
- 延迟必须经过测量并输入。在谷歌的实验中,即使将延迟错误地减少一半,得分也会从 1.83 降至 1.33。
- 下一步是同一项目中正在进行的 MuJoCo 乒乓球机械臂强化学习。当结果出来时,我将在本系列的“真实学习结果”篇中继续撰写。
小蒂的话。 如果只相信仿真器,球在真正的乒乓球台上就会挂网。通过稍微扰动物理特性进行练习,即使在初次见到的乒乓球台上也不会那么慌乱!
参考
所有资料均查阅于 2026-10-18。
- D'Ambrosio 等人, Robotic Table Tennis: A Case Study into a High Speed Learning System, arXiv:2309.03315, III-A2·III-A5·III-B 节,图 4。
- D'Ambrosio 等人, Achieving Human Level Competitive Robot Table Tennis, arXiv:2408.03906, II-C·II-E 节,V 节(局限性)。
- Tobin 等,“Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World”, arXiv:1703.06907,摘要。
- Peng、Andrychowicz、Zaremba、Abbeel,“Sim-to-Real Transfer of Robotic Control with Dynamics Randomization”, arXiv:1710.06537,摘要。
- Rudin 等, arXiv:2109.11978,摘要。