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
spesik, 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 memodelkan lingkungan dalam bentuk ruangan-ruangan dan objek (model ruanganobjek).
(2) Menghasilkan metode SLAM yang memanfaatkan model ruanganobjek
untuk mendapatkan waktu komputasi yang lebih esien 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).Dari hasil pengujian juga ditunjukkan bahwa RoomSLAM dapat memanfaatkan
hubungan semantik untuk menghasilkan SLAM yang esien dalam hal waktu
komputasi serta akurat dalam hal estimasi lintasan robot. Esiensi 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 Er-
ror (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.