论文部分内容阅读
近年来,多机器人协同SLAM(simultaneous localization and mapping)技术已经成为机器人领域的研究热点之一。多机器人之间通过协同合作,可以极大的提高工作效率。很多情况下,机器人是在一个未知的环境中工作的,例如在火灾现场中清障、导航、搜索等,但在进行这些工作之前,要先获取一张环境地图。传统的室内多机器人SLAM算法存在很多不足:在探索任务分配方面不够灵活,经常会造成探索覆盖率低、探索路径重复率高等问题;在地图融合方面受环境因素影响较大、建图精度不高。因此,本文将分别从探索任务分配、地图融合等方面进行深入研究,提高多机器人室内环境协同建图的效率和鲁棒性。所做的工作如下:首先,针对拍卖协同算法存在孤岛(即未被探索的小面积区域)、探索效率低和目标选择非最优的问题,对其进行了改进。在拍卖算法中加入活跃态变量,当机器人在建图过程中探索到未知区域或其他机器人时,通过对自身活跃状态的切换,执行相对应的行为,解决了拍卖算法存在孤岛和探索效率低的问题;在此基础上,结合虚拟势场算法,计算每个任务点对机器人的合力,选择合力最高的任务点作为探索目标,解决了机器人目标选择非最优的问题。通过MATLAB仿真实验,验证了改进算法在协同建图效率和探索覆盖率等方面均有一定的提高。其次,以Gmapping算法为基础,根据机器人在建图过程中是否相遇,研究了一种混合式地图融合算法。当机器人在探索过程中相遇时,构造系统的相对观测模型,计算机器人坐标系间的相对转换矩阵,实现地图融合。若两个机器人没有相遇,但所建的地图包含部分相同区域,则将地图融合问题转化为寻找最优解的问题,使用PSO(粒子群算法)寻找使两个地图重叠度最高的转换矩阵,实现地图融合。两种算法相互配合,融合各子地图,实现多机器人协同建图。通过单机器人SLAM实验和双机器人地图融合实验,验证了算法的有效性。最后,在ROS系统下,基于Turtlebot3机器人平台对本文的算法进行了实验验证。完成了多机器人在真实环境下协同SLAM实验,通过实验结果对比分析,改进算法在节约时间成本和探索覆盖率方面均有一定的提高,能很好的协调多机器人在室内环境精确建图。