目錄
粒子濾波的主要流程可以分為以下 5 個步驟:
粒子濾波(PF) vs. ESKF(誤差狀態卡爾曼濾波)
粒子濾波的主要流程可以分為以下 5 個步驟:
-
初始化(Initialization)
-
生成 N 個粒子,每個粒子代表 狀態空間中的一個可能位置,并初始化權重。
-
初始狀態可能來自先驗分布,或者均勻分布。
-
-
預測(Prediction, 運動更新)
-
使用系統的運動模型(如卡爾曼運動模型、慣性導航)來 預測粒子的新狀態。
-
由于運動不確定性,加入 隨機噪聲(如高斯噪聲) 以模擬真實運動。
-
-
更新(Update, 觀測更新)
-
計算每個粒子的觀測概率(即權重),權重表示粒子與觀測數據的匹配程度,通常用誤差大小來映射權重大小。
-
權重越大,說明該粒子更可能代表真實狀態。
-
-
重采樣(Resampling)
-
高權重粒子有更高的概率被保留,而低權重粒子可能被淘汰。
-
采用 低方差重采樣(Low Variance Resampling) 或 多項式重采樣(Multinomial Resampling)。
-
-
估計(Estimate)
-
計算最終的狀態估計(通常使用加權均值)。
-
進入下一輪循環,重復 預測 → 更新 → 重采樣 過程
-
粒子濾波相比較于ESKF的優缺點:
在 機器人定位、自動駕駛、SLAM 等任務中,粒子濾波(Particle Filter, PF) 和 誤差狀態卡爾曼濾波(Error-State Kalman Filter, ESKF) 是兩種常見的狀態估計算法。它們各有優缺點,適用于不同的應用場景。
1?? 粒子濾波(PF)的特點
? 優點
- ? 適用于非線性、非高斯系統:
粒子濾波不假設系統是線性、高斯的,適用于高度非線性和非高斯噪聲的環境。
- ? 能夠處理多模態分布:
適用于存在多種可能狀態的情況,例如多路徑問題(機器人可能在多個位置)。
- ? 適用于全局定位(Global Localization):
可以在初始位置未知時進行全局搜索,而EKF 只能用于增量更新。
- ? 可以直接結合傳感器數據:
可以直接使用激光雷達(LiDAR)、視覺(Camera)、IMU 等傳感器數據進行估計,而不需要嚴格的線性化處理。
? 缺點
- ? 計算量大,實時性差:
需要大量粒子來表示狀態分布,計算復雜度 O(N)O(N)O(N) 較高,不適用于高頻狀態更新。
- ? 容易退化(Degeneracy):
若粒子數不足,可能會導致低權重粒子占比過高,降低濾波效果。
需要低方差重采樣來緩解退化問題。
- ? 難以調整粒子數:
粒子數目要根據問題復雜度調整,過少會影響精度,過多會降低計算效率。
2?? 誤差狀態卡爾曼濾波(ESKF)的特點
? 優點
- ? 計算效率高,適用于高頻更新:
計算復雜度 O(n2)O(n^2)O(n2),遠低于粒子濾波的 O(N)O(N)O(N),適用于實時性要求高的應用(如自動駕駛)。
- ? 狀態維度較高時表現優異:
適用于高維狀態估計(如 IMU + 輪速 + GNSS 融合),不會因狀態維度增加導致計算量急劇上升。
- ? 誤差建模更加精確:
ESKF 采用誤差狀態方程,避免了直接估計全局狀態的不穩定性,使得濾波更加穩定。
- ? 適用于增量式定位(Incremental Localization):
適用于車輛 里程計(Odometry)+ IMU 的方案,例如慣性導航系統(INS)。
? 缺點
- ? 要求系統近似線性 & 高斯噪聲:
適用于 高斯噪聲和小范圍非線性系統,但對于強非線性、高噪聲系統,效果較差。
- ? 無法處理全局定位(Global Localization):
只能進行增量更新,無法全局搜索。
如果初始位置不準,可能會發散。
- ? 難以處理多模態分布:
不能有效處理多種可能狀態(如雙重解),只能跟蹤單個高斯分布的狀態。
-
3?? 什么時候選擇 PF vs. ESKF?
需求 選擇 PF 選擇 ESKF 非線性系統 ? 適用于強非線性 ? 僅適用于小范圍非線性 非高斯噪聲 ? 適用 ? 不適用 全局定位(Global Localization) ? 適合(機器人初始化時位置未知) ? 只能做局部跟蹤 計算資源受限 ? 計算量大 ? 計算效率高 實時性(高頻更新) ? 更新較慢 ? 適用于高頻 IMU+里程計 狀態維度較高(如IMU+LiDAR+GNSS融合) ? 計算量過大 ? 適用于高維狀態 多模態分布(如多路徑問題) ? 適用于多種可能狀態 ? 只能跟蹤單個解
4?? 具體應用案例分析
? 適合使用 PF 的場景
- 機器人全球定位(Global Localization)
- 機器人不知道自己在哪,通過激光雷達、地圖匹配來確定位置。
- 需要遍歷整個狀態空間,因此使用粒子濾波。
- 自動駕駛中的地圖匹配(Map Matching)
- 車輛可能有多條可能行駛路線,需要考慮多個假設,因此適合用 PF。
- 激光雷達(LiDAR)+ 視覺(Camera)融合
- LiDAR & Camera 數據通常具有非高斯噪聲,適合用 PF 處理。
-
? 適合使用 ESKF 的場景
-
慣性導航(INS)+ GNSS 組合導航
-
IMU 數據是高頻更新,EKF 計算效率更高,適用于高維狀態估計。
-
誤差狀態建模能夠提高精度,適用于 IMU + GNSS + 輪速編碼器 組合方案。
-
-
5?? 結論
-
粒子濾波(PF):適用于全局定位、多模態分布、非高斯噪聲系統,但計算量較大,適合低頻更新。
-
誤差狀態卡爾曼濾波(ESKF):適用于增量式定位、高維狀態、高頻 IMU 更新,計算效率高,但難以處理全局定位和多模態分布。
-
🔹 一句話總結:
-
如果已知初始位置,且需要高頻更新,選 ESKF。
-
如果初始位置未知,或可能有多個可能狀態,選 PF。
-
若計算資源有限,優先選 ESKF。
-
如果非線性和非高斯問題較強,選 PF。
-
-
車輛定位(基于里程計 + IMU)
-
適用于 增量式定位(Incremental Localization)。
-
ESKF 可以處理 IMU + 里程計(Odometry)+ GNSS 組合,提供高精度定位。
-
-
自動駕駛的高精度定位(High-Precision Localization)
-
如高精地圖匹配(HD-Map Matching),基于 IMU + GNSS + 輪速。
-
需要實時性高、精度高的濾波方法,ESKF 計算量低,適合用在自動駕駛場景。
-