智能硬件

WRC 2016斯坦福教授Oussama Khatib海底阿凡达如何在350年前的沉船上打捞一只古董

图自:News.Stanford

10月21日,在世界机器会的主论坛上,来自斯坦福大学的 Oussama Khatib 教授做了名为《海洋一号:化身为海底探险家的机器人》(Ocean One: A Robot Avatar for Oceanic Discovery)的演讲,从演讲英文名中我们可以看出这是一个海底“阿凡达”,人类的替身。

本文根据 Khatib 教授现场演讲整理,雷锋网在不改变原意的基础上做了一定程度的修改。

(Oussama Khatib 教授正在演讲)

对于人类来说,在海底工作是非常困难的,而机器人就是解决之道。

La Lunel 在法语中是“月亮”的意思,这是过去法国在 17 世纪一艘船的名字。它于 1664 年沉没,当时它从北非开回法国,距离法国南部海岸 20 英里的地方沉没了。这艘船当时沉没的地方,距离海面 91米,如果人要进到那个地方就必须进行很好的保护,要把人放到水下服当中,而且需要机械臂才能把人送到那个地方,因为人在这么深的地方根本没办法活动。

我们地球 70%  以上的地方都是水,人类通常潜水能达到的深度只有 40 米左右,而整个海洋中有太多珍贵的东西可以探索。

大多数的水下机器人都是用来导航或者观测水下的物体,我们人类只能在水上通过机器人看水下的东西,而没法在海底做什么其他的工作。现在我们想解决的问题就是在水下进行操作,这就需要我们有很好的操控技术。

“海洋一号”其实就是怀着这样一个想法开始进行实验的。它特别的一点是,人类不仅可以操控它,还可以通过它身上搭载的众多传感器来“感受”海底世界。其设计理念就是希望通过这种传感式的交互实现操控,也就是说当机器人触摸什么东西的时候,你在船上也能够感受到它。这是依靠一套“双手触觉反馈”系统实现的。

我们斯坦福大学和 Macro Robotics 等一起合作。这里涉及到很多的传感器,包括悬浮臂等等,这是我们在斯坦福大学做测试的一张平台图。

除了很好的操控外,还需良好的移动性(Mobility),这是另外一个大的挑战。在移动性方面,“Ashmo”机器人就做的非常好,它能单腿跳跃,做各种灵活的动作,也能够很好地和环境进行互动。

现在有一个被忽略的事实是,我们为机器人编写程序的方法并没有做到最好,如果单靠传统编程方法实现“海洋一号”的感知、移动等各种动作,那所需的的编程量太大了。而且如果原有的任务发生少许改变,那么很多东西都要重写。

对于在制造工厂和生产线当中做重复相同任务的机器人来说,我们现在机器人编程并没有问题,因为任务都是相同的,我们不用重新编程。但是对于面临危险环境、复杂状况的机器人来说,这就不够。要通过对机器人进行编程,让它们进行实时的反应来应对高挑战的环境是非常困难的。

所以这时候,人类需要机器人执行挑战性任务,机器人也需要人的帮助。“海洋一号”这种“触觉交互”,意味着当机器人遇到问题的时候人类能够做出反应,引导它渡过困难。我们当然也需要对这种触感进行模拟(Simulation),所以对触觉传过来的信息也应当进行处理。我们需要将触觉再现(Haptic Rendering)、触觉显示( Haptic Display)、 触觉遥操作(Haptic Teleoperation)等所有的这些整合到一起。

操控技术也十分重要,好的操控技术能开发出机器人的能力。这种操控技术改变了我们对机器人编程的方式。过去机器人有些固定的运行轨迹,现在我们在屏幕上所看到的动作,是没有事先对运行轨迹进行任何规划的。

首先机器人要能够识别出某个特定的东西,然后进行一些非常复杂的操作,运行轨迹也不是固定的,甚至还要能够感知到重量,并且对这个重量做出一些反馈,这样的话才能完成一些任务,并且也希望机器人从人类机能当中学习到一些东西,现在机器人对于不同的材料、地质、环境等可以进行规划总结,就算我们故意为其设置阻碍,它仍能完成任务。

有的时候我们还需要和机器人进行实际的互动,还是刚才提到的机器人“Ashmo”,我们会训练让它躲开前面的东西,不要碰到人类的手。某些情况我们是需要一些人工工作的,因为这些地方都是非常危险的环境。

现在可以与人交互的机器人,更多的还是设置在室内、屏蔽的环境里运行,到了比较复杂的环境当中,可与人交互的机器人做的事情并不多。我们需要充分利用这些外部复杂环境本身,一旦机器人和外界有接触就会面临一些反向力,包括地面如果是斜的话情况又会不一样,也会使得机器人的反应发生变化。如果可以和所有的接触力量处理好的话就可以实现爬行,但这是非常复杂的,所以我们需要开发好的模型来控制它。

我们也可以让机器人使用一些人类使用的工具,比如机器人可以加上一些拐杖来行走,这样的话就可以延伸机器人的支撑,并且可以在一些环境之下进行操作。当然,这同样也是需要它在各个接触点上面的力来进行反馈,这个对机器人的性能也有巨大的影响。

“海洋一号”在设计上是一个一体化的机器人系统,机器人的身子还是很重的,所以当它和外界进行接触的时候我们要保证机器人臂能够很好地反应,它的机器人臂是可以弯曲的。除此之外,这个机器人能够根据任务的情况来调整它的状态,如果需要操纵多个物体的话也需要进行这种反应。这个对机器人的控制和良好的工作来说是非常重要的,并且也要看它在实际环境当中表现得怎么样。

而且机器人必须要能够实时和人类进行互动,人类应该能够随时干预机器人的行为。这是我们的控制界面,包括控制它的导航和动作,也可以结合机器人进行互动。

一开始,我们把“海洋一号”放到了斯坦福大学的一个游泳池里测试,机器人可以在里面,很多的学生也非常喜欢和机器人一起,他们都在池边看机器人的表现。机器人准备好了之后,我们把它运到地中海,之后用这个机器人来做一些水下地质勘探的工作,让机器人潜入真实的大海中进行第一次探险。

一开始在海面,因为有洋流的影响,它可能会撞上船,这是有点危险的,但是一旦下去以后就能够开始自己巡游。“海洋一号”可以在水下与潜水员协作共同执行任务,所以它就成了两个人的沟通媒介,一个是船上的指挥者,一个是水里的潜水员。

(图自:News.Stanford)

一开始人机协作还只是在 15 米深的海里,之后我们就跟它挥手拜拜,它要独自下降到更深的海域了。我不知道大家是否真的了解到 90 米深的时候是什么样子,海底非常的黑暗,我们把摄像机和照明设备放到里面。每下 1 米我们都感到非常的紧张,因为我们不知道的“海洋一号”在这个深度下面是不是能够存活。

我们一直在监测水压,在操作室和控制室里可以看到船底下的照明灯的情况,到了 80 米的时候就可以看到下面有些突起的东西。这个船上有两个大炮,也有多角度的画面,当我们接近这个船的表面的时候,就慢慢地告诉我们已经接近了船身。

实际上我们机器人已经下到了“月亮”号所在的深度,通过机器人能够看到船的具体的情况。中间一段时间,机器人的左臂被船上的大炮卡住了,没有办法动,当时整个任务几乎面临中止的窘境。但是因为这个机器人有胳膊可以支撑着走,我们通过让它落地,引导它的胳膊肘进行了拐动,一下子就从卡住的地方出来了。“海洋一号”之后进一步潜行到另外一个地方,继续查看“月亮”号。

这是我们从船上打捞出来的一些东西,“海洋一号”将物品放到一个特殊的容器之后,船上的人员把物品从水下直接拉起。

我们从船上找到一些珍宝,很多都是来自于 17 世纪的,而很多的机器人或者操控的设备会很容易打碎这些东西。这是 350 年前的一个古董花瓶,已经在水下待了 300 多年,这是 300 多年以来第一次有人触摸到它,并且把它带回到水上。

(Oussama Khatib 教授手拿刚打捞上来的古董花瓶,图自:News.Stanford)

“月亮”号已经在地中海的海底待了好多年,我们把船上很多古代的物品都放到了一个盒子里面,然后让这个盒子浮到水面上。船上的工作人员看到这些物品的时候都非常的激动,让一个机器人深入海底,能够在海底存活,又把这些古代的古董打捞起来,真是太激动人心了。我们打开香槟庆祝,对于所有为此做出贡献的团队都相互表示祝贺。

(参与这次任务的团队成员)

我们之后把“海洋一号”放到当地的博物馆展出了几天,“月亮”号任务的完成,离不开很多机构的协助,这对我们来讲是一个非常具有挑战性的任务,但也是非常令人激动的工作成果。