移动机器人SLaM方法及其发展前景*

2021-12-22 06:29姜鹏陶肖戴立根
数字技术与应用 2021年11期
关键词:移动机器人位姿卡尔曼滤波

姜鹏 陶肖 戴立根

1.复杂环境特种机器人控制技术与装备湖南省工程研究中心;2.湖南理工职业技术学院;3.OPPO广东移动通信有限公司

移动机器人的同步定位与制图(SLAM)问题经过几十年的研究已经得到了很大的发展。近年来随着计算机技术、人工智能技术的不断发展,移动机器人SLAM问题出现了新的发展方向。精度更高、价格更加低廉的传感器用于SLAM问题,多传感融合SLAM方案在蓬勃发展。本文对移动机器人SLAM问题的基本方法原理及关键技术进行梳理,并对SLAM未来发展的趋势与关键性的问题进行了讨论。

0 引言

移动机器人的同时定位与制图(SLAM,Simultaneous Localization and Mapping)被认为是机器人能否实现自主功能的关键性问题。大多数情况下,GPS信号的精度不能达到控制的要求,甚至在某些场景如矿井、地下室等GPS信号及其微弱。因此,依靠移动机器人自身实现定位及制图功能是其能够实现自主功能的必备前提功能。本文在介绍SLAM方法的分类、基本框架、原理的同时,分析探讨SLAM研究的最新技术、发展前景以及亟待解决的一些关键性问题。

1 SLAM技术概述

按照SLAM[1]问题求解方式的不同,可将SLAM方法分为两大类,一类为滤波(Filtering)[2]的方式,另一类为图优化(Graph Optimization)[2]的方式。SLAM问题的提出SLAM研究的首次提出源于Smith[3]年的一系列论文。Smith将机器人的运动轨迹描述定位过程,将传感器观测的路标集合点描述环境地图,从而将同时定位与建图引申为扩展卡尔曼滤波器(Extended Kalman Filter,EKF)[4]估计问题。如图1所示,用白色的三角形表示机器人在运动过程中的实际位姿,灰色的三角形表示机器人估计的轨迹位姿,白色的圆圈表示在环境当中观测路标的实际位置,灰色的圆圈表示在环境中观测路标的估计位置,黑色的箭头表示机器人传感器观测的方向,实线表示机器人的实际运动轨迹,虚线则表示相应的估计运动轨迹。

图1 SLAM问题示意图Fig.1 Schematic diagram of SLAM problem

SLAM问题实则是在0∶t时刻,移动机器人在未知的环境中进行运动,已知各时刻机器人的输入量ut以及传感器观测环境数据的观测量Zt求解各个时刻的机器人位姿Xt以及各个时刻的环境路标mt的位置向量,所有时刻的mt集合即构成环境地图。图中,黑灰不同的三角形以及虚线代表着因为传感器观测的数据与是数据之间存在误差,导致估计的Xt与mt与实际的不可避免的会存在误差,因此从另一个角度而言,SLAM问题又是一个求解最优解的过程。滤波的SLAM方法[4]对于t时刻的Xt、mt的求解依靠于t-1时刻的机器人位姿与地图的先验概率估计而与之前很多时刻机器人的位姿与地图无关,即之前的数据一经使用即被丢弃。与滤波方法的不同,图优化方法涉及对整个时间段的机器人位姿X1∶t以及地图m的后验概率估计。以下将对两类方法的基本原理及主流方法进行详细的介绍。

2 滤波SLAM方法

基于滤波的SLAM方法又称之为在线SLAM方法。这类方法不需要对传感器之前的观测数据Zt及控制数据Ut进行保存,机器人下一时刻的位姿状态只与当前时刻的控制量Ut及前一时刻的机器人位姿状态有关。利用贝叶斯估计原理,可表示为式(1)。

2.1 卡尔曼滤波及扩展卡尔曼滤波SLAM方法

早期的SLAM方法均为基于滤波的SLAM方法,最早的为卡尔曼滤波的方法。卡尔曼滤波由Kalman[5]提出的一种线性的最优的状态估计方法。该算法认为机器人当前时刻的状态与前一时刻的状态是线性的关系,满足式(2)。

式中At为无控制量时系统的状态转移矩阵,Bt为存在控制量时的状态转移矩阵,wt为噪声。该算法还认为传感器不同时刻的观测量也是线性的,满足式(3)。

式中Ct为观测矩阵,vt为噪声。同时该算法认为vt、wt均为高斯噪声。该算法实质上是一个加权的自适应算法,通过观测量噪声的方差及控制量噪声的方差求解出卡尔曼增益矩阵,从而对机器人的状态进行更新。然而,实际的机器人状态关系与观测量的关系并不总是满足线性的关系,因此在非线性的状态卡尔曼滤波算法将失效。为解决非线性情况下卡尔曼滤波算法失效的问题扩展卡尔曼滤波算法被提出,即EKF-SLAM,并取得了成功。扩展卡尔曼滤波算法其关键就是将式(2)、式(3)中非线性关系利用泰勒公式进行展开,同时舍弃掉二阶及以上的高阶项,从而对非线性关系进行线性化。扩展卡尔曼滤波虽在一定程度上取得了成功但在计算效率、自身线性化的误差等方面的问题是比较突出的,为了获得比较准确的机器人状态转移矩阵及传感器观测矩阵,环境信息特征的提取与匹配是该算法中的另一个关键性问题。

2.2 粒子滤波SLAM方法

为解决扩展卡尔曼滤波的非线性不足问题,粒子滤波的SLAM[6]算法被提出,最早的为FastSlam[7]算法。粒子滤波算法将机器人位姿与地图后验联合概率密度函数分解成机器人位姿密度函数与地图后验概率密度函数的乘积。如式(4)。

由上式,与卡尔曼滤波SLAM算法及EKF-SLAM算法对机器人位姿轨迹与环境地图同时进行估算不同,粒子滤波算法先对机器人的运动轨迹进行估计,然后利用已知轨迹对地图进行计算。其基本原理是对任意未知的概率分布函数,可以用一系列的带权重的粒子来表示,理论上来讲当采样粒子无限多时其误差可以接近无限小。最早的粒子滤波算法为FastSLAM,其先将式(4)中的机器人轨迹概率密度函数用一群粒子来表示,每一个粒子都是对机器人移动轨迹的一个采样。而后根据传感器数据对粒子群里粒子权重进行计算更新,随后对机器人轨迹进行重新采样以更新权重,最后对每个粒子的地图信息进行更新计算,完成整个过程。目前比较流行的有SIR[8]粒子滤波算法等。粒子滤波算法比较突出的问题就是其对内存的要求,由于粒子滤波算法的效果直接由粒子的数量影响,因此大多数情况下会要求采集数量较多的粒子,而每一个粒子是机器人轨迹及地图的采样,因此对计算机的内存要求较高。

3 图优化SLAM方法

图优化方法把SLAM问题看作一个优化问题。 滤波的SLAM方法一定程度上对于数据的处理都是线性化的处理,而实际的SLAM问题很大程度上都是非线性的,且以滤波的SLAM方法只利用机器人前一状态的值来估计当前状态的值很难做到全局的优化。与滤波的SLAM方法不同图优化的SLAM方法是非线性的优化方法。图优化方法保存之前每一时刻的机器人状态值,当前的值先与之前保存的值一起优化后,所有数据再放在一起进行优化。故此,图优化的方法一般分为优化前端和后端。图优化方法总体思路是根据移动机器根据传感器观测数据对机器人的轨迹位姿进行最大后验估计。一般来讲,其过程可如下描述:首先,系统对机器人的位姿、地图信息进行预估取一个值,然后根据传感器的观测值、运动模型以及机器人控制量得到测量值。机器人位姿数据预估值与测量值以及地图信息估计值与测量值之间不可避免将存在误差。我们将各时刻机器人位姿信息误差记为,将地图信息误差记为。图优化方法初始目标可记为求解式(5)的最小值。考虑到误差有正负之分因此将每个误差值作平方处理。如式(5)。

利用优化学求上式的梯度及二阶梯度矩阵利用梯度下降法求解最优值。如式(6)。

以视觉SLAM图优化方法为例一次SLAM过程中数据帧可能有上万个,作上式(6)处理其优化变量将以成百万增长,计算量是非常巨大的,因此图优化方法初期认为在移动机器人本体上是不可实现的。随着研究的深入,发现J和H两个矩阵具有“稀疏性”,因此用稀疏代数方法其求解在移动机器人身上成为可能,图优化方法得以发展。当前图优化方法是移动机器人SLAM问题比较流行的方法。其中视觉SLAM图优化方法较多学者对其进行研究。

4 SLAM方法的发展前景及问题

当前SLAM相关理论已经发展的比较的成熟,由于实际环境的复杂性在实际应用方面仍旧存在很多问题。基于视觉的SLAM方法在实际应用中较为普遍,但是当前基于视觉的SLAM与三维地图重建难以落地与产品化。同时,视觉传感器相较于IMU[9]、高分辨率的激光雷达以及差分GPS[7]在精度上有所缺陷。与此同时,随着科技的不断发展高精度的激光雷达、IMU及差分GPS等以前较为昂贵的传感器变得越来越便宜。因此当前多传感器融合的SLAM方案成为趋势,比如将高分辨率的激光雷达与差分GPS相机和的SLAM系统再辅以视觉作为补充在无人驾驶问题上得到应用。因此随着科技水平与计算机技术的不断进步,新的更好的传感器用于SLAM问题将是SLAM发展的一个重要方面。

随着大数据云计算的及计算机技术的不断发展,深度学习在各个科研领域得到广泛的应用。同样的,SLAM领域也有着深度学习的影子。研究这们尝试使用深度学习代替SLAM过程中的某一模块,如机器人位姿估计、图像特征提取与匹配等。如在文献[3]中使用神经网络解决视觉SLAM过程中地图点深度的不确定性问题,使得视觉SLAM帧间匹配准确率提高,提高系统鲁棒性。因此SLAM发展的另一个趋势就是与深度学习相结合。

5 结语

移动机器人SLAM问题经过几十年的发展研究,已开始逐步应用于生产生活。如扫地机器人、服务机器人、无人驾驶等领域。而然由于实际环境的复杂性与动态性,其在生产生活中的应用还存在诸多的问题。在实际生产生活环境下其鲁棒性、准确性都面临着很大的挑战。随着自动化程度的进一步提高,机器人实现未知环境下的自主移动必将会愈发重要,因此SLAM问题也将愈发受到更多科研人员的关注与研究。

猜你喜欢
移动机器人位姿卡尔曼滤波
移动机器人自主动态避障方法
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于Twincat的移动机器人制孔系统
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
小型四旋翼飞行器位姿建模及其仿真
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制
基于几何特征的快速位姿识别算法研究
极坐标系下移动机器人的点镇定