Saya sedang melakukan beberapa pekerjaan dasar untuk sebuah proyek, dan saya punya pertanyaan tentang keadaan teknik SLAM saat ini.
Ketika perangkat yang dilengkapi SLAM mendeteksi suatu objek, posisi objek itu disimpan. Jika Anda melihat awan titik yang dihasilkan perangkat, Anda akan melihat titik untuk objek ini, dan model yang dihasilkan darinya akan menyertakan geometri di sini.
Jika suatu objek ditempatkan di ruang yang sebelumnya kosong, ia terdeteksi, dan poin ditambahkan. Model selanjutnya akan menampilkan geometri yang menggambarkan objek baru ini.
Bagaimana reaksi perangkat jika benda itu dihapus? Sejauh yang saya lihat, sistem SLAM akan cenderung meninggalkan titik di tempat, menghasilkan geometri "hantu". Ada algoritme yang akan mengabaikan titik tunggal yang disebabkan oleh kontak sementara, tetapi objek yang tetap cukup lama untuk membangun model yang solid akan tetap berada dalam memori perangkat. Apakah ada sistem yang mampu mendeteksi bahwa ruang yang sebelumnya ditempati sekarang kosong?
Jawaban:
Itu sangat tergantung. Karena SLAM adalah masalah (atau setidaknya teknik), bukan solusi, tidak ada algoritma SLAM yang pasti. Secara semantik, Anda harus memutuskan apa yang terjadi pada "peta" lingkungan, dan itu menentukan bagaimana algoritma Anda harus menangani sinyal sementara (alias bergerak). Tapi itu penyimpangan.
Peta permanen:
Peta permanen harus berisi informasi yang cukup untuk melokalkan diri Anda sehubungan dengan geometri yang diketahui. Biasanya digunakan pada bangunan. Biasanya bisa dibaca manusia. Lihat karya Willow-Garage. atau apa pun oleh Thrun dalam buku pelajarannya yang cukup terkenal. Jika Anda kehilangan peta ini, Anda harus membangunnya kembali dari waktu ke waktu.
Menghapus benda. Ya, objek akan muncul di peta statis untuk sementara waktu. Jika tidak ada tindakan yang diambil untuk menghapus objek yang terdeteksi sebelumnya, maka itu akan bertahan. Representasi berbasis grid 2D khas akan menggunakan setiap sel grid untuk mewakili probabilitas suatu objek, jadi setelah beberapa saat objek akan "memudar".
Menambahkan objek. Sama seperti di atas.
Peta lokal:
Pada kenyataannya, SLAM biasanya digunakan untuk melokalisasi robot saat bergerak, dan peta tidak disimpan secara permanen (atau, disimpan secara permanen, tetapi hanya fitur Y terdekat yang digunakan). Peta lokal adalah apa pun yang perlu diketahui robot untuk menentukan bagaimana ia bergerak dalam menit X terakhir, di mana X tergantung pada aplikasi. Jika kehilangan peta, Anda masih bisa terbang dengan baik menggunakan fitur apa pun yang terlihat saat ini.
Metode batch seperti Bundle Adjustment menggunakan fitur visual adalah teknik yang sangat umum dalam arah ini. Fitur dapat disimpan seiring waktu, dan bahkan ditinjau kembali, tetapi fitur bergerak hanyalah fitur yang tidak dapat diandalkan, dan itu akan diabaikan ketika mencoba mencari tahu di mana robot berada.
Visual SLAM persis seperti ini. Ini adalah estimator delta-P (perubahan pose), bukan algoritma lokalisasi berbasis peta.
Singkatnya, selama sebagian besar hal saat ini tidak bergerak, tidak masalah jika Anda menghapus objek ketika robot tidak "melihatnya".
Contoh
Jadi lakukan ini. Saat Anda membaca makalah SLAM, putuskan yang berikut:
Apakah mereka benar-benar membangun peta?
Apakah mereka hanya menyimpan daftar fitur dan lokasi?
Jika ya, "fitur" apa yang ada di peta? Garis, titik, fitur visual?
Apakah fitur ini cenderung bergerak?
Jika demikian, bagaimana mereka bisa mengatasinya?
Akhirnya, noise sensor sering "terlihat" seperti fitur bergerak. Bagaimana mereka menangani kebisingan sensor? Karena ini akan sering menentukan apa yang terjadi pada fitur bergerak.
Anda akan mendapatkan jawaban berbeda untuk setiap makalah / penulis / buku / aplikasi. Singkatnya, mereka biasanya dihilangkan karena mereka tidak banyak membantu pelokalan robot, dan dapat dihindari dengan hanya memiliki beberapa perencana jalur tingkat rendah yang hanya menggunakan informasi lokal.
Semoga beruntung, slam adalah topik besar.
sumber