4 poin oleh GN⁺ 12 hari lalu | Belum ada komentar. | Bagikan ke WhatsApp
  • Filter Kalman adalah algoritma estimasi keadaan optimal yang memperkirakan keadaan sistem dan memprediksi masa depan di lingkungan dengan banyak noise
  • Dengan contoh radar pelacak pesawat, dijelaskan proses meningkatkan akurasi dengan mengulangi tahap prediksi dan pembaruan menggunakan nilai pengukuran jarak dan kecepatan
  • Pada tiap tahap, dihitung vektor keadaan, matriks kovarians, dan Kalman Gain untuk menggabungkan nilai pengukuran dan prediksi secara berbobot
  • Dengan mempertimbangkan sekaligus ketidakpastian pengukuran dan ketidakpastian model, ditunjukkan secara numerik bahwa galat estimasi (ketidakpastian) berkurang seiring waktu
  • Melalui contoh numerik yang intuitif dan perhitungan langkah demi langkah, materi ini memberikan landasan pemahaman untuk merancang dan mengimplementasikan filter secara langsung

Pengantar Filter Kalman

  • Kalman Filter** adalah algoritma estimasi keadaan yang memperkirakan dan memprediksi keadaan sistem di lingkungan yang memiliki ketidakpastian, seperti noise pengukuran atau faktor eksternal

    • Digunakan sebagai alat inti di berbagai bidang seperti pelacakan objek, navigasi, robotika, dan kontrol
    • Misalnya, dipakai untuk mengurangi noise pada jejak mouse agar gerakannya lebih halus, mendeteksi tren pada data finansial, atau untuk prediksi cuaca
    • Materi ini menyoroti bahwa banyak bahan pembelajaran terlalu berfokus pada penurunan matematis sehingga kurang contoh nyata, dan karena itu menyediakan penjelasan intuitif berbasis contoh numerik
    • Juga membahas kasus ketika filter yang dirancang dengan buruk gagal melacak target, beserta cara mengoreksinya
    • Tujuannya adalah membangun pemahaman agar pembaca dapat merancang dan mengimplementasikan Filter Kalman sendiri

Jalur belajar

  • Ringkasan satu halaman: memperkenalkan konsep inti dan rumus utama secara singkat, hanya memerlukan pengetahuan dasar statistik dan aljabar linear
  • Tutorial web gratis: tutorial online dengan contoh numerik langkah demi langkah untuk membangun intuisi, tanpa prasyarat pengetahuan
  • Kalman Filter from the Ground Up (buku): 14 contoh numerik lengkap, filter nonlinier (Extended/Unscented) dan fusi sensor, termasuk kode Python·MATLAB

Mengapa prediksi diperlukan

  • Menjelaskan perlunya estimasi keadaan dan prediksi melalui contoh radar pelacak pesawat
    • Keadaan sistem adalah posisi pesawat (jarak (r)), dan radar menghitung jarak dengan mengukur waktu pantulan pulsa
    • Kecepatan (v) dapat diukur melalui efek Doppler
  • Prediksi posisi setelah selang waktu tertentu (\Delta t) dilakukan melalui model dinamis
    • Contoh: (r_{t_1} = r_{t_0} + v \cdot \Delta t)
    • (\Delta t = 5s), (r_{t_0}=10,000m), (v=200m/s) → (r_{t_1}=11,000m)
  • Di lingkungan nyata terdapat noise pengukuran (Measurement Noise) dan ketidakpastian model (Process Noise)
    • Bahkan jika beberapa radar mengukur secara bersamaan, hasilnya bisa sedikit berbeda
    • Asumsi kecepatan konstan bisa rusak akibat faktor eksternal seperti angin
  • Filter Kalman melakukan estimasi keadaan saat ini dan prediksi keadaan masa depan secara bersamaan, sambil menyediakan ketidakpastian (varians) dari tiap estimasi
    • Ini adalah algoritma optimal yang meminimalkan ketidakpastian estimasi keadaan

Contoh Filter Kalman

  • Radar 1 dimensi mengukur jarak (r) dan kecepatan (v) pesawat

    • Vektor keadaan (\boldsymbol{x} = [r, v]^T)
    • Sistem direpresentasikan dengan vektor dan matriks
  • Iteration 0 — inisialisasi dan prediksi

  • Inisialisasi

    • Filter diinisialisasi dengan nilai pengukuran pertama (\boldsymbol{z}_0 = [10{,}000, 200]^T)
    • Ketidakpastian pengukuran (simpangan baku): jarak 4m, kecepatan 0.5m/s (\boldsymbol{R}_0 = \begin{bmatrix}16 & 0 \ 0 & 0.25\end{bmatrix})
    • Estimasi keadaan awal (\hat{\boldsymbol{x}}_{0,0} = \boldsymbol{z}_0)
    • Kovarians awal (\boldsymbol{P}_{0,0} = \boldsymbol{R}_0)
  • Tahap prediksi

    • Selang waktu (\Delta t = 5s)
    • Matriks transisi keadaan (\boldsymbol{F} = \begin{bmatrix}1 & 5 \ 0 & 1\end{bmatrix})
    • Keadaan prediksi (\hat{\boldsymbol{x}}{1,0} = \boldsymbol{F}\hat{\boldsymbol{x}}{0,0} = [11{,}000, 200]^T)
    • Prediksi kovarians (tanpa noise proses): (\boldsymbol{P}{1,0} = \boldsymbol{F}\boldsymbol{P}{0,0}\boldsymbol{F}^T = \begin{bmatrix}22.25 & 1.25 \ 1.25 & 0.25\end{bmatrix})
    • Menambahkan noise proses ((\sigma_a = 0.2m/s^2)): (\boldsymbol{Q} = \begin{bmatrix}6.25 & 2.5 \ 2.5 & 1\end{bmatrix})
    • Kovarians prediksi akhir: (\boldsymbol{P}_{1,0} = \begin{bmatrix}28.5 & 3.75 \ 3.75 & 1.25\end{bmatrix})
  • Ringkasan Iteration 0

    • Menginisialisasi keadaan dan kovarians dengan pengukuran pertama
    • Menggunakan model transisi keadaan untuk memprediksi keadaan berikutnya dan ketidakpastiannya
    • Rumus prediksi
      • Prediksi keadaan: (\hat{\boldsymbol{x}}{n+1,n} = \boldsymbol{F}\hat{\boldsymbol{x}}{n,n} + \boldsymbol{G}\boldsymbol{u}_n)
      • Prediksi kovarians: (\boldsymbol{P}{n+1,n} = \boldsymbol{F}\boldsymbol{P}{n,n}\boldsymbol{F}^T + \boldsymbol{Q})
  • Iteration 1 — pembaruan dan prediksi

  • Pembaruan filter

    • Pengukuran kedua: (\boldsymbol{z}_1 = [11{,}020, 202]^T)
    • Ketidakpastian pengukuran meningkat (simpangan baku: jarak 6m, kecepatan 1.5m/s) (\boldsymbol{R}_1 = \begin{bmatrix}36 & 0 \ 0 & 2.25\end{bmatrix})
    • Saat dibandingkan dengan kovarians prediksi (\boldsymbol{P}_{1,0}), ketidakpastian prediksi lebih kecil
    • Filter Kalman menggabungkan pengukuran dan prediksi sebagai rata-rata berbobot
      • Bobot (K_1): Kalman Gain
      • Rumus pembaruan keadaan: (\hat{\boldsymbol{x}}{1,1} = \hat{\boldsymbol{x}}{1,0} + \boldsymbol{K}_1(\boldsymbol{z}1 - \boldsymbol{H}\hat{\boldsymbol{x}}{1,0}))
      • Matriks observasi (\boldsymbol{H} = \boldsymbol{I})
    • Perhitungan Kalman Gain: (\boldsymbol{K}1 = \boldsymbol{P}{1,0}\boldsymbol{H}^T(\boldsymbol{H}\boldsymbol{P}_{1,0}\boldsymbol{H}^T + \boldsymbol{R}_1)^{-1}) Hasil: (\boldsymbol{K}_1 = \begin{bmatrix}0.4048 & 0.6377 \ 0.0399 & 0.3144\end{bmatrix})
    • Inovasi (innovation): (\boldsymbol{z}1 - \hat{\boldsymbol{x}}{1,0} = [20, 2]^T)
    • Nilai koreksi: (\boldsymbol{K}_1[20, 2]^T = [9.37, 1.43]^T)
    • Keadaan hasil pembaruan: (\hat{\boldsymbol{x}}_{1,1} = [11{,}009.37, 201.43]^T)
  • Pembaruan kovarians

    • Menggunakan bentuk yang disederhanakan: (\boldsymbol{P}_{1,1} = (\boldsymbol{I} - \boldsymbol{K}1)\boldsymbol{P}{1,0})
    • Hasil: (\boldsymbol{P}_{1,1} = \begin{bmatrix}14.57 & 1.43 \ 1.43 & 0.71\end{bmatrix})
    • Setelah pembaruan, ketidakpastian lebih kecil daripada ketidakpastian prediksi maupun pengukuran → menggabungkan pengukuran dan prediksi selalu mengurangi ketidakpastian
  • Tahap prediksi

    • Prediksi untuk waktu berikutnya (t_2)
      • Prediksi keadaan: (\hat{\boldsymbol{x}}{2,1} = \boldsymbol{F}\hat{\boldsymbol{x}}{1,1} = [12{,}016.5, 201.43]^T)
      • Prediksi kovarians: (\boldsymbol{P}{2,1} = \boldsymbol{F}\boldsymbol{P}{1,1}\boldsymbol{F}^T + \boldsymbol{Q} = \begin{bmatrix}52.86 & 7.47 \ 7.47 & 1.71\end{bmatrix})
    • Seiring waktu, jika tidak ada pengukuran, ketidakpastian akan meningkat lagi
  • Ringkasan Iteration 1

    • Tahap pembaruan: menggabungkan prediksi dan pengukuran dengan Kalman Gain
    • Tahap prediksi: meneruskan keadaan yang telah diperbarui ke waktu berikutnya
    • Rumus utama
      • Pembaruan keadaan: (\hat{\boldsymbol{x}}{n,n} = \hat{\boldsymbol{x}}{n,n-1} + \boldsymbol{K}_n(\boldsymbol{z}n - \boldsymbol{H}\hat{\boldsymbol{x}}{n,n-1}))
      • Pembaruan kovarians (Joseph form): (\boldsymbol{P}_{n,n} = (\boldsymbol{I} - \boldsymbol{K}n\boldsymbol{H})\boldsymbol{P}{n,n-1}(\boldsymbol{I} - \boldsymbol{K}_n\boldsymbol{H})^T + \boldsymbol{K}_n\boldsymbol{R}_n\boldsymbol{K}_n^T)
      • Kalman Gain: (\boldsymbol{K}n = \boldsymbol{P}{n,n-1}\boldsymbol{H}^T(\boldsymbol{H}\boldsymbol{P}_{n,n-1}\boldsymbol{H}^T + \boldsymbol{R}_n)^{-1})

Ringkasan contoh

  • Tiga tahap Filter Kalman: inisialisasi → prediksi → pembaruan
  • Setelah itu, loop prediksi-pembaruan diulang terus
  • Setiap kali pengukuran baru ditambahkan, ketidakpastian berkurang dan estimasi keadaan sistem menjadi semakin presisi
  • Materi pembelajaran tambahan
    • Tutorial online gratis: menyediakan contoh numerik langkah demi langkah
    • Buku Kalman Filter from the Ground Up: mencakup filter linear·nonlinear, panduan implementasi, serta kode Python/MATLAB

Belum ada komentar.

Belum ada komentar.