SLAM 08.后端-非线性优化

  视觉里程计能给出一个短时间内的轨迹和地图,但不可避免的误差累积,这个地图在长时间内是不准确的。要想构建一个尺度,规模更大的优化问题,以考虑长时间内的最优轨迹和地图,这时后端优化就出现了。

一、核心任务与问题本质

核心任务:

  • 误差抑制:修正前端(VO/LIO)随时间累积的位姿漂移。
  • 全局一致性:联合优化所有历史位姿与地图路标,使整体误差最小。
  • 回环闭合:检测到 "回到过往位置" 时,加入强约束,一次性修正长期漂移。

数学本质:非线性最小二乘(状态估计)

  • 状态:机器人位姿 x i、地图路标 p j
  • 约束:运动约束(相邻位姿)、观测约束(位姿↔路标)、回环约束
  • 目标:最小化所有约束的残差平方和 min∑∥e∥ 2

二、两大技术路线:滤波 vs 图优化

2.1. 滤波后端(早期主流,轻量场景)

核心假设 :马尔可夫性(当前状态仅依赖前一时刻)。
代表算法

  • EKF-SLAM:扩展卡尔曼滤波,维护状态均值与协方差;计算量 O(n2),仅适用于小场景。
  • UKF / 粒子滤波 PF:处理强非线性 / 非高斯;PF 常见于 2D 激光(如 GMapping)。

优缺点:✅ 计算快、内存小、适合低算力(扫地机)❌ 长期漂移、无法全局修正、精度低

2.2 图优化后端(当前主流,高精度场景)

核心思想 :把 SLAM 建模为因子图(Graph):

节点(Vertex):机器人位姿 x1​,x2​,...xn​、地图点 p1​,p2​,...pm​

边(Edge/Factor):约束(运动、观测、回环),带残差与信息矩阵
优化目标:迭代调整节点,使所有边残差最小。

主流求解器

  • g2o:通用图优化库,视觉 / 激光 SLAM 最常用。
  • Ceres Solver:Google 开发,易用、鲁棒性强。
  • GTSAM:因子图专用,支持 IMU / 相机 / 激光融合。

优化算法 :高斯 - 牛顿(G-N)、列文伯格 - 马夸尔特(L-M)(鲁棒性更好)。
优缺点:✅ 全局最优、精度高、可融合多传感器、支持回环❌ 计算量大、需关键帧 / 位姿图稀疏化。

三、关键模块:位姿图、BA、回环与融合

3.1. 光束平差法(Bundle Adjustment, BA)

视觉 SLAM 核心:联合优化所有相机位姿与 3D 路标,最小化重投影误差。

稀疏化:仅优化关键帧与关键路标,控制计算量(如 ORB-SLAM3)。

3.2. 位姿图优化(Pose Graph Optimization)

激光 / 视觉通用:只优化位姿,不优化路标;节点为位姿,边为相对位姿约束(ICP / 匹配)。

适用场景:激光 SLAM(如 Cartographer)、纯定位、大规模建图。

3.3. 回环检测与闭合

作用 :识别当前帧与历史帧同场景,添加回环约束边,后端一次性修正全局漂移。
主流方法

词袋模型(BoW/DBoW3):视觉常用,图像→特征向量→相似度检索。

几何验证:RANSAC 验证候选回环的几何一致性,剔除误检。

深度学习:NetVLAD、语义匹配,提升动态 / 视角变化鲁棒性。

3.4. 多传感器融合后端

IMU + 视觉(VIO):紧耦合因子图(如 OKVIS、VINS-Mono),IMU 预积分提供高频运动约束。

激光 + IMU(LIO):激光里程计 + IMU 预积分,后端图优化(如 LIO-SAM)。

激光 + 视觉 + IMU:多因子联合优化,提升鲁棒性与精度。

四、主流开源框架对比

五、技术演进与趋势

从滤波到图优化:精度优先,工业界全面转向图优化 / 因子图。

稀疏化与实时性:关键帧筛选、位姿图稀疏化、增量优化(iSAM2),提升大规模场景实时性。

多传感器紧耦合:IMU 预积分、激光 / 视觉 / 雷达融合,适配复杂动态环境。

深度学习赋能:回环检测、特征提取、异常检测,提升鲁棒性与自动化程度。

六、总结

后端本质 :全局非线性优化,核心是图优化 / 因子图,目标是消除累积漂移、输出全局一致轨迹与地图。
选型建议

低算力 / 小场景:粒子滤波(GMapping)

视觉高精度:BA + 图优化(ORB-SLAM3)

激光建图:位姿图优化(Cartographer)

动态 / 复杂环境:多传感器融合因子图(LIO-SAM/VINS)

相关推荐
逻辑君5 小时前
基于 PPO 的双足机器人行走控制
人工智能·深度学习·机器人
四方云6 小时前
机器人开场白开场白核心技术拆解:从自报家门到痛点切入,快速留住用户
机器人
逻辑君8 小时前
基于 A2C 算法的双足机器人行走控制
人工智能·深度学习·算法·机器学习·机器人
hongyucai8 小时前
聊一聊τ和机器人
人工智能·机器人
某林2128 小时前
ros从底层硬件到 Web 端部署
python·机器人·硬件架构·ros2
bing_feilong9 小时前
FAST_LIVO2硬件供电
机器人
明志数科11 小时前
面向真实机器人强化学习的大规模数据集设计:失败轨迹、人工介入与Reward信号的系统性构建
人工智能·机器学习·机器人
沫儿笙1 天前
弧焊机器人氩气节气设备
人工智能·机器人
阿里云大数据AI技术1 天前
莫刻机器人LJM登榜WorldArena第二!阿里云PAI提供全流程训练支撑
人工智能·机器人
guanchabao1 天前
教育培训行业招生外呼机器人怎么设置话术?
机器人