Flocking using Global Roadmaps

Preview:

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

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?

Recommended