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
  • 車輛中使用原始虛擬距離的 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 以瀏覽我們的開源機器人專案。