论文部分内容阅读
随着智能化和无人化概念普及,社会对具有自主移动能力的智能设备需求日益显著。同时定位与建图(Simultaneous Localization And Mapping,SLAM)技术和导航技术是实现自主移动的关键技术,但单一的建图或导航功能已难以满足复杂多样的需求。因此,本文设计了一个集建图、导航、避障和远程控制功能为一体的SLAM与导航系统,主要研究内容如下:
首先,进行了基于三维激光雷达的SLAM与导航系统整体设计。设计了系统功能框架和数据采集平台,安装了所选三维激光雷达的Linux驱动,并重点分析了其数据格式,研究了离群点去除算法并进行对比实验,为后续研究提供基础。
其次,研究了针对三维激光雷达的SLAM算法。在基于非线性优化SLAM算法框架的研究基础上,吸收开源SLAM算法LOAM的思想,设计了基于点云特征的非线性优化SLAM方案。通过在特征提取算法之前加入三维点云滤波算法,以减小环境噪声和周围动态物体对建图效果的影响。推导了基于点云特征距离模型的位姿求解公式,详细阐述了地图构建过程以及三维点云的优化算法。通过实验验证了所提方案的可行性,以及对动态环境建图更高的鲁棒性。
然后,研究了定位、导航与避障算法。提出了利用三维点云创建二维栅格地图的方法,实现了三维SLAM与二维导航算法的信息共享,并着重研究了基于栅格地图的定位、导航与避障算法。分析了AMCL定位算法的不足,通过定义一种新的二维点云特征并结合ICP算法改进了AMCL初始定位过程,使其能够自动实现初始粗定位,避免了人工初始定位的不便。通过仿真实验分析,该算法成功定位了4种不同情况下的初始位置。研究了A*导航算法和DWA避障算法,并用一种简单的方法对A*计算出的全局路径进行了优化,减少了机器人不必要的转弯次数,并在MATLAB中进行了A*和DWA算法的仿真验证。
最后,开发了基于QT的系统控制端界面,开发了基于ROS的系统服务器,在室内和室外环境中分别进行了SLAM建图、栅格地图创建、定位以及导航与避障实验,验证了系统的可行性并进行了结果分析。
首先,进行了基于三维激光雷达的SLAM与导航系统整体设计。设计了系统功能框架和数据采集平台,安装了所选三维激光雷达的Linux驱动,并重点分析了其数据格式,研究了离群点去除算法并进行对比实验,为后续研究提供基础。
其次,研究了针对三维激光雷达的SLAM算法。在基于非线性优化SLAM算法框架的研究基础上,吸收开源SLAM算法LOAM的思想,设计了基于点云特征的非线性优化SLAM方案。通过在特征提取算法之前加入三维点云滤波算法,以减小环境噪声和周围动态物体对建图效果的影响。推导了基于点云特征距离模型的位姿求解公式,详细阐述了地图构建过程以及三维点云的优化算法。通过实验验证了所提方案的可行性,以及对动态环境建图更高的鲁棒性。
然后,研究了定位、导航与避障算法。提出了利用三维点云创建二维栅格地图的方法,实现了三维SLAM与二维导航算法的信息共享,并着重研究了基于栅格地图的定位、导航与避障算法。分析了AMCL定位算法的不足,通过定义一种新的二维点云特征并结合ICP算法改进了AMCL初始定位过程,使其能够自动实现初始粗定位,避免了人工初始定位的不便。通过仿真实验分析,该算法成功定位了4种不同情况下的初始位置。研究了A*导航算法和DWA避障算法,并用一种简单的方法对A*计算出的全局路径进行了优化,减少了机器人不必要的转弯次数,并在MATLAB中进行了A*和DWA算法的仿真验证。
最后,开发了基于QT的系统控制端界面,开发了基于ROS的系统服务器,在室内和室外环境中分别进行了SLAM建图、栅格地图创建、定位以及导航与避障实验,验证了系统的可行性并进行了结果分析。