Menghentikan drift dalam melayang quadrocopter

13

Saya akan membangun drone quadrocopter 4 propeller di beberapa titik. Saya ingin membuatnya relatif mudah untuk terbang dengan membuatnya melayang ketika kontrol tidak disentuh.

Dapatkah seseorang menawarkan beberapa informasi tentang bagaimana saya membuat quadrotor tetap berada di udara? Saya sedang berpikir accelerometer untuk mengukur drift dan roll / pitch / yaw, tetapi mereka tidak cukup sensitif untuk mendeteksi drift yang sangat lambat karena, misalnya, angin sepoi-sepoi. Apakah GPS cukup akurat untuk menghilangkan drift pada skala 10cm (yaitu, mendeteksi drift 10cm (atau kurang, mungkin?) Dari posisi awal drone)?

Bojangles
sumber
Jika Anda ingin membuat robot, jangan lupa berkomitmen ke Proposal Robotika
Rocketmagnet

Jawaban:

16

Saya pikir Anda akan ingin menggunakan kombinasi sensor. Accelerometer dan giroskop akan dapat mengoreksi angin yang kuat. Anda kemudian dapat menggunakan GPS untuk melawan penyimpangan jangka panjang (atau bias, seperti yang kadang-kadang disebut). Saya pikir kombinasi kedua sensor ini dalam beberapa jenis filter (mungkin Kalman) akan membuat posisi Anda melayang diminimalkan.

GPS tidak akan cukup akurat dengan sendirinya. Pendekatan alternatif untuk filter Kalman (yang bisa sedikit matematika) adalah dengan menggunakan algoritma DCM dari DIYdrones . Tampaknya ada banyak keberhasilan dalam menggunakan ini sejauh ini.

Akhirnya, quadrotor drone Parrot menggunakan kamera 60fps menghadap ke bawah untuk membatalkan penyimpangan. Ini melihat ke bawah dan mengekstraksi fitur dari tanah di bawahnya, kemudian menggunakan jenis odometri visual (saya mengasumsikan semacam algoritma aliran optik) untuk menentukan seberapa jauh quadrotor telah melayang. Saya percaya bahwa ini hanya bekerja pada ketinggian rendah di Parrot, tetapi saya tidak melihat alasan mengapa itu tidak dapat diperluas ke ketinggian yang lebih tinggi.

mjcarroll
sumber
Terima kasih! Saya pikir saya akan memilih opsi kamera downfacing karena saya akan memberi daya pada drone melalui LPC1768. Itu kekuatan pemrosesan yang cukup untuk melakukan deteksi garis dasar pada 640x480 kan? Terima kasih atas solusi alternatif Anda menggunakan giroskop dan GPS untuk penyimpangan jangka panjang. Juga, apakah Anda tahu ada sensor yang bisa merasakan penyimpangan?
Bojangles
1
Selain 6 derajat kebebasan IMU, saya pernah mendengar orang menggunakan magnetometer untuk menentukan penyimpangan jangka panjang dengan merasakan perubahan dalam medan magnet bumi. Saya tidak tahu bahwa ini selalu merupakan pilihan yang baik, karena lapangan dapat berfluktuasi dengan cepat di sekitar perangkat arus tinggi (seperti 4 motor) dan tidak bervariasi secara linear.
mjcarroll
3
Masalah dengan kamera pada ketinggian yang lebih tinggi adalah bahwa jumlah roll yang sangat kecil akan menghasilkan pergeseran gambar yang semakin besar seiring dengan meningkatnya ketinggian, kecuali jika kamera berada pada mount self-leveling.
mikeselectricstuff
@ mikeselectricstuff - Tidak bisakah Anda menyesuaikan algoritma pemrosesan gambar berdasarkan ketinggian?
mjh2007
1
@ mjh Saya pikir masalahnya paling baik dilihat pada contoh. Pada ketinggian 50 kaki, roll atau pitch 5 derajat (cukup khas untuk bergerak dalam arah X atau Y pada quadrotor) akan menyebabkan fitur ground bergerak (tan (5 deg) * 50 kaki) = 4,25 kaki (matematika kasar ). Bahkan tanpa quadrotor bergerak, semua fitur ground akan bergeser 4 kaki. Ini bisa dikompensasi, tetapi menjadi sulit dengan resolusi dan batasan perhitungan.
mjcarroll
3

GPS tidak cukup akurat. Accelerometer hanya dapat mengukur percepatan, bukan penyimpangan konstan.

Mungkin sistem penentuan posisi yang dilokalisasi menggunakan suar dan trilaterasi atau semacamnya?

Mungkin kamera murah untuk mendeteksi pergeseran relatif ke tanah atau benda-benda diam lainnya? Anda dapat membatalkan rotasi menggunakan giroskop, dan kemudian melakukan korelasi silang antara frame berikutnya untuk mendeteksi pergeseran relatif ke tanah, cara kerja mouse optik.

endolit
sumber
3

Jika saya akan melakukan ini menggunakan kamera menghadap ke bawah, hal pertama yang saya inginkan adalah kinerja tinggi dan resolusi yang relatif rendah (ini adalah sensor, saya benar-benar tidak tertarik dengan input kamera) dan kamera saya akan gunakan untuk ini akan dari mouse optik: mereka memiliki kecepatan tinggi, kamera beresolusi rendah. Dengan sedikit peretasan tentang saya yakin Anda bisa membuat pengaturan lensa untuk membedakannya dari fitur-fitur di lapangan dan kemudian Anda bisa menggunakan algoritma aliran optik pengekstraksi yang berbeda untuk memproses input ini.

Choscura
sumber
Saya ragu Anda membutuhkan tingkat pembaruan yang luar biasa; kecepatan quadrotor yang relatif lambat dan waktu reaksinya tidak benar-benar membuatnya cocok.
Nick T
Terima kasih atas solusi alternatif Choscura. Saya pasti akan melihat ke dalam menggunakan mouse optik - Saya tidak perlu bagian kamera dari kamera juga ;-) Satu-satunya masalah yang saya dapat lihat adalah jika gambar tidak fokus, perbedaan algoritma mungkin tidak bekerja dengan baik . Apakah saya benar?
Bojangles