论文部分内容阅读
随着人类社会的不断进步,人们对移动机器人在未知环境下完成特定任务的需求越来越高。针对未知环境下移动机器人自主探索和地图创建问题,在机器人操作系统(Robot Operating System,ROS)的框架下,提出了一种基于精简式混合地图的移动机器人自主探索算法,该算法在底层利用ICP与粒子滤波相结合的SLAM算法优化移动机器人位姿和创建栅格地图。在上层,设计探索策略,指导移动机器人完成对未知环境的探索,首先,提出一种安全的、可到达的边界目标点生成方法,该方法根据当前激光数据和所有激光数据的采样点坐标来为移动机器人生成下一时刻将要探索的候选边界目标点;然后,结合栅格地图信息,从信息收益和路径成本的角度,利用一种改进的效用函数计算方法,评价边界目标点;最后,运用缓存增量式原理优化拓扑节点,进而构建精简式混合地图。针对移动机器人基于特定任务到达指定目标点的问题,同时也为验证精简式混合地图的可用性,设计了一种基于ROS的定点导航算法,该算法将精简式混合地图作为环境的先验信息,以全局路径规划和局部导航相结合的方式实现移动机器人从起点到目标点的无碰撞运动。主要工作包括: 1.基于ROS的移动机器人平台搭建。 在ROS框架下,以差速驱动模型为核心,搭建了两轮驱动的移动机器人平台,并为其配备了里程计和激光扫描测距仪等传感器。以研华单板机作为处理器,并创建了基于ROS的基础控制器,用于发布移动机器人实时的运动状态,接收并处理控制移动机器人运动的指令。 2.ICP与粒子滤波相结合的SLAM算法。 为优化移动机器人的位姿和构建栅格地图,将SLAM算法引入移动机器人自主探索任务中。在基于粒子滤波的SLAM框架下,为进一步优化移动机器人的位姿,引入基于激光数据的ICP算法。用ICP算法优化后的机器人位姿代替里程计数据,并将其作为粒子滤波的初始值,使粒子滤波得到一个较好的先验估计,从而在一定程度上提高了移动机器人的定位精度,并得到一致性较好的栅格地图。 3.基于精简式混合地图的移动机器人自主探索算法。 以栅格-拓扑混合地图作为环境地图模型,在底层,通过SLAM算法优化移动机器人位姿和构建栅格地图。在上层,通过探索策略指导移动机器人探索未知环境,首先,提出一种安全的、可到达的边界目标点生成方法,为移动机器人生成下一时刻将要探索的候选边界目标点;然后,从信息收益和路径成本的角度,利用一种改进的效用函数计算方法来评价候选的边界目标点,为移动机器人选择下一时刻最佳的探索目标点;最后,提出一种缓存增量式拓扑地图构建方法,用于构建精简式的混合地图,在一定程度上减少了拓扑地图中的冗余拓扑节点,提高了拓扑路径规划的效率。 4.基于ROS的定点导航算法。 针对移动机器人基于特定任务到达指定目标点的问题,以精简式混合地图作为环境的先验信息,设计了一种基于ROS的定点导航算法。首先,为规划全局路径,提出一种基于Dijkstra算法的全局路径规划方法,该算法充分利用栅格地图和拓扑地图信息,使规划的全局路径既满足系统的实时性要求,也满足路径的合理性要求。其次,提出一种基于激光数据的局部导航算法,该算法根据当前激光数据检测全局路径上的障碍物,并计算出一个安全的可通行方向,以此实现避障。定点导航算法以全局路径规划与局部导航相结合的方式,完成了移动机器人到达指定目标点的任务。 利用自主搭建的基于ROS的移动机器人平台,在真实环境下通过实验验证了本文所提的基于精简式混合地图的移动机器人自主探索算法和基于ROS定点导航算法的可行性及正确性,对未知环境下移动机器人自主探索的研究具有一定的理论价值和实际应用意义。