Anda jangan menghubungkan semua sensor ini langsung ke mikrokontroler. Filter Kalman bukan filter elektronik seperti filter LRC yang berada di antara sensor dan mikrokontroler. Filter Kalman adalah filter matematika yang diimplementasikan sebagai perangkat lunak rutin di dalam mikrokontroler.
Sensor yang Anda daftarkan memberikan mikrokontroler 14 atau 15 angka mentah setiap kali semuanya diperbarui.
Ketika saya menerbangkan pesawat kecil, apa yang saya benar-benar ingin tahu adalah posisi dan orientasinya dan seberapa jauh itu di atas tanah - 7 angka.
Saya butuh sesuatu yang memberi saya 7 angka itu.
Idealnya saya ingin perkiraan baru dari 7 angka itu setiap kali melalui loop kontrol saya. Pembaruan sekali per detik yang saya dapatkan dari GPS murah saya tidak cukup cepat. (Orang-orang di frekuensi berapa loop pembaruan keluaran-akal-kalkulasi-keluaran-quadcopter saya harus tetap stabil? Memberitahu saya bahkan 50 kali per detik tidak akan cukup cepat).
Entah bagaimana saya harus mengurangi 14 atau 15 angka mentah yang saya miliki, beberapa di antaranya hanya sesekali diperbarui, menjadi (perkiraan) 7 angka yang benar-benar saya inginkan.
Seperti yang ditunjukkan Josh, ada banyak cara ad-hoc untuk mengubah angka-angka mentah menjadi data yang dapat digunakan. Setiap rutin yang mengubah 15 angka menjadi 7 angka dapat digambarkan sebagai "filter".
Anda tidak harus menggunakan filter optimal. Tetapi Anda akan menggunakan beberapa jenis filter - yaitu, sesuatu yang mengubah dari 15 angka data mentah yang Anda miliki menjadi (perkiraan) 7 angka yang benar-benar Anda inginkan.
The Kalman Filter adalah, dalam beberapa kondisi, "optimal" filter, cara terbaik untuk mengkonversi data mentah menjadi 7 angka yang saya benar-benar ingin.
Mungkin perlu sedikit usaha pada Anda untuk menggunakan filter Kalman yang telah ditulis dan didebet orang lain, daripada menulis beberapa filter lain dari awal, men-debug-nya, dan terus menambahkan barang ke sana sampai dapat digunakan - filter yang akan mau tidak mau berubah menjadi sub-optimal.
Data sensor berisik. Jika Anda tidak menyaringnya, maka kendaraan Anda setidaknya akan bertindak tidak menentu jika itu bahkan cukup stabil untuk terbang. Penyaringan, melalui filter Kalman atau lainnya, dapat mengurangi kebisingan ketika dilakukan dengan benar, meningkatkan stabilitas pada gilirannya.
Sebuah Filter Kalman adalah filter sangat kuat. Dibutuhkan model sistem dan model derau untuk sistem dan sensor Anda. Ini kemudian memperkirakan keadaan kendaraan berdasarkan estimasi keadaan yang disediakan dan kontrol yang diterapkan setiap saat. Keadaan perkiraan ini akan lebih akurat daripada yang dilaporkan oleh sensor.
sumber
Anda bisa menggunakan filter partikel juga. Untuk pengantar dasar untuk Filter Partikel, Anda dapat melihat video Profesor Thrun dalam Memprogram Mobil Robot.
http://www.youtube.com/watch?v=H0G1yslM5rc
http://www.youtube.com/watch?v=QgOUu2sUDzg
Filter partikel lebih kuat dan memiliki probabilitas kesalahan penutupan loop yang jauh lebih rendah, yang biasanya terjadi saat menerapkan EKF.
Video tersebut menggambarkan fungsi filter partikel.
sumber
Filter Kalman adalah algoritma yang biasanya digunakan dalam UAV untuk menggabungkan pengukuran sensor bersama-sama untuk memberikan perkiraan posisi dan / atau orientasi UAV yang "optimal". Misalnya, Filter Kalman dapat menggabungkan pengukuran accelerometer, gyro, dan magnetometer dengan perkiraan kecepatan untuk memperkirakan yaw, pitch, dan roll UAV.
Untuk informasi lebih lanjut tentang sensor dan algoritme yang digunakan dalam estimasi keadaan UAV, cobalah artikel yang berdiri sendiri. Fundamentals of Small Unmanned Aircraft Flight .
Artikel ini juga menautkan ke kode Matlab yang menyertai penerapan algoritma estimasi negara bagian UAV Kalman Filter yang dijelaskan.
sumber