在MATLAB中运用点云SLAM
点云是三维空间中的点的集合。 点云通常是通过激光雷达或Kinect®设备等3d扫描仪获得的。 它们在机器人导航和感知、深度估计、立体视觉、视觉配准和高级驾驶员辅助系统(ADAS)等领域都有应用。
点云配准是将同一场景的两个或多个三维点云对齐到一个共同的坐标系中的过程。 测绘是围绕机器人或传感器绘制环境地图的过程。 您可以使用配准和映射来重建一个3-D场景或建立一个道路地图来进行定位。 虽然配准通常先于映射,但也有其他不需要映射的配准应用,如可变形运动跟踪。 计算机视觉工具箱™算法提供执行点云配准和映射的功能。 该工作流程包括点云的预处理、配准、漂移校正和对齐。
同时定位和测绘(SLAM)是指在同时测绘环境的同时,计算车辆相对于周围环境的位置和方向的过程。 该过程只使用来自传感器的点云输入。 点云SLAM的应用包括机器人技术和自动驾驶。 关于为什么SLAM很重要以及它如何在不同的应用程序中工作的一般描述,请参阅什么是SLAM?
投影与定位工作流程
按照以下步骤在点云序列上执行点云配准和映射。 然后你可以在预建地图中定位车辆。
1.预处理点云-准备点云配准,对它们进行取样并去除不需要的特征和噪声。
2.配准点云-配准每个点云到它之前的一个。 这些配准在里程计中使用,里程计是在连续的帧上累积配准估计的过程。 仅使用里程计可能导致测量和地面真实姿势之间的漂移。
3.检测环路-执行环路闭合检测以最小化漂移。 回路闭合检测是识别传感器返回到之前访问过的位置的过程,该位置在传感器的轨迹中形成一个回路。
4.正确的漂移-通过姿态图优化,使用检测到的循环来最小化漂移。姿态图优化包括通过添加节点和边来逐步构建姿态图,一旦找到足够的循环,再优化姿态图。 位姿图优化的结果是一组优化的绝对位姿。
5.组装地图-组装一个点云地图,通过使用其优化的绝对姿态对准配准的点云。 您可以使用这种预先构建的点云地图进行本地化,这是在地图中定位车辆的过程。
6.定位-根据组装的地图找到车辆的姿态。
为绘图与定位管理数据
使用这些对象来管理与点云配准和映射工作流相关的数据:
pointCloud对象——点云对象存储了一组位于三维空间中的点。 它使用高效的索引策略来完成最近邻搜索,这是由点云预处理和配准函数利用的。
rig