Haruskah input filter Kalman selalu menjadi sinyal dan turunannya?

19

Saya selalu melihat filter Kalman yang digunakan dengan data input seperti itu. Misalnya, input umumnya berupa posisi dan kecepatan koresponden:

(x,dxdt)

Dalam kasus saya, saya hanya memiliki posisi dan sudut 2D pada setiap waktu sampel:

Pi(xi,yi)and(α1,α2,α3)

Haruskah saya menghitung kecepatan untuk setiap titik dan untuk setiap sudut agar sesuai dengan kerangka Kalman?

Stéphane Péchard
sumber
Saya tidak pernah menjadi ahli filter Kalman, tetapi saya pikir beberapa jawaban terhadap pertanyaan berikutnya dapat diminta untuk membuat beberapa model sendiri. Dalam kasus Anda, posisi 2D apa yang Anda miliki? dan apa sudut yang Anda miliki? Apakah ada hubungan antara posisi 2D dan sudut? Dan, apa yang ingin Anda dapatkan dengan menggunakan filter Kalman? Lancar meratakan posisi 2D atau apa?
fumio ueda
Posisi yang saya miliki adalah titik 3D yang diproyeksikan di layar perangkat. Sudut-sudut adalah sudut Euler gyroscope-terukur perangkat. Hubungan di antara mereka agak rumit. Yang saya inginkan adalah stabilisasi poin yang diproyeksikan, yang mencerminkan tidak adanya atau gerakan kamera yang rendah. Semoga bisa membantu.
Stéphane Péchard

Jawaban:

12

Variabel keadaan dan turunannya sering dimasukkan sebagai input ke filter Kalman, tetapi ini tidak diperlukan. Inti dari kerangka kerja Kalman adalah bahwa sistem tersebut memiliki beberapa kondisi internal yang Anda coba perkirakan. Anda memperkirakan variabel keadaan tersebut berdasarkan pada pengukuran Anda dari sistem yang dapat diamati dari waktu ke waktu. Dalam banyak kasus, Anda tidak bisa secara langsung mengukur keadaan yang Anda ingin perkirakan, tetapi jika Anda tahu hubungan antara pengukuran Anda dan variabel keadaan internal, Anda bisa menggunakan kerangka kerja Kalman untuk masalah Anda.

Ada contoh yang bagus tentang ini di halaman Wikipedia . Dalam contoh itu, gerakan linear 1 dimensi dari suatu objek dipertimbangkan. Variabel keadaan objek terdiri dari posisinya terhadap waktu dan kecepatannya pada garis satu dimensi gerakan. Contoh ini mengasumsikan bahwa satu-satunya yang dapat diamati adalah posisi objek versus waktu; kecepatannya tidak diamati secara langsung. Oleh karena itu, struktur filter "menyimpulkan" perkiraan kecepatan berdasarkan pengukuran posisi dan hubungan yang diketahui antara kecepatan dan posisi (yaitu jika akselerasi diasumsikan bervariasi lambat).xk˙(xkxk1)Δt

Jason R
sumber
1
Terima kasih atas jawabannya. Saya tidak yakin tentang hubungan antara pengukuran saya dan variabel kondisi internal, karenanya keraguan saya. Memang benar bahwa artikel Wikipedia informatif, tetapi seperti biasa, contoh-contohnya sederhana, dan saya kesulitan membayangkan bagaimana saya bisa menggunakan filter Kalman dalam kasus saya sendiri.
Stéphane Péchard
2
Saya mendorong Anda untuk mengirimkan pertanyaan lain dengan lebih detail masalah Anda. Apa yang Anda amati, apa yang ingin Anda perkirakan, dan lingkungan kebisingan seperti apa Anda?
Jason R
Saya juga punya masalah dengan model pengukuran di filter Kalman saya. Mungkin pertanyaan saya juga dapat membantu menjernihkan masalah Anda. dsp.stackexchange.com/questions/2568/…
Jav_Rock
3

Tingkat kesalahan kamera dapat dihitung dari membagi kecepatan posisi 2D dengan kedalaman gambar (salah satu posisi 3D). Jadi, pada dasarnya Anda memiliki dua jenis solusi dari laju yaw, salah satunya adalah dengan pemrosesan posisi gambar, yang lain adalah dengan yaw-rate senser. Mereka dapat digabungkan satu sama lain dengan filter Kalman untuk memperbaiki tingkat penguapan.

fumio ueda
sumber
1

Itu tergantung pada model sistem Anda, jika Anda dapat memodelkan sistem dengan hanya posisi dan sudut, yaitu , tidak apa-apa Anda tidak menghitung kecepatan, jika itu tidak mungkin, Anda dapat mempertimbangkan cara lain.x=[xi,yi,α1,α2,α3]T

wayne
sumber