360 likes | 577 Views
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?.
E N D
Flocking Behaviors Presented byJyh-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 Karl Sims,1988. Star Trek II, 1982 (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 Zoom in Zoom in www.activeworlds.com
Application : Robotics RoboCup98 Robot Sheep Dog
Application : Games Real Time Strategy (RTS) Games StarCraft Empire Earth (trailer) WarCraft 2 Black & White
S G Path A (5 sec) Each ant need to go to the goal and go back to the start point Path B (10 sec) 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
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. Pursuit and Evasion Arrival Obstacle Avoidance path following wall following Leader following
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 <Joint work with Burchan and Nancy> • 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)
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. Goal
Application : Homing : Movies Roadmap Approach A* approach
# of local minima A* 2005 R 255 Application : Homing : Data • - 40 flock members • Environment size: 420 m * 420 m • 301obstacles (6 types) • Simulation updated every 100ms
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
Scene overview Application : Covering : Data • - 50 flock members • Environment size: 80 m *100 m • Sensory range: 5 m
Application : Goal Searching • Search an unknown goal, and, once it’s found, all flock members should go there. 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 larger weight has higher probability to be selected.
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.