TT Lab
博客

한국어 English 日本語 中文

开始
博客

博客

从仿真到真实:域随机化、延迟与噪声建模、系统辨识、大规模并行仿真

状态:草稿 (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. 真实乒乓球机器人所做的事情

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 结果

학습 분포를 넓히면: 명목 시뮬레이션 대 「실물」 0 25 50 75 100 % 83 73 랜덤화 없음 91 80 좁은 랜덤화 57 55 넓은 랜덤화 79 74 식별한 값 그대로 명목 시뮬레이션 「실물」(다른 물리) 「실물」= 반발 0.72·지연 20 ms·잡음 5 mm·항력 ×1.1·Magnus ×1.5. 시드 3개.
图:不同训练分布下标称仿真与“真实”的成功率
训练分布 标称仿真 “真实”中位数(最小~最大) 差距(中位数)
无随机化 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 解读

3.4 改变观测的方法

随机化是“抵御未知事物”的方法。也有“弄清未知事物”的方法。在同一项目中单独进行的 MuJoCo 仿真器实验报告称,当经典规划器不单靠球轨迹来适应旋转,而是预先知道“上旋·下旋·无旋转”的旋转种类并将该种类的平均旋转作为先验信息时,根据条件的不同,回报率高出了 7~19%p(例如:当决策时机在击球前 300 ms 且旋转直接来自数据集时,为 77% → 94%)。旋转种类可以通过击球前的信号(如对手的姿势或击球声音)来识别。D'Ambrosio 等人 (2024) 也将无法准确读取强烈旋转列为局限性,并写道对手正是利用了这一点(V 节第 5 项)。有时,增加策略能看到的信息比扩大随机化范围更具成本效益。

4. 局限性

5. 总结

小蒂的话。 如果只相信仿真器,球在真正的乒乓球台上就会挂网。通过稍微扰动物理特性进行练习,即使在初次见到的乒乓球台上也不会那么慌乱!

参考

所有资料均查阅于 2026-10-18。

登录后即可点赞

评论

还没有评论。

登录后即可发表评论