相信前两天大家的朋友圈都被Boston Dynamics 的 Handle 机器人刷屏了:
估计这一幕会让不少读者回忆起被『终结者』所支配的恐惧:
↑ 图片出自科幻电影《终结者》
然而,作为一个正奋斗在机器人研究第一线的博士生,我可以负责任地告诉你:完全不用担心!
与一般的技术不同,机器人涵盖的技术领域更广,波士顿动力只是在控制方面做出了逆天成绩。现在的机器人领域还有很多技术问题没有解决,所以我们暂时不可能造出科幻电影中的那种通用机器人。
下面,我就从机器人研究的几个方面来说明为什么我们不需要担心机器人取代人类的事情发生。
(以下非本人熟悉领域的内容均为道听途说,如有误,欢迎在评论区指出)
一、硬件、机构:
感谢机械前辈们几百年的积累,目前在硬件设计方面,实际机器人已经很不错了。下面是几个比较著名的真实机器人:
↑ (左)波士顿动力的Atlas,(中)日本产综研的HPR-4C,(右)日本东京大学的Kenshiro
不论是外貌、自由度配置、驱动方式,实际的机器人均有了很不错的成绩。
但是,在能源方面,我们离实用化还有一段很大距离。现在的移动机器人基本上都需要携带一个巨大的电池,续航能力也不行。以这次的Handle为例,它的电池约为3.7KW/h,充满电能行驶约24km,所以这方面只能寄希望于新一代电池技术的发明了。
↑ 这次 Boston Dynamics 的 Handle 就背着巨大的电池
二、感知:
这个包括两个部分:
传感器
信号处理
传感器:机器人需要能够感知周围环境和自身状态,因此需要安装不同的传感器。为了对比,我们看看人体的几个主要传感器:听觉传感器(耳朵);视觉传感器(眼睛);力矩传感器;皮肤触觉传感器(可以感受到别人触碰到自己)等。
首先是听觉传感器,这个似乎没有什么特殊的,现在的机器人都可以配备,普通麦克风即可。
其次,是视觉传感器,现在机器人的视觉传感器应该比人眼更高级:高精度相机、红外相机、深度相机、激光雷达等等。没办法,算法不够,传感器来凑嘛。
之后,是力矩传感器,主要用于检测关节力矩。有了精确的关节力矩才有可能部署一些控制算法、估计环境状态。当然,现在这样的传感器也已经有了,但就是贵。
最后,也是唯一与人类有较大差距的地方,是皮肤触觉传感器:这个基本上还有很多路要走,不信的话看看下图吧。
信号处理算法:当然,这里的信号处理是广义的信号处理,包括普通的滤波、傅里叶变换等,也包括物体识别、语音识别等人工智能算法。这个话题就太大了,而且实际机器人在这方面的研究距离实用的也还比较远,我简单列几个:
物体识别/语音识别:当然,随着近几年深度学习的发展,我们在物体识别和语音处理方面的造诣已经非常厉害了,但是在实际机器人上部署的算法也还比较简单(实际机器人不仅要识别物体、还要定位物体)。
↑ 这是 Boston Dynamics 之前发布的 atlas,依旧是采用二维码进行识别
语义理解:前面的语音识别是指根据声音识别出文字,这里则是理解识别的文字内容。我们现在研究的最高水平,可以参考微软小冰聊天机器人,基本还是比较笨的。PS:不要跟我说什么机器人『娇娇』,那是后面有个人在遥控。
环境理解/地图创建:这个简单地说,就是机器人对环境建模的能力,包括地图创建等。现在的机器人在这一块还是比较弱的,即使配备了激光传感器等额外的设备(人仅靠两只眼睛),也只能在一些特定条件下完成地图创建,而基于地图的环境理解也只能算刚起步不久,如下面这个语义地图。
↑ 真正的通用机器人不仅需要能『看到』环境,还应该能『理解』环境
当然,我觉得之后随着深度学习技术在地图创建等领域的应用,(考虑到深度学习对环境理解的能力),这个领域估计有可能在十年内出现可实用的技术。
三、规划:
规划是指根据任务和机器人当前状态,计算出完成这个任务的方法。包括且不限于:
任务规划(将大任务划分为几个小的子任务)
运动规划(机械臂或者足式机器人各关节运动轨迹)
路径规划(其实跟运动规划类似,不过倾向于为移动机器人规划形式路径)
Boston Dynamics 的研究重点一直都是放在控制上,在规划等领域并无成果(至少从他们放出的视频中看不出有这方面研究)。
任务规划:举个例子,我们想让机器人送瓶雪碧,那么机器人会将这个大任务分解成几个子任务(运动到冰箱前-->打开冰箱-->找到雪碧-->拿出雪碧-->关上冰箱-->送到人面前),当然,可以有更复杂的任务。目前,一般是采用MDP或POMDP模型来描述问题,然后用各种规划算法求解。总体上说,现在的任务规划强烈依赖于任务描述方式(人工指定),而且在应对大规模、不完全可观等复杂问题时,还没有可靠的方法。
运动规划:举个例子,机器人面前有一杯水,让机器人将手运动到杯子面前,同时不能碰到桌子等障碍物。这就是运动规划,根据目标状态点,生成一系列关节运动状态。是的,现在就连让机器人拿起面前的杯子这样的问题也还没有完全解决。简而言之,我们一般是采用基于随机采样的算法进行运动规划的。随机采样的意思就是:每次规划的结果可能不同,更无法保证规划出的路径是最优的。因为自己就做这一块,所以深知其中的坑。就我个人感觉,要解决运动规划问题,需要一个方法论上的创新,抛弃现在这套方法(因为人肯定不是这样规划的啊)。
路径规划:其实跟运动规划是一个问题,但由于路径规划一般是在地面上,问题维度低,可以采用一些奇奇怪怪的规划方法(Dijkstra,A*等)。由于问题毕竟简单,这块的发展也比较好,例如各种扫地机器人就已经可以在室内环境中到处跑了。
↑ 小米的扫地机器人已能利用二维地图进行路径规划
当然,这一块需要解决的问题可能是:①动态环境;②拥挤环境;③复杂地形;④地图不全的环境等。但是估计未来15年左右可以彻底解决,所以到那时候,无人驾驶车应该已经可以到处跑了。
四、控制:
控制就是具体执行规划结果的过程了,从底层的电机控制到上层的机器人全身控制都属于这个范畴。
机械臂控制:下图是大约十年前Sami Haddadin 做的机械臂碰撞检测的demo,基本上已经非常厉害了。而且,由于机械臂控制属于机器人自身动力学问题,所以目前看来,这一领域可以说已经是完全攻克了。
机械手操作:机械手的抓取操作问题就没这么简单了,因为其中涉及实际物理环境的建模问题(摩擦力、形状等),由于模型不精确,所以完全基于模型的方法很难解决这一问题。目前实际应用基本还是采用平行夹持器的方式。只有不少研究机构在进行灵巧手抓取方面的研究。
足式机器人控制:这是更难的地方了,因为机械臂和机械手都至少有个相对固定的基座。足式机器人的base是会随着接触而发生变化的。所以,我一直觉得能做足式机器人控制的人都是很厉害的人。
↑ Boston Dynamics 的各种足式机器人
再加上这次的Handle 机器人,可以说,Boston Dynamics 以一己之力,将人类的足式机器人控制水平拉高了一个层次。
四、学习:
这个属于另外一大块内容,由于可以应用到其他领域(控制、规划、感知等),所以有时候不能单独列为一类。
机器学习分为监督学习、无监督学习和强化学习三类。目前,深度学习主要在监督学习方面得到了很好的应用;此外,对于强化学习,也逐渐以Deep Q Learning等形式出现;但无监督学习才是机器学习中的最高挑战。
我们人类能够举一反三(超强的监督学习能力);能够熟能生巧(超强的强化学习能力);能够发明新事物(超强的无监督学习能力)。
当然,机器学习的坑还有很多。因为,正是不断学习让我们能够面对不断变化的环境。这方面可挖的东西太多了。
五、交互:
这个就是机器人与人交互的问题。包括识别人、与人交流、与人协作。在这个角度看,我们现在的机器人还很不尽如人意:
识别人:虽然人体识别在机器视觉中已经有了很多成果,但是在人机交互过程中,机器人不仅要识别到人的存在,还应该要能判断人的动作、意图,并作出相应反馈。
与人交流:这方面,我们现在的聊天机器人虽然也已经做得不错了,但离通过『图灵测试』还很远,随便一个普通人都能轻易判断出对面是一个机器人。
与人协作:这个就不说了,我们真实的机器人还只能这样:
六、容错性:
这个就是说机器人的软硬件发生故障后,依旧可以自适应地完成部分工作。
人类就不说了,有太多『身残志坚』的例子了:
↑四川90后“无臂男孩”用脚趾夹笔答题 勇战高考追逐大学梦
我们的机器人最强只能这样:
这是2014年发表在Nature的成果,只是简单的机构损坏、核心部件完好的情况下可以继续完成简单任务。
总结
综上,要想做出能够取代人类的通用机器人,我们还有非常非常非常远的路要走。
当然,要想在十年内做出这样的机器人也不是不可能,例如忽然来了一群奇怪的人说:『我看你骨骼惊奇,你跟我学做机器人吧!』
↑ 图片出自科幻电影《降临》