一、前言
此示例演示如何处理来自安装在车辆上的传感器的 3-D 激光雷达数据,以便在惯性测量单元 (IMU) 读数的帮助下逐步构建地图。这样的地图可以促进车辆导航的路径规划,也可以用于定位。为了评估生成的地图,此示例还展示了如何将车辆的轨迹与全球定位系统 (GPS) 记录进行比较。
二、概述
高清 (HD) 地图是一种地图服务,可提供精度高达几厘米的道路几何形状。这种精度水平使高清地图适用于自动驾驶工作流程,例如定位和导航。这种高清地图是通过从3D激光雷达扫描构建地图,结合高精度GPS和/或IMU传感器生成的,可用于定位几厘米内的车辆。此示例实现构建此类系统所需的功能子集。
在此示例中,您将学习如何:
-
加载、浏览和可视化记录的驾驶数据
-
使用激光雷达扫描构建地图
-
使用 IMU 读数改进地图
三、加载和浏览记录的驾驶数据
此示例中使用的数据来自此 GitHub存储库,表示大约 100 秒的激光雷达、GPS 和 IMU 数据。数据以MAT文件的形式保存,每个文件都包含一个时间表
。从存储库下载 MAT 文件并将它们加载到 MATLAB® 工作区中。
注意:此下载可能需要几分钟时间。
首先,加载从激光雷达保存的点云数据。每次激光雷达数据的扫描都使用对象存储为 3D 点云。此对象使用 K-d 树数据结构在内部组织数据,以便更快地进行搜索。与每次激光雷达扫描关联的时间戳记录在时间表的变量中。
从 MAT 文件加载 GPS 数据和变量用于存储车辆上 GPS 设备记录的地理坐标。
从 MAT 文件加载 IMU 数据。IMU 通常由报告车辆运动信息的各个传感器组成。它们结合了多个传感器,包括加速度计、陀螺仪和磁力计。该变量存储 IMU 传感器的报告方向。这些读数报告为四元数。每个读数被指定为包含四个四元数部分的 1×4 向量。将 1×4 矢量转换为四元数
(自动驾驶工具箱)对象。
要了解传感器读数是如何传入的,请为每个传感器计算大致的帧持续时间。
GPS 传感器是最慢的,以接近 1 Hz 的速率运行。其次是激光雷达最慢的,以接近 10 Hz 的速率运行,其次是 IMU 以近 400 Hz 的速率运行。
四、可视化驾驶数据
要了解场景包含的内容,请使用流媒体播放器可视化记录的数据。
五、使用记录的激光雷达数据构建地图
激光雷达是功能强大的传感器,可用于其他传感器不起作用的挑战性环境中的感知。它们提供详细的、完整的 360 度车辆环境视图。
激光雷达可用于构建厘米级精度的高清地图,包括整个城市的高清地图。这些地图以后可用于车载定位。构建此类地图的典型方法是对齐从移动车辆获得的连续激光雷达扫描,并将它们组合成单个大点云。此示例的其余部分将探讨这种构建地图的方法。
-
对齐激光雷达扫描:使用点云配准技术(如迭代最近点 (ICP) 算法或正态分布变换 (NDT) 算法)对齐连续激光雷达扫描。该函数返回刚性变换,该变换使移动点云相对于参考点云对齐。通过连续组合这些变换,每个点云都变换回第一个点云的参考系。
-
合并对齐的扫描:一旦注册了新的点云扫描并将其转换回第一个点云的参考系,就可以将点云与第一个点云合并。
首先获取对应于附近激光雷达扫描的两个点云。要加快处理速度,并在扫描之间积累足够的运动,请使用每十分之一次扫描。
在注册之前对点云进行降采样。缩减采样可提高配准精度和算法速度。对点云进行预处理后,使用广义ICP算法进行注册。通过将指标名称-值参数设置为“planeToPlane”来实现。可视化注册前后的对齐方式。
请注意,点云在注册后对齐良好。即使点云紧密对齐,对齐仍然不完美。
现在,一对点云的处理管道已经很好地理解了,可以将其放在整个记录数据序列的循环中。全班同学把所有这些放在一起。该类的方法采用新的点云,并完成前面详述的步骤:
-
对点云进行降采样。
-
估计将以前的点云与当前点云合并所需的刚性变换。
-
将点云转换回第一帧。
-
将点云与累积的点云图合并。
此外,该方法还接受用于初始化注册的初始转换估计值。良好的初始化可以显著改善注册结果。相反,初始化不当可能会对注册产生负面影响。提供良好的初始化还可以缩短算法的执行时间。
提供登记初始估计的常用方法是使用恒定速度假设。使用上一次迭代的转换作为初始估计值。
该方法还创建和更新 2-D 顶视图流式点云显示。
点云配准本身就可以构建车辆穿越的环境地图。虽然地图可能看起来局部一致,但它可能在整个序列中产生了明显的漂移。在构建的地图上叠加地面实况轨迹。
通过计算轨迹之间的均方根误差 (rmse),将估计轨迹与真实轨迹进行比较。
在初始转弯后,估计的轨迹明显偏离地面真实轨迹。仅使用点云配准估计的轨迹可能会漂移,原因有很多:
-
来自传感器的噪声扫描,没有足够的重叠
-
缺乏足够强大的功能,例如,靠近长路
-
初始变换不准确,尤其是当旋转显著时
六、使用 IMU 方向改进构建地图
IMU 是安装在平台上的电子设备。IMU 包含多个传感器,用于报告有关车辆运动的各种信息。典型的 IMU 包含加速度计、陀螺仪和磁力计。IMU 可以提供可靠的方向测量。
使用 IMU 读数为注册提供更好的初始估计值。此示例中使用的 IMU 报告的传感器读数已在设备上过滤。
使用IMU的方向估计显著改善了配准,从而以更小的漂移获得更近的轨迹。
七、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
程序有偿获取:评论区下留言,博主看到会私信你。