1
在对人工智能和机器人的探索中,人们慢慢发现一个规律:虽然我们还没有彻底搞清楚智能是一种怎样的存在,但对于人工智能的研究一样在不断进展中,时至今日已经取得了令人赞叹的成果,似乎对于人类智能的透彻理解,对研发人工智能来说并不是必要条件。
IEEE机器人与自动化协会机器人手,抓取与操控技术委员会的始创主席、南佛罗里达大学计算机系的孙宇教授带领的RPAL(机器人感知与行为实验室)研发了一款能够精确控制力度、实现很多日常任务的机械臂。在对孙宇的采访中,我们再次体会到了这条规律的存在,和它带给我们思维上的解放。
提起机器人的机械臂,我们通常会想起一些非常笨重的东西,像下面这样的。
这些机械臂无论是从灵活性还是通用性上都很难称得上优秀。也很难拿来做一些精细化的活。但孙宇和团队做出来的机械臂却能做到很多这种机械臂想都不敢想的事。他们是怎么做到的?
机械臂的精确力度控制
准确的说,孙宇他们开发的并不是机器人的硬件,而是机器人智能大脑中的抓取中枢,其具有很高的可扩展性,是可以很方便的嵌入到现有的机器人产品中去的。而目前这个中枢算法已经有了很惊艳的表现。
在一个演示视频里,机械臂顺利的将放在桌上的一个灯泡拿了起来,然后拧在了底座上。
可能仅仅在5年前,人们还很难想象机器人能顺利完成这样的工作。这个灯泡被制造出来的时候,估计也想象不到自己会以这样的方式开始自己发光发热的使命。事实上要做到这一点确实很不容易,尤其是相对于较为成熟的认知手段来说,机械臂的精确施力控制是更难做到的。
首先把它抓起来就不是一件容易的事了,孙宇表示,自己希望目前的研究将来能使机器人进入在日常生活,为人类提供服务。而目前机器人在日常生活中面对的最大挑战可能就是各种工具的使用了:机器人如果想要用好一样东西,首先还得保证自己不会把它弄坏了。然后才能谈使用的事。因为通常情况下,机械臂“拿起”一样东西的方法,都是直接将它“握住”,就像这样:
或许你注意到了,上面的gif和图片中握住红球的机械手,都是结构比较简单的机械手,但是,要让机器人的手像人一样灵活,最好的办法难道不是造一个同人类的手一模一样有许多关节、可以实现灵活处理的机械手,然后写出一个精妙的程序来控制它吗?
事实上机器人界确实早在80年代就流行过高度仿生的多关节机械手,但是孙宇说,这种结构存在一些明显的缺陷,比如造价过于昂贵,还有由于其结构非常精细,即使不考虑故障率,也意味着驱动其关节的电机都无法做得足够大,因此力量也很受限制,能做的事情可能也很有限。所以,最后大家还是普遍倾向于使用结构稍微简单一些的机械手,这样一来,不仅成本降下来了,这些机械手确实也能完成要求的任务,看似是理念的倒退,实际上却有了更好的效果。最近随着技术的发展,仿生机械手又有所崛起,不过那都是后话了。
孙宇带领的团队选择的是一种只有三根手指的机械手。不过不管几根手指,当你需要用它来做一件很具体的事情的时候,很明显只是握住它是不行的。各位可以试着拿起你的手机、端起你的碗、拿起刀来切菜,大家会发现凡是需要“使用”某样物体的动作,基本都需要指尖同物体的接触和施力,而如果让机器人来做这件事,如何使用工具时施加正确的力,不毁坏工具,又能完成任务就是一件需要考虑一下的事了。
感觉和认知
不过这个问题孙宇和他的团队倒是老早就解决了,早在09年,孙宇就开发出了一种让机械臂能借助机器视觉从人拿一样东西时手指的反应来判断物体材质,从而用合适的力去拿起它的技术。能让机器人在拿起哪怕鸡蛋这样脆弱的物体的时候也不会弄坏它。
在机器理解灯泡的材质之前,它会用默认的力道握下去,直接将鸡蛋压碎,而理解之后,就能稳稳的握住了(右图)
这种技术是今天成就的基础。将鸡蛋,或者灯泡稳稳的握住只是一个静态的过程。事实上,只需调整力度让机器人将任何物体都轻轻的握住,也能达到上面的效果。但当涉及了具体的操作,机械臂的手指与物体之间的力就不再是简单不变的一个最小值。
就比如说拿这个灯泡的时候,如果你需要把灯泡拧到灯座上去,那你需要考虑的就不止是重力的问题了,当灯泡伸入灯座内之后,底座内的弹簧和螺纹还会给你带来一个额外的力,机械臂需要据此调整自己握着灯泡的力,才能保证稳定的握持。而当机械臂开始旋转灯泡时,还需要额外的再加一些力。
孙宇说,在机械臂拧灯泡这个过程中,寻找底座并将灯泡的底部与其对准算是相对容易的部分了。因为给予视觉的姿态估计技术已经比较成熟。难点就在于机器对力的理解和调节上。当机器收到任务去拧这个灯泡的时候,他就要考虑到拧灯泡的时候可能会遇到什么样的各种力,然后依此来决定用怎样的力道和手抓方式来执行这个任务了。
当然,孙宇和RPAL的目的远远不止是做一个拧灯泡的机器人,正如前面所说的,孙宇希望自己的技术能应用在日常家庭的生活中,具体一点,就是帮助机械手变得更灵活,让它像人手一样使用各种物体。孙宇说在日常生活中,即使是拿着同一个东西的时候,做不同的事时也需要用不同的力和姿势去行动,比如当你拿着一把刀去切面包和去给面包抹黄油的时候,需要施加的力和拿物体的姿势也是完全不同的,因为当你抹黄油的时候刀片是刀侧受力,切面包的时候是刀锋受力,需要不同的姿势才能实现这两个用力的方式。
不过毕竟世界上的“面包”和“灯泡”都是无穷无尽的,你不可能指望机器人拿每种东西之前都要你先去在数据库中添加什么数据。“学习”这项能力是非常重要的。之前提到的根据人手的反应来决定握东西的力度,其实也是一种学习。
为了教给机器人如何使用工具,通过美国自然科学基金的支持,孙宇和团队建立了一个日常工具使用的数据库,可以记录之前的每次同物品互动的各种细节,比如力度、姿势、运动方式。当被要求做新的任务时,机械手就可以根据之前的数据,机械手的形状和物体的形状来预估一个合适的方式和力度。
深度学习
其实在现在说到机器的学习就不得不提到深度学习,深度学习是目前大热的研究领域,甚至开始有人怀疑深度学习是不是已经对科研界形成了一种不利的垄断,不过对于这种质疑,孙宇总体还是持一种比较乐观的态度。因为深度学习从客观上来说确实是能产生很好的结果。
因此孙宇和RPAL也将深度学习应用到了他们的系统中,除了之前提到的数据库,目前他们还在开发一个基于图机构的机器人的知识系统,这个系统的理念是将所有日常生活中的物体都用动作联系起来,脱胎于人脑中的镜像神经元 (Mirror Neuron),孙宇和RPAL正在建立机器人智能大脑中镜像神经元。
孙宇表示,比如之前举例的切面包,面包和刀本身是两个独立的物体,但是“切”这个动作将这两者联系了起来。同样“切”这个动作也可以和其它物体联系起来。而刀不仅可以通过切这个动作和面包联系起来,还可以同菜、水果等物体联系起来,同样,面包也可以通过“装入容器”这样的“装”的动作同碗、袋子等容器联系起来,生活中的物品就是这样通过功能建立起来了一个网络,它的英文名叫functional object-oriented network,这样的一个网络就可以很方便的被机器人理解,让它们知道做什么事的时候应该怎样做。
那如何得到这个网络呢?孙宇表示,他们目前的网络建立主要有两个途径,一是通过人工手动添加,一是通过让机器观看YouTube的视频自动学习。这其中也用到了深度学习。这个项目由另一项美国自然科学基金资助,已经初具规模。
这个知识系统的结构图
对于这项技术的最终落地,孙宇认为,技术从研究角度来说已经成熟了,只是需要一些针对应用和机器人的工程开发,机器人就可以使用镜像神经网络和抓取中枢来为人类日常生活提供服务。出现在市场上的时间已经不会远了。
人工智能可能是一种全新的东西
我们越来越明显的发现这个规律:至少在现阶段,机器人、人工智能的最好实现方式并不是对人类的直接模仿,而是对人类的行为、智能等特征进行抽象后,另辟蹊径的实现。从起源于大脑神经网络的深度神经网络、曾经流行但后来被更简单的机械手取代的高度仿生机械手、到早期“捏鸡蛋机器人”通过视觉来实现触觉的调整、模仿人脑镜像神经元却用不同概念替换其中元素的机器人智能大脑镜像神经元,无一不是这样思维的产物。我们可以把它理解成技术局限下的妥协,但换一个角度讲,或许人类确实不应该局限于一味的模仿智能。虽然人工智能中有着“智能”的名字,但这不意味着它就需要以同人类的智能一样的思路来建造。在那些复杂的电路和元件之下,或许人工智能的终极形态会以一种完全超越现在人类想象的形式出现?
雷峰网原创文章,未经授权禁止转载。详情见转载须知。