摘要
同时定位和建图技术(Simultaneous Localization and Mapping,SLAM)作为人工智能领域的核心技术之一,已被广泛应用于军事、工业、农业及服务业等领域。因此,SLAM 技术在无人车、无人机、工程机械以及智能农机装备等移动平台上应用已成为国内外学者的研究热点。近几年,随着低成本固态激光雷达产品的成熟,引发了基于 3D 激光雷达的 SLAM 技术应用研究热潮。室外环境存在行人、机动车以及非机动车等动态物体,这些动态物体的出现极大的影响了激光 SLAM 定位精准性与建图完整性。定位精度和地图质量直接影响无人系统自主导航能力,同时含有冗余动态物体信息的全局二维栅格地图对无人系统自主导航路径规划的难度增大,尤其体现在城市巷战场景对未知战场发展态势的感知。针对上述难点,本文提出了一种面向室外动态环境下的的无人小车激光定位与建图方法,基于固态激光雷达和IMU(Inertial Measurement Unit)传感器建立了LIO(Lidar Inertial Odometry)定位系统,开展了剔除动态点云生成高精静态地图的算法研究,提出了基于OctoMap(An Efficient Probabilistic 3D Mapping Framework Based on Octrees)八叉树地图的实时动态更新策略。通过实验验证,本文提出的研究方法能够实时反应动态物体的出现与消失,可为无人车自主导航路径规划提供准确清晰的二维栅格地图。本文主要研究内容如下: 1.对于无人车移动平台的底盘进行了选型,针对后驱式阿克曼底盘建立了平面下的运动学以及动力学模型,在此基础上实现了底盘的串级 PID 控制,搭建了底层控制框架,达到了在控制电机转动到目标位置的同时控制速度的目的。设计了基于 STM32 和 ROS(Robot Operating System)通信的无人车移动平台的远程控制方法,实现了在远程PC端通过命令行或键盘控制无人车移动平台的方式。 2.对IMU惯性导航单元和激光雷达的测量原理进行了分析,根据IMU自身特性利用Allen方差分析法和imu_utils工具包进行了IMU的内参标定。通过分析IMU的运动学学模型建立了基于IMU的位姿估计模型,根据激光雷达扫描物体的几何特征,建立了激光雷达残差模型。通过迭代误差卡尔曼滤波对 IMU位姿估计模型和激光雷达残差进行融合,建立了基于紧耦合 LIO 里程计的无人车定位系统,通过在NCLT数据集上验证后,绝对轨迹误差达到0.88m,相对轨迹误差可达到 0.09m。在室外实机实验时,本文系统输出的轨迹估计值全局误差在0.9%左右,相对轨迹误差在0.14m左右。 3. 基于点云数据的储存方式和最近邻搜索方式研究了三维体素法以及八叉树构建地图的方法,并构建出点云地图,OctoMap 八叉树地图和二维栅格地图。其中,针对体素法的构建与近邻点的搜所方式提出了增量式提速维护队列。通过对比搜索时间、准确率与召回率分析了体素法、栅格法与八叉树法的使用场景。多线程体素法在10次最邻近搜索的耗时低至0.51ms,准确率高达99%;八叉树法的构建与搜索耗时较高,但准确率与召回率均为100%且没有出现漏检和误检。 4. 基于 OctoMap八叉树地图提出了动态地图更新与构建流程,参照开源算法ERASOR设计了剔除点云地图中动态物体的算法流程。通过在KITTE数据上完成了对动态点剔除的测试,并在室外动态场景试验中验证了算法的有效性。通过对无人车在运行的实时显示图分析并验证了基于 OctoMap 八叉树地图的实时更新与构建流程的有效性,最终生成了清晰准确的全局栅格地图。