260 likes | 356 Views
Flocking using Global Roadmaps. Niels Gorisse Motion Planning 26 februari 2003 University Utrecht. Overzicht. Introductie Homing Behavior Exploring Behavior: Covering Exploring Behavior: Searching Shepherding Behavior Conclusie. Introductie.
E N D
Flocking using Global Roadmaps Niels Gorisse Motion Planning 26 februari 2003 University Utrecht
Overzicht • Introductie • Homing Behavior • Exploring Behavior: Covering • Exploring Behavior: Searching • Shepherding Behavior • Conclusie
Introductie • Traditioneel: geen globale knowledge, locaal • Global movement door potential fields • Risico: minima bij moeilijke terreinen • Path planning: goed bij moeilijke terreinen • Oplossing: flocking + roadmap motion planning • specifiek: Medial-Axis Probabilistic RoadMap • ook wel MAPRM • voordeel: maximale afstand van obstakels
Introductie • A* search • Game industrie • Grid-based representatie van de omgeving • Ga naar de meest belovende buur • ACO: Ant Colony Optimalization • pheromonen spoor achterlaten • hoogste pheronomen concentratie volgen • hier: roadmap edge weights • “adaptive roadmap” method
Introductie • Reynolds ‘boid’ dynamics (1987) • idee: beweeg samen met je buren 1. Botsingen met buren tegengaan 2. Matchen met de snelheid van buren 3. In de buurt blijven van buren • Neighborhood = afstand rond de flock • flocks: angle en directional vector (3 voorwaarden)
Homing Behavior • Doel: de hele flock bewegen naar een goal positie. • Technieken: MAPRM + boid dynamics • Subgoals (binnen de sensor range) • Algoritme: for (each individual flock member) if (goal is in its view range) stay around goal else if (current subgoal is in its view range) set next subgoal as the target else steer toward the target endif endfor
Homing Behavior • Resultaten: vergelijk met potentiaalveld en A* • Omgeving: 420 m2, met 310 objecten • 40 flock members • Roadmap: 400 roadmap nodes • A* search: 914 x 914 cellen • Tabel: hoeveel flocks binnen 30 sec. doel vinden • dus er is globale informatie nodig
Homing Behavior • Conclusie: beter dan A*: sneller gevonden hoewel langer pad.
Homing Behavior [video]
Exploring Behavior: Covering • Doel: alle punten in de hele scene bezoeken • Omgeving is bekend voor het algoritme • Technieken: MAPRM + ACO (Ant Colony Optimalization) • Roadmap edges hebben een gewicht • Initieel: alles gewicht ‘1’ • Edge bewandelen: edge gewicht hoger maken • Kies steeds edges met kleinere gewichten
Exploring Behavior: Covering • Algoritme: for (each flock member) while (not all nodes visited) if (not in the roadmap) move to the closes roadmap node if (current node do not have an outgoing edge) pop memory until a new branch is found else probabilistically pick a lower-weight edge increse edge weight push this node to memory endwhile endfor
Exploring Behavior: Covering • Resultaten: vergelijk met • random (boid) walk • complete knowledge over het terrein • Omgeving: 80 x 100 met 16 obstakels • 50 flock members • ontdekt betekent in sensor range (5 m) • Roadmap: 120 roadmap nodes
Exploring Behavior: Covering • Boid: sommige delen worden nooit ontdekt • blijft steken bij 80% ontdekt • Voorkennis: 91 % ontdekt na 30 sec. • Roadmap: 91 % ontdekt na 90 sec. • Opmerkelijk: tot 40% boid evenveel ontdekt als roadmap methode
Exploring Behavior: Covering [video]
Exploring Behavior: Searching • Doel: zoek de target en ga er met z’n allen naartoe. • Technieken: MAPRM + ACO • Route wordt opgeslagen, indien een individu het goal vindt, wordt die route meer gewicht gegeven • als een node geen uitgaande connecties heeft, of de node zat in het reeds doorlopen pad, wordt de doorlopen route minder gewicht gegeven. • bewegend doel: hetzelfde, alleen als gevonden: alle edges van de node dichtste bij de goal opwaarderen.
Exploring Behavior: Searching • Algoritme: for (each flock member) if (it finds goal) increase edge weight according to its memory else if (it finds a dead end) pop memory until a new node is pushed into memory decrease weight according to popped memory else select a neigboring node (higher-weight edges are better) push this node into memory endif endfor
Exploring Behavior: Searching • Resultaten: vergelijk ook met boid en voorkennis • Boid: niemand goal gevonden na 35 sec. • Voorkennis: slechts 5 seconden langer
Exploring Behavior: Searching [video]
Shepherding Behavior • Doel: ga naar een doel door externe agent • Homing: flock heeft de controle • Exploring: individual heeft de controle • Shepherding: agent heeft de controle • Techniek: MAPRM • Flock members: beweeg weg van agent (dog)
Shepherding Behavior • Algoritme (voor de hond): Find a path on the roadmap while (not goal reached) Select the next node on the path as subgoal while (not subgoal reached) move behind flock on opposite side of subgoal if flock seperates move the farthest subgroup fromo subgoal toward other subgroup endif endwhile endwhile
Shepherding Behavior • Resultaten: • vergelijk met A* • hoeveel ‘repulsive force coefficient’ hond? • Omgeving: 914 x 914 cells • Roadmap: 400 roadmap nodes • Hieronder resultaten (na 40 experimenten)
Shepherding Behavior • Hieronder resultaat • in het begin sneller resultaat met meer repulsie • op een gegeven moment minder resultaat bij meer r.
Shepherding Behavior [video]
Conclusie • Globale informatie is nuttig bij diverse flocking varianten • bij sommige varianten is zelfs alleen locale informatie niet genoeg
Conclusie Vragen?