Simultaneous localization and mapping

Från Wikipedia
Version från den 6 januari 2018 kl. 20.14 av Harka (Diskussion | Bidrag) (stavn)
Robot byggd av Technische Universität Darmstadt som kartlägger en labyrint genom att använda en LIDAR
Karta som genererats av Darmstadt Roboten

Simultaneous localization and mapping (SLAM) är en teknik som används av robotar och autonoma fordon för att bygga upp en karta inom ett okänt område (utan förkunskaper), eller för att uppdatera en karta inom ett känt område (med förkunskaper från en given karta), samtidigt som man håller reda på dess nuvarande position.

Operativ definition

Kartor används för att bestämma en position i en omgivning och avbilda omgivningen för planering och navigering; de stöder analysen av nuvarande position genom att spara information från dess perception och jämföra den med den befintliga uppsättningen av perceptioner. Fördelen med en karta i att underlätta analysen av en position ökas när precisionen och kvaliteten av de befintliga perceptionerna minskar. Kartor representerar vanligtvis tillståndet vid tidpunkten för skapandet av kartan; vilket inte nödvändigtvis är konsistent med tillståndet hos omgivningen vid tidpunkten som kartan används.

Komplexiteten hos de tekniska processerna för att lokalisera och kartlägga med faktorer som felkällor och brus tillåter inte en koherent lösning för båda uppgifterna. Samtidig lokalisering och kartläggning är ett koncept som sammanbinder dessa procedurer i en loop och därför stöder kontinuiteten av båda aspekterna hos separerade processer; iterativ återkoppling från en process till den andra förbättrar resultatet hos båda efterföljande stegen.

Kartläggning handlar om problemet att ta information samlad av ett antal sensorer och integrera den i en konsistent modell och avbilda den informationen som en given representation. Det kan beskrivas av den första karaktäristiska frågan: Hur ser världen ut? Centrala aspekter i kartläggning är representationen av omgivningen och tolkningen av sensordata.

I kontrast till detta, lokalisering är problemet att estimera platsen (och placeringen) hos en robot relativt till en karta. Med andra ord; roboten måste svara på den andra karaktäristiska frågan: Var befinner jag mig? Typiskt så är lösningen spårning då ursprungspositionen hos roboten är känd. Dessutom används global lokalisering där ingen eller viss a priori information om ursprungspositionens omgivning finns.

SLAM är därför definierat som problemet att bygga en modell som leder till en ny karta, eller att repetitivt förbättra en existerande karta. Samtidigt som roboten lokaliseras inom kartan. I praktiken kan inte svaren till de två karaktäristiska frågorna levereras oberoende av varandra.

Före att en robot ska kunna svara på frågan hur omgivningen ser ut, givet ett antal observationer, behöver den till exempel veta:

  • Robotens kinematik
  • Kvaliteten hos den egna insamlade informationen
  • Från vilka källor ytterligare observationer har gjorts

Det är en komplex uppgift att estimera robotens nuvarande position utan en karta eller utan riktningsreferens. Lokalisering kan helt enkelt betyda robotens position, men kan även inkludera dess orientering.

Tekniska problem

SLAM kan liknas vid problemet med hönan och ägget: En opåverkad karta behövs för lokalisering samtidigt som en korrekt estimering av placeringen behövs för att skapa den kartan. Detta är startvillkoret för iterativa matematiska strategier för lösning.

Att svara på de två karaktäristiska frågorna är inte så rättframt som det kan verka på grund av osäkerheterna i att bedöma robotens relativa rörelse utifrån dess olika sensorer. På grund av förekomsten av brus hos tekniken så brukar SLAM inte utföras som en kompakt lösning utan istället som en samling av fysiska koncept som bidrar till resultatet.

Om det finns felaktigheter i det uppmätta avståndet och riktningen på grund av begränsningar hos sensorer och brus, kommer den uppdaterade kartan få vissa felaktigheter. Över tid och rörelse, lokalisering och kartläggningsfel ackumuleras och förvränger kartan och därmed robotens förmåga att bestämma sin faktiska position och riktning med tillräcklig noggrannhet.

Det finns olika tekniker för att kompensera för fel, som till exempel att känna igen egenskaper som den har stött på tidigare (till exempel data association eller loopstängningsdetektion), och återställa nyliga delar av kartan så att de två igenkända egenskaperna blir till en. Statistiska metoder som används inom SLAM är till exempel Kalmanfilter, partikelfilter (Monte Carlo-metoder) och skanmatchning av områdesdata. De ger en estimering av den efterföljande sannolikhetsfunktionen för placeringen hos roboten och för parametrarna för kartan. Set-tillhörighetstekniker baseras på intervallbegränsningspropagering. De ger en uppsättning som innefattar placeringen av roboten och en uppsättningsapproximation av kartan.

Kartläggning

För mobila robotar innebär vanligtvis SLAM en process för att skapa geometriskt konsekventa kartor av omgivningen. Topologiska kartor är en metod för omgivningsrepresentation som fångar konnektiviteten (topologin) hos omgivningen snarare än att skapa en geometriskt korrekt karta. Algoritmer som skapar topologiska kartor kallas alltså inte för SLAM.

SLAM anpassas för de tillgängliga resurserna och är därmed inte inriktat på perfektion utan på operativ duglighet. De publicerade metoderna används inom obemannade flygplan, autonoma undervattensfarkoster, obemannade landfarkoster, hushållsrobotar, och även inuti människokroppen.

Det anses allmänt att "lösa" SLAM-problemet har varit en av de mest betydande prestationerna inom robotikforskningen det senaste decenniet. De relaterade problemen i form av data-association och beräkningskomplexitet är de problem som ännu väntar på att bli helt lösta.

Ett signifikant framsteg inom egenskapsbaserad SLAM involverar åter-examination av det sannolikhetsgrunden inom SLAM genom multi-objekt Bayesisk filtrering med slumpmässiga ändliga mängder som ger överlägsen prestanda för egenskapsbaserad SLAM-algoritmer i utmanande mätnings-scenarier med hög falsk-alarm frekvens och hög missad detektions-frekvens utan behovet av data-association.

Sensorer

SLAM använder alltid olika typer av sensorer för att få data med statistiskt oberoende fel. Statistiskt oberoende är kravet för att hantera metriska metodfel och brus i mätningarna.



Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia, Simultaneous localization and mapping, 7 juli 2012.