Flocking Behaviors
description
Transcript of Flocking Behaviors
Flocking Behaviors
Presented by Jyh-Ming Lien
Flocking System
What is flocking system?– A system that simulates behaviors of accumulative
objects (e.g. a school of fishes, people crowds…)
Why do they form flocks?– Because they are selfish.
Why do we need flocks?
(http://www.actwin.com/fish/marine-pics)
Review : Particle System
Star Trek II, 1982Karl Sims,1988.(Melting, 1999)
www.reptilelabour.com/software/flow
(lava, 1999)
Application of Flock behaviors
Computer Graphics Virtual Reality Robotics Games Heuristic Algorithm Biology and ecology simulation.
Application : Computer Graphics
Hard to make animation by key-framing.
Application : VR
Shopping online
www.activeworlds.com
Zoom in Zoom in
Application : Robotics
RoboCup98
Robot Sheep Dog
Application : Games
StarCraft
Empire Earth(trailer)
WarCraft 2 Black & White
Real Time Strategy (RTS) Games
Application : Heuristic Algorithm
Ant Colony Optimization– Based on ant’s behavior– Ant deposit pheromone on the ground and other ants will smell
it and make decision.– Pheromone will evaporate.
Used to solve hard problem, like TSP, routing
S GPath A (5 sec)
Path B (10 sec)
Each ant need to go to the goal and go back to the start point
Basic Flock Behavior
Interactive particle system– Particle system has no interactions between particles
Local Information– No central control system (individual-based model)
3 simple Rules– Separation – Alignment– Cohesion
http://www.red3d.com/cwr/boids
Basic Flock Behavior : Separation
http://www.red3d.com/cwr/boids/
Basic Flock Behavior : Alignment
http://www.red3d.com/cwr/boids/
Basic Flock Behavior : Cohesion
http://www.red3d.com/cwr/boids/
Steering : more complex behaviors
Craig W. Reynolds, Steering Behaviors For Autonomous Characters, Game Developers Conference, 1999.
Leader followingwall following path following
Pursuit and Evasion Arrival Obstacle Avoidance
Problem with Basic flocking behavior
Always emergent behavior– only local information is used– No memory
most creatures are not so stupid. At least they usually have memory.
– Can’t do complex task, like searching.
Can we have more complex behaviors?– Yes! Using global knowledge.– However, we need to use it very carefully.
this means we don’t want our creature to be too smart No creature will have complete/perfect information about global information.
Adaptive roadmap
Yes, of course, Road Map.– Encodes global information. (e.g. topology)– Facility to access global information.
Adaptive roadmap edges. Provides indirect and cheap way to
communicate between flockmates.
(inspired from ACO)
<Joint work with Burchan and Nancy>
Experiments using Adaptive Roadmap
We try to show that using global information encoded in roadmap can generate “good” complex behaviors.
Roadmaps are generated using MAPRM. Experiments including:
– Homing– Covering– Goal Searching– Shepherding (Burchan will talk this next time)
Application : Homing
Find a path from current position to goal A very simple case
– Showing that we can keep properties of basic flocking behaviors while new behaviors are added.
– Comparing with most popular approach (A* search) for this problem.
Go
Go
alal
Application : Homing : Movies
Roadmap Approach A* approach
Application : Homing : Data
- 40 flock members
-Environment size: 420 m * 420 m
-301obstacles (6 types)
-Simulation updated every 100ms
2005A*
255
# of local minima
R
Application : Covering
Mine sweeping : covering the environment. A point, p, is defined “covered” if p is inside
view ranges of one or more flock member. Similar ACO
Memory is a list of roadmap nodes that are visited by the boid.
Probability of each edge been selected based on its weight. Edge with Smaller weight has higher probability to be selected.
Application : Covering : Movie
Basic flocking behavior Behavior with perfect information Behavior with adaptive roadmap
Application : Covering : Data
- 50 flock members
-Environment size: 80 m *100 m
-Sensory range: 5 m
Scene overview
Application : Goal Searching
Search an unknown goal, and, once it’s found, all flock members should go there.
Probability of each edge been selected based on its weight. Edge with larger weight has higher probability to be selected.
Memory is a list of roadmap nodes that are visited by the boid.
Application : Goal Searching: Movie
Basic flocking behavior Behavior with perfect information Behavior with adaptive roadmap
Application : Goal Searching: Data
- 50 flock members
-Environment size: 80 m *100 m
-Sensory range: 5 m
Scene overview
Conclusion
Application of Flocking– CG– VR– Robotics– Game– Heuristic Algorithm
Using Adaptive Roadmap to generate more complex behaviors.– Homing– Covering– Goal Searching– Shepherding
Flocking is FUN.