Crowd Simulation Seminar ”Steering Behaviors For Autonomous Characters” By Craig W. Reynolds Rudi Bonfiglioli (3565025)

Slides:



Advertisements
Similar presentations
Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile.
Advertisements

7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
A predictive Collision Avoidance Model for Pedestrian Simulation Author: Ioannis Karamouzas et al. Presented by: Jessica Siewert.
Controlling Individual Agents in High Density Crowd Simulation N. Pelechano, J.M. Allbeck and N.I. Badler (2007)
Beyond the Centralized Mindset
Flocking and more.  NPC groups can move in cohesive groups not just independently ◦ Meadow of sheep grazing? ◦ Hunting flock of birds? ◦ Ants? Bees?
Steering Behaviors GAM 376 Robin Burke Winter 2008.
Evolving Flocking Simulation and Robotics Dan Sayers iotic.com.
Better Group Behaviors in Complex Environments using Global Roadmaps O. Burchan Bayazit, Jyh-Ming Lien and Nancy M. Amato Presented by Mohammad Irfan Rafiq.
Flocks, Herds, and Schools: A Distributed Behavioral Model By: Craig Reynolds Presented by: Stephanie Grosvenor.
1 CO Games Development 2 Week 22 Flocking Gareth Bellaby.
Florian Klein Flocking Cooperation with Limited Communication in Mobile Networks.
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.
DARPA Mobile Autonomous Robot SoftwareMay Adaptive Intelligent Mobile Robotics William D. Smart, Presenter Leslie Pack Kaelbling, PI Artificial.
Crowd Simulation Sai-Keung Wong. Crowd Simulation A process of simulating the movement of a large number of entities or characters. While simulating these.
1 Reactive Pedestrian Path Following from Examples Ronald A. Metoyer Jessica K. Hodgins Presented by Stephen Allen.
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.
Multi Agent Simulation and its optimization over parallel architecture using CUDA™ Abdur Rahman and Bilal Khan NEDUET(Department Of Computer and Information.
Rational Trigonometry Applied to Robotics
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
Animat Vision: Active Vision in Artificial Animals by Demetri Terzopoulos and Tamer F. Rabie.
Crowds Andrew Kaufman Michael Welsman-Dinelle. What is a crowd? A group of agents performing actions. Agents can affect each other. Agent actions may.
P. Ögren (KTH) N. Leonard (Princeton University)
Continuum Crowds Adrien Treuille, Siggraph 王上文.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
1cs426-winter-2008 Notes  Please read: C. Reynolds “Flocks, Herds, and Schools…” SIGGRAPH ‘87
Single Point of Contact Manipulation of Unknown Objects Stuart Anderson Advisor: Reid Simmons School of Computer Science Carnegie Mellon University.
Steering Behaviors For Autonomous Characters
DAMN : A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris Miles.
Games Programming III (TGP2281) – T1, 2010/2011 Movement AI John See 19, 26 Nov 2010.
Crowd Simulations Guest Instructor - Stephen J. Guy.
Biology: flocking, herding & schooling Day 5 COLQ 201 Multiagent modeling Harry Howard Tulane University.
 The most intelligent device - “Human Brain”.  The machine that revolutionized the whole world – “computer”.  Inefficiencies of the computer has lead.
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.
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
Steering Autonomous Characters Spring 2005 Ref: Craig Reynolds.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
제 6 주. 응용 -2: Graphics Artificial Life for Computer Graphics D. Terzopoulos, Communications of the ACM, vol. 42, no. 8, pp. 33~42, 1999 학습목표 Understanding.
Adrian Treuille, Seth Cooper, Zoran Popović 2006 Walter Kerrebijn
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
1 Game AI Steering Behavior & Group Movement ( 轉向行為 及 群體運動 )
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Controlling Individual Agents in High-Density Crowd Simulation
Basic Steering of Game Agents Featuring Guest professors Stephen Sheneman & Michael Wilkens 1.
Behavior Control of Virtual Vehicle
Study of Individual and Group responses of Mexican Free Tailed Bats Presented by Aruna Raghavan.
REFERENCES: FLOCKING.
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Crowd Self-Organization, Streaming and Short Path Smoothing 學號: 姓名:邱欣怡 日期: 2007/1/2 Stylianou Soteris & Chrysanthou Yiorgos.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Simulating Crowds Simulating Dynamical Features of Escape Panic & Self-Organization Phenomena in Pedestrian Crowds Papers by Helbing.
CSCI 4310 Lecture 5: Steering Behaviors in Raven.
Group Behaviors. Seminal flocking papers Craig Reynolds Flocks, Herds, and Schools: A Distributed Behavioral Model – SIGGRAPH 1987Flocks, Herds, and Schools:
Fundamentals of Computer Animation Controlling Groups of Objects (2)
11/13/03CS679 - Fall Copyright Univ. of Wisconsin Last Time A* Improvements Hierarchical planning Pre-Planning.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
4/22/20031/28. 4/22/20031/28 Presentation Outline  Multiple Agents – An Introduction  How to build an ant robot  Self-Organization of Multiple Agents.
Crowds (and research in computer animation and games)
Modelling and Simulating Social Systems with MATLAB
Crowds (and research in computer animation and games)
Workshop II UU Crowd Simulation Framework
CIS 488/588 Bruce R. Maxim UM-Dearborn
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Agent-Based Models Hiroki Sayama
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Crowd Simulation Seminar ”Steering Behaviors For Autonomous Characters” By Craig W. Reynolds Rudi Bonfiglioli ( )

Outline About the author and the paper Introduction, previous work, general concepts Main part: Locomotive model The steering layer – Behaviors Combining Behaviors Experiments Assessment

Who? Craig W. Reynolds, born in 1953 Creates ”Boids” in 1986: artifical life program that simulates the flocking behavior of birds Interested the field since then, mainly working in Sony R&D dep. In the US Worked also on the films ”Tron” ('86) and ”Batman Returns” ('92)!

What? Paper discussed at the GDC 1999 (656 citations) Early days: Matrix was not even a movie! Among first attempts at formalizing a crowd simulation approach: details about choices of words and overlapping related fields

Introduction Focus on autonomous characters meant as situated, embodied, reactive virtual agents Situated: share world with similar entities Embodied: have a physical manifestation Reactive: have stimuli-driven instincts Virtual: not just simulation of a mechanical device (easy to describe) but real agents in virtual world

Introduction (2) Behavior: ”improvisation and life-like actions of an autonomous character” Classical AI instead defines steps to solve problems Complex: can be divided in layers We will focus on the middle one

Previous Related Work Robotics: Arkin R. (1987) “Motor Schema Based Navigation for a Mobile Robot: An Approach to Programming by Behavior” Perception → Action Mappings expressed in terms of potential fields (not procedural approach) AI: Costa, M. Feijó, B., Schwabe, D. (1990) ”Reactive Agents in Behavioral Animation” Artificial Life: Tu, X. Terzopoulos, D. (1994) “Artificial Fishes: Physics, Locomotion, Perception, Behavior”

General Concepts Our ”pipeline”: Signals→(Loco)Motion→Animation 3 Independent levels? Theoretically, yes In practice: Signals have to compensate the lower agility of locomotion! Animation model must be able to adapt to different locomotion scenarios! The paper will try to treat the locomotion level as completely separated from steering level

Locomotion Model Very simple Not powerful, but general and easy to extend A steering force (vector) is applied to move it, then Euler Integration Orientation stores a description of both global and local (different viewpoint) space No explicit rotations used to update state!

Locomotion Model (2) While moving we mainly have to deal with updating the UP and SIDE vectors Basic: UP is perpendicular to forward (velocity) direction, SIDE is perpendicular to new UP Vehicle moving on surfaces → easy. UP vector is always aligned with the normal of the surface Vehicle flying → Tricky. Banking: align the local floor (hence also UP) with the apparent gravity due to centrifugal force during a turn

Intermezzo We defined the scope of our problem We have a locomotion model Let's move to the above layer: steering Formal description of many steering behaviors through geometric calculation of desired steer force

Behaviors – Seek and Flee Seek: adjust velocity so that its velocity is radially aligned towards the target Character will eventually pass through target, then turn back Flee: Similar to seek but the velocity points in the opposite direction

Behaviors – Pursuit and Evasion Pursuit: target is another moving char Try to predict the future position of char, then seek the predicted pos Position T units of time in the future → scale char velocity by T, then add to current pos Defining T is the key Evasion: instead, flee from predicted position Optimal techniques for both pursuit and evasion exist!

Behaviors – Offset pursuit Offset pursuit: steering a path that passes near a moving target without never really touching it Dynamically compute a target point which is offset by a radius R from the predicted pos, then use seek

Behaviors - Arrival Arrival: like seek, but when close to the target, incremental slow down so that we stop at target position Max velocity kept until we are inside a circle with radius R (predefined) centered in the target position Then, velocity is decreased (linearly?)

Behaviors – Obstacle avoidance Obstacle avoidance: both obstacles and character are approximated with spheres Cilinder projected in the forward direction: If any obstacles intersect it, we just move in the side direction with respect to the center of the nearest obstacle

More Behaviors... Wander, path/wall following, containment More elaborated behaviors use the simpler ones

… Even More Behaviors... Collision avoidance (unaligned): one/both of the two characters must slow down/accelearate But which one? Flow following: powerful way to define the steering behavior to be adopted in an area

Group Behaviors Separation, Cohesion, Alignment: by combining just these 3 group behaviors we can simulate flocking

Combining Behaviors Steering behaviors described since now serve as building blocks for more complex patterns Sequential switching and Combining Check whether two behaviors can be combined How to combine? Blending → calculate both forces Computationally expensive! → Maybe alternating for some sequential frames? Momentum will be a filter Defining priorities

Wrap Up The paper defined a new framework for (re)thinking crowd steering It described both a locomotive model and a way to model the steering layer The approach is based on the implementation of (averagely) small behavioral patterns: rather then calculating forces depending on a number of rules and constraints (force fields), we compute them in a sequential way depending on the current pattern (state) or by combining more than one

Experiments? Wait, no experiments/application? Not completely true: opensteer, an opensource framework started by Reynoldshttp://opensteer.sourceforge.net/ Opensteer is now way more advanced, but fundamental principles (and some routines) are still the same

Experiments (2) [Show the video]

Assessment I think the method presented has some nice advantages: + Easy to modify/tune our situation in order to make something happen Potential fields define a set of rules, hard to tune! + Easy to interact with the other ”layers” because we are always quite ”in control”

Assessment (2) … But there are also a number of drawbacks: - Implementing so many patterns can be long - The implementations of many patterns seem to be quite inefficient (linear in the number of agents, a lot of arithmetic) Maybe we can apply some space-partitioning/LOD? - Organizing the patterns is not trivial - We will always be limited by the number of patterns and their combination: are they enough?

Assessment (3) Many challenges arise! What behavioral patterns are the fundamental ones in crowd simulation? What's the best way to combine them in order to obtain complex behavior? Can we make crowd phenomena emerge by just defining a small number of patterns and combining them in some way? ”Big Fast Crowds on PS3” (2006) by Reynolds (PSCrowd) ”Continuum Crowds” (2006) by A. Treuille, S. Cooper, Z. Popović

Questions?