Algoritme apa yang dapat saya gunakan untuk membuat peta area yang dieksplorasi menggunakan sejumlah sensor ultrasound?

9

Sensor ultrasonik sangat murah hari ini yang membuatnya menjadi pilihan populer untuk banyak aplikasi robot hobi, dan saya ingin menggunakan banyak dari mereka (katakanlah 10) di sekitar robot dengan algoritma untuk membangun peta kasar suatu daerah (seperti robot menjelajahinya.) Saya tidak tertarik berurusan dengan benda bergerak pada tahap ini, hanya menunjukkan benda diam, dan saya akan menggunakan GPS untuk lokasi. Saya menyadari bahwa komponen lain seperti pemindai laser akan menghasilkan hasil yang jauh lebih akurat, namun perangkat seperti itu juga lebih mahal secara astronomis.

Apakah ada algoritma untuk tujuan ini?

berry120
sumber

Jawaban:

5

Algoritma pada dasarnya sama terlepas dari sensor apa yang Anda gunakan.

Masalah sebenarnya, yang disentuh Chris , adalah bahwa SLAM sulit bahkan dengan sensor yang sangat bagus.

Saya akan mempertimbangkan GPS, roda odometry, dan IMU diperlukan bahkan untuk mencoba membanting dengan ultrasound.

Jika Anda hanya mencari pelokalan murah, saya sarankan untuk melihat slam berbasis vision / kinect juga. Webcam dan kinect keduanya sangat murah dan slam visual telah jauh.

Kinect adalah grail suci dalam hal kinerja sensor / biaya selama Anda berada di dalam ruangan.

Berikut adalah contoh kinect pada robot plus banyak matematika: http://www.youtube.com/watch?v=9Y4RQVpp-BY

pengguna65
sumber
6

Ada seluruh bidang literatur tentang topik ini. Gagasan yang paling umum adalah tentang Pelokalan Simultan dan Pemetaan ( SLAM ), di mana robot harus membangun peta pada saat yang sama dengan menempatkan dirinya di peta itu. Bergantung pada seberapa akurat peta yang Anda inginkan, Anda dapat mencoba masalah yang lebih sederhana untuk membuat peta kisi hunian , yang mengasumsikan Anda tahu lokasi robot.

Secara umum, GPS cukup mengerikan, sehingga menghasilkan grid hunian hanya menggunakan GPS sebagai sumber lokasi utama Anda akan menghasilkan peta yang cukup fuzzy. Namun, dimungkinkan untuk mengintegrasikan GPS dengan akselerasi, giroskop, kompas, kamera, encoder roda, dan sensor lainnya untuk memperkirakan posisi yang baik di dunia. Jika tidak, Anda perlu melihat sistem SLAM sederhana untuk menangani masalah Anda.

Paket open source g2o yang bagus , untuk apa yang disebut GraphSLAM, memungkinkan Anda untuk memasukkan batasan seperti GPS dan posisi relatif ke dinding. Ini mungkin tidak cocok, tetapi ini cukup umum.

Chris Mansley
sumber
1
Pemikiran tambahan akan mengumpulkan semua data, menggunakan perilaku penghindaran dasar untuk memastikan bahwa robot tidak menabrak apa pun, dan kemudian menggunakan grafik pemrosesan pasca SLAM. Ini dapat memanfaatkan semua data yang ditangkap, tidak hanya data sebelumnya untuk suatu titik. Anda mungkin ingin memeriksa: openslam.org/ssa2d.html atau robots.stanford.edu/papers/thrun.graphslam.html
Barrett Ames
2

Untuk melakukan SLAM, Anda perlu perkiraan posisi yang relatif baik.

Robot yang menggunakan pemindai laser dapat melakukannya hanya dengan odometri, karena datanya relatif akurat, dan data pemindai dapat digunakan untuk membantu melokalkan langkah-langkah waktu berikutnya.

Sensor ultrasonik sangat tidak jelas, umumnya memiliki ketidakjelasan arah 20 derajat, dan segala sesuatu dalam arah umum akan terdeteksi.

Dengan demikian, mereka sangat membantu dalam membantu pelokalan (kecuali dalam lingkungan yang sangat terstruktur).

Kombinasi GPS / IMU dapat digunakan untuk mendapatkan lokalisasi yang masuk akal. Tentu saja, ini tergantung pada skala robot, dan jika itu di dalam ruangan, GPS mungkin tidak praktis.

Jika Anda dapat mengontrol selip roda dengan hati-hati, odometri roda dapat secara signifikan meningkatkan lokalisasi dalam jangka pendek (walaupun metode pelokalan mutlak lebih disukai). Tanpa referensi absolut (mis. GPS), bahkan dengan pemindai laser, Anda harus dapat menyelesaikan masalah "menutup loop".

Lingkungan terstruktur mungkin memiliki persyaratan akurasi yang lebih rendah. Misalnya, lingkungan seperti labirin dengan dinding pada jarak grid persegi biasa, di mana mudah untuk mendeteksi keberadaan dinding di setiap arah sel grid.

ronalchn
sumber