过去二十年,计算机视觉和机器学习领域都取得了很多进步。这一切都归功于硬件的改进,这使得研究人员和工程师能够设计和训练更复杂和更准确的模型,同时以以前难以想象的规模处理和分析数据。随着硬件的这些改进,未知环境的映射已经成为可能。GPS 信号在室内几乎毫无用处,因为它们依赖于 31 颗 GPS 卫星中的三颗的“真实距离多点定位”,而这些信号无法很好地穿透建筑物。众所周知的室内测绘或未知环境测绘解决方案是 SLAM(同步定位与建图)。
先有鸡还是先有蛋的问题
是的,没错。SLAM 通常被称为“先有鸡还是先有蛋的问题”,因为定位和建图的子任务通常是相互依赖的。机器人需要知道其位置才能构建准确的地图,但它也需要地图来准确确定其位置。SLAM 已成为许多应用的重要技术,包括机器人、自动驾驶汽车和增强现实。我相信您听说过马航 MH370 失踪航班,该航班于 3 月 8 日偏离预定航线后失踪。多个机构正在南印度洋寻找失踪的部件。在这场狩猎中,一家机器人公司Bluefin Robotics该公司成立于麻省理工学院的自主水下航行器实验室,使用其 Bluefin-21 AUV(自主水下航行器)来定位地雷,利用其传感器对海底进行成像,绘制地图并查找任何坠机迹象。您可能想知道这一切与 SLAM 有什么关系——您正在寻找的答案是 SLAM。它使机器人和自动驾驶车辆能够在复杂的环境中导航,而无需依赖 GPS 信号或预先构建的地图。因此,它在未知环境下的水下定位MH370残骸中发挥了关键作用。
传感器和 SLAM 类型
SLAM 中使用的传感器
SLAM 根据其试图解决的特定应用程序的要求,使用各种传感器来收集有关环境的数据。以下是 SLAM 中使用的一些常见传感器 -
- 惯性测量单元或 IMU — Mems(微机电系统)imus 彻底改变了定位和导航行业。这些传感器测量加速度、角速度和磁场。它们通常与激光雷达或相机等其他传感器结合使用,以提供有关机器人位置和方向的信息。
- 相机——相当于机器人的人眼,用于捕捉未知环境的图像和视频。相机用于以角点、边缘和关键点的形式提取特征。然后,这些功能被集成到机器人的感知堆栈中,用于对象检测和跟踪,以给出其视野内的所有相关信息。
- 激光雷达 — 光探测和测距,如果您在旧金山的 Cruise 或 Waymo 等自动驾驶汽车上看到过圆形旋转物体,那就是激光雷达。好吧,现在你知道它是什么了。它使用一系列激光器每秒发射数十万个脉冲。然后这些脉冲从物体上反弹并返回到激光雷达传感器。传感器使用飞行时间或每个脉冲返回所需的时间来计算距离。这个过程听起来合理又简单,对吧?— 嗯,事实并非如此。这些脉冲激光测量中的每一个都可以处理成称为点云的 3D 可视化。但正如您所看到的,原始激光雷达数据对于环境的 3D 信息来说非常庞大,因此存储和传输它很麻烦。这些数据处理起来非常复杂。感谢 ML 社区,
- 雷达——阅读本文的每个人都非常熟悉无线电探测和测距或雷达,它发射无线电波来探测环境中的物体。与激光雷达类似,雷达信息可用于创建未知环境的 3D 地图并估计机器人的位置和方向。
现在,大家已经熟悉了 SLAM 中使用的传感器类型,让我们简要了解一下工业和研究实验室中使用的不同类型的 SLAM —
- ALVINN(神经网络中的自主陆地车辆)——有史以来第一个使用的 SLAM,由 3 层反向传播网络组成,以摄像头图像和激光作为输入,并输出车辆在道路上行驶的轨迹。
- FastSLAM — 使用粒子滤波器来估计地图环境中机器人的姿势和地标位置。基于贝叶斯定理,它使用粒子滤波器来近似机器人姿态和地标位置的后验分布。它非常高效且可扩展,因为映射和定位步骤都可以并行且独立地执行。
- EKF SLAM —使用扩展卡尔曼滤波器根据传感器数据估计机器人的位置和方向。它分两步工作:预测和更新——在预测步骤中,算法预测机器人的状态,运动模型提供地标,然后将其表示为相对于机器人的一组向量,在更新步骤中,它根据相机、激光雷达等传感器的传感器测量值更新状态估计。
- 图SLAM——顾名思义,这种形式的 SLAM 将环境表示为一个图,其中的节点描述机器人的位置,边描述位置之间的测量值。
为什么我们需要SLAM?
使用 SLAM 进行室内测绘
现在,剩下的唯一问题是,有了所有这些信息,SLAM 的优势是什么以及它可以用在哪里——
- 自主性——SLAM 可用于任何需要在危险或未知环境或人类无法触及的环境中自主操作的机器人、无人机或自动驾驶车辆。无论是切尔诺贝利还是福岛、海洋还是雨林——SLAM 的潜力都是无限的。
- 准确性——高度准确的环境可以有效地获得关于未知危险的有用见解,以及为考古目的而保存的文物,即使是很小的错误也可能对古代发现产生严重后果。如果你想了解更多,我会推荐一部由 Albert Lin 拍摄的关于失落城市的精彩 natgeo 纪录片。
- 经济高效的解决方案 — SLAM 为地图和定位提供了高度经济高效的解决方案,您无需预先构建地图或 GPS 基础设施即可为您提供准确的环境地图。
- 实时更新——动态环境对于国防和军事当局来说可能是致命的。SLAM 被证明是一种有效的解决方案,可以提供有关不断变化的环境的实时更新。对于建筑和地震现场调查等领域,强烈建议使用 SLAM。
- 导航 — SLAM 最常用的应用是在没有 GPS 信号或预建地图的未知环境中进行导航,包括地下矿井、海洋或茂密的森林。
这篇文章简要介绍了 SLAM。这篇文章适用于具有技术和非技术背景的人员。