学术论文投稿/征稿

欢迎您!请

登录 注册

手机学刊吧

学刊吧移动端二维码

微信关注

学刊吧微信公众号二维码
关于我们
首页 > 学术论文库 > 理工论文 基于SLAM物流移动机器人导航技术研究论文

基于SLAM物流移动机器人导航技术研究论文

28

2024-07-18 10:52:29    来源:    作者:zhouxiaoyi

摘要:传统的物流移动机器人多依赖于巡线或磁轨道作业,局限性较大。设计了一种基于激光雷达SLAM物流移动机器人。采用树莓派4B主控板、STM32单片机、激光雷达、相机等硬件设备搭建移动机器人。通过引入Cartographer及Gmapping构建地图,优化Cartographer参数,构建优质地图。对传统A*算法,提出一种3-n贝塞尔曲线优化方式,并用构建的优质地图进行验证。最后融合相机,增加机器人的安全性及功能性。实验结果表明,该物流机器人能够实现地图构建及自主导航,并从地图质量、路径平滑性、路径长度和实用功能

  摘要:传统的物流移动机器人多依赖于巡线或磁轨道作业,局限性较大。设计了一种基于激光雷达SLAM物流移动机器人。采用树莓派4B主控板、STM32单片机、激光雷达、相机等硬件设备搭建移动机器人。通过引入Cartographer及Gmapping构建地图,优化Cartographer参数,构建优质地图。对传统A*算法,提出一种3-n贝塞尔曲线优化方式,并用构建的优质地图进行验证。最后融合相机,增加机器人的安全性及功能性。实验结果表明,该物流机器人能够实现地图构建及自主导航,并从地图质量、路径平滑性、路径长度和实用功能等角度验证了设计的有效性。因此,可将其应用于物流配送服务,以提高配送效率。

  关键词:SLAM;构建地图;路径规划;自主导航;贝塞尔曲线

  0引言

  世界上第一台自主移动机器人名为Shakey,由斯坦福研究院(SRI)研发。随着同时定位与建图(Simultaneous Localization and Mapping,SLAM)技术[1]的出现,移动机器人在未知环境中不仅能够实时感知并理解自身的位置,还能同时构建地图[2],这为自主导航开辟了新的可能性。

  传统物流机器人一般是自动引导车,通常需要事先铺设好轨道,局限性较大,而使用同时定位与建图技术则无需铺设轨道。面对如何提高构建地图的精度以及如何路径规划。黄禹翔等[3]提出一种改进闭环检测方案,即增加轮式里程计及边约束条件。丁祖磊等[4]提出基于GPS定位的自主导航技术,但容易受到网络波动影响。蒋中青等[5]提出一种结合射频标签的定位方法,需要提前布置,不太便捷且局限性较大。刘云中等[6]将灰狼算法与Powell算法结合,提升了算法寻优效果及路径规划精度。李一铭等[7]提出一种基于坠落机制的混沌麻雀算法,提升了算法的鲁棒性和路径的平滑性。

  本文基于以上内容提出一种改进物流移动机器人的方案,以优化Cartographer参数,改善地图质量,使用改进A*算法,实现路径规划的优化,并引入相机,增加移动机器人的安全性和功能性。通过搭建移动机器人,进行实验,验证了方案与算法的可行性。

  1移动机器人结构

  系统框架如图1所示,分为传感器数据采集、数据处理、控制模块和人机交互4个部分。通过人机交互可自由实现地图的构建和路径规划。

image.png

  移动机器人的结构如图2所示,主要由小车底盘和储物箱组成。车轮为麦克纳姆轮,该车轮具有两个自由度,使得机器人可以全向移动。通过树莓派4B和STM32单片机等实现移动机器人的移动控制。并在上层安装激光雷达及相机,以满足机器人对周围环境的实时感知。储物箱可安装于车身后,用于物品的运输,可根据货物体积的不同更换不同大小的储物箱。

image.png

  2同时定位与建图算法分析

  2.1 Gmapping算法

  Gmapping是基于概率的建图算法,采用滤波SLAM框架,分离了定位和地图构建的过程[8]。地图构建是使用p(x 1:t|z 1:t,u 1:t-1)进行轨迹估计,结合移动机器人位姿状态x 1:t和估计地图m[9],由条件贝叶斯法则,得到式(1)。

image.png

  式中:z为传感器观测量;u为里程计信息。

  Gmapping通过不断迭代实现每一时刻机器人位姿状态的估计。具体可分为采样、重要性权重、重采样以及地图估计4个步骤[10]。采样指粒子xi-)1在机器人位置和方向的概率分布里采样得到新的粒子xi),通常将机器人位置和方向的概率分布称为建议分布π(xt|z 1:t,u 1:t-1)。之后需要为每一个粒子分配一个单独的重要性权重w(i),重要性权重是由目标分布和建议分布的差异性得到,如式(2)所示。

image.png

  对于重要性权重较低的粒子,会被权重较高的新生粒子所替代。接着,对于每个位姿状态xi),根据p(mi)|x(,z 1:t)就可以估计出地图m。

  2.2 Cartographer算法

  Cartographer采用的是图优化的算法框架[11],包括了前端及后端两个部分。前端负责局部建图和闭环检测,后端仅对前端创建的位姿图进行优化[12]。

  局部建图是以雷达旋转中心为坐标系,扫描一圈得到距离点{hk},接着以第一帧雷达位姿为参考,后加入的雷达帧位姿用相对转移矩阵Tξ=(Rξ,tξ)表示。通过式(3)转换成局部子图坐标系。

image.png

image.png

  在进行闭环检测时,当闭环检测中匹配得分超过设定阙值就判断闭环,此时将闭环约束加入整个建图约束中,并对全局位姿约束进行一次全局优化[13],最后就可得出全局建图结果,该过程表达式如式(5)所示。

image.png

  Cartographer通过对位姿局部优化,降低了局部建图过程中的累积误差。其相比Gmapping,增加了闭环检测,也通过采用分支定界(branch-and-bound)法提升了闭环检测效率,构建的地图精度更高。

  3同时定位与建图实验
  3.1实验对比

  为更加直观地比较两种SLAM算法的差异性,搭建了移动机器人进行建图实验。现实环境如图3所示。

image.png

  实验结果如图4所示。在实验中发现,采用Gmap⁃ping建图时,移动机器人速度要比较慢,否则就会发生特别严重的漂移,直接导致建图失败。而Cartographer建图则不会出现这样的情况。

image.png

  Gmapping建图是基于粒子滤波算法,在建图时会将每个粒子的激光传感器数据与建好的地图特征进行对比,即随着建图的进行,之前构建完成的地图会相对正在构建的地图发生偏移,所以在图4(a)中,地图边框有较多的重影。并且Gmapping构建的地图在特征细节上,描述能力较差,如在现实场景桶装水处,Gmapping未构建清晰的轮廓,反而构建出桶装水后墙壁的轮廓,但Cartographer却构建出桶装水整体轮廓。Cartographer在地图特征的把握上更为优秀,并且地图偏移较小,但其后期可能会出现漂移现象。

  除了对建图效果分析外,还基于占用内存的指标对两种SLAM算法进行对比,结果如图5和表1所示。

image.png

image.png

  通过对比可知,相同实验环境下,Cartographer对设备的负载要求更低。并且,使用Gmapping建图,CPU占用的波动更为剧烈,稳定性较差,而Cartographer则较为平缓。综合分析发现,基于Cartographer建图的效果会更好。
  3.2优化Cartographer算法

  在使用Cartographer构建地图时,其地图质量不仅与算法和传感器有关,还与Cartographer内参数的配置相关。其配置文件存放于configuration_files/内的*.lua,因为有多个lua类型文件,所以需要探究各个参数的作用,找出更加适合的参数。通过多次实验,选出最优参数并设置,以现实场景进行建图对比,结果如图6所示。图6(a)为使用默认参数构建的地图,图中出现了漂移现象,建图不是很完整,地图质量略差。图6(b)为调参后构建的地图,地图完整,显示也较为清晰。

image.png

  通过上述实验可知,优化后的Cartographer建图效果较好,可作为移动机器人的同时定位与建图算法。

  4路径规划

  4.1 A*算法

  A*算法是一种启发式搜索算法,是Dijkstra算法和BFS算法的结合算法[14]。A*算法的原理是以最小化总代价为目标,每次扩展都选择最有希望达到目标位置的节点,所以在已知地图中给定起始位置和目标位置时,它能规划出一条最短路径。

  A*算法使用了启发函数和代价函数来指导搜索过程[15]。A*算法启发函数表示为:

image.png

  式中:f(n)为初始状态经由状态n到目标状态的代价评估;g(n)为初始状态到状态n的实际代价;h(n)为状态n到目标状态的最佳路径的估计代价。

  A*算法的典型代价函数有曼哈顿距离和欧几里得距离[16]。
  曼哈顿距离代价函数公式为:

image.png

  式中:l为相邻两节点间的距离;(x0,y0)为起始位置的坐标;(x1,y1)为目标位置的坐标。

  曼哈顿距离与欧几里得距离相比,前者的寻径需要遍历的栅格空间较少,搜索效率更高,后者的搜索空间更多,导致搜索效率会降低,但得到的估计值更小。

  4.2改进A*算法

  传统A*算法规划的路线存在着较多的转折点,不利于四轮移动机器人的行驶,并且,传统A*算法在路径规划行驶中是将移动机器人作为一个质点,忽略了移动机器人本身的体积,使得移动机器人在复杂环境下行驶时,容易与障碍物发生碰撞。

  目前,大多数A*算法的优化是改进启发函数[17],设置障碍物安全距离以及融合A*和DWA算法等[18-19],优化过程较为复杂。这里提出一种基于贝塞尔曲线的3-n贝塞尔曲线优化方式,但通过贝塞尔曲线优化后容易将路线规划于障碍物上,所以需要结合障碍物扩展的方法。

  障碍物扩展指A*算法进行路径规划前,优先对已知地图进行栅格化处理,通过将地图内障碍物转化的栅格往外扩充,以实现障碍物的扩展。

  贝塞尔曲线有着极强的图形描述能力,曲线的形状完全是由其控制点决定,n个控制点对应着n-1阶的贝塞尔曲线[20]。n阶的贝塞尔曲线可以通过式(11)表示:

image.png

  式中:P(t)为贝塞尔曲线移动控制点;Pi为位置点;Bi,n(t)决定了贝塞尔曲线的递归性,其满足以下表达式。

image.png

  在贝塞尔曲线公式表达式中,第i项的系数与倒数第i项的系数相同,有着很好的对称性。同时,贝塞尔曲线具有很好的凸包性质,其可以通过控制点的凸包限制规划曲线的范围。

  由于贝塞尔曲线是由若干个坐标点组成,所以需要先将A*算法规划的路径等分成若干坐标点,坐标点总数过少会导致贝塞尔曲线优化效果略差,但坐标点总数过多会使得优化后的路径出现较大的偏差,所以需要选择合理的坐标点数。坐标点分配方法如式(13)所示。

image.png

  式中:Pf为分成的坐标点总数量;d为传统A*算法规划路径的总长度;c为总长度对应的比例系数。取前3个坐标点(x0,y0)、(x1,y1)和(x2,y2),计算前两个坐标点距离l0,第2个与第3个坐标点距离l1,得出l0与l1差的绝对值k0。接着前进两个坐标点,即取第3个、第4个和第5个坐标点,采用上述方法得到k 1。重复上述操作直到所有坐标点进行过此操作,当最后一组坐标点数量不足3个时,复制最后一个坐标点补齐。n阶表达式为:

image.png

  设定校准参数ccor,将ki与ccor相比较,当ki不大于ccor时,保留当前坐标点;当ki在ccor~2ccor时,依据当前3个坐标点做贝塞尔曲线优化,将优化后的贝塞尔曲线等分为6个坐标点替换优化前的3个坐标点;如果ki大于2ccor,则将这3个坐标点生成的贝塞尔曲线等分为9个坐标点。如式(16)所示,针对Ki与CO的关系选择合适的分辨率。

image.png

  式中:Ri为线段i等分坐标点的数量。

  通过将A*算法规划的路径等分为坐标点表示,并以3个坐标点为1组,针对不同组的情况采用不同的处理方式,最后将处理过后的坐标点统一使用贝塞尔曲线平滑处理。通过此3-n贝塞尔曲线优化方式,使转折点更为平滑,路径也不会出现较大偏差。

  4.3仿真分析

  为了验证算法的可行性,用MATLAB 2021b对算法进行了仿真。将传统A*算法和本文提出的改进A*算法在相同的环境下对比分析,验证了本文改进A*算法的优势。对比结果如图7所示,结果数据如表2~3所示。

image.png

  通过仿真实验发现,传统A*算法搜寻到的路径转折点较多,很大可能会出现短时间内连续大幅度转向的现象,不利于四轮移动机器人的行驶。

  通过障碍物扩展增加了移动机器人的安全距离,使得规划的路径能够更好的避开障碍物。同时,依据路径的不同转折程度,采用不同的平滑处理方式,只需扩展少量坐标点就可达到较好的平滑优化效果。相比于传统算法,本文算法会减小规划路径的距离,在障碍物较为密集时,路径距离减小程度更为明显。该算法在安全性与平滑性方面均有较大的提升。

  4.4现实环境验证

  仿真环境与现实环境存在一定的差异性,为了进一步验证改进后算法的优劣性,本文在优化Cartographer构建的地图环境中采用四轮移动机器人进行实验,实验结果如图8所示。

  通过实验发现,尽管现实场景与仿真环境存在一定的差异,但现实场景获得的结果遵循前面的分析。该改进具有一定的实用性。

image.png

  5相机融合

  传统移动机器人在地图构建时,一般需要有人跟随在移动机器人身边,否则就无法获得当前环境的真实情况,以至于出现阶梯等情况时,容易出现移动机器人坠毁等情况。这里提出一种搭载相机的移动机器人方案,当移动机器人远程建图时,通过相机实时获取当前环境,并在PC端显示,便于实现未知环境下无人跟随的地图构建。

  本文使用ros_astra_camera开源算法进行图像采集,ros_astra_camera提供了与Astra相机的驱动程序和ROS节点的集合,可以在ROS环境中轻松地获取Astra相机的图像。为验证方案的可行性,选择阶梯场景实验。实验结果如图9所示。引入相机后,在无人跟随的情况下自主建图时,可以远程观察移动机器人前方路段情况,使得移动机器人的安全性得到显著的提升。

image.png

  该方案中,相机可以在移动机器人行驶中随时打开或关闭。并且,移动机器人可以脱离导航路线,切换为人工控制移动,这时该移动机器人打开相机就可以充当移动电子眼。也可在必要时作为巡逻车,远程操控移动机器人代替人工对某一区域进行巡逻。

  6结束语

  本文通过实验分析Cartographer与Gmapping建图的差异,选择Cartographer作为地图构建算法,对其进行参数调整以获取最优地图。采用3-n贝塞尔曲线改进传统A*算法,使得规划路径更为平滑,避免了短时间内连续大幅度转向的情况,使路线更加符合四轮移动机器人的运动方式。并且,本文算法可减小规划路径的距离,在较为空旷的环境中路径距离减小程度更为明显。通过相机融合,增加了移动机器人的便捷性、安全性和功能性。本文的设计实现了移动机器人的定位、建图、自主导航与图像采集等功能。经过实验表明,移动机器人的建图效果、自主导航和图像采集表现良好,能够较好地实现预期目标,达到节约劳动成本,提高配送效率的目的。基于本文方案,下一步可以融合视觉SLAM,增强移动机器人的环境感知能力,提升其鲁棒性。

  参考文献:

  [1]吴建清,宋修广.同步定位与建图技术发展综述[J].山东大学学报(工学版),2021,51(5):16-31.

  [2]毛军,付浩,褚超群,等.惯性/视觉/激光雷达SLAM技术综述[J].导航定位与授时,2022,9(4):17-30.

  [3]黄禹翔,吴国新,左云波.基于改进Cartographer的激光SLAM算法[J].北京信息科技大学学报(自然科学版),2023,38(2):47-52.

  [4]丁祖磊,蒋天泽,温秀平,等.基于GPS定位的自主运动导航系统研究[J].自动化与仪表,2022,37(8):1-4,29.

  [5]蒋中青,饶昌海,胡娉瑜,等.基于多传感器信息融合的机器人导航与定位技术研究[J].信息与电脑(理论版),2023,35(1):216-218,225.

  [6]刘云平,朱慧如,方卫华.改进灰狼算法的无人机路径规划[J].电光与控制,2023,30(7):1-7.

  [7]李一铭,王跟成.基于坠落机制的混沌麻雀算法AGV路径规划[J].制造技术与机床,2023(1):102-108.

  [8]LIU Z H,CUI Z,LI Y,et al.Parameter optimization analysis of gmapping algorithm based on improved rbpf particle filter[J].Journal of Physics:Conference Series,2020,1646(1):012004.

  [9]仉新,张禹,苏晓明.移动机器人自主定位和导航系统设计与实现[J].机床与液压,2020,48(10):88-91.

  [10]ZHAO J W,LI J Y,ZHOU J X.Research on two-round self-balancing robot slam based on the gmapping algorithm[J].Sen⁃sors,2023,23(5):2489-2489.

  [11]刘志成,王华龙,马兴录.激光即时定位与建图算法综述[J].计算机测量与控制,2024,32(3):1-8.

  [12]XU J L,WANG D,LIAO M S,et al.Research of cartographer graph optimization algorithm based on indoor mobile robot[J].Journal of Physics:Conference Series,2020,1651(1):012120.

  [13]张虎.机器人SLAM导航核心技术与实战[M].北京:机械工业出版社,2021.

  [14]陈若男,文聪聪,彭玲,等.改进A~*算法在机器人室内路径规划中的应用[J].计算机应用,2019,39(4):1006-1011.

  [15]KARLIJN F,JOOST van E.Efficient path planning for automat⁃ed guided vehicles using A*(Astar)algorithm incorporating turning costs in search heuristic[J].International Journal of Pro⁃duction Research,2023,61(3):707-725.

  [16]潘富强,曾成,马国红,等.一种融合改进A*算法与改进动态窗口法的AGV路径规划[J].传感技术学报,2023,36(1):68-77.

  [17]褚金奎,李晋,李金山,等.基于改进A*算法的POL-Robot路径规划[J].机电工程技术,2022,51(8):1-5.

  [18]齐凤莲,王晓庆,张帼英.改进A~*算法的AGV避障路径规划研究[J].机床与液压,2023,51(9):34-39.

  [18]尹婉秋.基于改进A*算法的无人车变速避障路径规划研究[D].重庆:重庆理工大学,2022.

  [19]袁千贺,魏国亮,田昕,等.改进A~*和DWA融合的移动机器人导航算法[J].小型微型计算机系统,2023,44(2):334-339.

  [20]EZE M,OKUNBOR C,D ALEBURU,et al.Graphics evolutionary computations in higher order parametric bezier curves[J].Com⁃puter Systems Science and Engineering,2022,41(2):595-609.