Motion planning for Car-like robots using a probabilistic learning approach

Post on 19-Jan-2016

35 views 0 download

description

Motion planning for Car-like robots using a probabilistic learning approach. Overview. Introductie The learning phase The query phase Toepassing op directed graphs Definitie car-like robots Toepassing op general car-like robots Toepassing op forward car-like robots Conclusie. Introductie. - PowerPoint PPT Presentation

Transcript of Motion planning for Car-like robots using a probabilistic learning approach

Motion planning for Car-like robots using a probabilistic

learning approach

Overview

• Introductie• The learning phase• The query phase• Toepassing op directed graphs• Definitie car-like robots• Toepassing op general car-like robots• Toepassing op forward car-like robots• Conclusie

Introductie

Twee soorten robots:

• General car-like robots

• Forward car-like robots

Introductie

Twee stappen in motion planning:

• Learning phase (bouwen van roadmap)

• Query phase (vinden van een pad)

Introductie

Twee manieren om een collision vrij pad

door een workspace te vinden:

• Single shot (bereken 1 pad)

• Learning (bouw structuur, query deze)

The learning phase

• Random point generation• Set of neighbors N(c) voor elk punt c• In order of increasing distance: connect c met

neighborpoints…

Maar alleen als:

• De twee punten nog niet geconnect zijn (cycles zijn verboden)

• De local planner een feasible path vindt

The learning phase

The learning phase

Nadeel van het niet toestaan van cycles: a en b kunnendicht bij elkaar liggen, maar verbonden zijn via een langPad.

Op te lossen door:

• Cycles toe te staan (meer local method calls)• Forest achteraf smooth maken (gunstig effect op query)• Smooth maken in query phase

The learning phase

Keuzen om te maken in de motion planning:

• Wat voor local method (snel&dom / traag&slim) ?

• Hoe de neighbor-set te definen ? (veel neighbors = traagheid)

• Wat voor metric ? (moet kans op local method-failure reflecteren)

The query phase

• Vindt een minimaal pad om startconfig s te connecten met de graaf

• Vindt een minimaal pad om goalconfig g te connecten met de graaf

• Loop at random wat paden af (random presteert beter dan straightforward methoden)

The query phase

Paden kunnen lelijk zijn doordat de graaf een forest is, of

vanwege de random-walks. De oplossing is smoothing:

• Selecteer random configs (c1,c2)

• Gebruik local planner om (c1,c2) te smoothen

• Is nieuw pad Qnew korter dan Qold? -> Qnew is het nieuwe pad

Toepassing op directed graphs

• In undirected graph kan edge alleen worden toegevoegd als er een pad (a,b) en een pad (b,a) is

• Local method = symmetrisch als deze bij het vinden van (a,b) ook (b,a) vindt

• Als local method symmetrisch is, kan het beste een undirected graph worden gebouwd

• Als local method niet symmetrisch is, kan het beste een directed graph worden gebouwd

Toepassing op directed graphs

• Een robot A heeft de reversibility property als elk feasible pad voor A feasible blijft als het omgekeerd wordt

• Maw: als A een velocity v kan halen, kan hij ook een velocity -v halen

Toepassing op directed graphs

• Observatie: als A de reversibility property heeft, kan de local method symmetrisch gemaakt worden door paden te reversen waar nodig

• Dit impliceert dat als A de reversibility property heeft, er een undirected graph gebruikt kan worden

• Voor forward car-like robots is er een directed graph nodig

Toepassing op directed graphs

Learning phase in directed graphs:

• Er worden twee neighbor-sets gebruikt: FN(c) en BN(c).

• FN(c): Probeer paden (c,*)

• BN(c): Probeer paden (*,c)

Toepassing op directed graphs

Learning phase in directed graphs:

• Edges zijn niet langer redundant wanneer ze deel uitmaken van cycles

• Edge-redundantie doet zich voor wanneer er meerdere paden naar een punt zijn te vinden

Toepassing op directed graphs

Toepassing op directed graphs

Learning phase in directed graphs:

• Om redundantie te voorkomen, moeten de neighbor-definities strakker worden aangetrokken

• Een nearby node n is nu slechts een forward neighbor van c als geldt dat er geen andere node n` is zodat D(c,n`) < D(c,n)

Toepassing op directed graphs

Query phase in directed graphs:

• Zelfde wijze als bij undirected graphs

• Verschil 1: wanneer er random-walks vanuit de goalnode worden geprobeerd, geldt dat deze paden feasible-when-reversed moeten zijn

• Verschil 2: Query mapping-berekeningen zijn wat duurder

Definitie car-like robots

• Solide planair object (polygoon)

• Front point F (fixed)

• Rear point R (fixed)

• Max steering angle Umax (kleiner dan ½ PI)

Definitie car-like robots

• (x,y,theta): R staat op (x,y), orientatie van (R,F) is theta

• Positieve v = velocity richting F

• Negatieve v = velocity richting R

• (U,v) = control van A

• U heeft waarde Umax of waarde -Umax

• v heeft waarde 1 of -1

Definitie car-like robots

• Als U = 0, dan beweegt A translationeel over een lijn

• Als U != 0, dan beweegt A rotationeel om een punt

• Als |U| = Umax, dan beweegt A volgens een extreme rotational path

Definitie car-like robots

• Het te bouwen pad zal bestaan uit sequenties van translationele paden en extreem rotationele paden

• De gebruikmaking van slechts extreem rotationele paden beperkt het aantal mogelijke oplossingen niet

Toepassing op general car-like robots

Er zijn 4 dingen aan te passen:

• De local method• De metric• De random walks in query phase

• Guiding node adding by geometry of the workspace

Toepassing op general car-like robots

Local method:

• Simpele methode: construeer voor (c1,c2) een pad, en retourneer dit als er geen obstakel-intersectie is

• De paden die geconstrueerd worden zijn RTR-paden

Toepassing op general car-like robots

Toepassing op general car-like robots

De metric:

• De lengte van het pad (c1,c2) is gedefinieerd als de lengte van het korste RTR-pad hiertussen

• Het aantal metric-berekeningen groeit kwadratisch, vandaar is er de ‘metric grid optimization’

Toepassing op general car-like robots

Random walks in query phase:

• NW = max walks per query

• LW = max lengte per walk

• Cs = startpunt voor random walk

• lW = random lengte uit range [0..LW]

• (U,v) = een random control

Toepassing op general car-like robots

Random walks in query phase:

• Voer de motion uit in control (U,v)

Stop als:

• Collision detected -> nieuw control, herhaal procedure

• Lengte lW is bereikt -> stop random walk

Toepassing op general car-like robots

Random walks in query phase:

• Voor NW en LW moeten experimenteel goede waarden worden gekozen

Toepassing op general car-like robots

Guiding node adding by geometry of the workspace:

• Gebruikmaking van ‘geometric node adding strategy’

• Plaats nodes op ‘handige’ punten, bijvoorbeeld in het midden van gangen

Toepassing op general car-like robots

Guiding node adding by geometry of the workspace:

Toepassing op general car-like robots

Resultaten…

Toepassing op forward car-like robots

Er zijn 4 dingen aan te passen:

• De local method• De metric• De random walks in query phase

• Guiding node adding by geometry of the workspace

Toepassing op forward car-like robots

The local method:

• RTR-forward-paden worden op dezelfde wijze geconstrueerd als RTR-paden

• Maak een RTR-forward-pad tussen (c1,c2) en retourneer dit mits er geen obstakel-intersectie is

Toepassing op forward car-like robots

De metric:

• Blijft onveranderd

• Afstand tussen c1 en c2 is de lengte van het kortst mogelijke RTR-forward-pad tussen

• Wederom grid-optimalisatie

Toepassing op forward car-like robots

Random walks in query phase:

• Er zijn twee typen random walks: forward-walks, en backward-walks

• Forward-walks: feasible paden vanuit startconfig s

• Backward-walks: feasible-when-reversed paden vanuit goalconfig g

Toepassing op forward car-like robots

Random walks in query phase:

• Wederom wordt er een random control (U,v) gekozen

• Echter, voor v wordt slechts de positieve waarde 1 gekozen

Toepassing op forward car-like robots

Guiding node adding by geometry of the workspace:

• Geometric node adding strategy is nog steeds toepasbaar, maar…

• Er wordt een methode toegepast die ervoor zorgt dat er geen nodes worden ge-add die waarschijnlijk toch niet worden gebruikt in de query phase

Toepassing op forward car-like robots

Guiding node adding by geometry of the workspace:

• Area(B) = een collectie van configuraties ci

• Voor ci geldt: er ontstaat een collision met B wanneer er vertrokken wordt (forwards/backwards) vanuit elke inkomende/uitgaande edge

Toepassing op forward car-like robots

Guiding node adding by geometry of the workspace:

• Observatie: als x een element is van area(B), kan x geen deel uitmaken van een feasible path (= niet geblokt) tussen c1 en c2 (x = c1 of x = c2)

• Conclusie: alle nodes die geblokt zijn door B (= area(B)) mogen weggegooid worden

Toepassing op forward car-like robots

Guiding node adding by geometry of the workspace:

• Experimenten wijzen uit dat dit laatste meestal wel standhoudt, zolang er gewerkt wordt met convexe objecten

• Idee: voorafgaande aan learning phase zou je objecten convex kunnen maken…

Toepassing op forward car-like robots

Resultaten…

Conclusie

• Snel

• Simpel

• Geschikte methode om paden te vinden voor car-like robots

Vragen ?