De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning.

Verwante presentaties


Presentatie over: "1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning."— Transcript van de presentatie:

1 1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning

2 2 Basisidee Potentiaalfunctie modelleert magnetisch veld Doel: attractive force, trekt de robot aan Obstakels: repulsive force, stoten robot af Alternatief: Zie potentiaalveld als landschap Grootste probleem: lokale minima Sterke punten: Lokale methode In de praktijk redelijk snel en betrouwbaar Inleiding

3 3 Potentiaalveld: voorbeeld Inleiding

4 4 Gebruikte symbolen Inleiding ARobot B, CBObstakels q, q init, q goal Configuraties U(q)Potentiaalfunctie F(q)Krachtfunctie voor A CG, GWGrids MAantal dimensies ρ(q)Afstand tot

5 5 Opbouw van potentiaalveld In translationele geval (2D) Attractive potential Repulsive potential Generalisatie naar meer dimensies Problemen Alternatieve benadering

6 6 Krachtveld en potentiaalveld Relatie tussen potentiaal en resulterende kracht: Kracht F is het grootst waar het potentiaal het snelst stijgt / daalt Richting van F(q) is richting van ‘steepest descent’ Opbouw van potentiaalveld

7 7 Attractive force (1) Veroorzaakt door q goal, onafhankelijk van CB U(q) kan parabolisch zijn: F is evenredig met || q – q goal || Kan ook ‘conic’ zijn F is overal constant (behalve op q goal ) Opbouw van potentiaalveld

8 8 Attractive force (2) Combinatie van beiden is misschien beter U(q) is parabolisch bij q goal, en conic daarbuiten Vaak: alleen parabolische variant Opbouw van potentiaalveld

9 9 Repulsive force (1) Veroorzaakt door CB, onafhankelijk van q goal Gewenste eigenschappen: Vormt barrière om obstakel Geen invloed buiten een bepaalde grensafstand Voor een enkel obstakel B i : Opbouw van potentiaalveld

10 10 Repulsive force (2) Afstand tot CB wordt genomen als afstand tot dichtstbijzijnde edge van CB Werkt goed voor convexe B, maar niet voor concave: Opbouw van potentiaalveld

11 11 Repulsive force (3) Aanpassingen Deel concave obstakels op in convexe stukken Neem gewogen som van potentialen die door elk obstakel gegenereerd worden… …waarbij het gewicht wordt bepaald door grootte van het obstakel Pad lijkt op retraction Maar is niet beperkt tot Voronoi-diagram Opbouw van potentiaalveld

12 12 Resultaat + = Opbouw van potentiaalveld

13 13 Generalisatie naar R N x SO(N) Probleem met hogere dimensies: Vaak geen efficiënte manier om afstand ρ CB (q) en gradient te berekenen Oplossing: Blijf in 2D of 3D workspace werken Definieer A met M control points Opbouw van potentiaalveld

14 14 Attractive potential Elk control point reageert op z’n eigen veld Natuurkundig onmogelijk, maar… model! Control points volgen minima Dus oriëntatie is die van ‘steepest descent’ Kies evt. een leading control point Veld voor dit control point veel sterker Voorkomt ‘ruzie’ Opbouw van potentiaalveld

15 15 Repulsive potential Meerdere fixed control points, 1 variabele Variabele punt ligt in de rand van A, zo dicht mogelijk bij een rand van CB A komt nooit te dicht bij CB Als A en CB evenwijdig zijn… Lijn van mogelijkheden (!) Mogelijk een zig-zag pad In dat geval: variabele punt -> lijn Opbouw van potentiaalveld

16 16 Pathplanning in potentiaalvelden Concept: de robot wordt gezien als een massa die zich voortbeweegt onder invloed van het potentiaalveld Twee manieren Depth-First Planning Best-First Planning

17 17 Depth-First Planning Iteratief een pad genereren door steeds het volgende segment te berekenen Werking algemeen: Start in q init Berekent de richting van het segment met behulp van potentiaalfunctie Herhaal tot q goal bereikt is Pathplanning in potentiaalvelden

18 18 Bepalen van de lengte Behoud representatie van de werkelijkheid Voorkomen van botsingen tussen q i en q i+1 Pad mag niet voorbij q goal gaan Pathplanning in potentiaalvelden

19 19 Lokale minima Detecteren van lokale minima Afhandelen q loc q goal Pathplanning in potentiaalvelden

20 20 Best-First Planning Definieer een regelmatig grid GC van configuraties Bouw een boom, start in q init en volg de buren. Grootste aantrekkingskracht eerst Herhaal totdat q goal bereikt is of de vrije ruimte volledig verkend is Pathplanning in potentiaalvelden

21 21 Aannames vooraf q init en q goal zijn configuraties in het grid Wanneer twee buren in de vrije ruimte liggen, ligt ook het lijnsegment tussen hen in de vrije ruimte Het grid is bounded U(q) groeit richting ∞ wanneer q dichter bij een obstakel komt Pathplanning in potentiaalvelden

22 22 Het algoritme (1) 1. Initialiseer de boom T met root q init en list L met daarin q init 2. while L is niet leeg do 3. q  Eerste element in L 4. for elke buur q’ van q do 5. if U(q’) niet te groot and q’ nog niet bezocht then 6. Voeg q’ aan T toe onder q en voeg q’ toe aan L 7. if q’ = q goal then 8. maak L leeg 9. return het gevonden pad 10. else Verwijder q uit L Pathplanning in potentiaalvelden

23 23 Het algoritme (2) Vindt altijd een pad als het bestaat Werkt goed en snel wanneer M klein is (M < 5) Wanneer M groter wordt, wordt het moeilijker om lokale minima ‘op te vullen’ Pathplanning in potentiaalvelden

24 24 Verbeteringen Grootste probleem: lokale minima Robot zit in een dal dat niet q goal is Mogelijkheden om dit tegen te gaan: Pas potentiaalfunctie aan Gebruik een path planner die uit lokale minima kan ontsnappen

25 25 Alternatieve potentiaalvelden (Almost global) navigation function Potentiaalfunctie zonder locale minima, alleen saddle-points. Keuze: analytische of gridgebaseerde functies Gridgebaseerde functies Makkelijker …maar vergen vaak wel meer rekenkracht

26 26 Navigaton functions in een grid Wavefront expansion / breadth-first Verken CG vanuit q goal naar buiten toe Altijd kortste pad, maar pad raakt CB Wavefront met skeleton Bouw skelet in GC free als basis voor pad Soort van roadmap / Voronoi-diagram Omzeilt CB zo veel mogelijk Maar nog veel meer mogelijkheden… Alternatieve potentiaalvelden

27 27 Wavefront met skeleton (1) 1) Bouw skelet S door expansion van CB Verbind q goal met S door steepest ascent 2) Reken potentiaal uit in skelet S Weer met wavefront expansion, bron is q goal 3) Reken potentiaal uit in de rest van CG free …ditmaal met S als bron Looptijd: Alternatieve potentiaalvelden

28 28 Wavefront met skeleton (2) Alternatieve potentiaalvelden 1) Expansion naar skelet S

29 29 Wavefront met skeleton (3) Alternatieve potentiaalvelden 2) Berekenen potentiaal in S

30 30 Wavefront met skeleton (4) Alternatieve potentiaalvelden 3) Berekenen potentiaal in GC free \ S

31 31 Wavefront met skeleton (5) 4) Resultaat

32 32 Elliptische potentiaalvelden Lokale minima ontstaan daar, waar velden van meerdere obstakels elkaar overlappen Creëer potentiaalveld dat van vorm verandert Dichtbij: vorm van obstakel Veraf: cirkel Stel grensafstand zo in, dat geen 2 potentiaalvelden elkaar overlappen Sowieso moeilijker om met 3 cirkels een minimum te creëeren

33 33 Grids in hogere dimensies GC in hogere dimensies groeit te snel M = 6, elk met 64 posities: 6,8*10 10 cellen! Idee: Reken GW wel helemaal uit (M=2 of 3) Geef A meerdere control points in GW Gebruik dit als leidraad om cellen in GC te berekenen Maar: GC is niet langer vrij van lokale minima!

34 34 Randomized Planning Depth-First en Best-First hebben beperkte mogelijkheden om met lokale minima om te gaan Een potentiaalfunctie zonder lokale minima definiëren is lastig (Obstakels moeten simpele vorm hebben en M=2 of M=3)

35 35 Randomized Path Planner (1) Combinatie van eerder genoemde technieken en gerandomiseerde zoektechnieken Best-First Planning + Random Motion Randomized Search Randomized Planning

36 36 Algemene werking We maken gebruik van de grid potentiaalfunctie U Bouw een graaf G op de lokale minima van de functie U. Twee nodes worden verbonden wanneer de planner er een pad tussen construeert Verbeter het eventueel gevonden pad (Path Smoothing) Randomized Planning

37 37 Bouwen van de graaf Best First M = klein (bv 3), bekijk alle buren M = groot (bv 6), bekijk random buren Als alle buren een groter potentiaal hebben is de huidige q een lokaal minimum Gevolgd door een Random Motion Wanneer een lokaal minimum gevonden is, voer een random motion uit Doe t random stappen, controller bij elke stap of een obstakel geraakt wordt Een kiezen van een goede t Graaf wordt incrementeel opgebouwd totdat doel bereikt is of de planner het opgeeft Randomized Planning

38 38 Graph Searching Best-First manier Volg de aangrenzende node’s, begin met degene met het laagste potentiaal Nadeel: Zelfde minimum kan vaker bezocht worden Randomized Planning

39 39 Randomized Path Planner (2) Alternatieve wijze: Bij het bouwen van de graaf alleen het pad naar q current bewaren Wanneer een lokaal minimum q loc bereikt wordt: voer een aantal random motions uit gevolgd door een best-first. Dit levert een lokaal minimum q loc ’ op Als U(q loc ’) > U(q loc ), voeg q loc ’ toe aan het pad en ga verder vanuit q loc ’ Als geen enkele U(q loc ’) < U(q loc ), pad loopt dood en voer een backtrack uit Algoritme stopt als: q loc ’ = q goal (doel bereikt) Tijdslimiet bereikt is Randomized Planning

40 40 Randomized Path Planner (3) Voordelen Omdat er meestal veel mogelijke oplossingen zijn, wordt er meestal relatief snel een pad gevonden Resultaten zijn relatief goed. Ook in hogere dimensies en grote ruimtes Nadelen Wanneer je het algoritme een aantal keer op dezelfde situatie loslaat, kan dit tot wisselende resultaten leiden. De looptijd varieert en verschillende paden worden gevonden Geen garantie dat er geen pad bestaat Randomized Planning


Download ppt "1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning."

Verwante presentaties


Ads door Google