See ja järgmised sammud on samad nii päris roboti kui ka simulaatori jaoks.
SLAMi algoritmid võivad olla päris keerulised. ROS lubab meil aga kasutada nii mõndagi neist nii, et me ei pea neid ise implementeerima.
Näiteks võime kasutada algoritmi nimega gmapping. Kui huvitab, mis seal sees toimub, siis võid selle kohta inglise keeles rohkem lugeda siit.
Simulaatoris:
Käivita järgmine käivitusfail, mis paneb jooksma gmapping algoritmi:
roslaunch robotont_demos gmapping.launch
Päris robotil:
Käivita järgmine käivitusfail, mis paneb jooksma nii gmapping algoritmi kui ka loob robotondile võlts-lidari:
roslaunch robotont_demos 2d_slam_create_map.launch
Kas päris robotondil on lidar?
Võisid tähele panna, et gmapping tugineb lidari andmetele. Meie päris robotondil pole aga lidarit – selle asemel on tal sügavuskaamera. Kuidas süsteem sellega toime tuleb?
Robotont saab kasutada ROSi kimpu nimega depthimage_to_laserscan, kus on sõlm, mis teeskleb sügavuskaamera info põhjal, et ta robot saab andmeid lidari käest. Sisuliselt teeskleb see, et meil on lidari andmed, kuigi tegelikult ei ole.
See ei ole päris sama hea, mis lidari enda kasutamine, sest depthimage_to_laserscan viskab minema palju lidari poolt saadud andmeid ja allesjääv info ei ole päris sama täpne nagu lidari käest saadud info. Kuigi nii sügavuskaamera kui ka lidar on mõlemad head sensorid, siis on nad head natuke erinevate asjade jaoks ja ei suuda üksteist päriselt asendada. Meie jaoks on see praegu aga piisav.