Batas perhitungan mati menggunakan sensor MEMS

13

Saya mencoba untuk melacak bagian tubuh relatif terhadap tubuh seseorang. Saya melihat beberapa pertanyaan tentang menggunakan accelerometer MEMS dan gyro untuk perhitungan mati, dan mereka mengkonfirmasi kecurigaan saya bahwa berbagai faktor sangat membatasi kegunaannya untuk aplikasi semacam ini, tapi saya mencari klarifikasi batas-batas ini:

  • Apa sebenarnya batasan-batasan ini?

    Jawaban lain telah membahas mengapa batasan ini ada. Tentu saja spesifikasi bagian-bagian dalam sistem tersebut dan apa yang dianggap sebagai "kesalahan yang dapat diterima" untuk sistem akan mengubah batas yang tepat, tetapi apakah ada urutan tunggal dalam waktu, atau jarak yang dapat saya perkirakan dapat dihitung? Saya sangat menyadari bahwa jarak yang jauh (beberapa yard atau lebih) kesalahannya menjadi terlalu besar untuk tujuan praktis, tetapi bagaimana dengan beberapa kaki?

  • Apa yang dapat saya lakukan untuk meningkatkan batasan ini?

    Saat ini saya sedang melihat menggunakan accelerometer dan gyro. Sensor apa lagi yang bisa saya tambahkan ke sistem untuk meningkatkan tingkat kesalahan? Saya tahu jarak yang lebih jauh, sebuah GPS dapat digunakan, tetapi saya ragu setiap GPS kelas elektronik konsumen memiliki resolusi yang cukup baik untuk membantu dalam kasus saya.

    Selain itu, konsensus umum tampaknya satu-satunya cara untuk meningkatkan batas ini melewati titik sensor yang ditingkatkan adalah untuk memberikan referensi yang tidak mengalami kesalahan. Beberapa sistem mengatasi ini menggunakan kamera dan spidol. Jenis referensi apa yang dapat diberikan oleh perangkat portabel / dapat dipakai?

    Saya telah melihat penggunaan gelombang radio untuk mengukur jarak jauh secara akurat, tetapi saya tidak tahu apakah sistem seperti itu bisa akurat dalam skala kecil (dalam hal jarak diukur) menggunakan komponen "off-the-shelf".

Selali Adobor
sumber
9
Untuk orang yang menandai ini untuk penutupan, dan orang lain dari sejenisnya - ini adalah pertanyaan desain elektronik dari urutan pertama. Ia bertanya bagaimana membangun unit navigasi inersia yang lebih baik menggunakan bagian COTS dan apa pun yang mungkin, dan apa batas saat ini dan apa yang dapat diharapkan dari perbaikan yang disarankan. Pertanyaan itu tidak dapat secara wajar dipecah menjadi pertanyaan yang lebih kecil bagi mereka yang tidak dapat menangani ruang lingkupnya karena integrasi semua faktor untuk mendapatkan hasil yang lebih baik adalah ide inti.
Russell McMahon
Sebuah magnetometer dapat ditambahkan ke gyro dan chip accelerometer 6 DOF.
Russell McMahon
Saya sebenarnya mempertimbangkan fakta bahwa pertanyaan itu terdiri dari dua pertanyaan yang lebih kecil, tetapi sampai pada kesimpulan yang tepat @RussellMcMahon telah mencatat.
Selali Adobor
1
Saya ragu setiap GPS kelas elektronik konsumen memiliki resolusi yang cukup baik untuk membantu dalam kasus saya. Sebenarnya ada GPS konsumen yang menyediakan akurasi sentimeter. Apakah +/- 1cm cukup akurat untuk aplikasi yang belum Anda tentukan. Dan tentu saja, harganya sedikit lebih banyak daripada modul GPS akurat +/- 3m khas Anda
krb686
1
Saya belum melihat apa pun dalam pencarian saya, apakah Anda memiliki nomor bagian untuk salah satu dari mereka?
Selali Adobor

Jawaban:

6
  • Apa sebenarnya mereka?

Sumber kesalahan termasuk nol-offset (bias) dan kesalahan skala (yang cenderung bervariasi lambat) dan kebisingan. Harga sensor MEMS bervariasi dari kurang dari $ 10 hingga lebih dari $ 1000, dan besarnya persyaratan kesalahan mencakup rentang yang luas, tergantung pada kualitas sensor.

Masalah besar adalah bahwa integrasi biasanya diperlukan untuk mendapatkan dari nilai sensor (akselerasi, kecepatan sudut) ke nilai yang diinginkan (posisi, sudut). Semua sumber kesalahan diperparah - tumbuh seiring waktu - saat terintegrasi. Nilai data untuk perhitungan mati meluruh dengan waktu, dengan sensor murah memberi Anda paling banyak beberapa menit data yang berguna dan sensor high-end yang baik untuk mungkin beberapa jam.

  • Apa yang dapat saya lakukan untuk meningkatkan batasan ini?

Seperti yang telah Anda temukan, cara terbaik untuk menghilangkan kesalahan terintegrasi yang berkembang adalah menggabungkan data sensor dengan sumber data independen lainnya yang tidak memiliki jenis kesalahan yang sama. Misalnya, GPS dapat memberi Anda nilai posisi absolut yang tidak melayang dalam jangka panjang, tetapi memiliki komponen "noise" yang relatif besar. Anda dapat menggunakan data ini untuk memperkirakan bias dan skala kesalahan accelerometer Anda, yang memungkinkan Anda untuk memperbaikinya secara real time. Ini juga memungkinkan Anda untuk membatalkan "jalan acak" yang dibuat oleh noise sensor. Filter Kalman adalah salah satu metode umum yang digunakan untuk memodelkan sistem (termasuk istilah kesalahan sensor) dan menggabungkan data bersama-sama untuk menghasilkan perkiraan kondisi sistem yang optimal di setiap titik waktu.

Contoh lain adalah dengan menggunakan "vektor gravitasi", yang diukur dengan akselerometer, untuk membatalkan penyimpangan sudut gyro. Kuncinya di sini adalah mengetahui secara pasti kapan Anda memiliki vektor gravitasi yang valid; yaitu, sistem tidak mempercepat ke segala arah. Berbagai heuristik (misalnya, "tanpa pembaruan") digunakan untuk mencapai hal ini. Magnetometer juga dapat digunakan untuk mengukur kesalahan lang, bahkan jika Anda tidak tahu arah absolut medan magnet - selama Anda dapat menganggapnya konstan.

Optical sensing adalah cara lain untuk mendapatkan kecepatan, sudut, atau perkiraan posisi bebas drift, tetapi pemrosesan gambar yang diperlukan dapat membutuhkan banyak siklus CPU (atau FPGA), dan pengembangan sistem seperti itu cukup rumit.

Dave Tweed
sumber
Ini adalah jawaban yang sangat bagus, tetapi saya pikir itu meleset dari satu bagian dari pertanyaan (mungkin saya perlu mengklarifikasi di atas). "Apa yang mereka" mengacu pada apa batas-batas itu. Saya masuk ke detail tentang apa yang saya maksud dengan itu dalam pertanyaan, karena saya menyadari nilai akan bervariasi berdasarkan banyak faktor.
Selali Adobor
Saya tidak tahu apakah Anda bertanya tentang sifat kesalahan atau besarnya kesalahan. Saya mencoba membahas keduanya pada bagian pertama dari jawaban saya.
Dave Tweed
Oh saya mengerti, jadi waktu mungkin merupakan faktor yang lebih besar daripada jarak dalam kasus ini (saya menyadari itu tidak selalu akan menjadi satu atau yang lain)
Selali Adobor
3

Anda bertanya apa lagi yang bisa ditambahkan. Magnetometer 3 sumbu harus bermanfaat. Medan magnet bumi cenderung bergerak secara substansial lebih lambat daripada rata-rata pengguna (untungnya).
Lihatlah MPU6000 / 6050 yang luar biasa

Satu versi menyediakan antarmuka SPI & IIC, yang lainnya hanya IIC.

Ini berisi giroskop 3 sumbu + akselerometer 3 sumbu plus input untuk memungkinkannya mengintegrasikan sinyal dari dan magnetometer 3 sumbu eksternal.
IC berisi 'prosesor gerak digital' yang mengintegrasikan sinyal dari sensor 3 x 3. Saya belum memahami fungsionalitas yang diberikan, tetapi tujuannya adalah untuk memproses 3 sumber sinyal terpisah menjadi sistem analisis gerak yang bermanfaat.

Lembar data di sini

Biaya IC sekitar $ 10/1 dari Digikey dan papan evaluasi sekitar $ 50 + dari produsen. Atau Anda dapat membeli papan lengkap dari Cina - mereka menjual di sini sekitar $ 6 US retail dalam 1's - IC dan PCB dirakit.
Saya masih belum mengetahui bagaimana itu terjadi atau apakah itu nyata atau .... Saya menerima satu kemarin tetapi tidak akan bisa bermain dengannya sebentar. ('Whiles' sangat bervariasi dalam besarnya, dari sangat kecil hingga terkadang melebihi besar, sayangnya). Ada sejumlah artikel di web tentang cara menggunakannya dengan misalnya Arduinos.

Seberapa akurat ?:

Mungkin ada banyak diskusi tentang ini di web.
Jika saya membaca lembar data dengan benar (dan itu bukan tipe perangkat yang saya kenal)
Tabel 6.1 di halaman 12 menunjukkan bahwa Giroskop memiliki pergeseran +/- 20 derajat / detik maks pada 25 C dan lebih banyak lagi - Kisaran suhu 40 hingga + 85C. Dengan asumsi tingkat aktual 20 derajat / detik itu satu putaran penuh dalam 18 detik. Namun, baik magnetometer dan akselerometer menyediakan akses ke vektor referensi eksternal (gravitasi dan medan magnet bumi) dan sinyal dari ini dapat digunakan untuk memperoleh laju drift gyro jangka pendek dan jangka panjang serta memberikan kompensasi. Ini mungkin menjadi bagian dari apa yang "prosesor gerak" mereka lakukan.

Kesalahan akselerometer tampaknya biasanya di bawah +/- 5%.
Saya perkirakan (dan mungkin sangat salah), bahwa menggunakan accelerometer dan magnetometer untuk memotong kesalahan penyimpangan gyro ke dasarnya nol jangka panjang akan memungkinkan Anda untuk menggunakan sinyal gyro untuk navigasi dari detik ke menit. GPS juga menyediakan sinyal kecepatan dan kombinasi posisi + kecepatan dokter dengan unit 9DOF terdengar sangat berguna.

Wooly: Suara di atas terdengar lebih tebal dari yang saya inginkan. Saya berharap untuk mengetahui lebih banyak tentang ini dalam beberapa minggu ke depan. Saya akan tertarik untuk mendengar apa yang Anda temukan dan jika saya mempelajari hal-hal yang bermanfaat akan mencoba dan melaporkan kembali.

.


Tergantung pada aplikasi Anda, Anda mungkin dapat menyetor GPS referensi dan penerima sementara di lokasi yang nyaman. Ini bisa sangat kompak - GPS + baterai + TX. Setelah disimpan itu tahu di mana itu dan dapat mengirimkan koreksi berdasarkan di mana sistem mengatakan itu. Penggunaan konstelasi satelit yang sama adalah 'mungkin ide yang bagus'. Jika pengguna dan GPS referensi berada pada titik yang sama ketika disimpan jauh lebih baik tetapi sistem ini cenderung berfungsi bahkan jika mereka selalu terpisah secara spasial.

... Saya ragu apakah GPS kelas elektronik konsumen memiliki resolusi yang cukup baik untuk membantu dalam kasus saya.

Tidak tahu apa kasus Anda membuatnya sulit untuk dikatakan. Tetapi sampel relatif untuk sampel resolusi GPS biasanya jauh lebih unggul dari apa yang dicapai selama beberapa menit atau jam. Saya telah melakukan tes di mana saya melewati rute perkotaan dan merencanakan koordinat GPS dan kemudian mengulangi latihan beberapa jam kemudian. Kedua jalur dalam beberapa kasus terpisah beberapa meter tetapi ketika mengatakan mengemudi dalam garis lurus di sepanjang jalan perkotaan plot adalah garis lurus dengan "kebisingan" di kedua sisi garis lurus mungkin kurang dari satu meter. (Itu beberapa tahun yang lalu - mudah untuk mencobanya sendiri. Saya baru saja merekam data dari keluaran GPS serial RS232 (biasanya 4800 baud) dan dalam hal ini diplotkan di Excel sebagai grafik XY.

Diferensial GPS dapat digunakan di mana penerima stasioner lokal lokasi tetap menyediakan koreksi kesalahan berdasarkan di mana ia tahu itu dan di mana sistem sekarang mengatakan itu. Ada banyak penyedia sistem seperti itu tetapi konsepnya sederhana dan cukup mudah untuk diterapkan jika dengan anggaran yang ketat.

Russell McMahon
sumber
Saya ingin membahas penyimpangan itu. Saya apa yang mereka sebutkan dalam datasheet tidak melayang, tetapi apa yang dihasilkan Gyro sebagai nilai saat berada pada tingkat rotasi 0. Angka kedua akan menjadi berapa banyak nilai yang berbeda di seluruh rentang suhu. Apakah Anda pikir itu masuk akal?
Jonas Schäfer
Saya mencoba melacak bagian tubuh relatif terhadap tubuh seseorang (saya sebutkan di pertanyaan, tapi saya mungkin harus memindahkannya ke bagian pengantar, saya tidak sengaja menguburnya). Saya melihat beberapa papan pelarian untuk itu di E-bay, saya akan memesan satu. Melihat datasheet itu adalah perangkat yang sangat menjanjikan. Catatan tentang GPS mengacu pada seberapa pendek jaraknya (<1 meter). Perangkat yang saya lihat untuk jenis pengukuran menggunakan perangkat keras yang sangat khusus. Saya tidak pernah berpikir untuk menggunakan sistem GPS diferensial. Saya pernah mendengar tentang mereka, tetapi tidak tahu banyak tentang mereka, jadi saya akan membaca, Terima kasih!
Selali Adobor
"Penggunaan konstelasi satelit yang sama mungkin adalah ide yang bagus." Bukan itu cara kerja DGPS. Stasiun referensi menghitung koreksi pseudorange pada masing-masing satelit dalam pandangannya dan mentransmisikannya. Stasiun lain hanya menggunakan koreksi untuk satelit yang juga dalam pandangannya sendiri.
Dave Tweed
Invensense sekarang memiliki MPU-9250 mereka, yang menggabungkan MPU-6000 (Gyro / Accel) dengan magnetometer 3-sumbu (Asahi Kasei AK8963), memberikan 9 sumbu pada satu chip. Dan ini lebih kecil dari MPU-6000 :)
bitsmack
Itu juga memiliki daftar e-bay yang serupa jadi saya sudah memesan satu karena harga rata-rata magnetometer pada papan breakout hampir sama (Papan ini pasti murah!)
Selali Adobor
3

Sesuatu yang belum tercakup dalam jawaban ini adalah aplikasi spesifik Anda, yang sebenarnya telah ditangani setidaknya selusin kali sebelumnya oleh orang-orang yang sangat pintar. Dua kata kunci di sini adalah kinematika terbalik dan filter Kalman.

Sekarang harus jelas apa sumber kesalahan untuk aplikasi Anda, dan bagaimana cara memperbaikinya. Tetapi ketika berhadapan dengan sensor yang pada dasarnya ditetapkan untuk manusia, Anda dapat mengurangi rentang posisi spasial dan sudut sensor Anda dengan menerapkan kinematika terbalik pada persamaan. Ini pada dasarnya berarti Anda melacak posisi relatif dari sebanyak mungkin persendian pada tubuh dan menerapkan model kinematik tubuh manusia padanya. Misalnya, panjang lengan orang tidak bervariasi dari waktu ke waktu, rentang gerak mereka juga tidak banyak berubah. Tulang tidak bengkok (dalam keadaan normal). Semua ini dapat digunakan untuk membatasi posisi sensor Anda.

Solusi lain adalah menggunakan sebanyak mungkin sensor ortogonal. Orthogonal dalam arti: menggunakan prinsip-prinsip pengukuran yang berbeda secara fundamental. Menggunakan input sensor sebanyak mungkin, Anda dapat menggunakan apa yang disebut filter Kalman untuk bekerja setepat mungkin mengingat data di mana sensor Anda berada. Filter Kalman bukanlah entitas ajaib yang mengeluarkan jawaban terbaik. Mereka adalah model matematika yang perlu disetel dan dimodifikasi untuk aplikasi spesifik Anda, dan itu bisa cukup merepotkan untuk membuatnya bekerja dengan baik. Tapi itu memungkinkan Anda, dalam bentuk bundaran, untuk menggabungkan data sensor yang sangat sulit dikorelasikan. Input untuk jenis filter ini bisa apa saja: sensor posisi, akselerasi dan kecepatan, tetapi juga misalnya sensor cahaya yang dapat menambahkan informasi dengan menanggapi sumber cahaya yang terlihat pada sudut tertentu.

Beberapa 'powergloves' dengan prinsip kerja ini (kinematika + filter kalman) telah ditunjukkan oleh perusahaan dan universitas. Yang paling baru yang saya lihat di TU Eindhoven menggunakan MPU6050s pada substrat fleksibel yang ditenun menjadi sarung tangan serta beberapa sensor pendukung (saya pikir saat ini hanya webcam) semua dimasukkan ke dalam filter Kalman bertenaga Matlab yang besar. Ia bekerja dalam pengulangan 1mm.

pengguna36129
sumber
Saya sudah memeriksa aspek-aspek masalah sejauh ini untuk kasus khusus saya, jadi saya lebih tertarik pada apa yang dapat saya lakukan dengan perangkat keras, tetapi ini adalah poin yang sangat baik (terutama menggunakan IK untuk kendala).
Selali Adobor
0

Masalah mendasar

Tentu saja spesifikasi bagian-bagian dalam sistem tersebut dan apa yang dianggap sebagai "kesalahan yang dapat diterima" untuk sistem akan mengubah batas yang tepat, tetapi apakah ada urutan tunggal dalam waktu, atau jarak yang dapat saya perkirakan dapat dihitung? Saya sangat menyadari bahwa jarak yang jauh (beberapa yard atau lebih) kesalahannya menjadi terlalu besar untuk tujuan praktis, tetapi bagaimana dengan beberapa kaki?

Ini dapat diatasi dengan mempelajari dinamika kesalahan jangka pendek dari sistem navigasi inersia. Ini dibahas secara rinci dalam banyak teks , tetapi inilah versi singkat "persamaan bebas".

Navigasi inersia berfungsi sebagai berikut:

  1. Ketahui posisi awal, kecepatan, dan sikap awal Anda (mis. Pitch pitch dan yaw).

  2. Δt

  3. Gunakan sikap baru Anda yang baru saja Anda hitung untuk memutar pembacaan accelerometer secara matematis agar sejajar dengan bumi.

  4. Kurangi gravitasi dari pembacaan accelerometer baru Anda.

  5. Δt

  6. Δt

  7. Ulangi langkah 2-6 selama yang diinginkan.

bgbg×Δt×Δt×Δt=bg(Δt)3

Lebih jauh lagi, bias itu akan terakumulasi menjadi sikap, yang akan menyebabkan accelerometer salah level, yang akan menyebabkan akselerasi diratakan ke arah yang salah, yang kemudian akan diintegrasikan ke arah yang salah - tiga tingkatan kesalahan.

Ini berarti bahwa kesalahan gyro menyebabkan kesalahan posisi tumbuh dengan kubus waktu .

Dengan logika accelerometer yang sama menyebabkan kesalahan posisi tumbuh dengan kuadrat waktu .

Karena itu, Anda akan mendapatkan hanya beberapa detik navigasi inersia (murni) yang berguna dari sensor MEMS tingkat ponsel.

Bahkan jika Anda memiliki sensor inersia yang sangat bagus - katakanlah, tingkat pesawat terbang - maka Anda masih terbatas secara mendasar untuk sedikit di bawah sepuluh menit navigasi inersia (murni). Alasannya adalah Langkah 3 - gravitasi berubah seiring ketinggian. Dapatkan tinggi badan Anda salah dan gravitasi Anda akan salah, yang menyebabkan tinggi badan Anda salah, yang menyebabkan gravitasi Anda lebih salah dan seterusnya - pertumbuhan kesalahan eksponensial. Dengan demikian, bahkan sistem navigasi inersia "murni" seperti yang ditemukan di jet militer biasanya akan memiliki sesuatu seperti altimeter barometrik. Sumber .

Solusi

Selain itu, konsensus umum tampaknya satu-satunya cara untuk meningkatkan batas ini melewati titik sensor yang ditingkatkan adalah untuk memberikan referensi yang tidak mengalami kesalahan.

t2

Beberapa sistem mengatasi ini menggunakan kamera dan spidol. Jenis referensi apa yang dapat diberikan oleh perangkat portabel / dapat dipakai?

Ada penelitian dan produk komersial yang dapat melakukan ini.

Secara konseptual, ini berfungsi seperti penglihatan stereo - Anda memiliki garis dasar yang diketahui antara kamera, dan sudut yang berbeda untuk setiap penanda seperti yang dilihat dari setiap kamera. Dari ini, posisi 3D dari setiap tanda dapat dihitung (relatif terhadap kamera). Itu bisa bekerja lebih baik dengan lebih banyak kamera.

Saya telah melihat penggunaan gelombang radio untuk mengukur jarak jauh secara akurat, tetapi saya tidak tahu apakah sistem seperti itu bisa akurat dalam skala kecil (dalam hal jarak diukur) menggunakan komponen "off-the-shelf".

Menggunakan perangkat keras murah, decawave UWB mungkin berguna (berkisar 10cm atau lebih). Anda harus membuat algoritme sendiri melalui.

Saya tahu jarak yang lebih jauh, sebuah GPS dapat digunakan, tetapi saya ragu setiap GPS kelas elektronik konsumen memiliki resolusi yang cukup baik untuk membantu dalam kasus saya.

Di sebelah tubuh, sistem GPS akan berjuang. Mendapatkan cm-level GPS bergantung pada pelacakan fase terus menerus dari (sangat, sangat lemah) sinyal GPS, yang sangat sulit jika antena berada di sebelah tubuh, dan tubuh bergerak! Untuk sistem L1 saja - terlepas dari mana mereka murah atau mahal - pelacakan harus untuk waktu yang sangat lama (10 menit +) dan dengan demikian tidak praktis untuk masalah ini. Penerima frekuensi ganda mungkin bekerja kadang-kadang , tetapi ini benar - benar tidak murah (ribuan dolar).

Damien
sumber