2.7 Avoiding Dynamic Obstacles and Hazards Don DeLorenzo.

Slides:



Advertisements
Similar presentations
Physics: Principles with Applications, 6th edition
Advertisements

Lecture 7: Potential Fields and Model Predictive Control
7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
Controlling Individual Agents in High Density Crowd Simulation N. Pelechano, J.M. Allbeck and N.I. Badler (2007)
Flocking and more.  NPC groups can move in cohesive groups not just independently ◦ Meadow of sheep grazing? ◦ Hunting flock of birds? ◦ Ants? Bees?
Introduction to Training and Learning in Neural Networks n CS/PY 399 Lab Presentation # 4 n February 1, 2001 n Mount Union College.
Lecture 4: Command and Behavior Fusion Gal A. Kaminka Introduction to Robots and Multi-Robot Systems Agents in Physical and Virtual Environments.
CSE 380 – Computer Game Programming Pathfinding AI
Flocks, Herds, and Schools: A Distributed Behavioral Model By: Craig Reynolds Presented by: Stephanie Grosvenor.
Dynamics of a Continuous Model for Flocking Ed Ott in collaboration with Tom Antonsen Parvez Guzdar Nicholas Mecholsky.
Chapter 3: Two Dimensional Motion and Vectors
Planning under Uncertainty
John S Gero Agents – Agent Simulations AGENT-BASED SIMULATIONS.
Presenter: Robin van Olst. Prof. Dr. Dirk Helbing Heads two divisions of the German Physical Society of the ETH Zurich Ph.D. Péter Molnár Associate Professor.
Search and Escape in “The Snorks World” Guillaume Poncin Gregory Kron Monday, June 9 th 2003.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
Chapter 3 Vectors in Physics.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Steering Behaviors For Autonomous Characters
Objectives: The students will be able to:
DAMN : A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris Miles.
Intelligent Steering Using PID controllers
The Structure of Networks with emphasis on information and social networks T-214-SINE Summer 2011 Chapter 8 Ýmir Vigfússon.
SPEED AND VELOCITY NOTES
Crowd Simulations Guest Instructor - Stephen J. Guy.
 The gravitational force between two masses, m1 & m2 is proportional to the product of the masses and inversely proportional to the square of the distance.
Collision and Animation Systems in Games Jani Kajala Lead Programmer / Chief Technology Officer, Pixelgene Ltd (0)
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
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 –
Robot Crowd Navigation using Predictive Position Fields in the Potential Function Framework Ninad Pradhan, Timothy Burg, and Stan Birchfield Electrical.
Vectors Readings: Chapter 3. Vectors Vectors are the objects which are characterized by two parameters: magnitude (length) direction These vectors are.
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.
Higher Mathematics Unit 3.1 Vectors 1. Introduction A vector is a quantity with both magnitude and direction. It can be represented using a direct.
Math / Physics 101 GAM 376 Robin Burke Fall 2006.
1 Momentum and Its Conservation Or How I Learned to Love Collisions.
Physics Kinematics in 2-D and Vectors 3.1 Vectors and Scalars 3.2 Addition of Vectors - Graphically 3.3 Subtraction and Scalar Multiplication.
I. Newton’s Laws of Motion
10.2 Vectors in the Plane Quick Review What you’ll learn about Two-Dimensional Vectors Vector Operations Modeling Planar Motion Velocity, Acceleration,
Motion Planning in Games Mark Overmars Utrecht University.
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Vector components and motion. There are many different variables that are important in physics. These variables are either vectors or scalars. What makes.
Motion in 2 dimensions Vectors vs. Scalars Scalar- a quantity described by magnitude only. –Given by numbers and units only. –Ex. Distance,
Catch Me If You Can Group 20 B 鍾政達 B 陳建男 B 何雨帆.
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Bill Sacks SUNFEST ‘01 Advisor: Prof. Ostrowski Using Vision for Collision Avoidance and Recovery.
Vectors.
Adaptive Triangular Deployment Algorithm for Unattended Mobile Sensor Networks Ming Ma and Yuanyuan Yang Department of Electrical & Computer Engineering.
SPEED, VELOCITY AND ACCELERATION Motion. Distance & Displacement.
CSCI 4310 Lecture 5: Steering Behaviors in Raven.
Vectors in the Plane. Quick Review Quick Review Solutions.
Section 11.1 Distance and Displacement
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
Grade 9 Review Kinematics (motion) – Velocity and Acceleration Reference Frames and Displacement Average Velocity Instantaneous Velocity Acceleration Motion.
Obstacle Avoidance Manjulata Chivukula. Requirements Traversing the list of waypoints Traversing the list of waypoints Avoiding the obstacle in the path.
11. ConcepTest 4.4d Off to the Races IV
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Vectors- Motion in Two Dimensions
11.1 Distance and Displacement
Navigation In Dynamic Environment
Kinematics in Two Dimensions; Vectors
Vectors Vectors are a way to describe motion that is not in a straight line. All measurements can be put into two categories: Scalars = magnitude Vectors.
Section 3.1 – Vectors in Component Form
Kinematics in Two Dimensions
Real-Time Motion Planning
1 Introduction to Algebra: Integers.
Speed, Velocity and Acceleration
Vectors.
Vectors = ?.
Presentation transcript:

2.7 Avoiding Dynamic Obstacles and Hazards Don DeLorenzo

Geraint Johnson – Computer Artworks Ltd. The Thing ► First/Third Person Shooter ► Squad Based ► Utilized Repulsion Vectors for dynamic obstacle avoidance ► Fear and Trust

Avoiding Dynamic Hazards ► A* or any other method we’ve seen handles long range movement  These often deal poorly with dynamic obstacles ► Convincing short range obstacle avoidance  Avoids walking into other agents  Discovers dynamically blocked paths early

Ideal Path Direct Path ► Dynamic obstacles are obstacles capable of movement ► Agent should avoid obstacle smoothly, not bump into it on its way past, which looks bad, and is worse of obstacle is dangerous Obstacle Destination Agent

Repulsion Vectors  In the direction of the agent from the obstacle  Combine with destination direction via vector addition  Update as agent moves Obstacle DestinationDestination Direction Desired Velocity Repulsion Agent

Calculating Vector Direction ► Repulsion of Agent ‘a’ from entity ‘e’ ► Total repulsion vector is sum of repulsion vectors from all dynamic obstacles ► Desired velocity is calculated using desired speed and destination and repulsion vectors

Repulsion Magnitude ► No single ‘correct’ value for m ae ► Desirable characteristics for heuristic:  In the case of an obstacle not worth avoiding, m ae = 0  If the obstacle is too far away, m ae = 0  Otherwise, m ae inversely related to distance from a to e  m ae should be larger if a and e are on collision course  m ae should have clamped upper bound

Sidestepping ► If obstacle is located directly between agent and destination, either  Ra will overpower Da and agent will never reach destination  Da will overpower Ra and agent will collide with obstacle ► If angle between Ra and Da too large, add sidestep vector Destination a Obstacle RaRa DaDa VaVa Sidestep Repulsion

Realistic Sidestepping Agent BAgent A

Unworkable Repulsion ► Repulsion vector will never allow agent to reach destination ► Defer to higher level AI  Ignore repulsion vector ► Obstacle can be pushed out of the way ► Obstacle is less dangerous than what agent is fleeing ► Obstacle is moving and will be gone in time  Give up on this destination Agent Obstacle Destination

Oscillations ► Oscillations occur when agent is near multiple obstacles  If one or more obstacles are non-hazardous, ignore them in calculation  Otherwise, flag failure find a different path Time = t 0 Time = t 1 e1 e2 a a DaDa RaRa VaVa DaDa VaVa RaRa

The Thing

Conclusion ► Repulsion vectors from nearby entities are added to agent’s velocity ► Sidestepping vectors are added when velocity and repulsion are roughly opposite ► Oscillations preempted ► Adds realism with convincing short range avoidance ► Simple arithmetic – quick to calculate