论文部分内容阅读
随着经济发展、劳动力成本增加和人口老龄化的加剧,近年来服务机器人得到了快速发展。服务机器人的智能性主要体现在自主导航的能力上,而自主导航中的关键技术就是同步定位与地图构建(Simultaneous Location and Mapping,SLAM),因此文中着重对机器人操作系统(Robot Operating System,ROS)平台下的服务机器人SLAM算法展开研究。文中首先根据导航的需求搭建了服务机器人实验平台。在硬件平台上,对主控器、里程计、避障传感器和驱动电机进行选型,以及电路设计。其中,主控器选用Intel i5迷你主机;里程计模块选择光电编码器与航向传感器;避障传感器模块选用激光雷达、超声波测距传感器与kinect摄影机;硬件电路部分主要开展了电机驱动电路的设计。在软件系统上,完成了ROS平台与嵌入式平台间通讯、激光雷达数据获取等。其次,对服务机器人SLAM系统的各个模块进行建模。为了便于用数学的方式去处理和优化计算,建立了SLAM概率模型;出于简化分析的考虑,假定机器人重心位于底盘的圆心上,搭建服务机器人的简化模型;选用笛卡尔坐标系构建机器人坐标系统模型;为了推测机器人位姿的变化,建立了机器人运动模型;根据编码器与激光雷达分别构建里程计模型与传感器观测模型;为了直观的观察建图效果,选用栅格地图模型作为文中地图类型。然后,对基于概率估计的SLAM方法进行研究,着重分析了以贝叶斯滤波为基础的两种优化的SLAM算法:基于扩展卡尔曼滤波的SLAM算法和FastSLAM算法。通过MATLAB对两种算法进行仿真对比分析,将性能更优的FastSALM算法作为同时定位与地图构建的基础算法,通过融合渐消无迹粒子滤波与高斯重采样对其进行改进。在仿真环境中进行算法性能验证,测试结果表明:改进算法在不同粒子数和噪声情况下与FastSLAM2.0和UFastSLAM相比,SLAM估计精度平均提高了53.6%和21.3%,系统稳定性平均提高了31%和16.5%,验证了改进算法的有效性。最后,针对服务机器人的导航需求,在所完成的改进FastSLAM算法分析基础上,先通过Gazebo仿真环境,实现了基于Gmapping算法的同步定位与地图构建;然后在所构建好的地图上,利用全局路径规划的A*算法、局部路径规划的动态窗口法和自适应蒙特卡洛定位算法,实现了服务机器人自主导航;最终在实际环境中开展机器人建图与导航实验的验证,实验结果表明文中的导航算法能够满足服务机器人自主导航的需求。