SLAM atau Simultaneous Localization and Mapping adalah permasalahan pemetaan untuk lingkungan yang tidak diketahui, oleh suatu agen yang secara serentak
juga harus melakukan estimasi pergerakan posisinya (lokalisasi) dalam peta yang
sedang dibangunnya tersebut. Pemetaan dan lokalisasi harus dilakukan serentak karena keduanya seperti masalah ayam dan telur: satu bergantung pada
yang lainnya. Keserentakan tersebut dimungkinkan karena ada keterkaitan antara ketidakpastian dalam data pergerakan posisi robot (misalnya dari odometri)
dan ketidakpastian dalam data dari sensor yang mengindrai lingkungan.
Salah satu arah riset mutakhir SLAM adalah SLAM semantik, yaitu SLAM yang
menghasilkan peta yang komponennya dikenal manusia, atau peta semantik. Peta
semantik mengandung informasi yang lebih kaya dibandingkan peta berbentuk
point cloud atau grid (occupancy grid map). Sebagai contoh, peta semantik untuk
lingkungan di dalam ruangan (indoor ) dapat dibangun dari objek-objek, seperti
meja, kursi, dan dinding. Dalam disertasi ini, kata ’objek’ mengacu ke bendabenda yang biasa ditemukan di dalam ruangan tapi tidak termasuk pembatas
ruangan yang secara khusus disebut ’dinding’.
Meskipun telah banyak penelitian terkait SLAM semantik, seluruhnya masih
menggunakan objek (atau dinding) sebagai entitas yang berdiri sendiri. Penelitian ini mencoba memanfaatkan tidak hanya entitas semantik tapi juga hubungan
semantik antarentitas tersebut. Sebagai contoh, empat dinding dapat saling terhubung karena sama-sama merupakan pembatas suatu ruangan (kamar). Dengan
hubungan semantik antara keempat dinding tersebut didapatkan model untuk suatu kamar atau ruangan. Model ini dapat dimanfaatkan lebih jauh dalam SLAM,
misalnya dalam asosiasi data dan deteksi lintasan tertutup (loop closure). Secara
spesifik, kebaruan dalam penelitian ini adalah (1) pengembangan konsep ruangan
dan objek untuk memodelkan lingkungan dalam ruangan serta (2) pemanfaatan
konsep ruangan dan objek untuk menyelesaikan permasalahan SLAM.
Dengan ide untuk memanfaatkan hubungan semantik antarkomponen peta, penelitian ini merumuskan tujuan sebagai berikut. (1) Menghasilkan metode untuk mei
modelkan lingkungan dalam bentuk ruangan-ruangan dan objek (model ruanganobjek). (2) Menghasilkan metode SLAM yang memanfaatkan model ruanganobjek untuk mendapatkan waktu komputasi yang lebih efisien dan pemetaan
serta lokalisasi yang lebih akurat dibandingkan metode SLAM lain yang tidak
memiliki konsep serupa (markah berbasis objek maupun pembagian ruang secara
spasial). SLAM yang dihasilkan diberi nama RoomSLAM.
RoomSLAM terdiri dari tiga modul, yaitu modul sensor yang bertugas melakukan deteksi objek dan dinding, modul front-end yang bertugas melakukan prediksi
pose robot, deteksi ruangan, dan asosiasi data, serta modul back-end yang bertugas melakukan optimalisasi graf untuk mendapatkan estimasi peta dan lintasan
robot serta mendeteksi lintasan tertutup. Setiap modul berjalan dalam thread
terpisah.
Deteksi objek dilakukan dengan memanfaatkan YOLOv3. Untuk mendapatkan
posisi objek 3D, keluaran dari YOLOv3 digabung dengan point cloud dari sensor
RGBD. Untuk deteksi dinding, RoomSLAM melakukan pencarian garis dalam
sampel point cloud menggunakan RANSAC. Asosiasi data objek dan dinding
dilakukan menggunakan algoritma nearest neighbour dengan ’kedekatan’ dihitung berdasarkan jarak Mahalanobis untuk objek dan jarak Euclid untuk dinding. Asosiasi data ini dilakukan di dalam ruangan sesuai posisi robot saat itu.
Ruangan sendiri dideteksi dengan menghitung posisi robot saat ini relatif terhadap setiap ruangan yang pernah dipetakan. Jika robot tidak berada di satu
ruangan, RoomSLAM membentuk ruangan baru. Di modul back-end, estimasi
peta dan lintasan robot dilakukan dengan melakukan optimalisasi graf. Optimalisasi graf dipandang sebagai permasalahan non-linear kuadrat terkecil yang
diselesaikan menggunakan algoritma Levenberg-Marquardt. Sementara itu, setiap robot memasuki ruangan baru, RoomSLAM mencari pose robot sebelumnya
yang mendeteksi objek/dinding yang sama dengan yang dideteksi saat ini (lintasan tertutup). Jika ditemukan, proses koreksi lintasan robot dilakukan dengan
melakukan optimalisasi pose graf.
RoomSLAM diuji menggunakan dataset publik, yaitu dataset MIT dan dataset
TUM. Dari dataset MIT digunakan 3 rekaman data sementara dari dataset
TUM digunakan 4 rekaman. Masing-masing dataset diambil menggunakan robot
beroda yang dilengkapi sensor RGB-D.
Dari hasil pengujian didapatkan bahwa RoomSLAM dapat menghasilkan peta
semantik berupa objek dan struktur ruangan. Dengan hasil ini disimpulkan
bahwa tujuan pertama penelitian tercapai. Meskipun demikian, sebagai catatan,
karakter ruangan dalam dataset MIT yang sulit (misalnya bentuk yang tidak
umum dan dinding kaca) masih merupakan tantangan bagi RoomSLAM. Pemetaan struktur ruangan masih menghasilkan ruangan yang saling tumpang tindih
dan tingkat akurasi pemetaan dinding masih menyisakan ruang untuk perbaikan.
Salah satu asumsi yang dapat dilonggarkan dalam penelitian selanjutnya adalah
ruangan yang harus terdiri dari 4 dinding (kuadrilateral).
ii
Dari hasil pengujian juga ditunjukkan bahwa RoomSLAM dapat memanfaatkan
hubungan semantik untuk menghasilkan SLAM yang efisien dalam hal waktu
komputasi serta akurat dalam hal estimasi lintasan robot. Efisiensi ditunjukkan
dengan waktu eksekusi RoomSLAM sebesar 78 frame per sekon untuk front-end
dan 1 frame per sekon untuk back-end. Selain itu, ditunjukkan pula bahwa proses
optimalisasi tidak bergantung pada luas daerah yang dicakup oleh robot. Sementara itu, akurasi ditunjukkan dengan hasil penghitungan Root Mean Squared Error (RMSE) dari lintasan robot. Hasil ini dibandingkan dengan hasil dari ORBSLAM dan RGBD-SLAM. Perbandingan menunjukkan bahwa RoomSLAM lebih
baik dibandingkan ORB-SLAM dan RGBD-SLAM di 7 dataset yang diujikan.
Dengan hasil-hasil tersebut dapat disimpulkan bahwa tujuan kedua penelitian
tercapai.