小村軟體有限公司
KF101

透過圖解與手算理解卡爾曼濾波器

本入門課程以 1 維純量版為限,依圖 → 直覺 → 手算 → 程式碼的順序推進。各章中間安排用手追數字的小題目,評分與進度保存全部在瀏覽器內完成。

圖 → 直覺 → 手算 → 程式碼 共 56 題 瀏覽器內評分 儲存於 localStorage
所需時間
3–4 小時
題目數量
共 56 題
形式
7 章 + 小題 + 模擬器
費用
免費

本課程的特色

每章中間安排用手追數字的小題目
可當場計算預測變異、卡爾曼增益與更新後的估計值來確認。因為各處都要動手,很難只是走馬看花。
依圖 → 手算 → 模擬器 → 程式碼順序推進
第 5 章的模擬器與第 6 章的最小實作會以相同題材逐步確認,讓式子與行為更容易對應起來。
全部評分與儲存都在瀏覽器內完成
小題目與綜合演練不會把任何資料送往伺服器,作答內容與進度僅儲存在本機瀏覽器的 localStorage。

本講座使用的公式只有 5 條

本課程假設對象不會移動(位置不變)的穩態模型 (steady-state model)。因此預測式採取最簡形式 x̂⁻ = x̂

x̂⁻ = x̂
穩態模型的預測。直接沿用前一步的估計值。
P⁻ = P + Q
預測變異的更新。會依模型的不確定性增大。
K = P⁻ / (P⁻ + R)
卡爾曼增益。決定預測與觀測之中要相信哪邊、相信多少。
x̂ = x̂⁻ + K(z − x̂⁻)
估計值的更新。利用觀測修正預測值。
P = (1 − K)P⁻
變異的更新。吸收觀測之後,估計的不確定性會變小。

符號說明:Q 是模型的不確定性(例如:假設靜止對象時,實際運動與模型之間的偏差變異數),R 是觀測的不確定性(例如:若 GPS 抖動為 ±5 m,則 R ≈ 25),P 是估計值的不確定性。

章節概覽

學習訣竅

  1. 先閱讀本文,接著立刻作答下方的理解檢查
  2. 遇到不懂之處在看提示之前,先用自己的話重新說出式子的意義
  3. 第 5 章的模擬器(體感行為)與第 7 章的綜合演練(鞏固確認)目的不同,請務必都完成

開始前的前提

  • 具備高中程度的平均與變異感覺即可。
  • 不使用矩陣,僅限 1 維純量版。
  • 不需要外部函式庫,全部是靜態 HTML / CSS / JavaScript。