论文部分内容阅读
机器人在工业和生活服务业中被广泛应用,准确地构建地图和路线规划是其中的两个关键点。针对机器人软件程序复用性差的特点,本课题的机器人搭载了软件复用性更好的ROS机器人操作系统,以实现地图构建和路径规划功能。在硬件选型过程对硬件模块进行了必要的原理分析和调试实验,机器人搭载了深度摄像头(RGB-D)传感器和激光雷达传感器获取外部环境空间信息,利用IMU和里程计获取机器人自身内部状态信息,以此搭建了基于STM32微控制器和工控机的地图构建和路径规划的差分式两轮移动机器人。其中STM32微控制器主要负责机器人里程数据和陀螺仪数据的获取和融合;工控机负责深度摄像头和激光雷达数据的处理、地图信息的生成和路线规划。工控机和STM32两者使用USB线,通过ROS的通信机制进行上、下位机的数据和指令的交互。地图是机器人路径规划的基础,在文中对比了拓扑地图、几何信息地图、栅格地图,指出了栅格地图为ROS系统中使用的地图格式。同时分别介绍了三种在本课题中被使用的SLAM地图构建算法:基于滤波的Gmapping算法和基于图优化的Hector-slam算法、Cartographer算法,并且进行了相关理论推导。本课题机器人采取了全局的A*算法和局部的DWA算法作为机器人的路径规划算法。对于机器人在进行路径规划导航期间,需要在全局路径规划的基础上,辅以局部路径规划才能安全、快速地移动到目标位置。比较了Dijkstra和A*全局路径规划算法,并且在MATLAB上进行了路径规划的仿真实验,其结果验证了A*算法的高效性。同时对局部规划DWA算法进行了分析,并且进行了MATLAB的路径规划仿真实验。为了验证上面的算法,分别在虚拟仿真环境和实际场景进行了机器人的地图构建与路径规划实验。在实际环境中,分别在两个不同场景进行了地图构建实验,场景一为按照2019年RoboCup机器人世界杯中国赛场地规则自行搭建的简单封闭环境;场景二为复杂实验室环境。仿真环境则为按照场景一比例在ROS的Gazebo中建立的环境模型。本课题机器人携带了深度摄像头和雷达两种传感器,在虚拟和实际场景实验中分别单独使用深度摄像头或激光雷达进行地图构建和路径规划算法验证。于深度摄像头只进行了基于Gmapping的建图算法验证实验;于激光雷达则分别使用了Gmapping、Hector-slam、Cartographer三种建图算法进行验证实验。最后使用基于雷达的SLAM算法构建的栅格地图,进行了路径规划实验,验证了路径规划算法的有效性。