flocking behaviors

27
Flocking Behaviors Presented by Jyh-Ming Lien

Upload: yehudi

Post on 22-Jan-2016

70 views

Category:

Documents


7 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Flocking Behaviors

Flocking Behaviors

Presented by Jyh-Ming Lien

Page 2: Flocking Behaviors

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)

Page 3: Flocking Behaviors

Review : Particle System

Star Trek II, 1982Karl Sims,1988.(Melting, 1999)

www.reptilelabour.com/software/flow

(lava, 1999)

Page 4: Flocking Behaviors

Application of Flock behaviors

Computer Graphics Virtual Reality Robotics Games Heuristic Algorithm Biology and ecology simulation.

Page 5: Flocking Behaviors

Application : Computer Graphics

Hard to make animation by key-framing.

Page 6: Flocking Behaviors

Application : VR

Shopping online

www.activeworlds.com

Zoom in Zoom in

Page 7: Flocking Behaviors

Application : Robotics

RoboCup98

Robot Sheep Dog

Page 8: Flocking Behaviors

Application : Games

StarCraft

Empire Earth(trailer)

WarCraft 2 Black & White

Real Time Strategy (RTS) Games

Page 9: Flocking Behaviors

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

Page 10: Flocking Behaviors

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

Page 11: Flocking Behaviors

Basic Flock Behavior : Separation

http://www.red3d.com/cwr/boids/

Page 12: Flocking Behaviors

Basic Flock Behavior : Alignment

http://www.red3d.com/cwr/boids/

Page 13: Flocking Behaviors

Basic Flock Behavior : Cohesion

http://www.red3d.com/cwr/boids/

Page 14: Flocking Behaviors

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

Page 15: Flocking Behaviors

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.

                     

Page 16: Flocking Behaviors

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>

Page 17: Flocking Behaviors

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)

Page 18: Flocking Behaviors

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

Page 19: Flocking Behaviors

Application : Homing : Movies

Roadmap Approach A* approach

Page 20: Flocking Behaviors

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

Page 21: Flocking Behaviors

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.

Page 22: Flocking Behaviors

Application : Covering : Movie

Basic flocking behavior Behavior with perfect information Behavior with adaptive roadmap

Page 23: Flocking Behaviors

Application : Covering : Data

- 50 flock members

-Environment size: 80 m *100 m

-Sensory range: 5 m

Scene overview

Page 24: Flocking Behaviors

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.

Page 25: Flocking Behaviors

Application : Goal Searching: Movie

Basic flocking behavior Behavior with perfect information Behavior with adaptive roadmap

Page 26: Flocking Behaviors

Application : Goal Searching: Data

- 50 flock members

-Environment size: 80 m *100 m

-Sensory range: 5 m

Scene overview

Page 27: Flocking Behaviors

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.