Flocks, Herds, and Schools: A Distributed Behavioral Model By: Craig Reynolds Presented by: Stephanie Grosvenor.

Slides:



Advertisements
Similar presentations
Lecture 7: Potential Fields and Model Predictive Control
Advertisements

Beyond the Centralized Mindset
Torque, Equilibrium, and Stability
Lesson 1 Gravity and Friction Lesson 2 Newton’s First Law
Flocking and more.  NPC groups can move in cohesive groups not just independently ◦ Meadow of sheep grazing? ◦ Hunting flock of birds? ◦ Ants? Bees?
5. Using Newton’s Laws. Newton’s Third Law 3 Law of Action and Reaction Forces always occur in equal and opposite pairs A B A acts on B B acts on A.
Evolving Flocking Simulation and Robotics Dan Sayers iotic.com.
Behavioral animation CSE 3541 Matt Boggus. Material recap and trajectory Geometric – Artist specifies translation and rotation over time Physically based.
Flocks, Herds and Schools Modeling and Analytic Approaches.
Better Group Behaviors in Complex Environments using Global Roadmaps O. Burchan Bayazit, Jyh-Ming Lien and Nancy M. Amato Presented by Mohammad Irfan Rafiq.
BOIDS by Craig Reynolds Cs 527 Computer Animation. Dr. Robert Kenyon. Vaidyasubramanian Chandrasekhar Vaidyasubramanian Chandrasekhar.
1 CO Games Development 2 Week 22 Flocking Gareth Bellaby.
Dynamics of a Continuous Model for Flocking Ed Ott in collaboration with Tom Antonsen Parvez Guzdar Nicholas Mecholsky.
OBJECT-ORIENTED THINKING CHAPTER Topics  The Object-Oriented Metaphor  Object-Oriented Flocks of Birds –Boids by Craig W. Reynolds  Modularity.
Florian Klein Flocking Cooperation with Limited Communication in Mobile Networks.
Behavioral Animation Procedural Animation Type?. Behavioral Animation Introduced by C. Reynolds (1987) Animating many things at one time –A group of the.
Rick Parent - CIS682 Flocking Geometric objects Many objects Simple motion - e.g., local rules, more physics, collision avoidance Consider other members.
Crowd simulation Taku Komura. Animating Crowds We have been going through methods to simulate individual characters We have been going through methods.
Kristen Gardner. Outline Swarm Intelligence Flocking Basic Steering Swarms Applications Animals Vehicles People.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012.
Flocking References: xxx.
CITS4403 Computational Modelling Agent Based Models.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.
1Notes  Assignment 2 is out  Flocking references  Reynolds, “Flocks, Herds, and Schools…”, SIGGRAPH’87  Tu and Terzopoulos, “Artificial Fishes…”, SIGGRAPH’94.
John S Gero Agents – Agent Simulations AGENT-BASED SIMULATIONS.
Search and Escape in “The Snorks World” Guillaume Poncin Gregory Kron Monday, June 9 th 2003.
Better Group Behaviors in Complex Environments using Global Roadmaps O. Burchan Bayazit, Jyh-Ming Lien and Nancy M. Amato Andreas Edlund.
Flocking and Group Behavior Luv Kohli COMP259 March 24, 2003.
Lesson 5 Representing Fields Geometrically. Class 13 Today, we will: review characteristics of field lines and contours learn more about electric field.
1cs426-winter-2008 Notes  Please read: C. Reynolds “Flocks, Herds, and Schools…” SIGGRAPH ‘87
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
Crowd Simulation Seminar ”Steering Behaviors For Autonomous Characters” By Craig W. Reynolds Rudi Bonfiglioli ( )
Steering Behaviors For Autonomous Characters
DAMN : A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris Miles.
Collective Animal Behavior Ariana Strandburg-Peshkin.
Vectors 1D kinematics 2D kinematics Newton’s laws of motion
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
MOTION BY MARK AND ZYAN. Section 1vocab Frame of reference – Is a system of objects that are not moving with respect to one another. Relative motion –
Biology: flocking, herding & schooling Day 5 COLQ 201 Multiagent modeling Harry Howard Tulane University.
KINEMATICS OF PARTICLES Kinematics of Particles This lecture introduces Newtonian (or classical) Mechanics. It concentrates on a body that can be considered.
Three Behavioral Zones Zone of repulsion Zone of orientation Zone of attraction Blind Region  Adapted from Inada, 2002 RoRo.
Flow Fields Hao Li and Howard Hamilton. Motivation for Flow Fields Multiple AI algorithms in a computer game can produce conflicting results. The AI must.
PSY105 Neural Networks 1/5 1. “Patterns emerge”. π.
My Chapter 16 Lecture Outline.
Birds flock, fishes school: Modeling Emergent Collective Behavior
Spring 2002 Lecture #4 Dr. Jaehoon Yu 1.Uniform and Non-uniform Circular Motion 2.Newton’s First Law of Motion 3.Reference Frames 4.Relative Velocity.
1 Game AI Steering Behavior & Group Movement ( 轉向行為 及 群體運動 )
CLASS 10 SCENE GRAPHS BASIC ANIMATION CS770/870. A scene Graph A data structure to hold components of a scene Usually a Tree of a Directed Acyclic Graph.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Behavioral Animation: Knowing the environment Flocking.
Study of Individual and Group responses of Mexican Free Tailed Bats Presented by Aruna Raghavan.
Particle Swarm Optimization † Spencer Vogel † This presentation contains cheesy graphics and animations and they will be awesome.
REFERENCES: FLOCKING.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Behavioral Animation.
Crowd Self-Organization, Streaming and Short Path Smoothing 學號: 姓名:邱欣怡 日期: 2007/1/2 Stylianou Soteris & Chrysanthou Yiorgos.
Chapter 5 The Laws of Motion.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Group Behaviors. Seminal flocking papers Craig Reynolds Flocks, Herds, and Schools: A Distributed Behavioral Model – SIGGRAPH 1987Flocks, Herds, and Schools:
PHY 102: Lecture Magnetic Field 6.2 Magnetic Force on Moving Charges 6.3 Magnetic Force on Currents 6.4 Magnetic Field Produced by Current.
11/13/03CS679 - Fall Copyright Univ. of Wisconsin Last Time A* Improvements Hierarchical planning Pre-Planning.
PHY 102: Lecture Magnetic Field
Computer Animation Algorithms and Techniques
Behavioral animation CSE 3541 Matt Boggus.
Flocking Geometric objects Many objects
CIS 488/588 Bruce R. Maxim UM-Dearborn
Lesson 3 Forces and Fields
Flocking and Group Behavior
Devil physics The baddest class on campus aP Physics
Presentation transcript:

Flocks, Herds, and Schools: A Distributed Behavioral Model By: Craig Reynolds Presented by: Stephanie Grosvenor

Flocks and Boids Flock is a group of objects that exhibit the general class of polarized (aligned), non-colliding, aggregate motion Flock is a group of objects that exhibit the general class of polarized (aligned), non-colliding, aggregate motion To simulate flock, simulate the behavior of individual bird To simulate flock, simulate the behavior of individual bird –Perception –Flight dynamics Boid is a simulated bird-like object Boid is a simulated bird-like object

How do we simulate a flock in computer animation? –Scripting is bad –Particle system too simple –Make particle systems more complex Local perception Local perception Simulated physics Simulated physics Flocking behaviors Flocking behaviors –Result of dense interaction of relatively simple behaviors of individually simulated birds

Behavioral Animation Animator as a theatrical director Animator as a theatrical director Character's performance is the indirect result of the director's instructions to the actor. Character's performance is the indirect result of the director's instructions to the actor. Not know how a simulation is going to proceed from the specified behaviors and initial conditions - many unexpected, pleasant surprises. Not know how a simulation is going to proceed from the specified behaviors and initial conditions - many unexpected, pleasant surprises. Problem getting uncooperative flocks to move as intended ("these darn boids seem to have a mind of their own!"). Problem getting uncooperative flocks to move as intended ("these darn boids seem to have a mind of their own!").

Boids and Turtles Logo turtle Logo turtle –Movement forward, back, left, right 3D turtles and their paths are equivalent to boid objects and their flight paths 3D turtles and their paths are equivalent to boid objects and their flight paths Simple rules for complex behavior Simple rules for complex behavior

Geometric Flight Flight - Dynamic, incremental, rigid motion along a path Flight - Dynamic, incremental, rigid motion along a path Geometrical transformation of an object, moving along and tangent to a 3D curve Geometrical transformation of an object, moving along and tangent to a 3D curve Motion rigid - Underlying geometric model free to change shape within flying coordinate system Motion rigid - Underlying geometric model free to change shape within flying coordinate system

Geometric Flight Conservation of momentum Conservation of momentum Simple model of viscous speed damping – not exceed maximum speed Simple model of viscous speed damping – not exceed maximum speed Minimum speed can be specified Minimum speed can be specified Maximum acceleration used to provide smooth changes of speed and heading Maximum acceleration used to provide smooth changes of speed and heading

Geometric Flight Gravity modeled but only defines banking behavior Gravity modeled but only defines banking behavior Many physical forces not supported Many physical forces not supported

Banking Magnitude of turning acceleration directly varies with object’s velocity and with the curvature of its path Magnitude of turning acceleration directly varies with object’s velocity and with the curvature of its path Correct banking – object’s local space remains aligned with the perceptual or accelerational coordinate system Correct banking – object’s local space remains aligned with the perceptual or accelerational coordinate system Makes boid fit viewer’s expectation of how flying objects should move and orient themselves Makes boid fit viewer’s expectation of how flying objects should move and orient themselves

Natural Flocks, Herds, and Schools Bird in flock must have behavior that allows it to coordinate movement with flockmates Bird in flock must have behavior that allows it to coordinate movement with flockmates Two balanced, opposing behaviors Two balanced, opposing behaviors –Desire to stay close to flock –Desire to avoid collisions within flock Individuals don’t pay much attention to each and every bird in flock Individuals don’t pay much attention to each and every bird in flock –Bird’s perception of the rest of flock is localized and filtered Itself Itself Two or 3 nearest neighbors Two or 3 nearest neighbors Rest of flock Rest of flock

Simulated Flocks Collision Avoidance Collision Avoidance –Avoid collisions with nearby flockmates Velocity Matching Velocity Matching –Attempt to match velocity with nearby flockmates Flock Centering Flock Centering –Attempt to stay close to nearby flockmates

Collision Avoidance Urge to steer away from imminent impact Urge to steer away from imminent impact Static collision avoidance based on relative position of flockmates Static collision avoidance based on relative position of flockmates Ignores velocity Ignores velocity

Velocity Matching Looks only at velocity Looks only at velocity –Ignores position Predictive version of collision avoidance Predictive version of collision avoidance –If boid does a good job of matching velocity with neighbors – collision in near future unlikely Static collision avoidance and dynamic velocity matching are complementary Static collision avoidance and dynamic velocity matching are complementary Static collision avoidance serves to establish minimum required separation distance – velocity matching maintains it Static collision avoidance serves to establish minimum required separation distance – velocity matching maintains it

Flock Centering Boid localized perception of world center of flock actually means center of nearby flockmates Boid localized perception of world center of flock actually means center of nearby flockmates Causes boid to fly in a direction that moves it closer to centroid of nearby boids Causes boid to fly in a direction that moves it closer to centroid of nearby boids If a boid is close to the center of the flock this will have little effect (since the boid density will be uniform), but if it is on the edges then it will have a greater effect. If a boid is close to the center of the flock this will have little effect (since the boid density will be uniform), but if it is on the edges then it will have a greater effect. Correctly allows simulated flocks to split Correctly allows simulated flocks to split

Arbitrating Independent Behaviors three behavioral urges associated with flocking each expressed as acceleration requests three behavioral urges associated with flocking each expressed as acceleration requests Behavior has several parameters – including strength, further accentuate the acceleration request Behavior has several parameters – including strength, further accentuate the acceleration request Navigation module of boid brain to collect relevant acceleration requests and then determine single behaviorally desired acceleration Navigation module of boid brain to collect relevant acceleration requests and then determine single behaviorally desired acceleration Weighted average according to priority Weighted average according to priority Not good for collision with obstacles - Weighted average may cancel (opposite directions) Not good for collision with obstacles - Weighted average may cancel (opposite directions)

Arbitrating Independent Behaviors Acceleration requests considered in priority order and added to accumulator Acceleration requests considered in priority order and added to accumulator Magnitude added to another accumulator Magnitude added to another accumulator Continue until sum of accumulated magnitudes larger than maximum acceleration value Continue until sum of accumulated magnitudes larger than maximum acceleration value Emergency acceleration allocated to satisfy pressing needs first Emergency acceleration allocated to satisfy pressing needs first Example: Centering ignored in order to maneuver around obstacles Example: Centering ignored in order to maneuver around obstacles

Simulated Perception Perception model tries to model real bird Perception model tries to model real bird Filtering out surplus information that implements boid’s behavior Filtering out surplus information that implements boid’s behavior Real bird imperfect senses – nearby flockmates hide those farther away Real bird imperfect senses – nearby flockmates hide those farther away –Strongly localized information available Aggregate motion of flocking depends on limited localized view of world Aggregate motion of flocking depends on limited localized view of world

Each boid has direct access to the whole scene‘s geometric description, but flocking requires that it reacts only to flockmates within a certain small neighborhood around itself. The neighborhood is characterized by a distance (measured from the center of the boid) and an angle, measured from the boid's direction of flight. Flockmates outside this local neighborhood are ignored. The neighborhood defining the region in which flockmates influence a boids steering.

Scripted Flocking Happy aimless flocking is good – direction better Happy aimless flocking is good – direction better Direct motion at specific times Direct motion at specific times Simulations under control of general-purpose animation scripting system Simulations under control of general-purpose animation scripting system Interactive motion control facilities – provides ability to schedule invocation of user-supplied software on a frame by frame basis Interactive motion control facilities – provides ability to schedule invocation of user-supplied software on a frame by frame basis Describe Timing of flock actions Describe Timing of flock actions Flexible Control over time varying values of parameters Flexible Control over time varying values of parameters Set up and animate all nonbehavioral aspects of scene Set up and animate all nonbehavioral aspects of scene background/lighting/camera motion/ visible objects

Scripted Flocking Migratory urge – global target (global direction) Migratory urge – global target (global direction) Global position – a target point toward which birds fly (going z for the winter) Global position – a target point toward which birds fly (going z for the winter) Bounded acceleration, incrementally turns boid toward migratory target Bounded acceleration, incrementally turns boid toward migratory target Animate dynamic parameter – global position vector, global direction vector Animate dynamic parameter – global position vector, global direction vector Animate goal point along desired path Animate goal point along desired path

Avoiding Environmental Obstacles Two types of shapes of environmental collision avoidance Two types of shapes of environmental collision avoidance –Force field –Steer-to-avoid Force Field Force Field –Field of repulsion force emanating from obstacle out into space –Boid increasingly repulsed as it gets closer to obstacle Problem Problem –approach obstacle surrounded by a force field at angle such that exactly opposite to direction of force field –Worst case scenario – fail to turn –Problem with peripheral vision –Too strong up close/ too weak far away Want long-range planning to avoid obstacles, not panicky correction Want long-range planning to avoid obstacles, not panicky correction Steer-to-avoid more robust - natural Steer-to-avoid more robust - natural

Avoiding Environmental Obstacles Steer-to-avoid Steer-to-avoid Obstacles that are directly in front of boid (where local z and obstacle intersect) Obstacles that are directly in front of boid (where local z and obstacle intersect) Silhouette edge of obstacle is closest to point of eventual impact Silhouette edge of obstacle is closest to point of eventual impact Radial vector computed – aim boid at point 1 body length beyond silhouette edge Radial vector computed – aim boid at point 1 body length beyond silhouette edge

Other Applications of the Flock Model Polarized, noncolliding aggregate motion Traffic patterns, fish, locomotion, crowds Traffic patterns, fish, locomotion, crowds Scientific investigation Scientific investigation

Questions?