机器人会打乒乓球了?其实其背后原理并没有那么复杂

2026年07月21日 17:21
本文共计3121个字,预计阅读时长11分钟。
来源/具身研习社 责编/XingzheWujiang 行者无疆

本届WAIC世界人工智能大会上,中央展馆和超维智能的展厅里都对智元机器人打乒乓球开展了展示,让现场观众眼前一亮。人形机器人站在球台前,盯住来球、移动脚步,再把白球打回去,机器人必须一边对落点进行判断,一边对全身进行调动。

此前,银河通用同样展示过机器人打网球。再往前追溯,这一轮人形机器人球类运动当中,更早公开完整系统的是伯克利团队的 HITTER。论文报告,它与人对打时最长维持了 106 拍。视频里的机器人会进行侧移、转腰,也会根据来球切换正手和反手。

不同团队所采用的具体技术路线未必相同。为了理解机器人为什么能够接住高速来球,HITTER仍然是目前公开细节较为完整、适合拆解讲解的样本。

446cb4d4817e141a806659e5759b5dfc.jpg

一颗乒乓球从对面弹起后,机器人需要在它到达身前之前对几项任务进行处理:看清来球路径,预测它会在哪里出现,决定球拍如何迎上去,同时让脚步、腰以及手臂移动到合适的位置。听起来这些环节环环相扣,HITTER背后的原理却没有画面看上去那么复杂。

它将任务拆解成了两个层次:上层运用运动学规划来计算出击球的目标,下层运用强化学习对全身进行控制,从而把动作执行出来。
要做到能够连续回球,依靠的是这两层共同发挥的作用。

运动规划算目标,强化学习做动作

从系统分层来看,可以把HITTER理解为运动学规划以及强化学习全身控制的组合。严格说,上层是以模型为基础的规划器,其中包含乒乓球的简化动力学,它需要回答三个问题:球拍在哪里碰球,什么时候碰,以及碰球时要有多快。下层是运用强化学习训练得到的全身控制器。它拿到击球位置、球拍速度和击球时刻,再决定脚往哪边迈、腰怎么转、手臂如何挥动,以及击球后怎样恢复平衡。

两层之间的接口十分清晰。规划器负责对球拍需要达到的目标进行计算,全身控制器则负责让身体及时赶上这一目标。

图 1:HITTER 总体工作流程。动捕先对球路进行观察,运动规划给出击球目标,全身控制器再完成动作。

这种分工与人打球时的感觉很接近。我们首先对去哪里接球、拍子往哪个方向送进行判断,已经练熟的身体再把脚步、转腰以及挥拍接起来。HITTER把这个过程变成了两套可以分别训练、分别检查的工程模块。

89b96f0fb3fdc9aa006ba8967e9f265c.png

第一层首先对来球路径进行清晰的观察,然后对它会飞到哪里开展计算。

规划的第一步,是要明确球当前所处的位置以及它正往哪个方向飞行。HITTER依赖于实验室里的外部动捕对球位进行测量,球上贴着便于识别的反光胶带。动捕会连续记录球的位置,同时知道机器人自己站在哪里以及朝向哪里。

不过,一串位置点还不能直接构成球路。可以将其理解为在纸上每隔一小段时间标记一个点:点与点之间难免存在测量抖动,同时也没有直接告知球速的信息。系统会运用最近的一段位置记录拟合出一条平滑曲线。曲线上的点所表示球现在的位置,曲线变化的快慢则会告知系统球正以什么速度、朝什么方向飞。

球落到桌面之时,运动规律会在瞬间突然发生变化。系统一旦检测到反弹,就会丢掉反弹之前的那段记录,转而从新的轨迹重新进行拟合工作。这样便不会把落桌前后的两段运动硬接成一条错误的曲线。

仅仅知道球的当前位置以及当前速度还是不够的。球在空中飞行时会逐渐减速,而落至桌面之后则会损失一部分水平速度,同时还会以新的垂直速度反弹起来。研究团队提前记录了一批真实球路数据,并运用这些数据辨识出三个参数,分别描述飞行阻力、水平反弹以及垂直反弹。

这三个参数的功能相当于提前校准好的球的特性。当前这颗球从哪里来,由动捕拟合所告知系统;而接下来会飞到哪里,则由当前状态以及这三个参数共同进行推算。规划器不必每次重新学习乒乓球如何飞行,只要沿着这套规律向前进行计算即可。

最后,系统在机器人面前设置一张击球平面。规划器对球会在什么时间以及什么位置穿过这张平面开展预测工作,再根据希望它落到对方哪一边这一目标,反推出球拍应该以多快的速度迎上去。

所以第一层所开展的工作比较容易理解:动捕负责对当前球路进行清晰的观察,三个参数帮助对下一段运动开展预测,规划器则把预测结果转变为击球位置、时刻以及球拍速度。

图 2:第一层运动规划。其中蓝色部分所表示的是对位置开展采样以及对轨迹进行拟合的工作,橙色部分则代表了落桌之后的轨迹预测以及击球目标的确定。

d1ff0c037c4f3aa6121bd35d9898d247.png

第二层当中,系统运用强化学习把上层规划所得的目标转变为拟人化的全身动作。

在获取到击球目标之后,机器人仍然不会自动进行挥拍操作。因为球拍位置只要偏差几厘米便可能会导致漏球;而脚步移动如果慢一点,虽然手臂可以够得到位置,但身体却未必能够保持稳定。上层规划器并没有给出肩、肘、腰、髋和腿的逐关节轨迹,这部分则交给强化学习全身控制器来执行。

团队先录制了人类正手和反手挥拍的视频,借助这些视频对人体动作开展了重建工作,随后迁移到人形机器人上,以此作为训练时的参考。训练的一部分目标,是让机器人学会人类转腰以及挥臂的样子;另一部分目标,是让球拍和身体准确赶到规划器所指定的位置。

这里所指的拟人化,并非简单播放一段固定动作序列。参考视频为机器人提供了正手以及反手大致应当如何转腰以及挥臂的指导,规划器所给出的目标则会随来球的不同而发生改变。强化学习需要在两者之间找到可执行的全身动作:既可以打得到球,也尽量保留人的挥拍形态。

在实际运行过程中,控制策略会同时对击球目标、剩余时间以及机器人自身的身体状态进行观测,随后向各个关节下发目标位置。研究团队还将身体应当移动到哪里、球拍应当如何接触来球这两方面内容分开告知控制策略,从而让其分别对脚步移动以及挥拍动作开展处理工作。

论文中的真机观察显示,当运用基座位置目标时,机器人可以借助一次快速侧步来接近来球;而采用速度指令时,动作则会更容易变成较慢的多步横移。在训练中加入人类参考动作后,机器人击球时也出现了更接近人的腰部转动。

这就是强化学习在 HITTER 里的具体职责:它并不负责对球路进行预测,主要负责将击球目标转变为及时、稳定且带有拟人特征的全身动作。

图 3:第二层强化学习全身控制。其中人类动作提供了挥拍参考,击球目标以及身体状态会随任务变化而调整,控制器则据此生成侧移、转腰以及挥拍动作。

9ea55340cfdc16d7b31a6d66fa5509c7.png

将上层规划与下层控制这两层模块有效衔接起来,机器人便能够实现对来球的连续回击。

在实际击球过程中,动捕系统会持续提供新的球位置信息,从而让拟合结果得到及时更新,规划器也会对击球位置以及时刻开展反复修正。全身控制器则一边向目标位置进行移动,一边对平衡状态开展维持;在完成这一拍之后,还需要为下一拍重新调整到稳定姿态。状态估计、运动规划以及强化学习全身控制需要实现连续配合,回合才能够一直延续下去。

这种方法同样也具备继续升级优化的空间。其中球的位置信息所依赖的是外部动捕系统,而普通场地当中并没有配备这套定位条件;固定击球平面的设定则会使得系统难以对过短或过深的球开展有效的处理工作。

球的旋转同样是一道尚未处理的难题。当前模型假设旋转可以忽略,机器人主要运用平推回球,还不会对上旋、下旋以及侧旋带来的轨迹变化进行处理。它也不会自己发球,人机以及双机回合都需要由人启动。

因此,HITTER开展乒乓球对打所证明的是:在受控的实验室环境当中,一台通用人形机器人能够让以模型为基础的运动规划以及强化学习全身控制共同发挥作用,从而连续完成高速回球的任务。目前它还没有证明机器人已经能依靠自己的视觉走进普通球馆,更没有证明它能和熟练选手打竞技比赛。

总的来说,运用HITTER的方法来实现机器人打乒乓球的技术路径十分清晰:动捕对球的位置以及速度进行拟合估计,参数辨识帮助模型对球路开展预测工作,运动规划给出击球目标,强化学习则让全身执行拟人化的击球动作。

来源:机器人会打乒乓球了?其实背后原理没那么复杂 | 具身研习社

声明:本文来自具身研习社,版权归作者所有。文章内容仅代表作者独立观点,不代表爱力方立场,转载目的在于传递更多信息。如有侵权,请联系 copyright#agent.ren。
0
TAGS: []

相关图文

热门资讯