APP下载

两种基于激光雷达的SLAM算法最优参数分析*

2018-04-09高文研平雪良贝旭颖

传感器与微系统 2018年4期
关键词:里程计移动机器人位姿

高文研, 平雪良, 贝旭颖, 陈 威

(江南大学 机械工程学院 江苏省食品先进制造装备技术重点实验室,江苏 无锡 214122)

0 引 言

准确的先验地图对移动机器人导航定位和路径规划具有重要意义[1]。激光雷达具有精度高,误差累积小等优点,在众多传感器中脱颖而出,越来越多地用于移动机器人地图构建定位[2]。开源机器人操作系统(robot operating system,ROS)平台,由于开放的理念及代码的复用性,极大减少了工作量,目前已在世界范围得到了大量应用[3]。

目前,ROS平台下主要有2种基于激光雷达的地图构建方法:Gmapping和Hector同步定位与地图构建(SLAM)。前者主要采用Rao-Blackwellized粒子滤波(Rao-Blackwellized particle filtering,RBPF)方法,借助里程计信息实现位姿估计;后者采用Gauss-Newton迭代法,通过激光数据匹配进行位姿估计[4]。其他设备如Kinect,采集的数据大多转化为激光数据的格式进行处理[5]。

目前,相关研究多偏于理论,缺少对不同参数配置下各算法优劣的对比。地图构建的效果和算法息息相关,但参数的选择对最终地图的生成也起着至关重要的作用。本文旨在通过不同参数配置条件下实现地图构建,对比二者构图效果,并指明参数最优配置的选择方法,实现算法的最优性能。

1 硬件与算法

1.1 激光雷达

采用的RPLidar A2激光雷达具有4 000次/s的高速激光测距采样能力,可以在二维平面8 m半径范围内进行 360°全方位的激光测距扫描,并产生所在空间的平面点云地图信息。测距范围为0.15~8 m,分辨率小于0.5 mm,最大扫描频率可达10 Hz,具有很高的精度。

激光传感器数据在ROS分布式架构下封装为sensor_msgs/LaserScan.msg数据格式,由/scan话题完成激光数据的发布工作。节点订阅该话题即可获得激光数据。

1.2 Gmapping算法

Gmapping算法基于RBPF方法,用于解决基于栅格的SLAM问题。需要里程计信息作为输入,并以激光雷达的数据作为观测值。R-B粒子滤波器的SLAM可以理解为将后验概率分解成机器人路径和特征地图两部分[6],即

p(x1∶t,m|z1∶t,u1∶t)=p(x1∶t|z1∶t,u1∶t)p(m|z1∶t,u1∶t)=

p(x1∶t|z1∶t,u1∶t-1)p(m|x1∶t,z1∶t)

(1)

式中x为机器人轨迹;m为由z观测得到的特征地图;u为里程计测量值。

RBPF算法运用粒子滤波器来估计后验概率,每个粒子代表一种潜在的轨迹,地图的生成高度依赖轨迹信息。但若传感器观测模型的误差远小于里程计误差,观测模型的似然函数概率和先验概率分布重叠区间很小,且只有小部分处于观测似然区间的粒子在更新后权值会增大。这部分粒子的权重与其他粒子相差较大,重采样后极可能丢失重要粒子。

Gmapping算法的提出正是基于上述问题。虽然里程计具有较高的可信度,但仍然存在着噪声大、不精确等问题,Gmapping算法将里程计和最新观测信息同时作为提议分布,并使采样尽可能分布在观测模型的似然函数可行区域中。采样提议分布如下[7]

(2)

与仅采用运动模型作提议分布的方法相比,提议分布融合了里程计信息和观测模型,更易取得似然函数的峰值。上述改进可以减少粒子损耗的风险,能够实现更精确的地图构建。

1.3 Hector SLAM

Hector SLAM属于一种2D的SLAM方法。与其他栅格地图构建算法[9,11,12]相比,Hector SLAM不需要里程计信息,其2D位姿估计只基于输入的激光数据与先验地图进行匹配。激光雷达的高更新频率和高精度,为其快速构图与位姿估计提供了硬件保障。

Hector SLAM采用的激光匹配算法基于Gauss-Newton迭代公式[13]。通过寻找移动机器人到先验地图的最佳刚体转换ξ=[pxpyψ]T,使激光数据与地图达到了最优匹配。即求最小的ξ*[4]

(3)

式中M(Si(ξ))为地图在Si(ξ)处的值,如果再给定一个位姿估计的初始值ξ,则Δξ的求取转化为通过迭代求最优化问题

(4)

用一阶泰勒展开式将M(Si(ξ+Δξ))进行展开,并对Δξ求偏导数,得

Δξ=

(5)

式中H为黑塞矩阵。

尽管Hector SLAM算法本身不提供闭环检测,但适用于多种场景,并构建出完整的环境地图,只需要很低的计算量,算法的实时性大幅提高。事实上,该算法已经成功应用于自主移动机器人、交通工具、手持设备及无人机领域,证明了该算法的实用性。

2 实验与结果

2.1 实验平台及架构

实验平台为自主研发的JNPF—2移动机器人,其控制系统架构及实物如图1、图2所示。嵌入式Linux平台通过WiFi与计算机进行通信;计算机端运算能力强,用于数据量较大的运算;嵌入式平台由于运算能力有限,只运行基本的功能包;STM32提供丰富的接口用于下位机的信息采集与驱动控制。

图1 移动机器人控制系统架构

图2 移动机器人实物

2.2 实验环境与变量

主要基于室内实验室环境,室内摆放了若干桌椅,清除不必要的杂物。根据Wiki官方资料,影响Gmapping与Hector SLAM构图效果的因素有很多,其中起重要作用的参数分别为:

Gmapping:particles、linearUpdate和angularUpdate。

Hector SLAM:map_update_distance_thresh和map_update_angle_thresh。

Gmapping构图时,首先对particles进行控制,选取合适的粒子数;然后保持粒子数目最优,对linearUpdate和angularUpdate进行测试。Hector SLAM构图时,首先确定map_update_distance_thresh和map_update_angle_thresh影响较大的范围,再在这个范围内取值进行测试。

2.3 构图效果分析

理论上,粒子数目越多,构建出的地图就越准确。实验结果如图3,通过比较发现,在粒子数目P由30增加到150的过程中,生成的地图精度不断变高,具体体现在边角特征明显,构建出的边特征锯齿明显变少;但当粒子数目增大到180以上时,地图效果较粒子数目为150时差,这是由于计算负载陡增,实时性降低导致。

图3 改变粒子数对 Gmapping 影响

在最优粒子数目下,LinearUpdate和AngularUpdate参数对构图效果影响如图4。

图4 最优粒子数目下Linear和Angular update对Gmapping影响

易知,AngularUpdate参数为0.2且LinearUpdate参数为0.1时地图构建效果最好。通过对比各列,随着LinearUpdate参数的增大,边特征的锯齿状效果越来越明显;通过对比各行,随AngularUpdate增大,边特征越来越不明显。整体来看,不同参数的选取,对Gmapping最终的构图效果影响有限。

angle_thresh和distance_thresh参数对地图构建效果影响如图5。对此范围之外的参数值,在地图构建启动时会有地图重叠现象,如图5中箭头标识处,已经进行剔除。angle_thresh在小于0.4的范围内影响作用有限。随着angle_thresh的增大,构建出的地图边特征趋于明显;在angle_thresh不变的情况下,更小的distance_thresh值可以使地图更为精确,较大的distance_thresh会使地图起始位置产生重叠。

图5 Hector SLAM 构图效果

3 结 论

使用RPLidar A2进行SLAM实验,对比了Gmapping和Hector SLAM的构图效果,并且分析了各参数对最终地图生成的影响,指明了参数最优配置的方向。由于不同型号的激光雷达的最优参数数值有所差异,通过采用本文分析方法可大幅节约确定最优参数的时间,且最优参数的确立对提高算法的性能具有重要意义。本文同时指出,Hector SLAM适用于对地图要求较高的场合,Gmapping易用性更好。

参考文献:

[1] 吴明轩,神文文,姜忠民,等.室内自主移动机器人系统设计[J].机械科学与技术,2013,32(6):44-48.

[2] 毛彬彬.基于激光雷达的移动机器人同时定位与地图创建的研究[J].机械设计与制造,2009(2):197-199.

[3] 高 雅,李晓娟,关 永,等.运用定理证明器ACL2验证机器人操作系统ROS节点间通信[J].小型微型计算机系统,2014,35(9):2126-2130.

[4] Kamarudin K,Mamduh S M,Shakaff A Y,et al.Performance analysis of the Microsoft Kinect sensor for 2D simultaneous localization and mapping(SLAM)techniques[J].Sensors,2014,14(12):23365-87.

[5] Kamarudin K,Mamduh S M,Shakaff A Y M,et al.Method to convert Kinect’s 3D depth data to a 2D map for indoor SLAM[C]∥IEEE International Colloquium on Signal Processing and ITS Applications,IEEE,2013:247-251.

[6] Murphy K,Russell S.Rao-Blackwellised particle filtering for dynamic Bayesian networks[C]∥Conference on Uncertainty in Artificial Intelligence,Morgan Kaufmann Publishers Inc, 2013:400.

[7] 厉茂海,洪炳熔,罗荣华.用改进的Rao-Blackwellized粒子滤波器实现移动机器人同时定位和地图创建[J].吉林大学学报:工学版,2007,37(2):401-406.

[8] Kohlbrecher S,Von Stryk O,Meyer J,et al.A flexible and scalable SLAM system with full 3D motion estimation[C]∥IEEE International Symposium on Safety,Security,and Rescue Robotics,IEEE,2011:155-160.

[9] Kamarudin K,Mamduh S M,Shakaff A Y,et al.Performance analysis of the Microsoft Kinect sensor for 2D simultaneous localization and mapping(SLAM)techniques[J].Sensors,2014,14(12):23365-23387.

猜你喜欢

里程计移动机器人位姿
室内退化场景下UWB双基站辅助LiDAR里程计的定位方法
移动机器人自主动态避障方法
车载自主导航系统里程计误差在线标定方法
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
基于Twincat的移动机器人制孔系统
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
大角度斜置激光惯组与里程计组合导航方法
小型四旋翼飞行器位姿建模及其仿真
基于几何特征的快速位姿识别算法研究