FastSlam na přímce

FastSlam je simultání lokalizace a mapování pomocí částic. Částice představují domnělou polohu robota a současně předpokládanou mapu pro tuto polohu. Každá částice obsahuje polohu robota a mapu.

Pro ukázkový program jsem použil jednoduchého robota, který se pohybuje po přímce s odometrií a senzorem vzdálenosti dveří.

Proto si robot zaznamenává aktuální pozici na přímce a mapu nalezených dveří. Při každém měření jsou všechny částice ohodnoceny podle měření k mapě. Následně je vybraná podmnožina částic náhodně podle jejich váhy. Tyto částice přežijí do dalšího kroku ostatní jsou zahozeny. Jednodušší verze dokáže rozeznat dveře a přiřadí jim unikátní identifikátor. Složitější dveře nerozezná takže robot občas nepřiřadí měření ke správným dveřím.

Parametry robota

  • Robot jezdí na přímce
  • Dosah senzor 2m se směrodatnou odchylkou 0.2m
  • Odometrie s 5% přesností (Při ujetém 1m směrodatná odchylka chyby je 0,05m)

Videa:

Kod:

Data:

Soubory obsahují vždy na jedné řádce jedno měření. Měření se skládá s odometrické informace, kterou následují změřená data ze senzoru dveří. Jednodušší verze má vždy u měření dveří identifikátor dveří. Složitější tento identifikátor postrádá.