NASA太空机器人挑战赛(SCR)上个月开幕,经过一个月艰苦卓绝的奋战,MIT的毕业生,来自加拿大的小伙子Kevin Knoedler凭一己之力完败93个团队,夺得冠军,你没看错,他的团队就只有他自己一个人,他是怎么做到的呢?

先来了解一下这个“有故事”的比赛吧。

故事发生在火星基地,人形机器人Valkyrie来打前站,为人类定居做准备。但是天有不测风云,一场沙尘暴让之前的工作几乎前功尽弃。为了继续留在火星上,Valkyrie必须调整通讯天线,修复太阳能阵列,定位并修复损坏的基地……

由于本次比赛主要是虚拟性质的,不需要制造昂贵的大型实体机器人,任何人都可以参加,在初赛阶段,共有93个团队报名,NASA根据他们在Gazebo 3D机器人模拟器中完成某些人物的表现,选出20个团队进入决赛,到决赛阶段,参赛者则必须自己编写一个虚拟的人形机器人Valkyrie,以完成在模拟火星基地里的维修任务。

太空机器人挑战赛的冠军是Coordinated Robotics,也是唯一一个100%完成所有任务的团队,因此赢得了12.5万美元的头等奖和5万美元的“完美运行”额外奖金。说“团队”可能会让人产生一点小误解,其实这个团队只有一个成员,那就是Kevin Knoedler。

IEEE Spectrum采访了Kevin以及赛事的组织者Open Robotics的Nate Koenig,以求尽可能地还原这场赛事的精彩片段。

SRC跟DRC(DARPA机器人挑战赛)非常相似,都是通过在Gazebo虚拟环境中运行他们的代码进行比赛。Open Robotics CTO Nate Koenig告诉记者,“这些任务本身是受到电影《火星救援》(The Martian)的启发,Valkyrie正在火星上位人类定居做准备,没想到沙尘暴来了。”沙尘暴后,Valkyrie必须调整通讯天线,修复太阳能阵列,定位并修复损坏的基地。下面是比赛任务的一些精彩瞬间。

20170714_05_robot02

20170714_05_robot03

20170714_05_robot04

20170714_05_robot05

20170714_05_robot06

Koenig表示,“总体而言,比赛进行得非常顺利,跟DRC不同的是,SRC强调完成任务的顺序。完成任务越多,Valkyrie中途不摔倒或要求重启,得到的积分就越高,所以行走和操作的可靠性越高越好。”

在DRC中,任务都是限时的,这是为了鼓励参赛者尽可能让机器人自主行动。据说大多数都按时完成了任务,只有一个团队超时。让比赛更具挑战性的是对带宽的限制以及对远程操控机器人的模拟延迟,就如Koenig解释的那样:

“本次比赛的网络延迟和带宽限制比DRC更严。我们希望更真实地模拟控制在火星上的机器人的情景,但那太极端了,所以我们设定的最大延时是20秒。有些任务的带宽限制是380bits/s,如果你看到这些数字,估计会想K掉TCP。

“参赛者必须有创意,我们也确实看到了一些独特的东西:有个人运行IRC服务器和客户端传递信息,而其他人则使用直接的基于文本的控制台消息,没有可视化数据,这是非常棒的:这就像阅读矩阵。其中一个团队(Xion)实现了完全自主地运行:他们只是部署了代码并打开了他们,他们能够完成很多任务,这是令人印象深刻的。”

Koenig表示,他和他的同事并没有想到会有团队能完成所有任务。“但Kevin证明我们错了。而他也是唯一一个能够完成这项壮举的团队。”

正如Nate指出的那样,Kevin设法完成了SRC的所有任务,这是令人震惊。我们通过电子邮件采访了Kevin,了解他是如何做到这一切的。

记者:能不能谈谈你的背景,是什么促使你独自去参加SRC?

Kevin Knoedler:从麻省理工学院毕业后,我曾在泰瑞达(Teradyne)担任工程师和工程部经理。2007年辞职后,我成了一个全职主夫。在泰瑞达及当全职主夫期间,我连续参加了各种各样的比赛:Robot Wars、Battlebots、DARPA无人车挑战赛以及DR。SRC看起来非常具有挑战性,也非常有趣,所以我就报名参赛了。

当资格赛开始(2016秋季)时,我正忙于训练两支足球队,我知道当决赛开始(2017年初)时,我会忙着训练赛道和头脑奥林匹克。在项目周期的早期,团队的贡献和协调通常是关键。因为在关键时刻我会忙于其他事情,所以我决定独自做这件事,以避免对我自己和任何与我共事的团队感到沮丧。与团队合作通常是一个更好的选择,因为更多的人有更多的创意。在之前的所有比赛中,我都是跟别人组建团队参加的。

记者:你的战略依靠多少自主权?

Kevin Knoedler:我在竞赛的设计中假设我总是有最大的时间延迟,所以机器人在做短时间任务是,更多地依赖它自己。即使没有这样设计,20秒的延迟并不是主要问题,因为时间是按小时计算的。我的感知代码不像我想的那样可靠和准确,所以我把注意力集中在机器人的规划和执行上。它主要是监督自主与人类的感知帮助。

记者:你可以跟我们聊聊你的比赛过程吗?

Kevin Knoedler:机器人一共完成了三个任务。第一项任务是转动手柄对准天线。第二项任务是机器人从拖车上拆卸太阳能电池板,放在桌子上,插入电缆。最后的任务是爬上楼梯,打开基地门,用一个工具找出泄漏的地方,然后再用另一个工具来修理泄漏的地方。我觉得有趣的部分是机器人发现泄漏时。有许多地方要被遮盖,其中一些被部分堵塞,这使得每次发现泄漏都令人兴奋。

发现泄漏是依靠机器人上下扫描并转动身体来完成的,以减少不必要的行走。当机器人寻找泄漏时,它会将搜索区域跟踪为未搜索,清除或泄漏。这些信息通过Rviz(用于ROS的3D显示工具)中的交互式标记显示给操作员,以便于查看已搜索的内容,以及当发现泄漏时易于可视化。

记者:你觉得最棘手的部分是什么?

Kevin Knoedler:我觉得最具挑战性的部分是操纵和使用工具。掌握好工具,然后让机器人使用工具作为机器人的扩展是很难做到的。我在Gazebo里创建了一个场景,机器人直接从工具开始,周围没有别的东西。这样就可以测试从各种不同的位置拾取工具并将它们反复放置。

比赛中发生过一个有趣的事:有时真正的硬件被卡住,必须被推动才能再次移动,Gazebo中的Valkyrie机器人也会重复这些动作。Open Robotics称这是“有趣的紧急行为”,没有刻意编程。有可能是机器人的大拇指卡住了,不再响应命令。在我的第三场比赛中就发生了这样的事情。但是,就像在现实生活中一样,我能够将拇指推到桌子上,让它松动,再次移动,以便完成任务。

记者:什么事情是模拟比现实更容易?

Kevin Knoedler:任何事情都是模拟比较容易。这并不容易,但是在模拟中,您可以解决90%的问题。之所以模拟更容易,是因为硬件更可靠,模拟硬件不会像真实的硬件那样频繁出现故障。当然,也可以尝试更危险的试验,比如机器人跌落,不需要花10万美元进行修复,顶多是导致数周的延迟而已。模拟的另一大优势是,一个人可以同时运行一个或多个测试。如果是真实的机器人的话,则需要多个人完成一个测试。

记者:如果NASA把一个真实的Valkyrie放到模拟火星基地,让你完成同样的任务,你会怎么做?

Kevin Knoedler:首先需要进行一些初步测试以确定模拟和硬件的差异,之后应该能完成任务。我有一个分层的方法,如果主要方法没有成功,我可以回到较低级别的控制。在仿真和实际硬件之间似乎有足够的差异,需要进行一些调整才能取得成功。但是,经过一些测试和调整,我觉得会取得成功!

记者:参加了DRC和SRC之后,你对人形机器人在灾区或行星探索中的实际应用潜力有何看法?

Kevin Knoedler:在DRC和SRC之后,我们离能够在地球上的灾区和行星探索中使用人形机器人越来越近。在地球上,我认为最大的挑战是硬件的稳定性、降落、以及能够在不同的环境中进行操控(爬行,阻塞或收缩的工作环境,需要手臂支持的情况等)。在太空里也有同样的挑战,再加上远距离,需要给机器人更多的感知和自主权。

(编译:张有凤)