亲自答丨当 AI 遇上国球,106 拍真人对练!
发布时间:2025-09-03 11:48 浏览量:1
今日话题:机器人打乒乓球
上周,清华姚班大四学生苏智发布一个很有意思的团队研究「HITTER」——机器人和人类打乒乓球,完全自主+亚秒级反应+模仿人类的打球「手法」。
一来一回打了 100 多轮↓。
目前我们看到的人形机器人展示,大多都是和静止的地形、慢速的物体交互,比如跑步、翻跟头、拿东西。
和高速运动的物体交互时,人形机器人又有哪些解法?苏智同学(知乎ID @suz22)亲自聊了聊本次的技术手段和探索。
@suz22
8 月 30 日发布于知乎
看大家对这篇工作还挺有兴趣的,也是受知乎官方的邀请,作者本人来简单介绍一下吧。还是第一次写知乎,写的不好大家多多包涵 。
我是清华大学交叉信息研究院(姚班)新大四的学生苏智,这篇工作是我在之前几个月在加州大学伯克利分校(UCB)访学期间做出来的。
网站:https://humanoid-table-tennis.github.io/
论文:https://arxiv.org/abs/2508.21043
出发点
做这篇工作比较直接的原因是,当时刚投完上一篇工作 Toward Real-World Cooperative and Competitive Soccer with Quadrupedal Robot Teams(接收于 CoRL 2025),在想下一个工作要做什么。刚好这个时候 Bike Zhang 学长表示有个人形机器人打乒乓球的项目,考虑了一下觉得不错就接了下来。
当然,更官方的说法是:我们发现目前机器人的任务一般集中于与相对静止的地形或物体进行交互(比如跳舞、跑步、翻跟头、拿东西等),我们就想看看机器人能否与高速运动的物体进行交互,在非常动态的任务上表现如何。所以就选了打乒乓球这个任务进行研究。
实验结果
先说实验结果吧,毕竟对研究方法感兴趣的人是少数。
我们最终在人形机器人上实现了一个初级版的机器人回球。与人类能够稳定对打 106 板。当在两个机器人上部署同一个神经网络时,也可以实现机器人-机器人对打。回球支持正手反手两个的动作。整个系统全自主执行「获取球的位置、预测击打位置速度时间、机器人跨步过去进行击打回球」的流程,不需要人类进行遥控之类的。
研究方法
我们采用了一个分层的架构:
上层基于动力学模型的 Planner 拿到球的位置,预测机器人拍子需要击打的时间速度和位置。下层基于强化学习的 controller 根据 planner 给出的「位置速度时间」来控制机器人,让其能够自主完成跨步、平衡、回球等动作。Planner
Planner 首先需要获取球的位置,这部分我们没有用机器人本体的相机,而是用了 9 个 OptiTrack 相机组成的动捕系统。相比于机器人本体的相机,动捕系统能够达到更高的感知频率(360Hz)以及精度(毫米级)。当然这需要把球上面缠上一些反光胶带,这可能会一定程度上影响球的动力学,但事实上这部分影响非常小。实验视频里的黑布只是为了拍摄好看,跟感知系统没啥关系。黑布拿掉整个系统也能正常使用。
缠了反光胶带的乒乓球
通过动捕系统拿到球的位置之后,再通过一些基于乒乓球动力学模型的方法算出球拍要打的位置速度时间,这部分我就不细讲了,有兴趣的同学可以去阅读原论文相应部分。
不过值得指出的是,在这个动力学模型中,我们假设乒乓球转速比较小,所以 magnus 力等可以忽略,即:打的都是不太旋的球。另一个假设是,回球位置都是在位于底线的竖直平面上。所以不管球在桌子上弹了几次,机器人都只会等球到底线才会回球,这导致无法接很短的球。
Controller
机器人 controller 获取到 planner 给出的「位置速度时间」信息,控制机器人「跨步、平衡、回球」。这个 controller 在仿真环境 IsaacLab、IsaacSim 里面训练得到,再直接部署到机器人上。
具体细节大家也可以参考原论文。
值得指出的是,为了让机器人的挥拍动作更像人(而不是以扭曲的手臂姿势打球),我们引入了两个正手和反手的人类示例,将此示例融入到训练中。没错,其实只需要 2 个示例即可。另一个点是,对于机器人的移动,我们给的是 position command 而非常规的 velocity command,这样可以鼓励机器人在较短的时间内跨步到希望的位置。
不足
必须得承认,尽管我自认为这个项目做的不错,但其实还是有许多不足的,比如说:
我们假设球的转速比较小,因此无法接旋转球。
我们假定了一个回球平面,因此无法接很短的球。当然这里也有点硬件限制,g1 太矮了,如果想接短球的话,可能需要高一点的机器人。
系统依赖外部相机感知,这使得该系统只能在实验室里面跑,没办法直接拉到赛场上或者各个球桌旁边打球。
感谢
最后感谢一下各位为我提供帮助的同学老师。感谢 Bike Zhang 学长为我介绍这个项目,以及与我讨论许多研究细节。感谢 Qiayuan Liao 的部署框架,确实很好用,感兴趣的同学也可以去试试,指路一个示例。Yuman Gao 在视频拍摄制作,论文修改方面给了很多帮助。感谢 THU的Yi Wu 老师和 CUHK的Zhongyu Li 老师给我这个访问机会。(其他的老师同学也不看知乎,就不在这里感谢了)
大家有什么问题也可以在评论区里问我
知友讨论
@美国倒闭:
有点好奇用光学动捕的原因是通过视觉算法算出来的速度和位置精度很低吗?有没有尝试过雷达呢?
@作者:
视觉原始数据就只有 60Hz,G1自带雷达 mid360 只有 30Hz,非常不够用。而且动捕系统算是一个开箱即用的系统,最方便最好用。
@美国倒闭:
我知道你们是做研究,不是做工程。因为马斯克天天吹他的纯视觉算法,我以为这个领域已经成熟了。其实并没有是吗?目前并没有成熟的感知系统可以直接拿来用的?
@who knows:
最成熟的视觉系统就是这个光学动补,实验室没有高速摄像机的情况下,使用普通的摄像头想捕捉这么快这么小的物体,是还没有即插即用的方案的。
@skywalker:
如果能用机器人本体的相机实现就更牛了,不过相比人的头颈可以转动,机器人头颈不能转估计对实现会有很大影响
@作者:
那得等宇树出更好的硬件咯