Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Visual-Inertial Odometry

  • 又稱: VIO, visual-inertial navigation
  • 類別: State estimation & navigation › Localisation
  • 標籤: state-estimation, odometry, imu, computer-vision, drones

融合相機影像與 IMU 量測,估測機器人的位置、姿態與速度;IMU 補足影格之間的空檔,並讓公制尺度變得可觀測。

定義

視覺慣性里程計(VIO)(Visual-inertial odometry)估測與慣性量測單元(IMU)剛性安裝在一起的相機的運動。相機在各影格之間追蹤視覺特徵或影像強度,能良好地約束旋轉與平移方向,但會緩慢漂移,而且只用單一相機時無法還原公制尺度。IMU 以高得多的頻率量測角速度與比力;將其積分可得到短時間的運動,並讓重力方向與公制尺度變得可觀測,但單靠積分時誤差會快速累積。結合兩者所得的估測,比任何一種感測器單獨使用都更準確、更強健,VIO 也是無人機、AR 頭戴裝置與許多足式機器人上的標準狀態估測器。

各系統在兩個面向上有所不同。以濾波為基礎的方法,例如 Mourikis 與 Roumeliotis(2007)的多狀態約束卡爾曼濾波器(MSCKF)以及 ROVIO,以 IMU 傳播狀態,再以視覺量測更新。以最佳化為基礎的方法,例如 OKVIS 與 VINS-Mono,在近期的關鍵影格上求解滑動視窗非線性最小平方問題,關鍵影格之間通常使用 IMU 預積分因子。兩類方法都可以是緊耦合,也就是在估測器中直接使用特徵觀測;或是鬆耦合,也就是融合由視覺流程另外算出的姿態。以特徵為基礎的前端追蹤角點或描述子;直接法則處理像素強度。

VIO 仍然是里程計。位置以及繞重力軸的偏航角無法觀測,因此若沒有迴圈閉合或外部參考,就會漂移;滾轉與俯仰則維持有界,因為 IMU 能感測重力。精度高度取決於校正(相機內部參數、相機與 IMU 的外部參數,以及兩個感測器之間的時間偏移)與初始化,而初始化必須估測重力、尺度、速度與偏差。快速運動會造成動態模糊與大幅的特徵位移,低紋理與照明不佳會讓前端缺乏輸入,而等速運動則會讓尺度與偏差只能被微弱地觀測。視覺里程計條目涵蓋只用相機的情況;VIO 的差別在於,它把 IMU 當成估測器內部的完整量測,而不是可有可無的輔助。

為何重要

VIO 讓一組輕巧、便宜又省電的感測器,不需要 GPS 或外部動作捕捉,就能提供具公制尺度的高頻姿態估測。敏捷的無人機、行動 AR 裝置與許多野外機器人都仰賴它,而它的失效模式(漂移、尺度誤差,以及快速運動時追蹤遺失)限制了這類機器人能動得多激烈。

主要應用

  • 在室內、樹冠下與建築結構附近進行不依賴 GPS 的無人機飛行
  • 擴增實境與虛擬實境的頭部與裝置追蹤
  • 足式機器人與手持建圖裝置的狀態估測
  • 作為視覺慣性 SLAM 系統的前端
  • 在無法使用衛星定位的情況下,為飛行器與著陸器導航

實際應用

一個打造自主競速四旋翼的團隊,把一台全域快門立體相機與一個 IMU 安裝在同一塊剛性板上,再利用校正板與 Kalibr 等工具,校正相機內部參數、相機與 IMU 的外部參數以及時間偏移。在飛行器上,滑動視窗估測器以相機影格率追蹤特徵,並在影格之間積分 IMU,以 IMU 的頻率將姿態與速度發布給控制器。快速轉彎時,動態模糊會縮短特徵軌跡,位置估測在整條賽道上逐漸漂移,因此團隊融合對競速門的偵測(門的大致位置已知)來修正累積的漂移。他們在每次飛行中都記錄估測器輸出的偏差與特徵數量,因為特徵數量下降通常是即將失效的第一個徵兆。

常見誤解

  • VIO 提供的是絕對位置 — 它是里程計:除非以迴圈閉合、地圖或外部參考修正,否則位置與航向會隨距離漂移
  • 加上 IMU 就能解決視覺里程計的所有失效問題 — IMU 能補足短暫的空檔,但長時間沒有可追蹤的特徵,仍會造成漂移,並可能破壞初始化
  • 任何相機與 IMU 都能隨意搭配 — 準確的外部參數校正與時間同步,往往決定估測器是正常運作還是發散

誰需要了解

  • 狀態估測與 SLAM 工程師
  • 無人機與空中機器人開發者
  • AR 與 VR 追蹤工程師
  • 足式機器人與移動機器人導航工程師

相關技術

  • VINS-Mono
  • OKVIS
  • MSCKF
  • ROVIO
  • ORB-SLAM3
  • Kalibr

相關術語

  • Visual Odometry
  • IMU
  • IMU Preintegration
  • Tightly Coupled Sensor Fusion
  • Sensor Fusion
  • SLAM

相關專案

  • ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
  • PX4 Autopilot: Open-source flight control software for drones and other unmanned vehicles
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
  • QGroundControl: Cross-platform ground control station for mission planning and drone flight monitoring
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。