22.08.2013 Views

Een robot voor de Startel RoboChallenge 2004 - Kunstmatige ...

Een robot voor de Startel RoboChallenge 2004 - Kunstmatige ...

Een robot voor de Startel RoboChallenge 2004 - Kunstmatige ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2 Lokalisatie<br />

Drie verschillen<strong>de</strong> lokalisatiemetho<strong>de</strong>n<br />

Voor <strong>de</strong> wedstrijd is het nodig om een aantal elementen te lokaliseren. Ten eerste<br />

wil<strong>de</strong>n we <strong>de</strong> positie van <strong>de</strong> <strong>robot</strong> weten en ten twee<strong>de</strong> wil<strong>de</strong>n we <strong>de</strong> positie van <strong>de</strong><br />

balletjes weten. Hier<strong>voor</strong> hebben we naar 3 verschillen<strong>de</strong> lokalisatiemetho<strong>de</strong>n gekeken,<br />

Monte Carlo lokalisatie, grid-based Markov lokalisatie en een Kalman filter.<br />

Monte Carlo lokalisatie:<br />

Met het Monte Carlo lokalisatiealgoritme neem je een aantal willekeurige posities waar<br />

<strong>de</strong> <strong>robot</strong> kan zijn. Voor elke positie reken je dan uit wat <strong>de</strong> kans is dat <strong>de</strong> <strong>robot</strong> daar<br />

daadwerkelijk staat aan <strong>de</strong> hand van waarnemingen. <strong>Een</strong> tijdstap later neem je <strong>de</strong><br />

posities die een hoge waarschijnlijkheid had<strong>de</strong>n. Deze posities verplaats je volgens het<br />

beweging en sensor mo<strong>de</strong>l. Rondom <strong>de</strong>ze nieuwe posities neem je een aantal<br />

willekeurige posities.<br />

Op <strong>de</strong>ze manier krijg je een puntenwolk die zich rondom <strong>de</strong> <strong>robot</strong> <strong>voor</strong>beweegt. Als <strong>de</strong><br />

positie van <strong>de</strong> <strong>robot</strong> aan <strong>de</strong> hand van <strong>de</strong> waarnemingen nauwkeuriger bekend is zal<br />

<strong>de</strong>ze puntenwolk compact zijn. Als <strong>de</strong> waarnemingen niet goed in overeenstemming zijn<br />

met <strong>de</strong> locatie van <strong>de</strong> puntenwolk zal <strong>de</strong> puntenwolk een groter gebied gaan bestrijken<br />

en eventueel zelfs verplaatsen.<br />

Dit is een robuust algoritme waar een beperkte rekentijd <strong>voor</strong> nodig is. Dit algoritme kan<br />

het ‘kidnapped <strong>robot</strong> problem’ oplossen. Dit ‘kidnapped <strong>robot</strong> problem’ houdt in dat<br />

iemand <strong>de</strong> <strong>robot</strong> optilt en op een willekeurige plaats weer neerzet. De <strong>robot</strong> is dus<br />

opeens verplaatst maar heeft hier zelf geen weet van. Meer informatie over het Monte<br />

Carlo algoritme is te vin<strong>de</strong>n in [2,3,5].<br />

Grid-based Markov lokalisatie:<br />

Bij het grid-based Markov lokalisatiealgoritme <strong>de</strong>el je <strong>de</strong> wereld op in een rooster. Elk<br />

vakje op dit rooster (cel) staat <strong>voor</strong> een bepaald gebied in <strong>de</strong> buitenwereld. Met elke<br />

waarneming kun je dan opnieuw berekenen wat <strong>de</strong> kans is dat <strong>de</strong> <strong>robot</strong> in elk gebied<br />

staat.<br />

Dit algoritme heeft als na<strong>de</strong>el dat <strong>de</strong> positie van <strong>de</strong> <strong>robot</strong> discreet is en niet continu.<br />

Hierdoor is het moeilijk <strong>de</strong> odometriewaarnemingen te verwerken. Wanneer je een hoge<br />

positienauwkeurigheid nastreeft kost dit algoritme veel rekentijd. Dit algoritme kan ook<br />

het ‘kidnapped <strong>robot</strong> problem’ oplossen. Meer informatie hierover in [5].<br />

Kalman filter:<br />

<strong>Een</strong> kalman filter representeert <strong>de</strong> positie van <strong>de</strong> <strong>robot</strong> als een normale ver<strong>de</strong>ling. De<br />

variantie van <strong>de</strong>ze normale ver<strong>de</strong>ling is omgekeerd evenredig hoe zeker je bent dat <strong>de</strong><br />

<strong>robot</strong> hier daadwerkelijk staat. <strong>Een</strong> nieuwe schatting aan <strong>de</strong> hand van een observatie uit<br />

<strong>de</strong> buitenwereld kan je representeren als een an<strong>de</strong>re normale ver<strong>de</strong>ling.<br />

Deze twee normale ver<strong>de</strong>lingen kun je vervolgens samenvoegen met behulp van Bayes’<br />

procedure <strong>voor</strong> multivariate normale ver<strong>de</strong>lingen. Hierdoor ontstaat een nieuwe normale<br />

ver<strong>de</strong>ling die <strong>de</strong> positie van <strong>de</strong> <strong>robot</strong> representeert. Deze ver<strong>de</strong>ling heeft een kleinere<br />

variantie en een grotere zekerheid dan <strong>de</strong> vorige normale ver<strong>de</strong>lingen. Dit algoritme<br />

heeft meer moeite met het ‘kidnapped <strong>robot</strong> problem’. Meer hierover in [5,6].<br />

Voor <strong>de</strong> lokalisatie van <strong>de</strong> <strong>robot</strong> hebben we besloten om het Kalman filter te gebruiken.<br />

We weten namelijk <strong>de</strong> beginpositie van <strong>de</strong> <strong>robot</strong> en we kunnen <strong>de</strong> observaties makkelijk<br />

representeren als normale ver<strong>de</strong>lingen. Niemand raakt <strong>de</strong> <strong>robot</strong> aan tij<strong>de</strong>ns <strong>de</strong> wedstrijd<br />

dus kunnen we niet te maken krijgen met het ‘kidnapped <strong>robot</strong> problem’. Het Kalman<br />

filter gebruikt verreweg <strong>de</strong> minste rekentijd dus hou<strong>de</strong>n we meer rekentijd over <strong>voor</strong> <strong>de</strong><br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!