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 導入 — 為什麼需要估計
6 題。以 GPS 抖動為例,建立區分真值、觀測、估計值三個概念的感覺。
2 預測步驟 — 從模型預測下一個狀態
6 題。以手計算確認穩態模型的預測
x̂⁻ = x̂ 與不確定性 P⁻ = P + Q 的意義。
3 更新步驟 — 用觀測修正預測
7 題。以數字追蹤觀測與預測的差 (innovation) y = z − x̂⁻ 與更新式 x̂ = x̂⁻ + K y。
4 卡爾曼增益 — 預測和觀測中該相信哪一邊多少
7 題。從 K = P⁻ / (P⁻ + R) 出發,理解 Q 與 R 的比值如何決定行為。
5 用滑桿與手算實際感受
10 題。以模擬器移動 Q、R、P₀,並以自己的手重現 1–2 個步驟。
6 實作解讀 — 追蹤 1 維的最小實作
9 題。將 Python / C 的最小實作與式子、變數名對應起來,追蹤單一迴圈。
7 綜合練習與理解度檢查
12 題。以混合題型進行收尾,並藉此檢視需要回顧哪一章的綜合演練。
學習訣竅
- 先閱讀本文,接著立刻作答下方的理解檢查
- 遇到不懂之處在看提示之前,先用自己的話重新說出式子的意義
- 第 5 章的模擬器(體感行為)與第 7 章的綜合演練(鞏固確認)目的不同,請務必都完成
開始前的前提
- 具備高中程度的平均與變異感覺即可。
- 不使用矩陣,僅限 1 維純量版。
- 不需要外部函式庫,全部是靜態 HTML / CSS / JavaScript。