Sistem navigasi robot membutuhkan algoritma perangkat lunak, elektronik, dan komponen mekanis. Robot harus bergerak secara akurat, dan memakai sensor untuk mengumpulkan informasi dari lingkungan. Proses desain juga harus mencakup pengujian menyeluruh.
Jenis sistem navigasi
Untuk vakum robot kami, ada tiga kelas utama sistem navigasi:
- Bergerak acak. Dengan sensor jarak dan sensor benturan dinding, robot akan memantul di sekitar lingkungannya. Sebagian besar bergerak secara acak. Ini akan mencakup area tertentu. Pada akhirnya tetapi harus berhenti dengan energi yang tersisa, agar kembali ke pengisi daya atau kehabisan baterai. Murah tapi tidak efisien.
- Jalan cerdas. Robot ini bertujuan untuk meningkatkan pengalaman pengguna dan memperpanjang masa pakai baterai. Caranya dengan memanfaatkan kombinasi enkoder roda, unit pengukuran inersia (IMU), dan sensor aliran optik cerdas. Sensor ini memungkinkan robot mencari pola yang lebih cerdas. Serta menemukan jalan menuju pengisi daya dengan lebih efisien.
- Lokasi dan pemetaan simultan (SLAM). Robot SLAM memakai sensor berbasis laser LiDAR. Gunanya untuk memetakan lingkungan dan bernavigasi di area yang kompleks. Komponen sensor ini menambah biaya perangkat keras. Sementara juga membutuhkan prosesor yang lebih kuat untuk menangani data. Robot-robot ini mungkin masih memakai strategi jalan cerdas untuk menangani area gelap atau tanpa fitur.
Sensor untuk perhitungan mati
Kunci dari intelligent walk adalah “dead reckoning”. Yang berarti proses memperkirakan lokasi robot relatif terhadap posisi awal. Caranya dengan menggunakan pengukuran kecepatan dan arah, dari waktu ke waktu.
Tak pelak, posisi perkiraan akan menyimpang dari posisi sebenarnya. Sebab karena pengukuran kecil dan kesalahan estimasi yang bertambah. Karena perhitungan mati tidak menggunakan titik referensi absolut.
Kesalahan perhitungan mati
Wheel encoder adalah sensor pertama yang memakai mekanisme optik untuk mengukur putaran roda. Sensor ini mencatat setiap fraksi rotasi roda, dan mengkalibrasi ke jarak pada sekitar roda. Tentunya sesuai dengan jarak yang ditempuh di sepanjang lantai. Semakin halus resolusi tick Anda, semakin tepat Anda dapat mengukur jarak roda.
Komponen encoder roda
Wheel encoder dapat kehilangan informasi saat roda tergelincir pada permukaan yang berbeda. Untuk meningkatkan akurasi perhitungan mati, kami dapat menggabungkan encoder roda kami dengan IMU. IMU terdiri dari akselerometer dan giroskop, dan terkadang magnetometer tambahan.
Akselerometer melacak gaya percepatan linier dan, ketika tidak ada gerakan, arah gravitasi. Ini membantu memberikan ukuran orientasi jangka panjang. Giroskop melacak kecepatan sudut dan menghasilkan pengukuran orientasi jangka pendek. Magnetometer mengukur medan magnet di sekitar dan memberi orientasi jangka panjang.
Menggabungkan IMU dengan wheel encoder sangat membantu meningkatkan akurasi. Tetapi masih ada kesalahan, seperti drift, yang bergabung dan menumpuk seiring waktu. Kami dapat meningkatkan presisi dengan menambahkan komponen lain: sensor aliran optik.
Ini melacak pergerakan lantai di bawah robot untuk memberikan perkiraan kecepatan 2D. Ini adalah teknologi yang sama digunakan pada mouse komputer. Dalam skala yang lebih besar dapat menerangi lantai, mendeteksi fitur kecil di permukaan, dan mengukur pergerakan diantara bingkai.
Sensor aliran optik melacak gerakan yang tidak akurat akibat selip roda. Namun, akurasinya tergantung pada kemampuan untuk menentukan jarak antara sensor dan lantai. Ini juga rentan terhadap lantai yang sangat halus atau gelap, yang tidak memiliki fitur pelacak yang andal.
Fusi sensor: menyatukan
Setelah memiliki banyak sensor, penggabungan data dapat menunjukan posisi, orientasi, dan kecepatan yang akurat. Proses ini disebut "fusi sensor." Kumpulan aliran data dari berbagai jenis sensor mampu mengkalibrasi pengukuran perbandingan tiap data.
Kita juga perlu mempertimbangkan lingkungan dunia nyata tempat robot kita akan beroperasi. Permukaan lantai yang berbeda dapat mempengaruhi sensor aliran optik dan encoder roda. Contohnya perubahan suhu dapat menyebabkan ketidakakuratan pengukuran IMU.
Penyatuan data membutuhkan perangkat lunak yang sesuai untuk menggabungkan, membandingkan dan menganalisis data. Ini mungkin terdengar rumit dan memakan waktu. Dalam praktiknya, tidak ada perancang produk yang ingin kembali mendapatkan data yang dapat digunakan.