Bagaimana cara menentukan posisi dari input giroskop dan akselerometer?

33

Saya memiliki accelerometer 3-sumbu dan giroskop 2-sumbu. Saya bermaksud mengukur sesuatu yang hanya bergerak di sumbu X dan Z. Saya pernah mendengar tentang menggunakan filter Kalman untuk memuluskan vektor percepatan, tetapi saya tidak dapat menemukan tutorial yang bagus untuk pemula yang lengkap untuk topik tersebut. Juga, saya tahu saya dapat menggandakan mengintegrasikan percepatan untuk mendapatkan posisi, tetapi bagaimana saya melakukan ini dengan sejumlah vektor percepatan sampel? Saya sangat menghargai tautan ke tutorial yang bagus untuk pemula pada kedua topik ini.

Steven
sumber
3
Kedengarannya seperti posting blog ini yang saya temui sebelumnya hari ini: starlino.com/imu_kalman_arduino.html Saya tidak memiliki koneksi dengan situs itu, hanya berpikir itu tampak relevan dengan apa yang Anda minta.
JustJeff
1
serangkaian tutorial cara menggunakan dan antarmuka sensor accelerometer dapat ditemukan di artikel ini. intorobotics.com/... berikut adalah tutorial yang tersedia untuk pengukuran 2 sumbu
Ezu

Jawaban:

8

Nah, filter Kalman adalah sejenis sihir yang bekerja secara misterius. :)

Saya mulai lebih dulu dengan Filter digital . Dijelaskan dengan baik sebagai permulaan. Dan mudah dimengerti. Filter sederhana ini bekerja dengan baik untuk roll dan pitch dari sistem apa pun. Hanya perlu menyesuaikan rasio Akurasi vs Respons dengan bereksperimen. Caranya adalah [Akurasi = 1 - Respons].

Cobalah.

Maka untuk memahami tentang filter Kalman Anda harus melalui hal-hal berikut:

  1. Kemungkinan
  2. Hukum bayes
  3. Maka perlu mempelajari cara membuat model skenario sederhana untuk menyesuaikan mereka ke dalam filter Kalman.
  4. Saat ini saya di sini jadi mencari apa yang harus dilakukan .. pasti akan memberi tahu Anda.

Dan harus berbagi jika Anda menemukan hal seperti ini.

Rick2047
sumber
7

... gabungkan integrasi percepatan untuk mendapatkan posisi

Secara teori (asalkan Anda memiliki sensor dan pengukuran sempurna) Anda bisa melakukan itu, tetapi dalam praktiknya Anda tidak bisa. Masalahnya adalah bahwa akselerometer akan memiliki gaya konstan 1G yang disebabkan oleh gravitasi ketika benda itu masih berbaring (nol G jika jatuh bebas), tetapi ini tidak diukur dengan tepat 1,00000000 ... G. Saat memindahkan objek, Anda akan memiliki vektor sebagai jumlah gravitasi 1G dan percepatan dari gerakan (yang biasanya jauh lebih kecil dari 1G) dan pengukuran Anda akan mengakumulasi terlalu banyak noise dari waktu ke waktu sehingga tidak berguna jika Anda mencoba mengintegrasikan pengukuran yang diukur. akselerasi minus gravitasi 1G.

hlovdal
sumber
6

Saya mulai membangun quad hampir 6 bulan lalu, punya banyak masalah dengan penentuan sudut yang benar :)

Pertama-tama Anda harus mencoba presentasi ini - http://web.mit.edu/scolton/www/filter.pdf Ini benar-benar komprehensif dan mungkin membantu Anda mendapatkan ide yang lebih baik tentang apa yang Anda inginkan, cukup banyak triknya. untuk saya.

Saya kira itu terserah Anda, tetapi, menerapkan filter Kalman tidak hanya membutuhkan pengetahuan yang cukup kuat dalam matematika, teori sistem dan dalam hal ini fisika tetapi juga sangat menuntut tentang beban CPU. Jika Anda ingin menggunakan, katakanlah Atmega328 clock di 16Mhz Anda mungkin memiliki masalah menggunakan filter semacam ini. Ini benar-benar efektif jika Anda menggunakan DSP sehingga Anda dapat memfilter-rendahkan input acc Anda.

Secara keseluruhan, saran saya adalah - coba gunakan filter komplementer urutan pertama atau bahkan mungkin filter komplemen urutan kedua jika Anda tidak puas dengan hasilnya. Jika sistem Anda bebas dari getaran frekuensi tinggi yang seharusnya bekerja dengan baik. Lain bahwa tautan JustJeff adalah tempat yang sempurna untuk memulai jika Anda terjebak dengan implementasi :)

Semua yang terbaik, Dan

Dan
sumber
Tautan Anda mati. Saya menggali sedikit dan menemukan dokumen itu lagi: googledrive.com/host/0B0ZbiLZrqVa6Y2d3UjFVWDhNZms/filter.pdf Setidaknya itu seharusnya sama, mungkin Anda ingin menggandakan cek.
Yohanes
Yap, persis sama :)
Dan
Tautan sudah mati lagi :(
KyranF
@ KirranF pikir saya menemukannya lagi :) portal.ts-muenchen.de/Dateien/filter.pdf
Dan
@Dan bagus, ini sebenarnya dokumen yang sama persis yang saya gunakan untuk merancang firmware saya ketika saya membuat mini segway kembali di uni. youtu.be/zOFlJJj8pPA
KyranF
1

Saya juga seorang pemula dan juga mencari beberapa solusi untuk pekerjaan navigasi saya. sama seperti Anda, saya memiliki papan yang dikonfigurasi dengan accelerometer 3-sumbu dan giroskop 2D. sampai sekarang saya telah membaca banyak materi tentang ini, juga saya memutuskan untuk mengadopsi filter kalman untuk menangani sinyal saya. mungkin saya tidak punya saran untuk Anda, tetapi saya ingin berbagi sesuatu dengan Anda yang pernah saya lihat sebelumnya. ada beberapa tautan yang menunjuk ke mereka, semoga bermanfaat bagi Anda.

  1. Pengantar Filter Kalman
  2. Kotak Alat Navigasi Robot CAS
  3. Kotak Alat Navigasi Inertial Open Source
  4. Kode sumber proyek tentang navigasi

terbatas pada reputasi saya, saya hanya memiliki otoritas untuk mengirim kurang dari 2 tautan. jadi dua yang lain saya ingin posting seperti di bawah ini:

Kuda hitam
sumber
1
Meskipun ini mungkin satu set tautan yang berguna untuk OP, postingan ini akan bernilai jika Anda juga menambahkan ringkasan konten yang relevan dari tautan-tautan itu, khusus untuk pertanyaan yang telah diposting OP. Perlu diingat bahwa ketika tautan pada akhirnya menjadi tidak valid karena tautan busuk, pos ini tidak akan memiliki nilai. Terima kasih.
Anindo Ghosh