Handleiding MCL Applet

Monte Carlo localization (MCL) is een probabilistische methode om de locatie van een robot te schatten aan de hand van de robot's sensor waarnemingen en odometrie. MCL maakt gebruik van een Particle Filter. Dit is een methode waarbij de kansverdeling van de locatie van de robot wordt geschat aan de hand van de dichtheid van de particles. Op lokaties waar het waarschijnlijker is dat de robot daar is zullen meer particles zijn dan op onwaarschijnlijke locaties
De werking van de Particle Filter(PF) is sterk vergelijkbaar met een Genetisch Algoritme. Elementen als mutatie, fitnessbepaling en reproductie spelen ook in het PF een belangrijke rol.
De particles worden in eerste instantie random over de kaart verspreid. Het is dan dus onduidelijk waar de robot is. De positie van elke particle is bepaald aan de hand van zijn x,y en orientatie. Vervolgens probeert de PF in 3 stappen de particles op de meest waarschijnlijke positie te plaatsen:
  • Stap 1: De robot heeft zich verplaatst. De verplaatsing van de robot is gemeten met zijn odometrie. De odometrische informatie wordt gebruikt om alle particles op de zelfde manier te verplaatsen. Hierbij wordt de ruis in het bewegingssysteem van de robot meegenomen. Vergelijkbaar met mutatie in een GA.
  • Stap 2: De waarschijnlijkheid van elke particle wordt bepaald op basis van de positie van de particle in de kaart en de sensorwaarneming van de robot. Van elke particle wordt bepaald wat de waarneming zou zijn als de robot op die positie zou zijn. De mate waarmee de waarneming van de robot overeenkomt met de verwachte waarneming van de particle bepaald de waarschijnlijkheid van dat particle. Dit is vergelijkbaar met de fitness bepaling in een GA.
  • Stap 3: Resampling. Aan de hand van de waarschijnlijkheden van de particles wordt de populatie op nieuw gesampled. Daarbij hebben particles met een hoge waarschijnlijkheid de kans dat ze meerdere keren in de nieuwe populatie verschijnen. Onwaarschijnlijke particles hebben een grote kans te verdwijnen.

    Hieronder volgt een uitleg van alle knoppen en invoervelden van de GA applet.

    ItemUitleg
    Trans. s. Hiermee bepaal je de translatie ruis in pixels in het motion model. De ingevoerde waarde geeft de standaard deviatie van de Gaussiaan. Voor een effectieve zoektocht door de particle filter moet de ruis in het motion model groter zijn dan de verwachte fout die de robot heeft in de translatie. De translatie fout van de robot is gemodeleerd met een standaard deviatie van 1 pixel.
    Rot. s. Vergelijkbaar met de translatie ruis, geeft dit de rotatie ruis in het motion model. De rotatie fout van de robot heeft een standaard deviatie van 2.5 graden.
    Sensor s. De ruis van de sensoren in het sensor model. Ook hier geldt dat wordt aanbevolen om de ruis van de sensoren op de robot wat te overschatten. De ruis van de sensoren van de robot heeft een stdev van 1 pixel.
    P(rand dist) De kans dat particles op een random positie op de kaart worden geplaatst.
    Diversity Pres. Het standaard Monte Carlo localization algoritme kan niet meerdere ambigue oplossingen onderhouden. Met het instellen van het diversiteitsbehoudende algoritme, is de particle filter beter instaat om meerdere goede oplossingen te onderhouden. De diversiteit wordt behouden door de kans van een particle (zoals bepaald door het sensor model) te vermenigvuldigen met de gemiddelde afstand tot alle andere particles in de populatie. Hierdoor krijgen 'eenzame' particles een voordeel, omdat hun afstand tot de andere particles groot is. Particles in een grote groep krijgen een klein nadeel, omdat de gemiddelde afstand tot de rest klein is.
    # particles Het aantal particles in de populatie. Om dit van kracht te laten gaan, is het noodzakelijk om de simulatie te restarten.
    Kidnap De robot wordt verplaatst naar een willekeurige positie op de kaart. Het particle filter krijgt geen informatie over de verplaatsing. Dit wordt het kidnap probleem genoemd.
    World Er kunnen verschillende werelden worden geladen.
    Start/Pause Om de simulatie te starten en pauzeren.
    Restart Herstart de simulatie. Hierbij worden de particle filter weer random geinitialiseerd.