Flocking using Global Roadmaps Niels Gorisse Motion Planning 26 februari 2003 University Utrecht
Jan 22, 2016
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
elsesteer toward the target
endifendfor
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
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?