胡晓强 刘汉忠 贾良冠 张盟 吴正朕
摘 要:目前主流的机器人操作平台ROS(Robot Operating System)建图媒介是Kinect双目摄像头,采用CMOS红外传感器感知黑白光谱的方式来构建目标地图。计算量大,建图轮廓不清晰,地图构建与实际地图偏移量较大,重定位精度差。本文提出基于ROS平台的激光雷达Slam-GMapping的重定位技术,包括RBPF粒子滤波算法、激光雷达Slam-GMapping建图和机器人的重定位。实验结果表明:激光雷达Slam-GMapping相比于Kinect,能够更好地构建目标地图,建图效果更加优越,建图精度更高;该重定位技术的定位方位更加精确,定位误差更小。
关键词:ROS;激光雷达;RBPF;Slam-GMapping;重定位
中图分类号:TP273 文献标识码:A 文章编号:2096-4706(2019)12-0159-03
Abstract:Aiming at the current mainstream robot operating platform ROS(Robot Operating System) mapping medium is Kinect binocular camera,which uses CMOS infrared sensor to sense black and white spectrum to build the target map. The calculation is large,the outline of the map is unclear,the offset between the map construction and the actual map is large,and the relocation accuracy is poor. In this paper,the relocation technology of laser radar Slam-GMapping based on ROS platform is proposed,including RBPF particle filter algorithm,Slam-GMapping mapping of laser radar and robot relocation. The experimental results show that Slam-GMapping of lidar can better construct target map than Kinect,with better mapping effect and higher mapping accuracy. The repositioning technology has more accurate positioning orientation and smaller positioning error.
Keywords:ROS;lidar;RBPF;Slam-GMapping;relocation
0 引 言
ROS(Robot Operating System)是一種基于图状架构,对不同节点的进程能接受、发布、聚合各种信息(例如传感,控制,状态,规划等等),且兼具硬件抽象、底层设备控制[1]、常用功能实现、进程间消息以及数据包管理功能,支持Ubuntu的开源机器人软件平台。Slam-GMapping采用RBPF的方法,运用重采样自适应技术[2],充分考虑粒子耗散问题和粒子逐渐更新权重而收敛的特性[3],降低了机器人位置在粒子滤波中的不确定性。从而使机器人对里程计信息获取、激光束点阵的优化采集等信息采集的质量有大幅度提升,建图更加完整,准确。然而Slam-GMapping建图依据车轮里程计信息,需要由里程计信息实时结算机器人当前的姿态和位置,这就使得机器人导航时必须放在上次建图的同一位置,才能相对确保机器人导航的准确性。本文介绍一种基于ROS平台的激光雷达Slam-GMapping的重定位方法,能够很好地解决上述问题。
1 激光雷达Slam-GMapping方法
1.1 RBPF粒子滤波算法
机器人在一个未知环境中移动,其目的是获得当前环境的地图。地图可以用一个储存每个网格单元颜色的矩阵表示,单元格的颜色只能为黑色或白色。RBPF算法以先估计机器人的轨迹而后再去根据已知的轨迹计算地图的方式,解决了同步定位与地图构建(SLAM)相互矛盾的问题,其具体流程:
(1)初始化:初始化机器人的位姿(位置和方向),每个粒子初始化权重为1/N,总和为1。初始化位置确定后,粒子放在其附近。
(2)预测:粒子滤波首先根据状态转移函数预测生成大量的采样,这些采样就被称之为粒子,利用这些粒子的加权和来逼近后验概率密度。
(3)调整与校正:随着观测值的依次到达,为每个粒子计算相应的重要性权值。这个权值代表了预测的位姿取第N个粒子时获得观测的概率。如此这般下来,对所有粒子都进行评价,越有可能获得观测的粒子,获得的权重越高。
(4)姿态估计:利用所有粒子的位置、方向和权重值来计算加权平均值、中央值和最大权重的粒子值[4],并用这些估计机器人的姿态。
(5)重采样:根据权值的比例重新分布采样粒子。去除权重小的粒子,以权重大的粒子为中心创建粒子特性。重复步骤(2)到步骤(5),再将重采样过后的粒子集输入到状态转移方程中,就能够获得新的预测粒子。通过采样的轨迹和计算推测出地图。
1.2 Slam-GMapping建图
2 试验
采用主控为工业机,驱动为STM32开发板,12V带编码器的电机,12V-4800mA电池,搭配激光雷达完成实验。如图3所示,是在实验室环境中以右上角为起点建立的目标地图。
将机器人改变坐标位置,放置于地图左下方,用目标地图导航,未使用算法前,機器人坐标系发生偏转,如图4所示。
运用基于ROS平台的激光雷达Slam-GMapping的重定位方法,机器人重定位TF坐标系更新为机器人现在位置,如图5所示。
机器人先进行目标地图的提取,然后分割目标地图为单位栅格大小。同时构建自己所在新的位置地图,再按照0阶马尔科夫场分割实时地图为同目标地图单位长度相同的栅格大小。然后经过平移、旋转变换等,完成实时地图与目标地图的匹配,完成机器人的重定位。
3 结 论
测试表明,基于ROS平台的激光雷达Slam-GMapping的重定位方法可以让机器人在原来构建的目标地图中,完成对自己所在的新的位置的重定位,而不必再人工重复繁琐地校正机器人的位姿,来获得更好的实验效果。用基于ROS平台的激光雷达Slam-GMapping的重定位算法校正相比于人工校正,精确度更高、时间更短、效率更高、定位精度更高、出错率更低。目前,此方法已经在学校所在实验室多次试验,均达到良好的效果。
参考文献:
[1] Li T,Shi D,Wu Q,et al. Sodium para-aminosalicylate delays pericarp browning of litchi fruit by inhibiting ROS-mediated senescence during postharvest storage [J]. Food Chemistry,2019,278:552-559.
[2] 罗元,余佳航,汪龙峰,等.改进RBPF的移动机器人同步定位与地图构建 [J].智能系统学报,2015,10(3):460-464.
[3] He H,Jia Y,Sun L. Simultaneous Location and Map Construction Based on RBPF-SLAM Algorithm [C]//第30届中国控制与决策会议.第30届中国控制与决策会议论文集(4).沈阳:《控制与决策》编辑部,2018:755-758.
[4] 伍永健,陈跃东,陈孟元.量子粒子群优化下的RBPF-SLAM算法研究 [J].智能系统学报,2018,13(5):829-835.
[5] 屈盼让,薛建儒,於二军,等.基于栅格图拼接的多层次路口地图 [J].计算机仿真,2019,36(1):342-347.
[6] 白宗文.基于HALCON与图像拼接的文物修复系统设计与实现 [J].电子设计工程,2013,21(9):24-26.
作者简介:胡晓强(1997-),男,汉族,江苏徐州人,本科,研究方向:机器人、自动化。