1 / 52

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.

viola
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. Introductie Twee soorten robots: • General car-like robots • Forward car-like robots

  4. Introductie Twee stappen in motion planning: • Learning phase (bouwen van roadmap) • Query phase (vinden van een pad)

  5. Introductie Twee manieren om een collision vrij pad door een workspace te vinden: • Single shot (bereken 1 pad) • Learning (bouw structuur, query deze)

  6. 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

  7. The learning phase

  8. The learning phase Nadeel van het niet toestaan van cycles: a en b kunnen dicht bij elkaar liggen, maar verbonden zijn via een lang Pad. 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

  9. 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)

  10. 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)

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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)

  16. 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

  17. Toepassing op directed graphs

  18. 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)

  19. 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

  20. Definitie car-like robots • Solide planair object (polygoon) • Front point F (fixed) • Rear point R (fixed) • Max steering angle Umax (kleiner dan ½ PI)

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. Toepassing op general car-like robots

  27. 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’

  28. 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

  29. 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

  30. Toepassing op general car-like robots Random walks in query phase: • Voor NW en LW moeten experimenteel goede waarden worden gekozen

  31. 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

  32. Toepassing op general car-like robots Guiding node adding by geometry of the workspace:

  33. Toepassing op general car-like robots Resultaten…

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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…

  43. Toepassing op forward car-like robots Resultaten…

More Related