Xtion深度摄像头在移动机器人导航中的应用
2018-04-11郭文强
郭文强, 张 筱, 师 帅, 韩 阳
(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)
0 引言
随着机器人实际部署数量的增加,尤其是商业和消费类移动机器人的应用前景显现,整个工程技术领域对机器人行业的技术发展投入了巨大的热情和资源.针对复杂的环境,让机器人进行行走,导航系统发挥着极其重要的作用.目前,导航技术已经广泛应用于自然灾害、资源探索、交通运输等诸多方面[1].
导航系统需要通过各种传感器输出的位置信息来判断机器人目前所在位置以及下一步执行动作[2].目前,多数导航设备,如我国的北斗、美国的GPS、欧盟的伽利略、俄罗斯的格罗纳斯,由于定位系统星座发射的微波信号过于微弱等原因,无法应用于室内导航.
室内定位导航技术目前还处在探索与发展阶段.常见的惯性导航测量,通过积分计算获取载体的导航信息,惯性精度会累积,从而影响导航效果[3].Xtion深度摄像头是华硕公司继微软公司生产的Kinect深度摄像头之后的新一代视觉传感器设备.Xtion相对于Kinect拥有更小的体积,并使用光编码技术加上价格低廉的CMOS感光芯片,大大降低产品的成本.另外,Xtion数据不会因为时间的累积产生误差,可以补偿惯性导航测量等带来的误差,为机器人导航提供更准确的位置信息.
1 机器人位移、偏移度传感数据工作原理
1.1 IMU惯性测量单元
惯性测量单元(Inertial Measurement Unit,简称IMU)是测量物体三轴姿态角(或角速率)以及加速度的装置[4].其中的加速度计可以测量移动机器人运动的线加速度,进行积分及二次积分计算出速度和位置信息;角速率仪可以测出角速度,进行积分计算出姿态信息.从已知初始位置开始,根据连续测得的机器人加速度和角速度推算出下一时刻机器人的位置和姿态,从而实时地确定机器人当前位置和姿态.
外力加速度对惯性测量单元IMU精度影响很大,常导致位置误差随时间变大.
1.2 增量式光编码器的工作原理
增量式光电编码器可作为里程计搭载在移动机器人的轮子上.当移动机器人向前移动一段时间后,借助增量式光电编码器可以测量出轮子旋转的圈数,再根据已知轮子周长,便可计算出移动机器人的移动距离.
光电编码器由于码盘刻划精度、轴系跳(晃)动、安装工艺、环境干扰等原因必然存在误差[5].
1.3 Xtion深度摄像头的工作原理
Xtion深度摄像头通过投射一些“随机”点阵,然后用一个普通的CMOS传感器来捕捉这个点阵.当场景的深度信息发生变化时,摄像头捕获到的点阵信息也会发生变化,通过这个变化就能推算出深度信息.它能够提供三大类的原始数据信息,包括深度数据流、彩色视频流、原始音频流等.因此,Xtion深度摄像头适用于骨骼跟踪、身份识别、语音识别等应用场景.而在本文中,除了用于导航过程中的障碍物感知功能,主要应用Xtion采集的深度数据流和彩色视频流的数据,实现机器人位移和偏移度感知.
考虑到Xtion深度摄像头感应范围有限,范围在0.8~3.5 m[6],当障碍物距离摄像头小于0.8 m时,位置精度会下降,故本实验采用IMU和增量式光电编码器作为Xtion摄像头盲区部分数据采集的补偿设备,以提升移动机器人在导航过程中的感知能力.
2 应用Xtion深度摄像头导航的方法
2.1 基于Xtion的移动机器人导航硬件平台设计
移动机器人导航系统常采用多种传感器获取感知和路径规划所需的大量环境信息以及移动机器人位置与姿态信息.考虑到移动机器人导航系统工作环境的复杂性和任务的特殊性,本导航系统的控制单元由路径规划单元、运动控制单元和数据融合单元组成.
图1是本文采用的基于Xtion的移动机器人导航系统组成示意图.机器人本体采用轮式移动机构实现移动.整个系统应用Xtion深度摄像头、MPU6500 IMU传感器、E6B2-CWZ6C光电编码器采集机器人位移、偏移度数据,并传送到PC(也可采用树莓派等微型计算机)为核心的数据融合单元进行数据融合.
图1 移动机器人导航系统示意图
路径规划单元利用融合后的传感数据,再根据经典的A*算法规划出一条相对最优路径;运动控制单元采用Arduino控制板,按照路径规划单元提供的一系列航路点,控制轮式移动机构动作实现机器人从起始位置到设定的目标位置的无碰撞运动完成导航任务[7].
2.2 机器人位移、偏移度数据融合算法
步骤2:估计k时刻的值,因在实际运动过程中,移动机器人在相邻时刻的相对运动量信息的变化很小,故设定k-1时刻与k时刻位姿信息量如下(1)式:
(1)
(2)
(3)
步骤4:测量值为如下(4)式:
(4)
(5)
(6)
步骤6:计算k时刻的X轴、Y轴和θ的相对运动量:
(7)
(8)
(9)
步骤7:计算移动机器人相对运动量融合结果:
(10)
(11)
(12)
其中:W1、W2、W3是三种传感器的权值.
步骤8:根据移动机器人上一时刻位姿(Xk-1,Yk-1,θk-1)和相对运动信息(ΔXk,ΔYk,Δθk),估算机器人当前的位姿(Xk,Yk,θk):
(13)
通过以上算法计算过程,得到应用Xtion传感器后,每一时刻移动机器人的位移(Xk,Yk)、偏移度θk数据.
(14)
(15)
步骤10:终止条件判断:当机器人移动至目标位置允许误差范围内,算法终止;否则,返回步骤2进行迭代运算.
2.3 利用融合算法和A*算法实现的导航
设定机器人的起始点和目标终点坐标,导航系统在已知地图的情况下根据A*算法规划出的相对最优路径[9].机器人在向目标点移动过程中,不断更新环境信息、感知环境和自身位姿的变化,并将传感器不断采集的位置数据,用卡尔曼滤波进行数据融合,经路径规划单元、运动控制单元,自主的做出相应的调整,实现避障.
上述过程周而复始,即不断进行定位感知与路径更新、执行的过程,直到移动机器人到达设定的目标终点,从而完成导航任务.
3 实验分析
3.1 移动机器人导航实验设计
为了验证本文所提方法在移动机器人室内导航系统中的有效性,进行了如下两组导航对比实验.一组是传统的采用IMU惯性测量单元和增量式光电编码器作为主要传感器(下简称“无Xtion”法);另一组是采用Xtion深度摄像头作为主要传感器结合IMU惯性测量单元、增量式光电编码器(下简称“本文方法”).移动机器人导航系统实验平台实物如图2所示.
图2 移动机器人导航系统平台实物图
实验中所有Xtion、IMU、光电编码器数据需传送至PC中按照本文算法进行机器人位移、偏移度数据融合,根据A*算法更新路径规划,最后控制机器人从起始点向目标点移动.系统的软件平台采用机器人操作系统(Robot Operating System),程序设计采用Python和C++语言完成.
实验环境为室内,整个地图区域为500 cm×500 cm,机器人起始点坐标(30,30)和终点坐标为(300,450),单位为cm.设终点坐标允许误差范围为5%,测量噪声是方差为1的高斯白噪声.根据实验经验,增量式光电编码器信息、视觉信息和IMU的权值分别为:W1=0.85,W2=0.95,W3=0.7.
移动机器人导航过程中传感器每间隔1 s采集一次数据.图3为移动机器人分别进行10次导航实验取平均结果的航迹,其中黑色的矩形块代表障碍物.图3中实线是通过A*算法规划的理想路径;虚线是基于无Xtion方法获取的移动机器人导航航迹(“无Xtion”法);点划线是本文基于Xtion深度摄像头应用于移动机器人行程的导航航迹(“本文方法”).
按照本文提出的融合算法,以k=10 s为例,给出主要实验结果.三种传感器在三种传感器的位移、偏移度变化量数据为:
求取第10 s时机器人移动加权平均变化量结果为:
ΔXk= 12.72 cm/s
ΔYk=12.72 cm/s
Δθk=1.98 °/s
再根据第9 s时X、Y、θ的取值:
Xk-1=85.25 cm
Yk-1=90.16 cm
θk=30.50 °
通过公式(13)计算得机器人第10 s的位姿信息:
Xk= 89.75 cm
Yk=94.66 cm
θk=32.48 °
对应位置如图3所示点(89.75,94.66).
图3 移动机器人导航航迹对比
通过以上算法计算出本实验结果,给出图3的实验对应的数据,如表1所示.同时,在不改变500 cm×500 cm地图、起始点坐标(30,30)、终点坐标(300,450)的前提下,改变地图中的障碍物大小及位置,利用本文提出的算法进行10次导航实验取平均,三种方式的表示形式同图3,结果如图4所示.
图4 不同障碍物实验的仿真结果
3.2 实验结果与分析
从表1、图3、图4可以看出,根据算法计算过程得,本文方法与A*算法得出的机器人理想航迹更为接近.
在航迹误差方面,本实验位置误差水平基本维持在1~2 cm内;而仅使用IMU和光电编码器的方法误差可接近10 cm.
实验结果表明:应用Xtion深度摄像头能够补偿IMU惯性测量单元、增量式光电编码器在移动机器人导航中测量的不足,可以有效地提升导航系统的准确性.
表1 三种方法的实验数据对比(单位:cm,cm,°)
4 结论
本文应用新型、成本较低视觉传感器Xtion深度摄像头作为移动机器人导航过程中的主要传感器,提出一种机器人位移、偏移度数据融合算法.实验结果表明,在整个导航系统中应用Xtion深度摄像头,可以有效地补偿IMU、光电编码器等传感器在移动机器人导航系统产生的误差,从而提升移动机器人导航系统的导航精度,为自主机器人实现高性能导航提供了一种新途径.
[1] Jose Rivera Rubio,Kai Arulkumaran,Hemang Rishi,et al.An assistive haptic interface for appearance-based indoor navigation[J].Computer Vision and Image Understanding,2016,149(8):126-145.
[2] Peter Henry,Michae Krainin,Evan Herbst,et al.RGB-Dmapping:Using kinect style depth cameras for dense 3D modeling of indoor environments[J].International Journal of Robotics Research,2012,31(5):647-663.
[3] 王可,戈振扬,郭浩,等.基于Xtion传感器的玉米果穗三维形态指标测量系统[J].传感器与微系统,2015,34(4):62-65.
[4] 曹宇,宋爱国,纪鹏,等.基于IMU模块的救援机器人姿态显示系统设计[J].电子测量技术,2015,38(11):92-95.
[5] 董静,万秋华,赵长海,等.光电编码器故障诊断技术研究现状与展望[J].中国光学,2015,8(5):755-767.
[6] 杨兴臻.基于Xtion传感器的空调跟踪送风设计[D].哈尔滨:哈尔滨工业大学,2016.
[7] 孙雷,王孙安,张进华,等.移动服务机器人共享控制研究[J].陕西科技大学学报(自然科学版),2015,33(1):169-174.
[8] Marco Berardi,Andrea Andrisani,Luciano Lopez,et al.A new data assimilation technique based on ensemble Kalman filter and Brownian bridges:An application to Richards'equation[J].Computer Physics Communications,2016,208(11):43-53.
[9] 关泉珍,鲍泓,史志坚.基于A*算法的驾驶地图路径规划实现[J].北京联合大学学报(自然科学版),2016,30(2):31-39.