Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Tightly Coupled Sensor Fusion

  • 又称: tight coupling
  • 类别: State estimation & navigation › Localisation
  • 标签: sensor-fusion, state-estimation, slam, imu, lidar

直接从各传感器的底层测量(例如特征观测和原始 IMU 数据)估计一个共享状态来融合传感器,而不是把各传感器分别得出的位姿组合起来。

定义

在紧耦合传感器融合(Tightly coupled sensor fusion)中,单个估计器接收每个传感器的底层测量(图像特征位置、激光雷达点到平面距离、IMU 加速度和角速率、GNSS 伪距),并求解一个共享的状态。在松耦合融合中,每个传感器或子系统先各自给出估计,例如视觉里程计流程给出的位姿,或 GNSS 接收机给出的定位解,然后由第二级把这些输出融合起来。两者都是传感器融合的形式;区别在于测量在哪个层级汇合。

紧耦合利用了松耦合所丢弃的信息。当只能看到少数视觉特征时,IMU 仍能约束状态,并帮助预测特征应出现的位置;一台跟踪卫星数量太少、无法计算定位解的 GNSS 接收机仍能贡献有用的伪距;传感器之间的相关性被建模而不是被忽略。MSCKF、OKVIS 和 VINS-Mono 等视觉惯性系统是紧耦合的。在激光雷达系统中,LOAM 和 LeGO-LOAM 通常被描述为松耦合,因为 IMU 只用于对扫描去畸变和提供初值;而 LIO-SAM 和 LVI-SAM 则把 IMU 预积分因子与激光雷达约束(在 LVI-SAM 中还有视觉约束)放在同一个优化中。

代价是复杂性和脆弱性。紧耦合估计器需要每个传感器的精确模型、仔细的外参标定和时间偏移,以及可靠的初始化;某个传感器测量中的故障,除非被检测并剔除,否则会直接进入共享的估计。松耦合设计更容易构建、调试和修改,并且能隔离故障,这就是许多已部署系统把两者混合使用的原因:例如,一个紧耦合的视觉惯性核心,其输出再与 GNSS 或轮式里程计松耦合融合。这些术语描述的更像是一个连续谱,而不是两个界限分明的类别,各论文划分界线的位置也不尽相同。

为何重要

一个系统是紧耦合还是松耦合,决定了当某个传感器信息薄弱时(在黑暗场景中、在缺乏特征的走廊里,或卫星覆盖不全时)它的表现。了解两者的区别,有助于工程师读懂状态估计论文,并选择符合其精度、鲁棒性和维护需求的架构。

主要应用

  • 用于无人机和 AR 头显的视觉惯性里程计
  • 激光雷达惯性 SLAM 和激光雷达-视觉-惯性 SLAM
  • 车辆中使用原始伪距的 GNSS/INS 组合
  • 融合腿部运动学与 IMU 数据的腿足机器人状态估计
  • 在隧道、黑暗或烟雾等退化条件下的导航

实际应用

一个打造激光雷达惯性建图背包的团队从松耦合设计开始:激光雷达里程计模块输出位姿,扩展卡尔曼滤波器把这些位姿与 IMU 姿态融合。行走中快速转身时,扫描匹配失败,滤波器没有可用的信息来融合。他们改为紧耦合设计,把 IMU 预积分因子和激光雷达扫描匹配因子放在同一个因子图中,在线估计 IMU 偏置,并由 IMU 在激光雷达短暂失效期间维持状态。这一改变也提高了对标定的要求:联合优化对激光雷达与 IMU 之间的外参和时间戳偏移很敏感,因此团队在每次硬件改动后都加入一个标定步骤。

常见误解

  • 紧耦合总是优于松耦合 — 它利用了更多信息,但对标定误差和故障传感器更敏感,一个构建良好的松耦合系统可能更鲁棒
  • 任何把相机或激光雷达与 IMU 一起使用的系统都是紧耦合的 — 如果 IMU 只提供初值或去畸变而不在估计器中,该系统就是松耦合的
  • 这些术语有一个精确的定义 — 各论文的用法不一,许多系统同时包含紧耦合和松耦合的部分

谁需要了解

  • 状态估计和 SLAM 工程师
  • 自动驾驶车辆导航团队
  • 无人机和腿足机器人开发者
  • GNSS/INS 组合导航工程师

相关技术

  • 扩展卡尔曼滤波(Extended Kalman Filter)
  • GTSAM
  • MSCKF
  • VINS-Mono
  • LIO-SAM
  • GNSS/INS 组合(GNSS/INS Integration)

相关术语

  • Sensor Fusion
  • Visual-Inertial Odometry
  • IMU Preintegration
  • Factor Graph
  • Extended Kalman Filter
  • LiDAR Odometry

相关项目

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。