Simultaneous Localization and Mapping (SLAM)

Simultaneous Localization and Mapping (SLAM) is een technologie die gebruikt wordt voor de navigatie van mobiele robots waarbij de machines zelf hun omgeving in kaart brengen. SLAM is een uitgebreid vakgebied waarin sensortechnologie, beeldherkenning en statistiek gecombineerd worden om mobiele robots complete autonomie en flexibiliteit te geven.

In het verleden waren AGV’s (Automated Guided Vehicles) in logistieke en productieomgevingen gebonden aan vaste routes, bepaald door fysieke markeringen in hun omgeving. In eerste instantie werden die routes zelf letterlijk gemarkeerd met een draad in de vloer of RFID-tags. Later kwamen er markeringen naast de route, zoals reflectoren, waarbij de machines hun route dienden te bepalen door zich te positioneren ten opzichte van die ijkpunten.

Bij Simultaneous Localization and Mapping (SLAM) is het aan de robots zelf om in hun omgeving een weg te zoeken van A naar B. Eigen aan SLAM is dat de machines daarbij zelf een kaart maken van hun omgeving zodat ze met de tijd steeds minder aangewezen zijn op random bewegingen en in plaats daarvan zelf de meest efficiënte route kunnen uitstippelen.

Een van de voordelen van SLAM ten opzichte van de eerder aangehaalde klassieke benaderingen is dat de robots veel flexibeler worden. Als een route tijdelijk geblokkeerd is, bijvoorbeeld, kan de machine zelf een alternatief vinden. Het grote nadeel van de SLAM methode is dat het een bron kan zijn van fouten en willekeur, wat de efficiëntie naar beneden kan halen. In extremis kan de mapping zelfs een zodanige knoeiboel worden dat de robots helemaal het noorden kwijtraken.

LiDAR of visie

Om zelf een kaart te kunnen maken van zijn omgeving heeft een SLAM algoritme sensoren nodig waarmee het zijn omgeving kan verkennen. Grosso modo zijn er hierin twee categorieën: systemen die gebruik van LiDAR en camera-gebaseerde systemen. Een LiDAR is een sensor die laserstralen uitzendt en op basis van de reflectie van die stralen opmeet op welke afstanden obstructies in zijn omgeving zich bevinden. Omdat de sensoren een hoge resolutie hebben kan daarmee een gedetailleerde scan van de omgeving bekomen worden.

Bij gebruik van een camera is het aan de beeldherkenningssoftware om objecten in de omgeving te herkennen die dan eveneens gebruikt kunnen worden om een kaart te tekenen. Het nadeel van een camera is echter dat het beeld geeft afstanden weergeeft, wat nochtans vrij essentieel is om een kaart te kunnen tekenen. Hieraan kan verholpen worden door gebruik te maken van meerdere camera’s zodat het systeem door de beelden te vergelijken via triangulatie een gevoel voor diepte kan krijgen. Een andere mogelijkheid is het gebruik van Time of Flight camera’s die naar analogie met het werkingsprincipe van LiDAR kunnen bepalen op welke afstand een object zich bevindt.

Odometrie

Om vanuit de observatie van de robot tot een volwaardige kaart van de omgeving te komen volstaat het in principe om het scannen van de omgeving op verschillende locaties te herhalen, tot de robot overal geweest is. De uitdaging bestaat erin om alle scans die onderweg gemaakt worden op een oordeelkundige manier te combineren tot één grote kaart. Dat is makkelijker gezegd dan gedaan en er bestaat dan ook een brede waaier aan oplossingen waarmee dit op een zo betrouwbaar mogelijke manier gerealiseerd wordt.

Als de sensor van de robot een meetsysteem inhoudt, zoals LiDAR, volstaat het in principe om overlappingen in scans te zoeken en deze met elkaar te matchen om tot een globale kaart te komen. Bij gebruik van een eenvoudig camerasysteem is er een bijkomend meetsysteem nodig om de beelden tot een ruimtelijk geheel te kunnen samenvoegen. De methode die hiervoor het meest gangbaar is, is odometrie, waarbij encoders in de wielen gebruikt worden om de positionering van de robot te kunnen bepalen – althans de relatieve posities ten opzichte van een vorige positie. Wanneer de relatieve posities gekend zijn van waaruit meerdere beelden genomen zijn kan hierop immers een methode toegepast worden die analoog is aan de berekening die gedaan wordt om bij gebruik van meerdere camera’s vanuit één positie tot een dieptezicht te komen.

Statistiek

De grote uitdaging bij het samenvoegen van scans tot één grote kaart is het vermijden van of het compenseren voor drift. Omdat de robot vertrekt vanuit één punt en zijn kaart geleidelijk opbouwt door opeenvolgende scans toe te voegen kunnen opeenvolgende kleine afwijkingen na verloop van tijd tot zeer vreemde resultaten leiden. Dat geldt zowel voor systemen waarin odometrie gebruikt wordt, omdat de encoders de rotatie van de wielen maar niet echt de verplaatsing van de robot meten, als voor systemen waarbij overlappende scans samengevoegd worden op basis van herkenningspunten.

Een van de methodes om dit te compenseren, bestaat erin de kaarten aan te passen zodra de robot na verloop van tijd een locatie herkent waar die al eerder geweest is. Op de kaart die hij zelf getekend heeft kunnen dat door drift twee verschillende locaties zijn. De methode bestaat er dan in om de kaart zodanig te vervormen dat de twee locaties terug netjes samenvallen. Het resultaat hiervan is echter nooit perfect omdat men niet kan achterhalen waar zich meer of minder drift heeft voorgedaan. Het loopt al helemaal fout wanneer de robot een locatie denkt te herkennen die in realiteit echter niet dezelfde is.

Een andere methode om te compenseren voor drift, of voor de onnauwkeurigheid van positiebepaling in het algemeen, is het toepassen van methodes uit de statistiek om de robot in staat te stellen om zelf inzicht te krijgen in hoe nauwkeurig hij is. Op die manier kan hij meer gewicht geven aan de meetresultaten waarvan hij zelf het gevoel heeft dat ze nauwkeuriger zijn.

Een voor de hand liggende oplossing om het de robots een stuk makkelijker te maken en die niet eens zo omslachtig is in afgebakende omgevingen zoals magazijnen en productieomgevingen is het aanbrengen van markers die de robot kan gebruiken als ijkpunten. Een meer geavanceerde variant hiervan is het inzetten op beeldherkenning om de robot in staat te stellen om zelf ijkpunten te bepalen door in beelden op zoek te gaan naar unieke combinaties die een bepaalde positie ondubbelzinnig definiëren.

© Productivity.be


Feel free to share

Newsletter

Agenda

14/03 - 16/03: Embedded World, Nürnberg

22/03 - 23/03: M+R, Antwerp Expo (B)

29/03 - 31/03: Machineering, Brussels Expo (B)

07/06 - 08/06: Vision, Robotics & Motion, Brabanthallen, 's-Hertogenbosch

18/09 - 23/09: EMO, Hannover (D)

15/04/24 - 19/04/24: Wire/Tube, Düsseldorf (D)

08/10/25 - 15/10/25: K, Düsseldorf (D)