论文部分内容阅读
近年来,随着人工智能成为各领域的热门研究方向,移动机器人的智能化也迅速发展起来,移动机器人对周围的信息进行感知,能够进行自主移动成为智能化的基本要求。应用传感器感知的信息实现可靠定位是自主移动机器人最基本、最重要的能力,也是机器人研究中备受关注,富有挑战性的一个研究主题。同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)是机器人智能化运动的前提,也是目前机器人研究领域的难点和热点话题,因此SLAM是机器人研究中的一项重要内容。本文使用激光雷达作为主要的传感器,以基于Arduino的移动机器人小车作为平台,研究在室内环境中机器人位姿未知的情况下的SLAM方法和路径规划问题。主要工作如下:首先,搭建SLAM所需的硬件平台,建立移动小车的运动模型和传感器观测模型,对常见激光传感器的原理进行详细分析,给出论文所采用的RPLidar A2激光传感器的数据采集方法;使用两种滤波方法:扩展卡尔曼滤波器(Extended Kalman Filter,EKF)和粒子滤波器(Particle Filter,PF)来解决SLAM问题。通过在MATLAB中仿真实现二者,对比二者的仿真结果,扩展卡尔曼滤波在本文的实际应用中是更好的滤波方法。然后着重设计和实现了点云处理过程中的滤波,区域划分,拟合和路标提取的算法。本文在对前后时刻的点云进行匹配时,提出选取点云中的路标点进行匹配,降低了点云匹配的算法复杂度。并使用卡尔曼滤波方法实现了室内环境的SLAM过程,在室内环境中,搭建机器人平台,机器人小车以固定速度移动并进行SLAM过程,系统的结果符合预期。最后在应用SLAM过程得到的结果地图中,实现路径规划算法。给出路径规划中的地图表示方法:栅格地图,直线地图,拓扑地图和基于路标的地图。针对栅格地图应用A*算法路径规划,给出了A*算法在栅格地图中路径规划的步骤,并编写了相应的算法代码,总结了优缺点,在传统A*算法的基础上,对其进行了八邻域的改进,使用MATLAB进行仿真,有效的实现了路径规划,对机器人路径规划提供技术基础。