美光科技术语表

同步定位与地图构建 (SLAM)

自动驾驶车辆实时扫描周围的汽车、骑行者和行人

自主系统的运行,不再局限于受控的工厂车间,或者预先绘制好地图的环境。从在繁忙仓库中导航的配送机器人,到不断解读真实世界中道路状况的自动驾驶车辆,如今的自主移动系统必须能够在未知空间中进行感知、定位和行动,并且正在凭借这种能力重塑各行各业。同步定位与地图构建是实现这一目标的基础技术,它使智能系统能够构建未知环境的精确空间模型,同时在这些模型中持续跟踪自身位置——所有这些操作全部实时完成。随着自主智能在机器人、汽车和端侧计算领域的扩展,SLAM 已成为现代 AI 基础设施中最具战略意义的能力之一。

什么是同步定位与地图构建 (SLAM)?

同步定位与地图构建(简称 SLAM)是一种计算技术,它可支持自主代理(如机器人、车辆或无人机)在不依赖预先存在的地图或 GPS 等外部定位系统的情况下,构建陌生环境的地图,并同时确定自身在该地图中的位置。

SLAM 解决的核心挑战本质上是一个悖论:要精确构建地图,需要知道自己的位置;而要知道自己的位置,又需要精确构建地图。SLAM 算法将这两个问题视为相互依存的问题,并使用概率推理和实时传感器数据联合求解,来解决这一难题。关键的算法方法包括扩展卡尔曼滤波、粒子滤波以及诸如 GraphSLAM 等基于图的优化方法,每种方法都在精度、计算负载和可扩展性之间做出了不同的权衡。

SLAM 处于人工智能、计算机视觉和机器人技术的交叉领域,主要用途是为那些必须在 GPS 受限、非结构化或动态变化的环境中智能运行的系统提供支持。在以前,SLAM 主要是一个学术研究课题;如今,随着传感器成本降低以及板载处理能力快速提升,SLAM 已成为数十个行业中商业产品所依赖的基础性技术。

同步定位与地图构建 (SLAM) 是如何工作的?

SLAM 系统通过两个紧密耦合的处理阶段运行。前端负责处理特定传感器的数据输入和特征提取,后端则执行全局优化。两者结合,可随着时间的推移生成连贯、准确的地图。这些阶段将会持续运行,并相互提供信息,使系统能够在接收到新数据时不断完善既有地图和位置估计。

例如,许多现代扫地机器人使用了 SLAM 技术。在一开始,扫地机器人并没有每个房间的地图。它会利用摄像头、激光雷达传感器或其他传感器来观察周围环境,识别墙壁和家具,估算行驶距离,并逐步构建出家庭内部的地图。同时,它会持续追踪自身在该地图中的位置。

一旦机器人创建了可靠的地图,其导航效率就会远高于那些主要依赖碰撞传感器和随机移动模式的老式扫地机器人。使用 SLAM 技术的机器人不再像老式扫地机器人那样在房间里漫无目的地游走,在遇到障碍物时改变方向;它们会遵循优化的清洁路线,避免重复覆盖同一区域,按需清洁特定房间,并在需要时直接返回充电站。当环境发生变化时(例如,家具位置移动,或者以前关闭的房间变得可以进入),机器人可以更新并扩展其地图,同时继续在家中其他地方准确导航。

越来越多的 SLAM 系统正在与机器学习和 AI 技术相结合。这些系统不仅能识别物体的位置,还能判定这些物体是什么,并理解它们在环境中的作用。例如,先进的仓库机器人可以区分货架、设备、托盘和人员,从而能做出更智能的导航决策。SLAM、传感器融合和 AI 相结合,正在帮助机器人、汽车、工业自动化和增强现实应用领域提升自主性水平。

核心处理流程包括:

  • 传感器数据采集:通过摄像头、激光雷达、雷达、惯性测量单元 (IMU) 或声纳收集原始环境数据
  • 地标和特征提取:系统从传入的传感器数据流中识别出稳定、独特的参考点,例如边缘、平面和角点
  • 里程计和运动估计:通过比较连续的传感器读数来估计运动,从而追踪智能体的移动轨迹
  • 地图更新:新检测到的特征被添加至不断细化的空间模型中,或者用于完善模型的细节
  • 定位:智能体将当前的传感器观测数据与现有地图进行匹配,以计算自身的精确位置和方向(位姿)
  • 回环检测:当系统识别出之前访问过的位置时,会利用识别结果来检测并纠正累积的位置误差
  • 位姿图优化:后端求解器会逐步消除整个轨迹上的总误差,从而生成全局一致、高保真的地图

同步定位与地图构建 (SLAM) 的发展历史是怎样的?

SLAM 在过去 40 年里稳步发展,已经从早期的理论概率模型,演变为部署在消费类产品和工业平台中的实时系统。

  • 20 世纪 80 年代:移动机器人研究人员确定了 SLAM 的概率基础。早期方法(如扩展卡尔曼滤波 (EKF))证明了位置和环境的联合估计在数学上是可行的
  • 20 世纪 90 年代至 21 世纪 00 年代初:粒子滤波方法(如 FastSLAM)提高了可扩展性,支持在更大、更复杂的环境中实现 SLAM。现场机器人实验开始展示在现实世界中运行的可行性
  • 2005 年:参加 DARPA 挑战赛的自动驾驶汽车团队部署了 SLAM,并将其作为核心导航能力,标志着实用自动驾驶研究的一个转折点
  • 21 世纪 10 年代:摄像机和激光雷达传感器成本快速降低,结合 GPU 加速的计算,推动了视觉 SLAM 研究激增。ORB-SLAM 和 LSD-SLAM 等算法成为广泛采用的基准算法
  • 21 世纪 20 年代:多传感器融合架构成为生产标准。与机器学习的集成实现了语义场景理解,使 SLAM 系统不仅能识别物体的位置,还能识别物体的类别,从而在机器人、汽车和增强现实平台中提升了自主性

同步定位与地图构建 (SLAM) 的主要类型有哪些?

根据所使用的传感器、所处的环境类型,以及所需的输出结果,SLAM 的实现方式有很大差异。现代 SLAM 的实现有三种主要的方法,每种方法都具有独特的性能特征,适用于不同的部署环境。

1. 视觉 SLAM (vSLAM)

视觉 SLAM 使用摄像头作为主要传感方式,通过从图像序列中提取空间信息来估计位姿并构建地图。其配置选项包括单目摄像头、双目摄像头、鱼眼镜头,以及将标准图像与像素级深度数据相结合的 RGB-D 摄像头。由于摄像头具有低成本、轻量化和广泛可用的特点,vSLAM 特别适用于消费级机器人、增强现实 (AR) 平台和移动设备应用。使用单个摄像头的单目 vSLAM 在深度估计方面特别复杂,通常通过融合摄像头数据与 IMU 读数来解决该问题。相关算法系列包括稀疏方法(跟踪帧间的显著关键点)和稠密方法(根据像素级亮度信息对场景几何结构进行建模)。

2. 激光雷达 SLAM

光探测和测距(Lidar,激光雷达)SLAM 利用激光测距生成空间模型,并产生能以高精度呈现周围环境几何形状的二维或三维点云。激光传感器直接测量距离,而不是从图像中进行推断,因此激光雷达 SLAM 提供了优异的精度——特别是在涉及快速移动平台的应用中,例如自动驾驶汽车和用于航空航天和国防的无人驾驶飞行器 (UAV)。连续的点云通过使用配准算法(包括迭代最近点 (ICP) 和正态分布变换 (NDT))进行对齐,从而在平台移动时能够实现连续定位。激光雷达在光照条件不断变化的环境中也能可靠运行,使其成为安全关键型户外部署的首选。

3. 多传感器 SLAM

多传感器 SLAM 集成了来自多种传感器模态(包括摄像头、激光雷达、IMU、GPS 和雷达)的数据流,以克服任何单一传感器类型的局限性。摄像头可提供丰富的视觉上下文,但在弱光或高动态范围条件下性能会下降;激光雷达可提供稳定的空间精度,但在处理反射或透明表面时较为吃力;IMU 提供高频运动数据,但会随着时间累积漂移。通过利用因子图等数学框架来融合这些互相补充的输入数据,多传感器 SLAM 能够实现比任何单一传感器方法更高的稳定性和精度。这种架构已成为自动驾驶汽车、先进机器人技术和高可靠性工业系统的生产标准。

同步定位与地图构建 (SLAM) 是如何使用的?

SLAM 算法可在广泛的行业和环境中实现自主导航和空间感知。无论机器需要在何处运行,即便没有预先构建的地图或可靠的 GPS 覆盖,SLAM 都能实现安全、高效且智能的移动。

  • 自动驾驶汽车: SLAM 使自动驾驶汽车和卡车能够在复杂、动态的交通环境中持续绘制其周围环境地图,并保持精确的定位,通过基于传感器的实时定位来弥补 GPS 的不足
  • 仓储机器人:自动导引车 (AGV) 和自主移动机器人 (AMR) 利用 SLAM 来探测楼层布局并导航,可避开人员和托盘等动态障碍物,并在共享空间内高效协作
  • 消费级机器人:内置 SLAM 技术的现代扫地机器人可在首次使用时构建房间地图,并在家具位置移动后更新地图,从而实现无需手动重新编程、系统化、可节约能源的清洁功能
  • 无人机:在其他导航系统无法工作的地方(例如灾区、室内空间、隧道和森林),无人机可以使用 SLAM 进行导航。
  • 增强现实 (AR):AR 应用使用基于 SLAM 的位姿估计将虚拟内容精确地放置在现实世界的表面上,在智能手机和可穿戴设备上为用户提供稳定、具有空间感知能力的叠加层
  • 行星和极端环境探索:在其他行星或无法进入的地球环境中运行的自动漫游车使用 SLAM 来生成人类未曾勘测过的地形图,以此支持科学研究和远程操作
  • 汽车 ADAS:高级驾驶辅助系统 (ADAS) 使用基于 SLAM 的环境感知来实现车道保持、危险检测、自动泊车和自适应巡航等功能

SLAM 和智能机器人的未来

随着 SLAM 技术的不断演进,自主系统的能力变得越来越强,能够构建更丰富、更详细的周围世界表征。AI 和机器学习的进步,使机器人和自动驾驶车辆超越了简单的建图和定位功能,能够更好地理解物体、环境和背景信息。同时,更高分辨率的传感器、多传感器融合以及实时决策正在产生前所未有的大量数据,这些数据必须以尽可能小的延迟进行处理、存储和访问。这些趋势增加了对高性能内存和存储解决方案的需求,用于支持位于端侧的复杂 AI 工作负载。随着自主系统变得更加智能,并且在日益动态的环境中运行,内存和存储将发挥越来越关键的作用,可实现更快的建图、更精确的定位,并支持下一代机器人、汽车、工业自动化和端侧 AI 应用。

常见问答

同步定位与地图构建常见问题解答

SLAM 代表 Simultaneous Localization and Mapping(同步定位与地图构建)。它指的是自主系统仅利用板载传感器构建未知环境的空间地图,并同时确定自身在该地图上位置的能力。

视觉 SLAM 使用摄像头检测图像特征并估计位置,而激光雷达 SLAM 则使用激光传感器测量精确距离并生成点云地图。激光雷达提供更高的空间精度,且在各种光照条件下表现一致;视觉 SLAM 具有更低的硬件成本,能生成更丰富的场景细节;两者适合不同的应用场景和成本预算限制。

SLAM 可以让自动驾驶系统在不依赖既有地图或 GPS 的情况下,在陌生或不断变化的环境中安全导航。通过实时构建和修正空间模型,搭载 SLAM 技术的机器人和车辆能够规划路径、避开障碍物,并在室内空间、动态室外环境以及 GPS 信号缺失的环境中可靠运行——这使得 SLAM 成为任何真正的自动驾驶系统不可或缺的能力。

激光雷达(Lidar,即“光探测与测距”)是一种传感技术,该技术利用激光脉冲来测量距离并创建周围环境的详细地图。通过测量光线从物体反射并返回传感器所需的时间,激光雷达可以生成高度精确的空间 3D 表征,帮助机器人、自动驾驶车辆、无人机和其他系统探测障碍物、导航并理解周围环境。

传感器融合是将来自多个传感器(如摄像头、激光雷达、雷达、GPS 和惯性测量单元 (IMU))的数据相结合,从而更完整、更准确地理解周围环境的过程。通过整合来自多个来源的信息,传感器融合有助于改善自动驾驶系统的导航、减少不确定性,并能够在单个传感器受到光照不足、天气或障碍物等条件影响时,依然保持可靠的性能。