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 m 2, 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
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?