机器人已经能和人连续打网球了。

来球方向一变,它会追着球跑,切换正手和反手;落点远了,还会自己调整站位。

在刚结束的机器人运动会开幕式上,银河通用的“银河星仔”不仅和郑洁打了单打,还组队完成了人机混双。

只看动作,它确实像一个刚学会打球的人。

打开网易新闻 查看精彩图片

不过,把画面定格到网球上,你会发现,球面缠了几圈明显的反光胶带。

这些胶带,其实是为了让场周围50多台相机,实时锁定网球的位置。

所以看似是机器人在自主找球打球,但实际上,从网球的飞行轨迹到落点判断,背后还有一整套外部动捕系统在配合。

换句话说,帮机器人找到球的,不只是它自己的眼睛,还有整个球场。

那机器人究竟是怎么打网球的?50多台相机分别做了什么?借助外部动捕完成的连续对打,到底算不算真正“学会了打网球”?

01.

机器人打网球,先学会“像人一样动”

银河通用把这套网球系统叫做 LATENT。

它要做的,是让机器人根据每一拍来球临场反应:球从哪里飞来、速度有多快、自己该往哪边跑,是用正手还是反手,都要边打边判断,再把跑动和挥拍连起来。

研究团队先把人类打网球的动作拆开来教。

打开网易新闻 查看精彩图片

他们找来5名业余网球选手,在一块3米×5米的动捕区域内,分别采集正手、反手、横向滑步、交叉步、跑动和挥拍等动作,累计大约5小时。

论文中提到,这批数据没有经过额外的后期处理。因为机器人需要学习的,是从这些动作中摸清一件事:人在跑动、转身和挥拍时,身体究竟是怎么配合的。

训练先从模仿开始。

一个动作追踪器带着机器人模仿真人跑动、转身和挥拍,此时不急着接球,机器人先要熟悉正手的站姿、反手的转体,以及横向移动时双脚的配合。

这些动作随后会被压缩进一个“潜在动作空间”。

它很像机器人的网球动作底子,里面保存着动作连续变化的规律。机器人不用每次都从头计算全身29个关节怎么转,只需要在这个空间里找到大致正确的动作方向。

真球飞过来以后,高层策略根据球的位置和速度,判断机器人往哪里移动、什么时候挥拍、使用正手还是反手。底层控制器接过这个决定,把它变成29个关节的具体动作。

打开网易新闻 查看精彩图片

为什么要绕这么一圈?

因为如果完全放手让强化学习自己摸索,机器人只会想办法“把球打回去”,至于动作像不像人,它并不在乎。最后很可能学出一些奇怪但有效的招数:身体疯狂抖动、步态来回切换,甚至摆出人类根本不会使用的姿势。

球可能打到了,但动作不好看,也更容易损伤电机和关节。

打开网易新闻 查看精彩图片

LATENT为此加了一道“动作屏障”,限制机器人的动作不要偏离人类太远,同时给持拍手腕留出一部分调整空间。

腿和躯干负责把机器人送到球附近,手腕最后几厘米的角度和速度,决定球拍能不能碰到球,大动作尽量学人,最后几厘米留给机器人自己调整。

02.

机器人到底是怎么找到网球的?

前面提到的反光胶带,到这里才真正派上用场。

打开网易新闻 查看精彩图片

LATENT判断球的位置,使用的是布置在球场周围的光学动作捕捉系统。

网球表面缠有反光胶带,机器人身上也安装了多个反光标记点,用来确定它在球场中的位置和身体朝向。

动捕相机向场内发出红外光,网球和机器人身上的反光材料再把红外光反射回去,高速飞行的黄色网球,在相机画面中会变成一个醒目的高亮点。

打开网易新闻 查看精彩图片

一台相机只能看到网球出现在画面的哪个位置。多台相机从不同角度同时捕捉到它,系统就能通过三角定位,算出网球在球场中的三维坐标。

LATENT公开的实验环境中,一共使用了50多台动捕相机。单台分辨率为2048×2048,运行频率为120 Hz,覆盖范围大约19米×15米。

120 Hz,也就是每8.3毫秒更新一次网球的位置。

假设网球速度只有50公里/小时,它每秒也要飞13.9米。在120 Hz下,球在相邻两帧之间会移动大约11.6厘米;如果换成常见的30 Hz视频,相邻两帧之间已经移动了约46厘米。

对于需要卡准跑位和挥拍时机的机器人来说,这近半米的位移,已经足以让它错过击球点。

只知道球在哪里还不够,系统还要算出它飞得多快、正在往哪个方向飞。

直接用这一帧的位置减去上一帧的位置,就能估算球速。但位置数据只要出现一点误差,经过前后差分,就可能被放大成明显的速度抖动。

打开网易新闻 查看精彩图片

所以LATENT使用了一个四帧滑动窗口,把连续几帧算出的结果取平均,让球速和方向更稳定。

所以,机器人真正收到的并不是现场视频,而是几组已经算好的数据:

  • 球现在在哪里;

  • 球正在往哪个方向飞;

  • 机器人自己在球场什么位置;

  • 它距离理想击球点还有多远。

高层策略根据这些数据,决定向左跑还是向右跑、什么时候挥拍、打正手还是反手,50多台相机负责定位,LATENT负责跑位和击球。

打开网易新闻 查看精彩图片

03.

50多台动捕相机是谁家的?

银河通用这套机器人网球系统背后的光学动捕支持,来自青瞳视觉。

它负责实时追踪网球和机器人在场上的位置,相当于给机器人装上了一双覆盖整座球场的“外置眼睛”。

打开网易新闻 查看精彩图片

至于现场使用的具体相机型号,目前还没有公开。

从参数上看,青瞳的MC4000系列是比较接近的一个选项:最高帧率可达180 fps,被动反光点追踪距离可达30米,能够覆盖网球场这样的大范围空间。

但参数对得上,不代表现场用的一定就是这款设备。

因此,目前能够确认的是青瞳视觉参与了这套光学动捕系统;MC4000系列只是根据公开参数作出的推测,具体型号还不能下结论。

04.

有了动捕相机,机器人挥拍还有难度吗?

难。外部动捕解决了球的位置,机器人还得自己赶到击球点,再把球打回去。

打开网易新闻 查看精彩图片

先得跑到位,而且不能摔。

网球不会每次都刚好飞到机器人手边。机器人需要根据来球轨迹横向移动,有时还要向前或向后调整。

人形机器人没有轮式底盘那么稳定,横移、急停、转身和交叉步都会改变重心,一旦脚步和上半身动作配合不好,就可能在挥拍之前先摔倒。

跑到位以后,还要把力量送到球拍上。

人打网球时,腿部先提供支撑,腰部和躯干跟着转动,肩、肘和手腕再依次把力量传到球拍。

机器人也必须协调全身多个关节,在保持平衡的同时获得足够的拍头速度。如果动作太保守,球可能过不了网;如果动作太猛,又可能导致关节力矩过大、身体失衡或者硬件损坏。

最难卡准的,是球拍碰到网球的那一瞬间。

网球和球拍真正接触的时间非常短。球拍的位置、角度、速度和到达时间只要有一项偏差,结果就可能从成功回球变成直接挥空。

LATENT给手腕留下修正空间,用来补上最后这点误差。机器人跑到大致正确的位置还不够,球拍还要在准确的时间到达准确的位置。

仿真里学会了,搬到真实球场还要再过一关。

机器人主要在仿真环境里训练,但现实中的地面摩擦、球体重量、空气阻力、网球反弹、关节摩擦和通信延迟,都不可能与仿真完全一样。

打开网易新闻 查看精彩图片

LATENT选择在训练时主动制造这些差异。

系统会不断改变地面摩擦、球速和反弹系数,还会故意加入观测噪声、通信延迟和丢帧。机器人提前经历过这些不稳定情况,到了真实球场,即使数据不够准、硬件反应不够理想,也不至于立刻失效。

在真机测试中,完整方案的正手、反手、前场和后场回球成功率分别达到90.90%、77.78%、88.89%和81.82%。

拿掉训练中的动力学随机化,四项成功率会掉到约14%至29%;去掉观测噪声训练后,反手回球成功率降到了0。

机器人能够从仿真走上真实球场,动作模仿只完成了一部分工作。现实里可能出现的误差,也要提前放进训练里。

05.

有了外挂加持,机器人打网球还有含金量吗?

这套系统有含金量,主要体现在高动态运动控制上。

打开网易新闻 查看精彩图片

50多台相机大幅降低了找球的难度,但坐标送到机器人面前,球并不会自己飞回去。

机器人仍要判断往哪里移动、使用正手还是反手,还要控制全身几十个关节及时赶到、站稳并挥拍。

研究团队先把感知稳定下来,也方便单独检验运动能力。视觉和运动一起训练,机器人没有接到球,很难判断它究竟是没看清,还是没跑到。

目前的实验结果给出了一个明确边界:外部系统稳定提供网球的位置和速度,LATENT可以完成后续的跑位和击球。

打开网易新闻 查看精彩图片

但撕掉球上的反光胶带,撤掉场外的动捕相机,只留下机器人自己的眼睛,它还能不能连续对打?这次实验还没有给出答案。

所以,LATENT更准确的定位,是一套依赖外部动捕的高动态全身运动控制方案,还不是一台能够直接走进普通球场的自主网球机器人。

06.

机器人为啥看不清网球?

一颗高速飞行的网球,落在机器人头部摄像头的画面里,可能只有几个像素。

机器人一跑起来,摄像头还会跟着身体上下震动,再叠加灯光变化、复杂背景、球拍遮挡和人体遮挡,想要始终盯住这几个像素并不容易。

视觉系统还要根据连续画面,估算网球的三维位置、飞行速度和未来落点,碰到上旋、下旋和侧旋,预测会更难。

打开网易新闻 查看精彩图片

只知道球心的位置和直线速度,并不一定能准确预测落地后的反弹,旋转会改变网球在空中的飞行轨迹,也会影响球接触地面和球拍后的方向。

而一颗被当作反光点追踪的网球,主要提供的是球心位置,并不能直接告诉系统球体正在如何旋转。

LATENT在训练中随机改变空气阻力、反弹效果和切向阻尼,让机器人提前适应轨迹预测不准的情况,这种训练提高了容错能力,并没有识别出网球的旋转。

撤掉场外动捕以后,机载摄像头需要更高的帧率,三维定位和轨迹预测也要更准,机身抖动、短暂遮挡和光线变化,都得由机器人自己处理。

产品化也可以保留少量场外视觉,在固定球场部署2到4台成本更低的同步高速相机,理论上能减少对专业动捕系统的依赖。目前这还是一个工程设想,能否应对高速追踪、三维定位和遮挡,需要真实测试。

对固定场馆里的机器人陪练来说,这条路线可能比纯机载视觉更早投入使用。

07.

这套机器人打网球系统能应用在哪?

最直接的应用,当然是网球陪练。

如果未来做成产品,机器人可以反复把球回到指定位置,根据学员水平调整球速。人形机器人还会跑位和挥拍,训练体验会比普通发球机更接近真人对打。

眼下的问题是,为了请一名机器人教练,网球馆可能要先改造整块球场。

打开网易新闻 查看精彩图片

LATENT公开的真实实验环境,包括场地、50多台相机、灯光和相关基础设施,实验持续大约3周,总租赁成本约35万元。

这35万元,虽不能直接换算成未来产品的使用成本,不过,这个数字足以看出当前系统的规模。

50多台相机需要安装、布线、同步和标定。换一块球场,这套外部动捕系统很可能还要重新搭建,这显然不是普通网球馆买回一台机器人、接通电源就能使用的产品形态。

普通网球馆买回去的,究竟是一台机器人教练,还是一整套“智能球场”?

对于科研实验室、机器人训练基地和已经安装动捕设备的固定场馆,这套方案或许还能接受,相机可以长期使用,成本也能由多个项目分摊。但放进普通网球馆,问题就多了:场地能不能改、设备由谁维护、重新标定需要多久,最终价格又有多少场馆能够承受?

打开网易新闻 查看精彩图片

LATENT更值得关注的,是它用5名业余选手、约5小时动作数据,训练出跑位、转身和挥拍等高动态全身技能。这套方法未来可以尝试足球、羽毛球,以及其他需要追踪移动目标、快速调整身体动作的任务。每换一个项目,动作数据、训练目标和真机效果都要重新验证。

机器人打网球,确实已经从“站在原地挥拍”进化到了“会跑、会判断、会连续回球”。

它的手和腿已经学会了打球,眼睛却还长在球场四周。

50多台相机能否大幅减少,找球能力能否收回到机器人身上,将决定LATENT可以留在实验室,还是走进普通网球馆。

除了网球陪练,你觉得这套技术还能用在哪呢?评论区聊聊!