作者
陈大鑫
人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体。
8月7日-8月9日,年全球人工智能和机器人峰会(简称“CCF-GAIR”)在深圳如期举办!CCF-GAIR由中国计算机学会(CCF)主办,雷锋网、香港中文大学(深圳)联合承办,鹏城实验室、深圳市人工智能与机器人研究院协办,以“AI新基建产业新机遇”为大会主题,致力打造国内人工智能和机器人领域规模最大、规格最高、跨界最广的学术、工业和投资领域盛会。
今年CCF-GAIR的“机器人前沿专场”汇集了来自学术界和产业界的专家、有院士级人物、承担国家级机器人研究项目的大牛以及产研能力兼具、奋斗在机器人商业化一线战场的开拓者。
本次专场首先出场的嘉宾是加拿大阿尔伯塔大学终身教授张宏。张宏教授是加拿大工程院院士、IEEEFellow。曾经担任在温哥华举行的年IEEE世界智能机器人与系统大会(IROS)总主席,最近马上要加入中国南方科技大学电子与电器工程系。
迄今为止,张宏教授已在国际顶级期刊及重要会议上发表了将近余篇文章,涉及机器人操作、多智能系统、视觉检测和视觉导航。张宏教授今天的演讲主题是《移动机器人全局定位技术与方法》。
张宏:
大家早上好,非常高兴有机会和大家在这里交流一下我在移动机器人全局定位话题的了解。今天是以分享学术研究的角度给大家做报告,其中包括我所了解到这方面研究的回顾,也包括我本人近年的工作。
1
机器人导航
大家都知道,机器人分不同形式,有操作的机器臂,还有移动机器人,所有移动机器人都需要进行导航,包括防爆机器人、双足机器人、四足机器人、清洁机器人、UVA、自动驾驶机器人等等,所有的移动机器人都必须有一个自主导航的功能。
我今天的报告围绕移动机器人导航这个话题,首先给大家介绍一下导航都牵涉到的几个方面,今天的重点是放在移动机器人的全局定位的这个问题上。机器人定位这件工作需要一些传感信息,对于环境感知的传感器,主要讲两大类:激光雷达和视觉。主要的时间回顾一下过去和最近机器人、移动机器人定位方面的研究工作,最后花几分钟和大家分享这个研究方向的展望。
大家对于移动机器人这个题目应该不陌生,传统的研究方向起码包括这几类:轨迹规划、避碍、构建地图和定位。构建地图和定位这两个工作又是耦合的,没有地图也就谈不到定位,我们做地图的过程当中也需要定位,所以这两件工作必须同时完成。二者的同时研究称之为SLAM,即simultaneouslocalizationandmapping的缩写。
2
机器人定位:局部vs全局
今天的报告侧重于定位问题,定位又分为全局定位和局部定位,为了完成这件工作,有三类传统方式:优化方法、全景描述方法和局部特征匹配方法。任何一种方法都必须有传感器信息的支持,我今天主要讲如何利用激光雷达和视觉信息完成全局定位。
如何完成全局定位呢?可以用传统的手工建立模型的方法,也可以用机器学习的方法,我们讲定位这件事时有一个假设:地图是已知的。刚刚已经提到,定位这件工作分两个类,一类是局部定位/精定位,前一瞬间机器人做动作的时候位置是已知的。另一类为全局定位更难一些。全局定位的困难和挑战,来源于三个方面:
1、缺乏先验知识;即前一瞬间机器人的位置是未知的。
2、在重新定位和闭环检测的时候,即机器人回到某个曾访问过的位置,会发生各种各样的变化,包括光照、视角的变化,同时也有一些动态的物体造成的变化;
3、大尺度。因为常常地图包含了很多不同的位置,把目前传感器观察到的信息和地图里面的不同位置的信息进行匹配时,会牵涉到计算复杂性的问题,我们把这个挑战称之为大尺度问题。
谈到这里不妨从仿生学看看自然界的鸟类是如何完成这件工作的,并从中得到启发。大家肯定知道候鸟导航能力是相当强的,可以跨越超过一万公里之外的目的地,顺利完成导航任务。它们是如何完成的呢?无外乎是依靠如下几类传感技术:
1、眼睛。视觉是使得它们完成中距离和近距离的导航;
2、方向。通过地球磁场、太阳偏振光、星星和时间的概念,来完成长距离的导航工作。
3、地图。也许我们人在这方面不是很强,但是自然界的动物,包括鱼和鸟都通过嗅觉来完成导航。还有一些鸟有声纳能力,可以通过声音来测距。这些鸟类使用的传感技术实际上和机器人完成全局定位使用的传感技术是非常类似的。
3
机器人定位传感器
机器人做定位也需要传感器,主要分两大类:激光雷达和视觉。
早年激光雷达由西方的公司Velodyne、Hokuyo和SICK垄断,但今年国内科学技术突飞猛进的发展,出现了令人兴奋的激光雷达产品。导航定位也需要其他的传感器,比如说全球定位、雷达声纳和视觉深度像机传感器等。
不同的传感器有不同的优缺点,我谈一下激光雷达和视觉之间的比较。激光雷达产生的是点云,做全局定位需要解决的工作是把激光雷达观察到的点云跟地图中若干个点云进行匹配或者是数据关联。优点是精度高、具有三维信息;缺点是缺乏纹理信息。相比之下,视觉提供了激光雷达不能提供的纹理信息,但是精度低一些,在室外能达到十几米、几十米的定位精度,室内则可以达到厘米级。当然,视觉最大的问题之一就是失去了三维信息。
刚刚谈到了什么是全局定位,它和局部定位有什么区别;同时也谈到了传感技术,接下来谈一下全局定位技术,即完成该工作的算法。
全局定位的问题有二十余年的研究历史,很有趣的是,最开始全局定位方法是由激光雷达做起的,主要利用传统的手工特征,即对激光雷达点云进行处理、提取特征,通过特征匹配完成全局定位,匹配算法是基于优化的方法。目前发展方向主要是基于视觉完成全局定位,特征提取的手段主要是依靠深度学习,而且是利用对局部的特征进行提取和匹配,完成全局定位。
从方法分类上,全局定位的技术有三个维度:
1、传感信息的来源:激光雷达、视觉和多模式融合。
2、特征提取方法:传统手工模型—由于原始数据量非常大,而且辨别力往往不好,所以需要对其进行特征提取—和通过深度学习完成的方法。
3、定位算法,利用提取出来的特征完成定位这件事情:优化方法--定位损失函数到达最小值的时候就为机器人的位置、通过全景描述符匹配或局部特征匹配完成定位的事情。
任何一种全局定位方法无外乎就是选择某种传感器+特征提取方法+算法构成。
4
机器人定位研究:过去和现在
我这里首先介绍一些比较经典的工作,这篇文章是在年完成的,是我能想到最经典的方法,还有很多同学和朋友用过ROS(robotoperatingsystem),对AMCL函数非常的熟悉,假设下图中间蓝色的地图是已知的,给定激光雷达的点云,这个点云是单线也即由二维的激光雷达获取,通过对机器人可能出现的位置进行逐步的更新、优化,最后可以完成对机器人定位这件工作。ACML利用的工具是离子滤波器,也是一种优化的方法。那么我们可以把这个最经典的方法从三个维度分类,它是利用二维激光雷达、手工特征和优化计算方法完成全局定位工作。
再往前推进10年,到8年的时候,也有代表性的文章,通过子地图匹配的方法。刚刚讲到了做全局定位时往往需要对原始数据进行处理,原始数据量大,辨别力低,处理比较麻烦,所以需要对其进行特征提取。这个文章提出了一个基于直方图的特征,用这些直方图来刻画子地图,完成对子地图之间的匹配。相当于用一个点云对准的方法完成这个定位的过程,就是把定位的问题转换为点云对准的问题加以解决。
再往前推进10年是谷歌推出的大家比较熟悉的激光雷达SLAM算法,这也牵涉到全局定位的问题,通过对地图网格化,对机器人的位置进行估计,对特征提取这件事它最大的特点是它所使用的branch-and-bound优化方法很成熟,使得它做全局定位的方法比前人提出方法效果好很多。
最近有代表性的方法体现在这篇CVPR发表的文章,用深度学习的方法来完成全局定位这件工作。这个网络分两大部分:
1、最左边三个不同的点云,对每个点云初步计算,把每个点云位置确定出来。
2、右边的部分是把这几个已经初定位的定云进行精定位。就是把全局定位分解成地图、点云对齐的两步。是一种利用优化解决全局定位的方法,单优化的过程不是通过经典的解析优化算法,而是通过神经网络来完成优化,效果相当好。
以上介绍的所有方法都是基于二维的点云完成全局的定位,到了10年前,即年左右,三维点云、多线激光雷达技术慢慢地成熟,随之而来的是基于三维点云分析方法和移动机器人全局定位方法。
这篇文章解决了尺度问题:首先对三维多线激光雷达产生的点云进行特征(NARF)提取,把现在观察到的NARF特征跟地图中的NARF特征进行快速匹配,完成全局定位。
此外,和上一件工作类似,这篇文章介绍了更新颖的三维特征点Gestalt的提取方法,提高辨别力,使得点云匹配的效果非常好。
以上的所有的工作都是基于对三维点云中局部特征点的匹配来完成全局定位工作,年我有两个学生首次提出了如何产生所谓全局描述符:给定一组由若干个点云组成的地图,之后对每一个点云进行描述,把地图所有点云变成了描述符;当机器人观察到某一个点云时用同样的方法对其进行刻划,产生描述符。然后把观察到的描述符和地图中的描述符进行一一匹配之后,进行相似度计算,可以产生当下机器人的位置。
这件工作中描述符是如何产生的呢?
输入是一个点云,输出是向量,该向量描述了点云的特征,产生过程包括若干个步骤。首先把点云投影到几个特定的二维平面,再产生直方图,直方图拼接构成矩阵,通过对矩阵进行奇异值分解(SVD)计算该矩阵的左右特征向量,最后把两个对应最大奇异值的左右特征向量拼在一起,构成一个一维的向量作为点云的描述符。
描述符的代码是开源的: