复杂机器人的运动控制,一直阻挡机器人产业发展的老大难问题,迟迟没有得到很好的解决。即便是代表机器人最高水平的波士顿动力,其机器人离实用也还远。近两年发展迅猛的AI,俨然如万金油般,被用在各种地方,自然也包括机器人控制领域,而且似乎取得了不错的效果。前端时间,UCberkely的强化学习专家PieterAbbeel创办了EmbodiedIntelligence,业务更是直接涵盖了VR、AI、机器人三大热点。
为了搞清楚VR、AI等新技术如何在机器人控制领域应用,本文根据一些相关论文和公开资料,包括PieterAbbeel的演讲,对VR和AI在机器人控制方面的应用进行了简单梳理,发现AI和VR等在机器人控制等方面还是有实在的应用,只不过离取得实质性突破,还有相当长的距离。
机器人控制的几种类型
很多机器人的研究目标很多是模拟人的智能,所以研究人的控制系统,对于机器人有很大的借鉴意义。人体的神经系统由大脑、小脑、脑干、脊髓、神经元等共同构成,复杂而又完善。人体神经系统包括中枢神经系统和周围神经系统。中枢神经系统由脑和脊髓组成,是人体神经系统的最主体部分。周围神经系统是从脑和脊髓发出的分布到全身各处的神经。无数的神经元存在于神经系统各处,构成神经网络。
中枢神经网络负责运动控制,主要分成三层:
大脑:居于最高层,负责运动的总体策划,各种任务的下达。
小脑:居于中间层,负责运动的协调组织和实施。人体平衡由小脑控制。
脑干和脊髓:属于最低层,负责运动的执行,具体控制肌肉的骨骼的运动,由脑干和脊髓完成。
三层对运动的调控作用不同,由高到低,低层接收高层的下行控制指令并具体实现。大脑可直接也可间接的通过脑干控制脊髓运动神经。
如果把机器人与人进行类比,机械臂控制器就类似于人的脊髓,负责控制电机(肌肉)和机械机构(骨骼)的具体运动,多足机器人的运动控制器,就类似于人的小脑,负责控制平衡和协调。而机器人的操作系统层,则类似于人的大脑,感知和认知世界,并下达各种复杂的运动目标。
基于以上类比,参照目前的各类机器人的情况,机器人的运动控制大概可以分成4种任务:
脊髓控制——机械臂运动的基础控制。工业机器人,各类机械臂,无人机的底层运动控制等面临的主要是这类问题。
小脑控制——多足机器人的平衡和运动协调控制。这块目前是机器人控制仍未突破的难点,目前做的最好的显然是波士顿动力。
大脑控制——环境的感知。主要是扫地机器人、无人机等底层运动控制已经封装好的机器人的导航和路径规划。需要通过环境感知,对自身和目标进行定位、导航和运动规划。
大脑控制——环境的认知和交互,也就是机器人具体执行交互任务,如控制机械臂抓取物体,执行操作等。这是服务机器人需要突破的重要问题。
几种具体控制的AI应用情况
1.脊髓控制类
脊髓控制的两种典型的应用是机械臂路径规划和无人机的飞行控制。这类问题属于传统自动控制理论,以数学和动力学建模为基础,发展了很多年,已经有了非常完备的理论和实践基础,也取得了很好的效果。虽然深度学习在最近很热,理论上也可以用于这类控制。但目前在这类基础控制领域,并没有应用。主要原因可能有:
1)工业机器人高精度重复特定动作等,基于自动控制理论已经能从数学上很好的解决,且由于了解原理,属于白盒系统。既然有可靠的白盒方案,没必要换成黑盒的神经网络控制系统。
2)工业机器人等应用领域,对控制算法稳定性要求很高。而作为黑盒方案的神经网络控制系统,数据上还无法证明其稳定性。神经网络控制器一旦发生问题,难以进行解释和改进。
3)神经网络算法基于大量数据训练,而现有的运动控制中,比如飞控,拿到实际实验数据的成本高,大量数据的获取非常困难。
2.小脑控制类
小脑控制典型问题是类人型双足和多足机器人的平衡和运动协调控制问题。这方面一直是基于传统控制理论在进行研究,不过由于相比于机械臂或无人机,其运动的自由度高很多,难度很大。双足类人机器人给人大多数的印象还是运动迟缓、僵硬、站不稳。波士顿动力的Altas、大狗等已经是在这方面最先进的,波士顿动力学公司并未公布他们使用的技术,但谷歌工程师EricJang表示,根据从演讲得来的信息,BD的机器人控制策略使用基于模型的控制器,并不涉及神经网络相关算法。
3.环境感知类
主要的场景是服务机器人的路径规划、无人机目标追踪、工业机器人的视觉定位等,通过感知环境,给封装好的运动控制系统下达目标运动指令。
目标识别
环境感知过程中的目标识别,如无人机目标的识别和追踪等,有神经网络的帮助,可以识别的更准确,已经在大疆等无人机上应用。
定位导航和路径规划
目前机器人的定位导航,主要基于流行的vSLAM或激光雷达SLAM技术。主流的激光雷达方案大概可以分三步,中间部分环节可能涉及到一些深度学习,大部分内容并不涉及深度学习相关。
第一步:SLAM,构建场景地图,用激光雷达构建场景的2D或3D点云,或者重建出3D场景。
第二步:构建语义地图,可能会对物体进行识别和分割,对场景中的物体进行标记。(有的可能略过这一步)
第三部:基于算法进行路径规划,并驱动机器人的运动。
4.环境交互
典型应用场景:机械臂抓取目标物体等。与环境的交互,一直是传统自动控制难以解决的问题。近年来,以强化学习为基础,AI相关技术用在了这类问题上,取得了一定的研究进展,但是否是未来的主流方向,仍存在很大争议。