状态:草稿(2026-10-18),原文阅读与实测。 论文中的数值仅记录了 2026-10-18 直接打开 arXiv HTML 版(2408.03906v3)并在相应章节中再次确认过的内容,且使用章节编号和表格编号代替页码。 实测是在与第 2 篇和第 5 篇相同的临时 Pod(迷你 PC 节点 Intel Core Ultra 9 185H,上限 CPU 3 核、内存 3 GiB,无 GPU,MuJoCo 3.16.0,时间步长 1 ms)中进行的,并与其他模拟实验共享了 CPU。 所有回球率均为模拟器内部的相对比较值。 并非通过真实机器人或真实球测量出的数值。观测噪声 σ 3 mm、球拍胶皮、决策视野等条件均为假设值。 重复实验使用了 3 个观测噪声种子,表格中的数值为各种子成功率的中位数。墙钟时间为 DM1 1,702 s,DM2 560 s。原始数据位于工作目录
measure/sim-tt-deepmind/中。
目录
- 1. 直观感受:已达业余中级水平的机器人卡在了哪里
- 2. 论文的成果
- 3. 作者指出的九大局限性(§V)
- 4. 模拟器实验 DM1:决策视野与旋转知识
- 5. 模拟器实验 DM2:仅了解旋转“类型”能恢复多少性能
- 6. 附赠:相同接触值的回弹随积分器而异(DM3)
- 7. 改进方向:我们优先要做的五件事
- 8. 公开的内容与未公开的内容
- 9. 局限性
- 10. 下篇预告
- 参考资料
1. 直观感受:已达业余中级水平的机器人卡在了哪里
DeepMind 的乒乓球机器人通过与人类比赛,达到了“业余中级”水平。然而,高手很快找到了它的弱点:低平且强烈的下旋球、快球以及反手。 本文通过原文确认论文中自陈的局限性,并在我们的模拟器中直接测试其中的旋转和决策时机问题。对于从零开始打造乒乓球机器人的我们来说,旨在确定“应该优先把力气花在哪个方向”。
2. 论文的成果
Achieving Human Level Competitive Robot Table Tennis(arXiv 2408.03906,ICRA 2025)中确认的结构。
| 项目 | 原文内容 | 章节 |
|---|---|---|
| 身体 | 6 轴工业机械臂(ABB IRB 1100)安装在两个 Festo 直线龙门架上。左右 4 m,前后 2 m | §II-A |
| 眼睛 | 两台 Ximea 相机,125 Hz。神经网络识别以相同的频率输出球的位置。通过动作捕捉追踪对手球拍 | §II-A |
| 延迟 | 系统整体约 100 ms。控制周期为 50 Hz | §V(1) |
| 策略 | 17 个低级技术策略(接发球 4 个,相持 13 个。正手 11 个,反手 6 个)以及一个在每球中选择其中之一的高级控制器 | §II,附录 |
| 策略输入 | 8 步的球位置与速度(6)、关节位置(8)、正手与反手独热编码(2)。输入中不包含旋转 | §II-C |
| 旋转 | 不估计旋转量。仅分类来球是上旋还是下旋。发球下旋的精度为 1.0,召回率为 0.4 | §II-D3, §III-G |
| 模拟器 | MuJoCo。未在实物上微调即部署(zero-shot sim-to-real) | §II-E |
| 战绩 | 29 场 13 胜(45%)。初级 7/7,中级 6/11,高级(Advanced)0/5,特级(Advanced+)0/6 | §III,表 XIV |
召回率 0.4 意味着在十个下旋发球中有六个被错误识别为了上旋球。
3. 作者指出的九大局限性(§V)
- 快球。 这是由于数据不足、约 100 ms 的系统延迟以及每次击球后返回相同预备姿势的重置机制所致。
- 高球。 一旦球超过台上方约 6 ft,就会超出相机视野。作者写道,实际中这种情况很少见。
- 低球。 由于保护球拍的避碰规则,机器人无法很好地处理贴网而来的球,高级选手经常利用低平下旋球来针对这一点。
- 短颗粒胶皮球拍。 选择了可以用模拟器建模的胶皮。并指出面向高级选手的反胶是非线性的且具有多种模式,极难建模。
- 读取旋转。 无法准确读取极端的旋转,导致可处理的旋转量受限。他们认为,如果旋转识别得到改善,性能将立即提升。
- 缺乏预判多板的战略。 这是因为每次只学习单板球。
- 动捕不稳定。 偶尔发生的追踪错误损害了性能。
- 反手弱于正手。
- 可预测的落点。 裁判评选出的三大改进领域是落点、旋转读取和反手。
九大局限性中有三个(1. 延迟,3. 低平下旋,5. 旋转)都可以归结为“何时以及在多大程度上了解旋转”。因此,我们首先对这个问题进行了测试。
4. 模拟器实验 DM1:决策视野与旋转知识
设置。 从 DeepMind 公开的初始球状态(相持中朝向机器人飞来的球)中抽取 200 个,将使用 DeepMind MJCF 参数在 MuJoCo 中模拟的轨迹作为“真实值”。在击球平面(y = −1.6 m)处,剔除了 10 个球心低于球台高度 5 cm 的球以及 4 个触网或二次弹跳等异常球,剩余 186 个球。相机(120 fps 或 240 fps)在球的位置上为每个轴添加了 σ 3 mm 的噪声,并使用从击球时刻起扣除 决策视野 H(感知延迟 + 动作准备时间)之前的时间点的观测数据。估计器调整位置和速度,规划器确定球拍面的法线和速度。 旋转根据不同方法进行设定。“忽略旋转”设为 0,“真实旋转”设为真实值,“旋转误差 x%”设为真实值中混入 x% 误差的值,“轨迹拟合”设为根据轨迹弯曲程度拟合出的旋转值。 如果没有感知误差,186 个球全部回球成功(上限 100%)。
| 旋转方式(120 fps) | H 50 | 100 | 150 | 200 | 250 | 300 | 350 | 400 ms |
|---|---|---|---|---|---|---|---|---|
| 忽略旋转 | 84.4 | 83.3 | 66.7 | 50.0 | 45.7 | 48.9 | 50.5 | 47.8 |
| 从轨迹拟合旋转 | 100 | 100 | 100 | 98.4 | 94.6 | 85.5 | 78.5 | 66.7 |
| 旋转误差 15% | 100 | 100 | 100 | 100 | 99.5 | 95.7 | 90.9 | 88.2 |
| 真实旋转 | 100 | 100 | 100 | 100 | 100 | 98.9 | 97.3 | 96.2 |
- 如果忽略旋转,即使视野很短,成功率也有 84%。 球虽然能击中,但由于错误计算了球拍反弹,导致球飞出球台。当视野超过弹跳后剩余的时间(中位数为 284 ms)时,成功率会暴跌至 50% 左右。 飞行预测和球拍反弹两方面都需要旋转。
- 轨迹拟合在 150 ms 的视野内表现得与真实旋转一样好。 当视野变长时性能下降,在 300 ms 时为 85.5%,在 400 ms 时为 66.7%。240 fps 相机仅在较长的视野下才拉开差距(300 ms 时 87.6%,400 ms 时 76.9%)。
- 即使知道真实旋转,在 400 ms 时成功率也只有 96.2%。 剩余的误差来自估计器简单的弹跳模型与 MuJoCo 接触模型之间的差异。这与我们在第 5 篇基准线中看到的“模型差异”是同一个问题。
5. 模拟器实验 DM2:仅了解旋转“类型”能恢复多少性能
我们单独测试了类似 DeepMind 分类器那样只知道旋转类型的情况。类型根据 DeepMind 附录的标准进行划分(上旋 ωx > 50,下旋 ωx < −25 rad/s,其余为不转),每种类型抽取 80 个球。 由于数据中的旋转弱于高级选手,因此还制作了旋转强度放大 2 倍和 3 倍的球。视野分别为假定为快速手臂的 150 ms 和假定为慢速龙门架的 300 ms(两者均为假设)。 “类型 + 轨迹”假定球体外部的信号(对手姿态、击球声音等)正确判断了旋转类型,并采用以该类型的平均旋转为先验分布中心的轨迹拟合。
| 旋转倍数 | H | 忽略旋转 | 仅类型平均 | 轨迹拟合 | 类型 + 轨迹 | 真实旋转 |
|---|---|---|---|---|---|---|
| ×1 | 150 ms | 69 | 93 | 93 | 100 | 100 |
| ×1 | 300 ms | 55 | 72 | 77 | 94 | 99 |
| ×2 | 150 ms | 35 | 83 | 88 | 97 | 100 |
| ×2 | 300 ms | 26 | 48 | 63 | 82 | 98 |
| ×3 | 150 ms | 20 | 76 | 88 | 98 | 100 |
| ×3 | 300 ms | 11 | 40 | 61 | 74 | 90 |
(这是合并了上旋、下旋和不转球的回球率(%)。有效球数为 ×1 220 个,×2 176 个,×3 122 个。当增大旋转时,会出现无法落在机器人半台的球,因此数量减少了。)
- 将类型提示加入轨迹拟合后,在所有条件下都提升了 7–19%p。 这是除真实旋转外表现最好的方法。
- 仅使用类型平均的效果等于或逊于轨迹拟合。 类型信息不能替代轨迹拟合,而是作为补充。如果类型准确率只有 80%,类型平均方法的性能会下降 5–13%p。
- 最难接的球是上旋球。 在 3 倍上旋、视野 300 ms 的条件下,忽略旋转为 0%,轨迹拟合为 32%,类型 + 轨迹为 53%,真实旋转为 84%。 下旋球仅通过轨迹拟合就能达到 91–100%。这是因为在 DeepMind 的球台接触值中,弹跳几乎消除了下旋(1 倍下旋的平均 ωx 弹跳前为 −41,弹跳后为 −5 rad/s)。
- 那么,DeepMind 在实际操作中遇到的下旋弱点(局限性 3、5)可能不是源于飞行预测,而是源于 球拍侧(用于挑起球的球拍角度、胶皮模型、低球的避碰机制)。 这只是一种推测,尚未得到验证。 由于该实验中规划器和真实情况使用的是相同的球拍模型,因此可能低估了球拍侧的影响。下一步是将球台摩擦力更改为文献值,并进行使球拍模型与真实情况不同的重新实验。
6. 附赠:相同接触值的回弹随积分器而异(DM3)
在第 2 篇第 5 节中,曾出现过斜向弹跳的法线反弹系数超过 1 的格子(1.081)。通过 3 种时间步长、2 种积分器、2 种摩擦圆锥和 6 种入射情况重新测试了 72 个格子后发现: 法线反弹超过 1 的情况仅出现在 implicitfast·1 ms·椭圆圆锥·300 rad/s 下旋这一个格子中(0.5 ms 时为 1.001,0.25 ms 时为 0.984)。在相同的 1 ms 下,RK4 为 0.838–0.951,implicitfast 为 0.961–1.081。 由于 72 个格子中总动能(平移 + 旋转)在接触后与接触前的比值均小于 1(0.851–0.996),因此并没有凭空产生能量,而是切线方向的能量转移到了法线方向。 通过系统辨识确定的触球值必须与当时的积分器和时间间隔作为一个整体来处理。
7. 改进方向:我们首先要做的五件事
| 顺序 | 改进方案 | 针对的局限性 | 本文依据 |
|---|---|---|---|
| 1 | 旋转类型提示 + 轨迹拟合。 通过相对姿态、击球声音和球拍面先识别出旋转类型,并将该平均值用作轨迹拟合的先验分布。 | 3, 5 | DM2: 7–19%p |
| 2 | 两阶段决策。 慢速龙门架提早移动,手腕则通过弹地后的观测进行延迟校正。 | 1 | DM1: 若预测视距超过弹地后剩余时间则出现断层。两阶段决策本身未经验证 |
| 3 | 使用 120–240 fps 相机从轨迹中拟合旋转。 这是在没有转速传感器的情况下获得的基准线。 | 5 | DM1: 视距在 150 ms 以内时与真实旋转相同 |
| 4 | 辨识随旋转和速度变化的球物理学与接触模型。 | 4, 5 | DM1 的“真实旋转 96.2%”、第 2 篇的马格努斯 4.2 倍、DM3 |
| 5 | 通过优化求解击球瞬间,强化学习仅用作残差。 | 1, 8 | 第 5 篇的经典基准线是起点 |
第 1 点与 TT Lab 在记分牌识别中追求的球、声音、姿态多信号识别直接相连。“在球飞行前了解旋转类型”是通往机器人高性能的环节,因此这是最优先尝试重现的方向。
8. 已公开与未公开的内容
- 公开的代码库有
google-deepmind/competitive_robot_table_tennis个,自 2025-04-26 起处于归档(archived)状态。代码采用 Apache-2.0 许可证,数据采用 CC BY 4.0 许可证。 - 其中包含的是球的初始状态(13,088 个拉力赛数据,2,704 个发球数据)以及 MuJoCo 球和球桌笔记本。 没有策略权重和学习代码。 也没有机器人、龙门架和球拍模型。
- 因此,无法进行“直接运行 DeepMind 机器人”的重现,像本文这样借用球的分布和物理设置来评估局部的方法更为现实。
9. 局限性
- 回球率均是在以 MuJoCo 为真实的模拟器内部进行的比较。不预测实际机器人的回球率。
- 观测噪声 σ 3 mm、球拍胶皮(e 0.85, μ 0.6)、击球允许半径 6 cm、已知弹地区间的假设以及 150·300 ms 的视距全都是假设值。
- 未测量在“类型 + 轨迹”方式中错误预测旋转类型时的影响。
- 估计计算时间(如果连旋转一起拟合,中位数为 77–186 ms)是通过在多个 CPU 之间分配任务的纯 Python 测得的值,因此不能用作实时预算的依据。
10. 下篇预告
接下来是在第 5 篇的基准线上叠加强化学习,看看本文的第 1 个方向(旋转类型提示)在已学习的策略中是否能产生相同幅度的效果(第 7 篇). 提前剧透结果,在 100ms 延迟下提示带来了 +10.4%p 的提升,但该收益并非来自学习,而是来自轨迹拟合的先验值。
TT 小贴士。 哪怕提前知道球是哪种旋转的“类型”,也能多接住 10% 以上的球。这意味着观察对手姿态和聆听击球声音的眼睛和耳朵能够协助机器人的双手!
参考
所有链接均已于 2026-10-18 验证可打开。
- DeepMind, Achieving Human Level Competitive Robot Table Tennis(ICRA 2025), arXiv HTML 版 v3: https://arxiv.org/html/2408.03906v3
- 公开代码库(归档状态): https://github.com/google-deepmind/competitive_robot_table_tennis(代码 Apache-2.0,初始球状态 © 2025 Google LLC, CC BY 4.0。数据不再分发,仅登载模拟结果。)
- DeepMind, Robotic Table Tennis: A Case Study into a High Speed Learning System(RSS 2023): https://arxiv.org/abs/2309.03315
- MuJoCo: https://github.com/google-deepmind/mujoco