斯坦福大学教授 Oussama Khatib
2016 年 10 月在北京召开的世界机器人大会上,雷锋网曾报道来自斯坦福大学的 Oussama Khatib 教授所带领的团队研发了一款潜水机器人 Ocean One (海洋一号)。令人惊叹的是,Ocean One 曾潜入 100 米左右的海底,并且成功从一艘法国沉船上打捞出一个古文物。
今年,由中国计算机学会(CCF)主办,雷锋网与香港中文大学(深圳)承办的全球人工智能和机器人峰会上,Oussama Khatib 也来到大会现场,并在 7 月 8 日的机器人专场为我们分享了关于机器人研发背后的那些故事。
以下为 Oussama Khatib 演讲实录,雷锋网在不改变原意的基础上进行编辑。
在某些情况下,潜水员为了潜入海底 160 米,必须在下潜仓里呆上一周以适应氧气和氦气的混合仓,之后才能在水下进行部件维修和维护。而完成工作后,潜水员又要回到地面,花三周的时间在氧气和氦气的混合仓里适应。这是一项非常危险的工作。
如果机器人可以接触到海床,人也可以感受到机器人和海床的触觉。操作人可以沉浸在一个操作系统中,而机器人则可自主地在水下对所有动作进行识别。机器人通过无线光纤与地面及时连接,好像机器人是专门为你进行潜水工作。
我们的目标是希望通过触觉设备,感受机器人所感受到的东西。
除了考古发掘,机器人还有其他的工作场景,如水下珊瑚保护、样品采集,以及水下工程维护、检查等。此外,在高纬度的地方如气象站等,都希望机器人去解决问题,从而很大程度上保护人的安全。
对于家居机器人而言,它是一个人机的互动,尤其是合作型机器人,不仅仅是简单的机械手臂,可以让人和机器形成一种协同效应。
在移动性方面,我们要让机器人明白外界,不仅仅让它知道它应该做什么,还要让它知道完成这个任务该有哪几个步骤,让人的动作成为它的榜样。所以,我们要为机器人寻找不同的动作,以及对它发出指令,要研究人类所有不同的动作以及目的。这样才能够让机器人的动作更加灵活,更加快速。
我们在做同一个动作的时候,不断的重复它,是很累的,机器可以这样做,它不知疲倦。在这样一个环境中,可以做出比较好的人机互动,让机器代替我们做一些比较困难的事情。我们可提前写好程序,从更高的层面上向这个机器发出指令。那就是我们的指令动作。比如像人的一些动作,如何去教授这些机器动作。我们可能不需要动作或者位置的控制,然而机器是需要的。我们只是根据感觉,感受人手的位置,但是机器是需要的。所以我们对这个机器进行编程,让它能感知到外界的环境,这样的关系是独立的。所以我们可以看到,这个机器在旋转,它感觉到了外置环境的变化。
我们可以通过这个扭矩控制机器的动作。比如说在关节处可以有一些互动,比如人机互动、操作、合作甚至完成一些任务,让它更加安全。在斯坦福曾经有过这样一个设计。90 年代,我们的机器是实时运动,我们只需要对它吹气,它就可以动了。我们可以打造一个非常好的控制能力,通过感知的传感器就能够实现。
我们如何实现一些任务。比如说人是需要完成一些任务的,我们希望能够让机器人有足够好的视觉,就可以用抓取的系统,让机器完成不同的任务和工作。这里会发现,这些机器是抓取了不同的物件,就可以截取足够多的信息,让我们知道真正发生了怎样的事情。我们需要让机器知道,在怎样的位置需要旋转和调整位置。
另外,可以用一些数据,对机器进行编程。这样机器就可以和外界产生互动。当然,外界是不同的,会经常变化,会有一些错误。我们要修正错误,甚至可以把机器进行一些调整,用手动进行移动,让它修整过去的错误。现在可以去做一些更加复杂的任务。比如说需要有一系列的动作,这一系列的动作就展示了一些比较复杂的任务是如何完成的。
我们要找到插头上插孔的位置,就可以做旋转,将插孔正确的插入进去。这样一个片段,是通过对于机器的编程实现的,之后这个机器就可以学习这样的动作。在人类的示范之后,机器会再次尝试完成这个工作。现在机器人有了更好的控制,所以这个机器人可以完成过去由人手工才能完成的任务。在这个展示中,机器在寻找插孔。现在它已经找到了插孔,找到插孔之后就会旋转,取得合适的角度,就可以把插座插上,灯就点亮了。
1987 年的时候,我们训练这个机器,让它完成一个搜寻的任务。另外,可以让机器将合适的部件插入到合适的插孔里。也就是说我们可以让机器和外界产生一种互动,一种相互的关联。这样,它们的动作就会更加精准,可以帮助机器不断提升技能。机器可以进行自行的匹配以及尝试。在这背后,人的动作是非常重要的。
人可以有不同的技能,不同的能力,这些能力都可以让机器去学习,把人类的一些动作教授给机器,或者通过一些算法让机器习得人类的动作。比如这里建立了一个人类的运动模型。这个动作是人在抛置物体的动作,可以通过 MRI 形成一个精准的运动模型,在对人体进行MRI的扫描之后,就可以把 MRI 的数据输入到机器中。这也是一个非常重要的过程。这样可以建立起一些模型,非常精准的重现人的动作。这样我们也可以帮助人们去做一些运动康复。当然,我们可以很好的观察人类的运动。这样才能进一步提升运动的精准性。
另外,可以看一下人类是如何来处理不同任务的。我们有 MRI,就可以对人做一个扫描。但是在 MRI 里是不能动的。在这里找到一个触觉的反馈设备。比如说可以建立一些联系,把实时的数据联系到电脑里,看一下实际发生了什么事情。比如说有不同的方式对计算机进行编程,让计算机的动作越来越趋向于人的反馈。比如可以做一些示范,让机器学习。当然,也可以引领机器做一些动作。比如防撞、避免冲撞,或者我让这个机器不要碰到我的手,它就会自动的进行回避。机器人可以避免碰撞,还可以去到各种不同的位置。这也是一个很大的挑战,在机器身上,必须要做很多的平衡。
我们说这种机器,它如果是多触点,就是一个更大的挑战,要控制它的任务,同时也要控制好这个机器本身的姿势。当然,这个任务的本身有方方面面的要求,多触点就要求机器做好平衡。比如要有一些平衡,还要有自我避免碰撞的能力。但我们如何才能实现这个能力?也是现在需要有一种系统性的方式,帮助我们实现大量的配置,最终找到这样的方法,让机器人突破局限。
现在我们所做出的最大突破就是能够真正在实时情况下将力量,包括全身的控制结合在一起。这种方式就叫做对全身多触点力量的平衡控制。这里是一个机器人在动态环境中的运动,它出现了非常明显的跌倒情况。如果有任何来自于其他环境中的反作用力,这些人都很有可能跌倒。这样一种力的平衡,就是能够让我们更好的了解到机器人的作用力、本身动能和内能帮我们形成多个接触点力的形成。
在机器人上,我们总是在探讨,对于动作以及动作执行的重要性。在制造业中,很多时候都是把动作进行线下的设计。因为动作的设计是非常复杂的,同时这个动作的执行也是能够帮助我们通过项目的方式实现的。但我认为在这样一种环境中,特别是抽象的环境中,这点是做不到的。这就是为什么我们现在建立了一个框架,这个框架可以让我们更好地从多个层面通过传感器的回路和环境接触。
这样一边有动作,底层有全身动作的控制,能更好的帮助接触感官信息,同时通过感官的信息以非常高的速度形成闭环的回路。最后处理这些数据,能够找到其中一些特色数据,帮助更好的形成标准或者是参数。这些参数能够帮助我们实现整个动作的测序。人的接触,通过触觉、声音、视觉实现。在这个角度说,可以帮助更好的保证机器实现预先设置的动作。而周围的环境,不是信息爆炸式的情况出现的,是一种相关性的信息展示出来,能建立起人和机器的合作。人、环境和机器人都是在同一个操作中,这样一个闭环就是环境和人的操作包括人的动作,最终这些信息的解释可以帮助我们更好的看到人和机器人还有环境共同的接触。
现在看一下如何探讨一下机器人爬山的工作,可以看一下如何实现力的平衡,同时机器人在这些环节中不断走动,确保力的平衡,让机器人可以在不同的环境中,在三个四个接触点上实现最终作用力和反作用力的平衡。
现有的时间控制,探讨一下对于运动的复制,从人的角度来说,会使用很多工具,帮助我们实现力的平衡。现在有一个双拐的机器人,甚至可以实现三拐机器人,可以探索周围的环境,最终寻找到最好的接触点。因为这些触杆上有相关的感应器,可帮助我们了解周围的环境,这样机器人才可以在未知环境中进行探讨,最终实现本身力的平衡,和环境的作用力进行结合。
下面回到 Ocean One 这个项目,这个项目结合了我刚刚提到的所有技术,有很多技术都能够将力的动态控制纳入探讨过程中。这个力的动态控制是通过手的实现,最终改变机器人的配置,能够帮助我们更好的理解如何将这些机械臂使用在物体的提升以及下放过程中,如何结合在一起实现不同的动能,不同功能帮我们实现机器人控制和机器人平衡要点。
这些所有的力都非常重要,在机器人的设置过程中,包括机器人的优化过程中,要涉及到大量元件,这些元件都必须在水下操作,与此同时还要保证他们不会出现湿透的情况,这是斯坦福游泳池当中的机器人,现在这个技术越来越成熟。4 月份出现第一次实验,现在这个机器人已经可以帮助我们完成一部分工作。
我们把机器人放到一个大箱子里,送到地中海的实验地。这是一个科学教育研究室,把机器人放到水中。这个机器人是能够从 1.5 米水深的游泳池中出来。现在要在 100 米深的水中实际进行游泳。一开始我们想看是否能在水体中适应,放到水下 15 米,还有相关人的潜水员和机器人进行共同的合作和交互。机器人完成了不同的任务,对于它的构建进行进一步鉴定,后来发现它的水平还不错。然后开始让机器人实现自我下潜,没有人的潜水员陪伴,机器人下到 100 米水深的位置。
在 91 米的法国海域水下,机器人实现了自动下潜,开始渐渐接近于海底。当机器人越靠近海底或者海床,就会有很多石沙和泥沙出现,就会失去很多视觉的清晰性。有时候机器人会卡在这些海沟中。对于人来说,我们和机器人一样,有同样的形式和机械臂。我们开始意识到当我们把机器人拉回过程中,机器人完全卡住,我们当时快要折损这个机器人,但是机器人自己通过手的触觉缩回来了。我当时可高兴了。
这个机器人现在正在收集一些海底的碎片,把它放到容器中。一旦我们收集到这些东西,把容器盖关上,就可以带到海平面上,这是自动化的过程。这是我们从水下遗址中收到的遗迹,是 16 世纪海下沉船的遗迹。这些是我的学生,他们非常非常高兴能够看到这个 16 世纪沉船遗物重见天日。
这是我们的一个海下作业船,这艘作业船专门针对海下地质勘探。
我们把机器人带到海底寻宝过程中。整个下潜在 2016 年 4 月 10 号完成。人类的潜水员和机器人在 50 米的水深交互,我们在作业中能操作机器人的触觉系统。所以机器人当时和两个人进行沟通,一个是人类潜水员一个是操作员。我们在水下测试了这个机器人的各种动作,它要在百米水下进行的操作动作。最后证实机器人可以在百米水下操作,当机器人成功之后就可以朝更深的水域下潜。现在要把机器人下潜到 100 米的水域。因为 100 米水压已经很大,它也会遇到很多情况,有可能会造成机器人的失败。
现在机器人已经慢慢下潜,在两个海沟之间游动,出现了非常明显的泥沙。这时候我失去了机器人的视觉,看得不是非常清楚,机器人卡住了,我们非常担心。但是正是使用了机器人手上的触觉系统,成功的收回了这个机器人。我相信这是人类的潜水员没有办法达到的水底深度。但机器人通过触觉系统实现了这个方式,降到海底到达海床。
现在这个机器人已经抵达我们要到的遗迹地点,现在机器人要开始采集这个遗迹了。我们机器人的机械手臂开始拿起文物,机器人慢慢把物件运往容器所在地,然后机器人把它的物件放进容器里。最后一个任务,机器人把容器盖盖上,容器盖一旦盖上,就会自动往海面输送物件。成功了,我们非常非常兴奋。这是我们整个星期的海底操作。最终我们能够在不损坏文物本身的情况下,从 16 世纪的海底拯救起来,让它重见天日。我们团队都非常高兴,在没有任何外力损失的情况下回收了物件。我们非常高兴,给机器人也来了一杯香槟。
这是一个很好的案例,向我们展示出一旦我们可以让人和机器人连接,在环境和挑战中可以做到什么样的水平。