Open Source Robotics

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

Particle Filter

  • 又稱: sequential Monte Carlo, SMC, bootstrap filter
  • 類別: State estimation & navigation › Localisation
  • 標籤: state-estimation, localization, bayesian-filtering, probabilistic-robotics, monte-carlo

一種狀態估測方法,把信念表示為一組加權樣本,以運動模型移動它們、依感測器似然度給予權重,並重新取樣。

定義

粒子濾波器(Particle filter)是一種遞迴貝氏估測器,以一組各帶有權重的樣本(稱為粒子)來表示系統狀態的機率分布。這種方法也稱為序列蒙地卡羅(sequential Monte Carlo);其廣受引用的形式,也就是自助濾波器(bootstrap filter),由 Gordon、Salmond 與 Smith 於 1993 年發表。在機器人領域,它透過 Dellaert、Fox、Burgard 與 Thrun 開發的蒙地卡羅定位成為標準方法,並在 Probabilistic Robotics 一書中有深入的介紹。

每次更新有三個步驟。在預測步驟中,每個粒子依運動模型移動,並加入雜訊以反映里程計或控制的不確定性。在更新步驟中,每個粒子依最新的感測器量測與它所代表的狀態之吻合程度給予權重。在重新取樣步驟中,依權重比例抽出一組新的粒子,於是可能性高的假設會被複製,可能性低的則消失。估測值可以從加權平均、最佳粒子或一群粒子讀出。

與卡爾曼濾波器及其延伸版本不同,粒子濾波器並不假設信念分布是高斯分布。它可以同時保有好幾個彼此分開的假設,例如機器人可能位在兩條一模一樣的走廊之一,或手中握著的物體可能處於與目前感受到的接觸相符的幾種姿態之一。代價在於運算:所需的粒子數會隨狀態維度快速增加,而如果落在真實狀態附近的粒子太少,濾波器可能塌縮到錯誤的答案上。因此,實用的濾波器會使用低變異數重新取樣,只在有效樣本數下降時才重新取樣,自適應調整粒子數,並注入隨機粒子以便從失敗中恢復。

為何重要

許多機器人估測問題是非線性且有歧義的,信念分布有多個峰值而不是只有一個。粒子濾波器能直接處理這類問題,這就是它成為移動機器人標準 2D 定位的基礎,也是從接觸與觸覺估測物體姿態之常用工具的原因。

主要應用

  • 在已知地圖中進行移動機器人定位(蒙地卡羅定位)
  • 從本體感知與觸覺接觸估測手中物體的姿態
  • 在雜亂或有遮擋的場景中追蹤人與物體
  • 使用 FastSLAM 與 GMapping 等 Rao–Blackwellized 粒子濾波器的 SLAM
  • 機器人在不知情下被移動後的全域定位與恢復

實際應用

執行 ROS 導航堆疊的倉儲機器人,通常以 AMCL(一個自適應蒙地卡羅定位套件)進行定位。啟動時,操作員給出粗略的初始姿態,數千個粒子散布在它周圍。機器人行駛時,輪式里程計移動這些粒子,每次光達掃描都會依儲存的佔據地圖為它們重新加權;行駛幾公尺之內,粒子雲就會在真實姿態周圍收斂。工程師調整里程計雜訊參數,使其符合實際的驅動系統,設定最小與最大粒子數,並在 RViz 中觀察粒子雲:在重複的貨架走道中分裂成兩群的粒子雲,表示濾波器正在追蹤兩個假設,需要一個有辨識度的特徵來分辨它們。

常見誤解

  • 粒子越多,精度問題一定能解決 — 所需粒子數會隨狀態維度快速增加,因此高維問題需要更好的提議分布或結構,而不只是更多樣本
  • 粒子濾波器只是比較慢的卡爾曼濾波器 — 它能表示卡爾曼類濾波器無法表示的非高斯、多峰信念分布
  • 每一步都重新取樣一定最好 — 重新取樣太頻繁會失去多樣性;許多濾波器只在有效樣本數低於門檻時才重新取樣
  • 濾波器一定能從錯誤的估測中恢復 — 一旦粒子塌縮到遠離真實狀態之處,除非注入隨機粒子,否則它們無法回來

誰需要了解

  • 移動機器人定位與導航工程師
  • 狀態估測與 SLAM 開發者
  • 從觸覺估測物體姿態的操作研究人員
  • 研讀機率機器人學的機器人學學生

相關技術

  • 蒙地卡羅定位(Monte Carlo Localization,AMCL)
  • 卡爾曼濾波器(Kalman Filter)
  • FastSLAM
  • 重要性取樣(Importance Sampling)
  • 佔據網格地圖(Occupancy Grid Map)

相關術語

  • Extended Kalman Filter
  • SLAM
  • Odometry
  • Sensor Fusion
  • LIDAR
  • Partially Observable Markov Decision Process (POMDP)

相關專案

  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends
  • OpenVINS: The reference open platform for visual-inertial state estimation research
  • AprilTag: The standard visual fiducial marker system for robot localization and pose estimation
  • GLIM: GPU-accelerated 3D lidar SLAM framework for any range sensor, from AIST

影片

  • Understanding the Particle Filter | | Autonomous Navigation, Part 2: MATLAB
  • Particle Filter - 5 Minutes with Cyrill: Cyrill Stachniss

維基百科

  • 粒子濾波器

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