Simultaneous localization and mapping
Aan dit artikel of deze sectie wordt de komende uren of dagen nog druk gewerkt.
Toelichting: De komende dagen zal er aan dit artikel worden gewerkt als hogeschoolopdracht
Klik op geschiedenis voor de laatste ontwikkelingen.
Simultaneous Localization and Mapping (SLAM ook bekend als Concurrent Mapping and Localization of CML) is een techniek waarbij een robot of een andere autonome voertuig een kaart van een onbekende omgeving opstelt (Mapping) en zich vervolgens tegelijkertijd in dezelfde kaart probeert terug te vinden (Localization).
Gedetailleerde uitleg
Een robot gebruikt een kaart hoofdzakelijk voor navigatie. Om een robot van punt A naar punt B te laten bewegen, waarbij men enkel de coördinaten van deze punten kent, is meestal een kaart van de omgeving nodig. SLAM is hierdoor een van de grootste problemen in de wereld van robotica. Het is een kip-en-eiprobleem, omdat men een kaart nodig heeft om zich ergens in te kunnen terugvinden, maar een juiste locatie van de robot is nodig om een juiste kaart op te kunnen bouwen.
Om deze probleem op te lossen moeten er twee fundamentele vragen gesteld worden: Hoe ziet de wereld eruit?. Om dit te beantwoorden moet men een set van informatie verzamelen die afkomstig is uit verschillende sensoren, deze koppelen en zo een representatie op te stellen van de omgeving. Dit kan moeilijker zijn dan het lijkt omdat men altijd te maken krijgt met ruis en eventuele fouten die de sensors opvangen.
De tweede fundamentele vraag is: Waar ben ik? Om hierachter te komen moet men kennis hebben van de omgeving om de huidige locatie juist te kunnen inschatten. Plaatsbepaling is ook weer moeilijk aangezien de juiste positie van de robot altijd afwijkt van waar hij denkt dat hij is, wat de opstelling van de kaart weer in vraag brengt.
SLAM wordt dus gezien als een probleem waarbij men een kaart construeert, zichzelf in deze kaart plaatst, en continu de kaart verbetert en eigen locatie beter bepaalt. Vaak wordt er gebruik gemaakt van ‘Landmarks’, dus oriëntatiepunten in de omgeving waardoor de robot zijn locatie beter kan bepalen.
Sensing
Om de omgeving in kaart te kunnen brengen worden er verschillende sensoren op de robot aangebracht. Deze sensoren geven data door naar de robot die vervolgens een kaart opstelt. Er zijn twee types van sensoren: 1-D, dus er is 1 straal die iets scant, of 2-D, die een gebied uitscant. De meest gebruikte zijn 2D sensoren, zoals laser rangefinders of een LIDAR laser scanner.
Problemen[1]
De twee fundamentele vragen lijken simpel maar het is niet vanzelfsprekend om deze te beantwoorden. Ten eerste, moet er rekening gehouden met ruis of slechte(verkeerde) metingen. Ten tweede, de assumptie van waar de robot zich bevindt is altijd verschillend dan in de realiteit, wat een ‘vervormde’ kaart met zich meebrengt. Men moet over een juiste lokalisatie beschikken om de juiste kaart op te kunnen bouwen. Om de afwijkingen en fouten te verkleinen gebruikt men statistische technieken zoals Kalman filters , Particle filters of scan matching. Vanuit de statistiek zijn er twee hoofdproblemen: online SLAM problem, en de Full SLAM problem. Waarom ze 'problemen' worden genoemd? Omdat er telkens een bepaalde actie moet worden ondernomen om tot een oplossing te komen. Er zijn verschillende soorten SLAM die deze 'problemen' oplossen, en naar een accurate kaartvoorstelling en positionering leiden.
Online SLAM problem
Bij de online SLAM problem zoekt men naar de positie op de kaart op 1 bepaald tijdstip. Stel de volgende formule:

Hierbij is p de waarschijnlijkheid, de positie op tijdstip , is de kaart van de omgeving, zijn de metingen van de sensoren, en tenslotte zijn de 'controls' dus hoe de robot bewogen heeft. De online SLAM kenmerkt zich met het feit dat we enkel de waarschijnlijkheid berekenen voor maar 1 tijdstip , en in vele algoritmes telkens wanneer we de volgende tijdstip nemen, verwijderen we als het ware de gegevens van vorige tijdstippen. De figuur hiernaast toont deze principe. De nieuwe positie ontstaat door een beweging , hieruit leidt een meting naar de omgeving die vervolgens naar een nieuwe kaartvoorstelling leidt.
Full SLAM problem
De Full SLAM problem zoekt naar de hele pad op de kaart die de robot heeft uitgevoerd, i.p.v. enkel voor positie . De formule voor Full SLAM verschilt niet veel van Online SLAM:
Zoals men ziet hebben we te maken met een beweging van tijdstip 1 tot tijdstip (dus nu).
- ↑ Thrun S., Burgard W., Fox D., Probabilistic Robotics, (The MIT Press: Cambridge Massachusetts, 2006), p.245-247