APP下载

基于激光SLAM的移动机器人的改进实现

2018-12-21沈一鸣赵希宇

机械工程与自动化 2018年6期
关键词:激光测距仪移动机器人坐标系

沈一鸣,赵希宇

(沈阳工业大学 机械工程学院,辽宁 沈阳 110870)

0 引言

移动机器人的同时定位与建图(Simultaneous Localization And Mapping,SLAM)是将定位与地图创建合二为一,是当今移动机器人研究的一个核心问题,也是后续路径规划与运动控制的基础[1-3]。当前,与视觉SLAM相比,激光SLAM已经相对比较成熟,在移动机器人的实现上也比较方便。本文以实现激光SLAM的移动机器人平台为基础进行改进研究,分析比较以激光测距仪获取扫描数据和以用Kinect获取的深度图像信息转化为二维扫描数据来实现激光SLAM算法的优劣性。综合考虑激光测距仪扫描数据的更高准确性以及Kinect对三维场景的认识,对基于激光SLAM的移动机器人的实现提出改进方案。当移动机器人同时配备激光测距仪和Kinect时,可以得到较高质量的环境地图和较准确的定位信息以及通过复杂环境的能力。

1 SLAM的相关模型

1.1 移动机器人运动模型

本实验选取差分驱动的移动机器人进行激光SLAM算法的实现,并考虑系统输入噪声。

在Δt时间内,以恒定线速度v和角速度ω作为系统输入,用W(k)表示输入的零均值的高斯白噪声,X(k)表示机器人在k时刻的位姿(xk,yk,θk)T,X(k-1)表示机器人在上一时刻的位姿(xk-1,yk-1,θk-1)T,u(k)表示系统的控制输入(v,ω)T,则它们满足如下的关系:

X(k)=f(X(k-1),u(k))+W(k).

(1)

(2)

1.2 基于激光测距仪的观测模型

若采用激光测距仪作为观测传感器,假设在k时刻移动机器人的位姿由(xt(k),yt(k),θt(k))T给定,此时机器人通过激光测距仪探测到的第i个特征位置用(xi,yi)表示,特征的总数为N,那么可以获得的k时刻传感器的观测信息Z(k)为:

(3)

2 Kinect深度图数据处理

2.1 深度图像信息转化为点云图数据

图1为透视投影关系,已知O-XYZ为相机坐标系,O1-xy为图像坐标系,图像坐标系到相机坐标系之间的距离为f,相机坐标系的原点定为相机中心点C,相机中心点C到图像坐标系的垂线为相机主轴,相机主轴与图像坐标系的交点c为主点。

假设图像坐标系中的点p(x,y)是由场景空间中的点P(X,Y,Z)通过投影关系得到,水平像素焦距和垂直像素焦距分别为fx和fy,主点c的坐标为(cx,cy)。相机坐标系中的点可以经过一个旋转变换和一个平移变换转化到图像坐标系中,由透视投影关系可以得到如下的关系式:

(4)

其中:S为比例系数;R为旋转矩阵;T为平移矩阵;fx、fy、cx、cy均为相机的内部参数。

相机的内部参数可以通过对Kinect的标定来获得,也可以取默认值:S=5 000,cx=320,cy=240,fx=fy=525,但是会与标定值有稍许偏差。

图1 透视投影关系

2.2 深度图像信息转化为激光测距仪扫描信息

图2为深度图像信息转化为激光测距仪扫描信息的原理,O′-MN平面是经过点P(X,Y,Z)且平行于O-XY平面的平面,其中点O′经过OZ轴,AP平行于OY轴,BP平行于OX轴。已知OO′的距离为dOO′,O′A的距离为dO′A,O′B的距离为dO′B,由三角关系可以求得:

∠AOO′=arctan(dO′A/dOO′).

(5)

假设激光数据的角度范围为[α,β],激光束按角度共被分为K份,用laser[m]表示第m条激光束的数据。由此可以得出点P对应的激光束的索引值mP和激光束具体的扫描数据值laser[mP]分别为:

mP=K(∠AOO′-α)/(β-α).

(6)

(7)

图2 深度图像信息转化为激光测距仪扫描信息的原理

3 传感器性能对比

移动机器人系统中,硬件的精度直接影响算法的效果。在相同的基于激光SLAM算法框架中,激光测距仪的精度直接影响后验概率。激光测距仪的精度越高,那么基于传感器的观测信息越能表现出真实环境的信息,而移动机器人也能获得对环境一个更好的认识。表1为URG-04LX-UG01型号的激光测距仪和Kinect的硬件参数对比。

由表1可以发现:基于水平面内的测量,激光测距仪推荐的测量距离范围较Kinect的测量距离范围广,并且最近测量距离也比Kinect优越很多,有利于机器人通过传感器获取近距离的观测信息,因此有利于后续移动机器人同时建图与定位的实现;Kinect可以获取三维信息,这是激光测距仪所不具有的功能。

表1 URG-04LX-UG01型号的激光测距仪和Kinect的硬件参数对比

4 基于不同传感器的激光SLAM效果对比

为了比较激光测距仪和Kinect两者应用于激光SLAM的效果,以FASTSLAM 2.0作为激光SLAM算法进行测试,分别比较分析以激光测距仪的扫描数据和由Kinect深度信息转换而来的扫描数据作为系统的输入获得的环境地图质量,以及对移动机器人定位准确性的影响。

移动机器人采用Kobuki基座进行运动控制,同时配备激光测距仪和Kinect传感器,并分别记录在相同系统状态下激光测距仪扫描数据和由Kinect深度信息转换而来的扫描数据。之后,把通过激光测距仪获得的数据和Kinect获得的数据作为不同观测,基于FASTSLAM 2.0进行测试。

图3和图4分别为基于激光测距仪数据和Kinect数据获得的环境地图,测试的环境是一个楼梯间、两个卫生间和一部分走廊。通过图3与图4的比较可以发现,基于激光测距仪数据获得的环境地图较基于Kinect数据获得的环境地图质量更好,更贴合实际环境。

图3由激光测距仪数据获得的环境地图图4由Kinect数据获得的环境地图

图5为移动机器人实际位置以及对应点基于激光测距仪数据和Kinect数据的估计位置的采样点形成的路径曲线。由图5可以发现,以激光测距仪数据估计的机器人位置与实际机器人位置的误差比以Kinect数据估计的机器人位置与实际机器人位置的误差小,前者的轨迹更接近于机器人实际的轨迹。因此,实验表明,以激光测距仪数据作为观测信息较以Kinect数据作为观测信息能得到更好的定位效果。

综合考虑采用不同传感器数据作为观测得到的移动机器人定位与建图的效果,采用激光测距仪数据作为观测时,机器人的定位与创建的环境地图明显优于采用Kinect数据作为观测时的结果。实验表明:激光测距仪与Kinect相比,更适合作为获取激光SLAM观测信息的传感器。

5 导航

以往基于激光SLAM的移动机器人通常只配备激光测距仪,但激光测距仪存在局限性(如图6所示),它只能得到激光测距仪激光束所在平面内的障碍物信息,而不能考虑三维环境的信息。因此,在移动机器人导航时,当地面上存在激光测距仪不能检测到的障碍物时,由于缺少环境的信息,移动机器人导航时会认为区域安全而撞上障碍物,最终导致导航失败。

图5 移动机器人的路径曲线比较

图6 激光测距仪局限性说明

为了克服激光测距仪不能获取三维环境信息的缺点,将Kinect配置到移动机器人上,用Kinect将三维环境信息的点云数据转化为激光测距仪对应的扫描数据,在导航时,结合激光测距仪的扫描数据和由Kinect转化而来的扫描数据,使得机器人具备能够顺利通过复杂环境的能力,改进后移动机器人在已知环境中的导航结果如图7所示。当机器人结合Kinect的数据时,会综合考虑三维环境的信息,从而成功避开障碍物,最终实现有效的移动机器人导航。

图7 移动机器人在已知环境中的导航结果

6 结语

本文将激光测距仪和Kinect同时配备在移动机器人上,作为获取外界环境信息的手段。同时配备激光测距仪和Kinect的移动机器人继承了基于激光测距仪数据的激光SLAM的优越性,同时弥补了激光测距仪不能获取三维环境信息的不足。一方面,以激光测距仪数据作为基于激光SLAM的移动机器人的观测信息,可以获得较高的定位精度和建图效果;另一方面,将激光测距仪数据和Kinect数据综合考虑用于移动机器人导航,可以使移动机器人获得通过复杂环境的能力。

猜你喜欢

激光测距仪移动机器人坐标系
移动机器人自主动态避障方法
独立坐标系椭球变换与坐标换算
解密坐标系中的平移变换
坐标系背后的故事
激光测距仪在起重机检验中的运用
基于Twincat的移动机器人制孔系统
利用激光测距仪对采空区快速地形测量方法
储丝柜分配行车精确寻柜技术改造
基于单片机的船舶避碰系统的设计
极坐标系下移动机器人的点镇定