机器人定位技术|移动机器人全局定位技术与方法( 二 )


机器人定位技术|移动机器人全局定位技术与方法

1、眼睛 。视觉是使得它们完成中距离和近距离的导航;
2、方向 。通过地球磁场、太阳偏振光、星星和时间的概念,来完成长距离的导航工作 。
3、地图 。也许我们人在这方面不是很强,但是自然界的动物,包括鱼和鸟都通过嗅觉来完成导航 。还有一些鸟有声纳能力,可以通过声音来测距 。这些鸟类使用的传感技术实际上和机器人完成全局定位使用的传感技术是非常类似的 。
3 机器人定位传感器
机器人做定位也需要传感器,主要分两大类:激光雷达和视觉 。
早年激光雷达由西方的公司Velodyne、Hokuyo 和SICK垄断,但今年国内科学技术突飞猛进的发展,出现了令人兴奋的激光雷达产品 。导航定位也需要其他的传感器,比如说全球定位、雷达声纳和视觉深度像机传感器等 。
不同的传感器有不同的优缺点,我谈一下激光雷达和视觉之间的比较 。激光雷达产生的是点云,做全局定位需要解决的工作是把激光雷达观察到的点云跟地图中若干个点云进行匹配或者是数据关联 。优点是精度高、具有三维信息;缺点是缺乏纹理信息 。相比之下,视觉提供了激光雷达不能提供的纹理信息,但是精度低一些,在室外能达到十几米、几十米的定位精度,室内则可以达到厘米级 。当然,视觉最大的问题之一就是失去了三维信息 。
刚刚谈到了什么是全局定位,它和局部定位有什么区别;同时也谈到了传感技术,接下来谈一下全局定位技术,即完成该工作的算法 。
全局定位的问题有二十余年的研究历史,很有趣的是,最开始全局定位方法是由激光雷达做起的,主要利用传统的手工特征,即对激光雷达点云进行处理、提取特征,通过特征匹配完成全局定位,匹配算法是基于优化的方法 。目前发展方向主要是基于视觉完成全局定位,特征提取的手段主要是依靠深度学习,而且是利用对局部的特征进行提取和匹配,完成全局定位 。
从方法分类上,全局定位的技术有三个维度:
1、传感信息的来源:激光雷达、视觉和多模式融合 。
2、特征提取方法:传统手工模型—由于原始数据量非常大,而且辨别力往往不好,所以需要对其进行特征提取—和通过深度学习完成的方法 。
3、定位算法,利用提取出来的特征完成定位这件事情:优化方法--定位损失函数到达最小值的时候就为机器人的位置、通过全景描述符匹配或局部特征匹配完成定位的事情 。
任何一种全局定位方法无外乎就是选择某种传感器+特征提取方法+算法构成 。
4 机器人定位研究:过去和现在
我这里首先介绍一些比较经典的工作,这篇文章是在1999年完成的,是我能想到最经典的方法,还有很多同学和朋友用过ROS (robot operating system),对AMCL函数非常的熟悉,假设下图中间蓝色的地图是已知的,给定激光雷达的点云,这个点云是单线也即由二维的激光雷达获取,通过对机器人可能出现的位置进行逐步的更新、优化,最后可以完成对机器人定位这件工作 。ACML利用的工具是离子滤波器,也是一种优化的方法 。那么我们可以把这个最经典的方法从三个维度分类,它是利用二维激光雷达、手工特征和优化计算方法完成全局定位工作 。
机器人定位技术|移动机器人全局定位技术与方法

再往前推进10年,到2008年的时候,也有代表性的文章,通过子地图匹配的方法 。刚刚讲到了做全局定位时往往需要对原始数据进行处理,原始数据量大,辨别力低,处理比较麻烦,所以需要对其进行特征提取 。这个文章提出了一个基于直方图的特征,用这些直方图来刻画子地图,完成对子地图之间的匹配 。相当于用一个点云对准的方法完成这个定位的过程,就是把定位的问题转换为点云对准的问题加以解决 。
机器人定位技术|移动机器人全局定位技术与方法

再往前推进10年是谷歌推出的大家比较熟悉的激光雷达SLAM算法,这也牵涉到全局定位的问题,通过对地图网格化,对机器人的位置进行估计,对特征提取这件事它最大的特点是它所使用的branch-and-bound优化方百思特网法很成熟,使得它做全局定位的方法比前人提出方法效果好很多 。
机器人定位技术|移动机器人全局定位技术与方法

最近有代表性的方法体现在这篇CVPR 2019发表的文章,用深度学习的方法来完成全局定位这件工作 。这个网络分两大部分:
1、最左边三个不同的点云,对每个点云初步计算,把每个点云位置确定出来 。