·主旨报告·
我们从Darpa机器人挑战赛中学到了什么

Jun Ho Oh

韩国高等科学技术院(KAIST)类人机器人研究中心主任

大约是三四个月之前,在美国加利福尼亚举办了一个大型机器人挑战赛,我要跟大家分享一下我参赛的体验。

2011 年,日本东部出现了地震和海啸,当时也出现了核泄漏,我们必须要进行疏散,在出现这样的事故之后日本政府决定要部署灾害响应机器人,美国军方也派遣了一些机器人来帮助应对这样的灾难,但是他们发现这些机器人受到了一些门和墙体等障碍物的阻碍,没法进入到大楼中,而且他们也没法与这些机器人进行通讯,这些灾害响应机器人无法应对人为产生的灾难。 Darpa(美国的国防部高级研究计划局) 进行了非常详细的规划来解决未来我们可能会面临的复杂问题。

首先,假设机器人必须能够去驾驶常规的车辆,并到达灾害发生地,从车辆上下来,然后去清理路障,这样才能够进入到灾害区域。

一旦进入到大楼,他们必须能够打开大门,进入大楼之后,机器人必须能够沿着非常陡的梯子或者楼梯往上爬,当有一些墙体阻碍了他们前进时,他们必须能够在墙体上敲一个大洞以便穿行过去,如果一些管道泄漏,他们必须能够自己关掉阀门。最后这些机器人必须能够去解决一些出其不意的问题,要做一些事先界定好的工作。

为了促进活动的开展,Darpa决定要对机器人挑战赛投入上亿美元资金进行支持,选择了7个团队来帮助他们解决这些问题。每个获选的团队会获得300万美元的资金支持,每个参与者也都可以获得同样的资金支持,我们把它称为TrackA。TrackB是团队进行机器人操作来解决前面遇到的挑战,一旦参赛,他们会获得100万美元的资金。 韩国政府、日本、欧盟有3个团队,韩国政府决定要参加机器人挑战赛,并提供了400万美元金的支持;日本政府也提供了几百万美元的资金支持,欧盟也提供了资金的支持,机器人挑战赛3年的资金支持达到1.1亿美元。在该挑战赛当中,我们开展了几次活动。初选赛是在2013年6月,2013年12月进行了预赛,2015年6月进行了决赛。

这些机器人是参加挑战赛的机器人。图 1左边的是Atlas,是由美国一家公司发明的。最右边的是HRP平台机器人,是日本的代表机器人,它主要是针对工业设计的,是人机共同合作;旁边的Jaxon是日本的机器人,这个机器人在2013年12月份预赛获胜后,公司被谷歌收购;还有来自美国宇航局的机器人Robosimian,这个机器人研发的目的是为了在月球或者火星上进行施工,他也在太空当中进行过一些作业,是太空作业的机器人;还有Chimp机器人,是卡耐基梅隆大学发明的;还有来自意大利的机器人Walkman。这个DRC— HUBO是我专门为此次挑战赛所组装的机器人。挑战赛一共有25个团队,有7 个Atlas 机器人,还有2~3 个Jaxon 机器人,有4个HRP机器人,其他的机器人也有几个。


图1 参加挑战赛的机器人

挑战赛是从图 2右上角标识的步骤开始的,首先必须要把机器人放到车辆上,机器人必须要开车,然后进入到目的地,接下来要从车辆上下来,进入到大楼当中。在这个地方他必须要转这个阀门,接下来要拿工具在墙上敲一个洞,在这里它还要应对一些意料之外的状况,必须要穿过特定的障碍物,最后要从大楼上成功地撤出,离开救援地。


图2 挑战赛顺序图

这个任务最难做的就是组织者下调了通信的带宽,通常需要一秒钟的时间才能获得比较好的视频图像,但是一旦他们进入到了大楼当中,WiFi 的带宽就变成了一万分之一,传一个图片需要一个小时的时间,因此,机器人必须自主去决定,没有外部的支持。操作室离现场有500米的距离,因此,操作人员无法知道现场发生的状况,他们也不知道现场这些机器人是怎么运作,因为当时WiFi通信信号非常弱的。

25个团队中,有3个团队一个小时之内进入到了A点,最快的团队用了44 分钟就到达了目的地。卡耐基梅隆大学的团队是第2位,我们是第1位,很多团队没有完成任务。

25 个机器人来自世界各地,他们的成本造价可能在100~200万美元之间,可能需要花几年的时间才建造完成。他们行走得非常漂亮,操控也非常好,在实验当中他们表现的特别好,但在现实当中却会不断地摔倒,会出现这样那样的故障,很多人对于这样的结果感到特别失望。

灾害响应机器人在进入到灾害现场之前实际上遇到了非常多的障碍,因为它们遇到了真正的灾害。在我们实验室当中这些机器人表现得特别好,但是在真正的现场,它们可能会遇到非常多的障碍和困难,因此在实验室和现实世界区别非常大。究竟发生了什么样的状况呢?我们发现有几个原因造成了机器人的故障。大部分是系统和硬件的故障。当我们制造机器人的时候,让机器人在实验室当中行走是很容易的,但是在任何地方让它们随时都能够行走是很难的,因为有时候这个系统并不是特别可靠。我们发现两足行走对于机器人来说并不是特别安全。

还有另外一个问题,机器人自己行动的话是可以的,但是一旦机器人要和环境进行互动,它可能会遇到非常多的障碍。我给大家举一个非常简单的例子,你可以看到有一些机器人要开门,对于机器人来说,开门这样的一个动作做起来是最难的。因为大多数的机器人擅长定位,如果你让机器人待在一个位置是可以的,而如果让机器人自身去模仿人类,或者自己去做一个事情实际上是很难的。我给大家再稍微解释一下,开门意味着这个门本身有一个门闩,它要是以门闩为中心点让这个门旋转,在开门的过程中这个机器人就得按照开门的轨道做同样的动作,在这个轨道当中它要考虑到机器人和门以及在门闩位置的关系,如果这个计算轨道错误的话,就打不开门。如果这个轨道是能够吻合的,就可以开门。如果不能够配合,机器人的手指头和胳膊很容易在开门的过程中就碎掉了。在很多的开门试验当中大家可能都曾经见过机器人是非常容易损坏的,所以这个过程非常困难。我们认为需要用人工智能完全自主地做一些事情来实现这种自动化和监管之间的和谐。有些事情可能不见得这么成功,因为在过程中一些沟通的方式可能不一样,中间会存在一些延迟,有时候视频反馈又可能出现一些问题。自动化和监管都是非常重要的。

还有一点,操作员会出现一些错误,在现实世界当中操作员本身也非常重要。以我们为例,我们的胜利点主要是在比赛之前做过一些测试,我们尽可能一个接一个解决这些问题。在首尔我们制造了一个非常稳健的机器人平台,包括像电力方面、内部的通信等。 另外我们还有非常强劲的视觉控制器。视觉系统非常容易出错误,视觉控制器在这个系统当中用到的比较多。

另外一个关键点就是通过操作系统进行机器人编程。我们暂时没有使用IOS 系统,IOS 系统太大了,很难学习。另外系统本身是非常复杂的,需要有非常多的支持。还有机器人的控制,实际上也是需要与周围的环境结合在一起,比如说开门、拉一辆小车、把一张纸放下等,这些与环境有非常大的相关性,我们也要考虑到这些情况。

我们建立的平台,有很多不同的方式。零部件在内部也有非常好的散热能力,我们还有内部的水冷系统或者气冷系统,就像汽车一样,里面会有一些驱动的散热单元。我们要让这个机器人有高灵活度,它应该非常流畅地与周围的环境进行结合,在视频当中能够看到他的一个运转的过程,你可以看到这个驾驶的方向盘和机器人的位置不是固定的,他们想测试一下看这个机器人是如何来驾驶的,但是你看到机器人试图想把方向盘拉到自己驾驶的位置,这是一个非常复杂的过程。

机器人上下车需要一个算法。这个机器人如果扶住车辆的上沿往外跳,如果设置不合适可能会导致胳膊断裂。当然它可以取决于机器人和车辆的距离,以及机器人与地面的距离,有很多控制的决定因素,但是由于这个过程中有很多的跳动是被动的,所以我们要考虑到中间的一些动力和摩擦以及与地面的高度等等。

我们可以看一下这个机器人自己是如何平衡自己的身体的,在出现干扰的情况下它内部的控制,让它能够抗击外部的冲击,而且它还有能力能够在砖上面进行行走。我们还进行了一些其他的实验,如图 3。机器人是在走,当它感受到前面有一个障碍的话,可以让倒下一边的手臂放松,避免一些相应的伤害。如果前面有障碍的话,它可以这样走。在这个过程中需要让自己的身体平衡,而且它需要对地面的情况进行建模。这里有非常多的通信干扰,还是比较低频、低带宽的通信。另外一个是它的适应性。它在走的过程中有时候可以跪下,要利用它的走动和滚动的方式,利用不同的环境,在跪的过程中使用下面的轮子进行滚动。


图3 机器人HUBO

HUBO 的视觉系统。这里能够实现一个平衡,它能够找到这样的平衡实际上是非常难的,我们可以让机器人容易地测量到距离,给的指示是需要拿什么东西,其他的部分都是自己完成的。 比如我们让他左手拿这个工具,他就可以测量出他和这个物体的距离。

(责任编辑 史永超)