捡起一样东西其实并不像我们平时看到的那样的简单。至少对机器人来说,并不简单。机器人专家想要发明一个可以捡起任何东西的机器人,但是眼下几乎所有的机器人只会在它们费尽心力想要抓到东西的地方“盲目乱抓”。就算物体的形状、质地或是位置发生了变化,机器人也反应不过来,所以它们每次的尝试大多会失败。
离机器人一次就完美地抓起东西,我们还有很长的路要走。为什么抓东西这个任务这么难做到呢?因为当人们尝试去抓东西的时候,他们运用了多重感官,主要包括视觉和触觉。但是就目前看来,在抓东西上,很多机器人都只用了视觉。
实际上,人的抓物能力并不是完全依靠视觉,尽管视觉对抓物来说很重要(当你要瞄准右边的物体时),但是,视觉不能告诉你关于抓物的每一件事情。想想Steven Pinker是怎么描述人们的触觉感官能做到的一切吧:“想象你拿起一个牛奶盒。你握得太松,盒子会掉;你握得太紧,会把盒子里的牛奶挤出来;你轻轻晃动,甚至可以通过感受你手指上的牵引感去估测盒子里有多少牛奶。”他在《思维是如何运作的》一书中是这么写道的。因为机器人没有那些感官能力,所以在捡起、放下物体的任务中,人类还是狂甩他们几条街的。
作为加拿大蒙特利尔的波尔多综合理工学院的CoRo实验室的领导人和一个位于魁北克城的机器人公司Robotiq的联合创始人,笔者对抓物方法的重要发展已研究甚久。目前,笔者认为当今各界对机器人视觉的关注,并不是能够实现完美抓物的核心问题。除了视觉,推动机器人抓物发展的还有另一样东西:触觉智能。
以前的研究专注于视觉,而不是触觉智能
目前,许多关于机器人抓物的研究都集中在建立围绕视觉反馈的智能上。数据库图像匹配是建立智能的方法之一,这也是布朗大学的Humans to Robots实验室在Million Objects Challenge中利用的方法。他们的想法是,让机器人利用照相机去发现目标物,并主导自己移动、抓物。在这个过程中,机器人将它们实时获取的信息和数据库里存储的3D影像作对比。一旦机器人发现了其中匹配项,那么它就可以找到可以应对当前情况的计算程序。
虽然当布朗大学在为各种物体收集视觉数据,但是机器人专家们不见得会为每个机器人可能遇到的不同情况建立视觉数据库中的每个项目。另外,数据库匹配法中没有环境限制,所以它不会让机器人调节抓物策略以适应不同环境。
其他科学家为了提高机器人的抓物能力,也纷纷开始研究机器人学习技术。这些技术让机器人可以从它们的经验中实现自我学习,所以到了最后,机器人可以自己发现抓物的最佳方法。另外,不像数据库匹配法,机器学习不需要提前建立图像数据库,它们只需要多加练习。
正如IEEE Spectrum早前报道的,谷歌最近做了一个结合视觉系统和机器学习的抓物技术实验。过去,科学家尝试通过教机器人采取那些人类觉得最好的方法提高抓物能力。谷歌最大的突破是,向机器人展示了他们可以利用卷积神经网络、视觉系统和从八万多个抓物动作中获取的数据,通过他们从过往经历中学到的知识,教自己怎么抓东西。
他们的前景看起来并不是特别光明:因为机器人的反应并没有预先编程,正如其中一个科学家所说,他们所有的进步都可以说是“从学习中得来的”。但是视觉能告诉机器人的关于抓物的事情十分有限,谷歌也许已经到达了这个技术的最前沿。
只关注视觉带来的某些问题
为什么谷歌和其他科学家很难通过单一的视觉来解决问题?经笔者总结,大概有以下三个原因。第一,视觉受限于技术。就算是最先进的视觉系统也会在某些灯光条件下(比如透明、反射、低对比度的颜色),在识别物体中出现故障。当物体太薄的时候,识别也会受阻。
第二,在很多抓物场景下,无法看清物体的全部,所以视觉很难提供机器人需要的所有信息。如果一个机器人尝试从桌上拿起一个木制钟,简单的视觉系统系统只能检测到钟的上部。如果是从箱子中取物的话,涉及到的物体就更多了,那么周围的物体可能会使目标物部分甚至全部模糊化。
最后一点,也是最重要的,视觉不符合这件事的本质:抓物需要的是接触和力量,这些都不能受到视觉的控制。在最好的情况下,视觉可以让机器人知道能使抓物动作成功的手指形态,但是最后机器人需要的是可触性的信息,让它们得知所抓物的物理值。
触觉智能献上最佳助攻
触觉在人类的抓物、控物动作中扮演了核心角色。对失去了手的截肢者来说,他们最大的困惑是,在用义肢的时候感觉不到自己在摸什么。没有了触觉,截肢者们在抓物和控物的时候,需要离目标物很近,而一个健全的人捡物的时候甚至不需要看着它。
目前,科学家们意识到,在抓物过程中触觉感应器的重要作用。在过去的三十年间,他们一直尝试用触觉感应器取代人体器官。然而,触觉感应器发送的信息非常复杂、高维,而且在机械手中加入感应器并不会直接提高它们的抓物能力。我们需要的是能够把未处理的低级数据转变成高级信息,从而提高抓物和控物能力的方法。触觉智能可以通过触摸、识别物体的滑动和定位物体让机器人预测抓物是否能成功。
在波尔多综合理工学院CoRo实验室中,笔者和他的同事们在研发触觉智能的核心部分。最新的成果是一个利用压迫象预测抓物是否成功的机器人学习算法。这个系统是由Deen Cockburn和Jean-Philippe Roberge共同研发的,它能够把机器人变得更加人性化。当然,人类学会了通过触觉和观察手指的形态,来判断抓物是否成功。然后我们改变手指的形态,直到对抓物的成功有了足够自信。在机器人学会如何快速调适手指形态之前,他们需要更好地预测抓物结果。
这就是笔者相信CoRo实验室会走向巅峰的原因。把Robotiq的机械手和Universal Robots的UR10控制器结合在一起,在加上其他多种模式的居家及基于Kinect视觉系统(只瞄准每个物体的几何中心)的触觉感应器,得到的机器人可以捡起很多东西,并且利用中间的数据实现自我学习。最后,笔者和同事们成功制造了一个能准确预测83%的抓物动作的系统。
由Jean-Philippe Roberge领导的CoRo实验室的另一个团队,专注于滑动监测。在抓物的时候,人类可以迅速察觉物体的滑动,因为手指上有一个高适应性的机械性刺激感受器,它是位于皮肤上的可以感受压力和震动的快速变化的感应器。由于物体的滑动会引起的手部表面震动,所以科学家们把这些震动的图像(光谱图),而不是压力象放进机器学习算法中。利用与抓物预测实验中相同的机器人,他们的系统可以学习和物体滑动相关的震动图像中的特征,其识别物体滑动的精确度高达92%。
让机器人注意到物体的滑动或许看起来很简单,因为滑动只是一系列的震动。但是,该如何让机器人分辨物体滑出机器人手心引起的震动,和机器人在物体表面(比如一张桌子)拖动物体引起的震动呢?不要忘了机器人手臂的运动同样会引起一些微小的震动。三个不同的动作会发射同样的信号,但是机器人需要做出不同的回应。因此,机器人需要学会分辨不同的动作。
在机器学习这个方面,两支CoRo的队伍达成了一点共识:他们不能把手工特征强加在机器人学习算法中。也就是说,这个系统不能依赖科学家的猜测,而是应该让机器人自己决定在甄别滑动(或是在预测抓物结果、预测抓物实验中)的时候,什么是重要的。
以前,“高级功能”都是人工打造的,这意味着科学家会选择一些他们认为可以帮助机器人甄别不同类型的物体滑动的特征(或是判断抓物动作是否完美)。比如,他们或许会将一个让机器人只抓物体顶部的压力象与失利的抓物动作挂钩。但是让机器人自己学习,反而会更有成效,因为科学家想的不一定是对的。
稀疏编码在这里会非常有用。它是个无人监管的功能学习算法,通过制造用来代表新数据的稀疏字典来运作。首先,这个字典自动通过光谱图(或未经处理的压力象)自我生成,然后输入到稀疏编码算法中,其中包含了很多高级功能。然后,当新数据产生于接下来的抓物动作中后,这个字典会被用作将新数据转换成代表性数据的中介,也被叫作稀疏向量。最后,稀疏向量会被分到引发不同震动的不同组内(或是成功和失败的抓物结果中)。
CoRo实验室现在在测试让稀疏编码算法自动更新的方法,这样每次抓物动作都可以帮助机器人做出更好的预判。然后,在每次抓物动作中,机器人会利用这些信息去调整自己的动作。最终,这个研究会成为结合触觉和视觉智能,帮助机器人学会抓住不同物体的最好范例。
触觉智能的未来
这项研究的关键点在于,视觉不应该被抛弃。视觉依然应该为抓物贡献绝对的力量。但是,现在人工视觉已经到了发展的某一阶段,它可以更好地专注于发展触觉智能的新方向,而不是继续强调视觉的单一力量。
CoRo实验室的Roberge把研究视觉和触觉智能的潜能和Pareto的80-20法则作了对比:既然机器人社区已经在视觉智能80%的领域占了上风,那么它很难再主宰剩下的20%了,所以视觉不会在控物上发挥那么大的作用了。相反,机器人专家们依然在为触觉感知的那80%而努力奋斗着。相对而言,做好这80%会比较简单,而且这有可能为机器人的抓物能力的提高作出巨大的贡献。
如果以机器人通过触摸识别物体、为人类清理房间为目标的话,我们还有很长的路要走。但是当那天真的到来的时候,我们一定会衷心感谢这些努力研发触觉智能的科学家们。
via spectrum