12 - More Steering. from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006

Size: px
Start display at page:

Download "12 - More Steering. from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006"

Transcription

1 12 - More Steering from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006

2 Separation commonly used in crowds, when all characters moving in roughly the same direction (repulsion steering) not good for crossing paths, use collision avoidance for that mostly has zero output, unless another character closer than some threshold distances similar to evade, but strength is related to distance inverse linear law strength = maxacceleration * (threshold - distance) / threshold inverse square law strength = min ( k * distance * distance, maxacceleration ) for multiple other characters, calculate each steering output and sum O(n) for simple list of characters O(log n) for a tree-based spatial index used in combination with other behaviors

3 Collision Avoidance with lots of characters in the same space with crossing trajectories, need constant collision avoidance a simple approach : use a variation of Evade or Separation, but only engage if target is within a code in front of the character if multiple characters in cone: find their average and evade that OR, find the closest and evade it simple approach doesn't consider if collision will occur, just evades anything nearby simple approach also misses when two characters are mutually out-of-cone until the moment of impact ignored character to avoid half-angle of the cone in-cone, but no collision out -of-cone, but colliding

4 Collision Avoidance a better approach: check if characters will collide at current velocities find point of closest approach test if distance to closest approach within threshold closest approach not necessarily where paths cross, as velocities may differ t_closest = time of closest approach = (dp * dv) / dv 2 dp = relative position = target.position - character.position dv = relative velocity = target.velocity - character.velocity if t_closest < 0: already moving away, no action needed else: find position at time of closest approach: p_char_closest = character.position + character.velocity * t_closest p_target_closest = target.position + target.velocity * t_closest use these to drive Evade for groups, best to use for closest target only

5 Obstacle and Wall Avoidance Can use collision avoidance to avoid obstacles by assuming they are spherical stay outside of sphere's radius okay for small objects, no good for walls. Better: Cast one or more finite-length rays from character, find intersection with wall Use the intersection point and wall normal to compute a target location at a fixed distance from the surface, and Seek it. target

6 Collision detection problems single ray-cast usually not good, triple rays better configurations: parallel side rays central ray with short whiskers whiskers only single only

7 The Corner Trap can occur near corners of objects, esp. if acute angle first one ray detects collision, turns character away then the other ray is colliding, turning character the other way result: character homes-in on corner and gets stuck there possible solution: use a wider fan of collision rays and adaptive fan angles. If moving successfully without collision, narrow the fan angle (move through tight passages) If collide, widen the fan angle. If many collisions, widening fan will tend to avoid corner trap. best but expensive solution: test for collisions with the volume swept out by character on predicted path compromise that mostly works: use adaptive fan angles with one long ray and two shorter whiskers

8 Family Tree of Steering Behaviors Align LookWhereYoureGoing Face Wander Seek/ Flee Pursue/Evade Path Following Obscacle Avoidance VelocityMatch Arrive ForceField Separation

9 Combining Steering Behaviors Higher level tools like pathfinding can select final goal. With more than one steering behavior active at once, we can simultaneously: reach goal avoid collisions with other characters tend towards safety avoid bumping into walls grab powerups etc

10 Blending and Arbitration keep a portfolio of steering behaviors execute them all blending: combine with weights or priorities arbitration: select one or more steering behaviors to have complete control in practice, combine both

11 Weighted Blending simple ex) rioting crowd: blend of "Arrive at center of mob" and "maintain Separation from nearby rioters" assign a weight to each behavior evaluate each in isolation compute weighted linear sum of results clamp to maximum acceleration. sum = (0,0) for i in behaviors: sum := weight[i] * steeringoutput[i] if length(sum) > maxacceleration: clamp picking weights is tricky guesswork, or can use neural nets, genetic algorithms, etc can create "flocking" behavior, as in Craig Reynold's "boids" (see Millington's example program): separation - move away from boids that are too close alignment and velocity matching - match direction and velocity of neighbors cohesion - move toward the center of the flock

12 Problems with blended steering getting stuck - esp in cluttered environments equilibrium - two behaviors cancel each other out: no motion (trapped at an equilibrium point) unstable equilibrium - small errors accumulate to break equilibrium stable equilibrium - a "basin of attraction" pulls character into equilibrium with no escape enemy Flee enemy Flee enemy Seek target Seek target enemy target Flee enemy target basin of attraction enemy

13 Problems with blended steering constrained environments blending works best in open environments 3d motion outdoors has fewest contraints indoors, cluttered is problematic can't simultaneously avoid obstacle and chase can miss narrow doorways resulting acceleration collision ray route of character result wall Pursue Pursued enemy wall avoidance Pursued enemy

14 Problems with blended steering nearsightedness "greedy" nature of steering algorithms no way to augment steering, will always miss problems beyond its "horizon" best to integrate pathfinding into steering collision ray route of character Pursued enemy

15 Priorities Some behaviors don't always produce an acceleration (Arrive, CollisionAvoidance, Separation) Some always do (Seek, Evade) When blended, some can dilute the effects of others. Consider blending Seek and CollisionAvoidance: Seek is always at maximum acceleration if blended with CollisionAvoidance, the avoidance behavior is never more than 50% of total may not be enough to escape trouble

16 Priorities Replace weights with priorities: divide steering behaviors into groups of blended steering behaviors assign a priority to each group consider each group in priority order if group's output less than a threshold, skip it, and consider next highest priority group when a group with output above threshold is found, use it as steering behavior.

17 Priorities Ex) Groups in prority order: collision and wall avoidance group, separation group, pursuit group when near a collision, collision group's output is strong and is used, taking over to avoid collision. when no collisions, try to keep separate from neighbors if in the clear, no collision or separation output, use Pursue output Can add a Wander as lowest priority group to avoid some equilibria, but can still be caught in large basins

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go)

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Class N-2 1. What are some benefits of path networks? 2. Cons of path networks?

More information

CS 387/680: GAME AI MOVEMENT

CS 387/680: GAME AI MOVEMENT CS 387/680: GAME AI MOVEMENT 4/5/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Reminders Check Blackboard site for

More information

DM842 Computer Game Programming: AI. Lecture 2. Movement Behaviors. Marco Chiarandini

DM842 Computer Game Programming: AI. Lecture 2. Movement Behaviors. Marco Chiarandini DM842 Computer Game Programming: AI Lecture 2 Movement Behaviors Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Pursue and Evade Face Looking

More information

CS 480: GAME AI STEERING BEHAVIORS. 4/12/2012 Santiago Ontañón

CS 480: GAME AI STEERING BEHAVIORS. 4/12/2012 Santiago Ontañón CS 480: GAME AI STEERING BEHAVIORS 4/12/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course regularly Also:

More information

Traffic/Flocking/Crowd AI. Gregory Miranda

Traffic/Flocking/Crowd AI. Gregory Miranda Traffic/Flocking/Crowd AI Gregory Miranda Introduction What is Flocking? Coordinated animal motion such as bird flocks and fish schools Initially described by Craig Reynolds Created boids in 1986, generic

More information

Steering 1. from Millington, "Artificial Intelligence for Games", MKP 2006.

Steering 1. from Millington, Artificial Intelligence for Games, MKP 2006. Steering 1 from Millington, "Artificial Intelligence for Games", MKP 2006. Movement Algorithms kinematic movement computes a velocity for the object based on current position no acceleration dynamic movement

More information

DM842 Computer Game Programming: AI. Lecture 3. Movement Behaviors. Marco Chiarandini

DM842 Computer Game Programming: AI. Lecture 3. Movement Behaviors. Marco Chiarandini DM842 Computer Game Programming: AI Lecture 3 Movement Behaviors Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Combined Steering Blending Priorities

More information

CS 387/680: GAME AI MOVEMENT

CS 387/680: GAME AI MOVEMENT CS 387/680: GAME AI MOVEMENT 4/7/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

Under the Guidance of

Under the Guidance of Presented by Linga Venkatesh (10305085) Deepak Jayanth (10305913) Under the Guidance of Prof. Parag Chaudhuri Flocking/Swarming/Schooling Nature Phenomenon Collective Behaviour by animals of same size

More information

STEERING BEHAVIORS MOTIVATION REQUIREMENTS FOR MOTION CONTROL MOTIVATION BOIDS & FLOCKING MODEL STEERING BEHAVIORS - BASICS

STEERING BEHAVIORS MOTIVATION REQUIREMENTS FOR MOTION CONTROL MOTIVATION BOIDS & FLOCKING MODEL STEERING BEHAVIORS - BASICS Přednáška byla podpořena v rámci projektu OPPA CZ.2.17/3.1.00/33274 financovaného Evropským sociálním fondem a rozpočtem hlavního města Prahy. Evropský sociální fond Praha & EU: investujeme do Vaší budoucnosti

More information

STEERING BEHAVIORS. Markéta Popelová, marketa.popelova [zavináč] matfyz.cz. 2012, Umělé Bytosti, MFF UK

STEERING BEHAVIORS. Markéta Popelová, marketa.popelova [zavináč] matfyz.cz. 2012, Umělé Bytosti, MFF UK STEERING BEHAVIORS Markéta Popelová, marketa.popelova [zavináč] matfyz.cz 2012, Umělé Bytosti, MFF UK MOTIVATION MOTIVATION REQUIREMENTS FOR MOTION CONTROL Responding to dynamic environment Avoiding obstacles

More information

Particle Systems. Typical Time Step. Particle Generation. Controlling Groups of Objects: Particle Systems. Flocks and Schools

Particle Systems. Typical Time Step. Particle Generation. Controlling Groups of Objects: Particle Systems. Flocks and Schools Particle Systems Controlling Groups of Objects: Particle Systems Flocks and Schools A complex, fuzzy system represented by a large collection of individual elements. Each element has simple behavior and

More information

Collision Avoidance with Unity3d

Collision Avoidance with Unity3d Collision Avoidance with Unity3d Jassiem Ifill September 12, 2013 Abstract The primary goal of the research presented in this paper is to achieve natural crowd simulation and collision avoidance within

More information

Swarm Intelligence Particle Swarm Optimization. Erick Luerken 13.Feb.2006 CS 790R, University of Nevada, Reno

Swarm Intelligence Particle Swarm Optimization. Erick Luerken 13.Feb.2006 CS 790R, University of Nevada, Reno Swarm Intelligence Particle Swarm Optimization Erick Luerken 13.Feb.2006 CS 790R, University of Nevada, Reno Motivation Discuss assigned literature in terms of complexity leading to actual applications

More information

Efficient Crowd Simulation for Mobile Games

Efficient Crowd Simulation for Mobile Games 24 Efficient Crowd Simulation for Mobile Games Graham Pentheny 24.1 Introduction 24.2 Grid 24.3 Flow Field 24.4 Generating the Flow Field 24.5 Units 24.6 Adjusting Unit Movement Values 24.7 Mobile Limitations

More information

CS 378: Computer Game Technology

CS 378: Computer Game Technology CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012 University of Texas at Austin CS 378 Game Technology Don Fussell Dynamic Path Planning! What happens when the environment changes

More information

Crowd simulation. Taku Komura

Crowd simulation. Taku Komura Crowd simulation Taku Komura Animating Crowds We have been going through methods to simulate individual characters What if we want to simulate the movement of crowds? Pedestrians in the streets Flock of

More information

LECTURE 16: SWARM INTELLIGENCE 2 / PARTICLE SWARM OPTIMIZATION 2

LECTURE 16: SWARM INTELLIGENCE 2 / PARTICLE SWARM OPTIMIZATION 2 15-382 COLLECTIVE INTELLIGENCE - S18 LECTURE 16: SWARM INTELLIGENCE 2 / PARTICLE SWARM OPTIMIZATION 2 INSTRUCTOR: GIANNI A. DI CARO BACKGROUND: REYNOLDS BOIDS Reynolds created a model of coordinated animal

More information

PARTICLE SWARM OPTIMIZATION (PSO)

PARTICLE SWARM OPTIMIZATION (PSO) PARTICLE SWARM OPTIMIZATION (PSO) J. Kennedy and R. Eberhart, Particle Swarm Optimization. Proceedings of the Fourth IEEE Int. Conference on Neural Networks, 1995. A population based optimization technique

More information

Formations in flow fields

Formations in flow fields Formations in flow fields Rick van Meer June 11, 2015 1 Introduction Pathfinding and formations (i.e. an arrangement of agents) are both a part of artificial intelligence and can be used in games. However,

More information

the gamedesigninitiative at cornell university Lecture 20 Pathfinding

the gamedesigninitiative at cornell university Lecture 20 Pathfinding Lecture 20 Take way for Today What are primary goals for pathfinding? Identify advantages/disadvantages of * In what situations does * fail (or look bad)? What can we do to fix se problems? Why combine

More information

Robotic Behaviors. Potential Field Methods

Robotic Behaviors. Potential Field Methods Robotic Behaviors Potential field techniques - trajectory generation - closed feedback-loop control Design of variety of behaviors - motivated by potential field based approach steering behaviors Closed

More information

CS 231. Crowd Simulation. Outline. Introduction to Crowd Simulation. Flocking Social Forces 2D Cellular Automaton Continuum Crowds

CS 231. Crowd Simulation. Outline. Introduction to Crowd Simulation. Flocking Social Forces 2D Cellular Automaton Continuum Crowds CS 231 Crowd Simulation Outline Introduction to Crowd Simulation Fields of Study & Applications Visualization vs. Realism Microscopic vs. Macroscopic Flocking Social Forces 2D Cellular Automaton Continuum

More information

Flowmap Generator Reference

Flowmap Generator Reference Flowmap Generator Reference Table of Contents Flowmap Overview... 3 What is a flowmap?... 3 Using a flowmap in a shader... 4 Performance... 4 Creating flowmaps by hand... 4 Creating flowmaps using Flowmap

More information

CS 354 R Game Technology

CS 354 R Game Technology CS 354 R Game Technology Particles and Flocking Behavior Fall 2017 Particle Effects 2 General Particle Systems Objects are considered point masses with orientation Simple rules control how the particles

More information

Complex behavior emergent from simpler ones

Complex behavior emergent from simpler ones Reactive Paradigm: Basics Based on ethology Vertical decomposition, as opposed to horizontal decomposition of hierarchical model Primitive behaviors at bottom Higher behaviors at top Each layer has independent

More information

Programming Game Al by Example

Programming Game Al by Example Programming Game Al by Example Mat Buckland Wordware Publishing, Inc. Contents Foreword Acknowledgments Introduction xiii xvii xix Chapter 7 A Math and Physics Primer 1 Mathematics 1 Cartesian Coordinates

More information

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning 6.141: Robotics systems and science Lecture 10: Implementing Motion Planning Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2011 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

Movement in 3D Path Finding

Movement in 3D Path Finding DM842 Computer Game Programming: AI Lecture 4 Movement in 3D Path Finding Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Movement in 3D 2. Pathfinding

More information

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Cognitive Robotics Robot Motion Planning Matteo Matteucci Cognitive Robotics Robot Motion Planning Robot Motion Planning eminently necessary since, by definition, a robot accomplishes tasks by moving in the real world. J.-C. Latombe (1991) Robot Motion Planning

More information

Game Programming. Bing-Yu Chen National Taiwan University

Game Programming. Bing-Yu Chen National Taiwan University Game Programming Bing-Yu Chen National Taiwan University Game AI Search Path Finding Finite State Machines Steering Behavior 1 Search Blind search Breadth-first search Depth-first search Heuristic search

More information

403 Poyntz Avenue, Suite B Manhattan, KS USA Technical Reference

403 Poyntz Avenue, Suite B Manhattan, KS USA Technical Reference 403 Poyntz Avenue, Suite B Manhattan, KS 66502 USA +1.785.770.8511 www.thunderheadeng.com Technical Reference Pathfinder 2014 Disclaimer Thunderhead Engineering makes no warranty, expressed or implied,

More information

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control Yoshiaki Kuwata and Jonathan P. How Space Systems Laboratory Massachusetts Institute of Technology {kuwata,jhow}@mit.edu

More information

Robot Motion Control Matteo Matteucci

Robot Motion Control Matteo Matteucci Robot Motion Control Open loop control A mobile robot is meant to move from one place to another Pre-compute a smooth trajectory based on motion segments (e.g., line and circle segments) from start to

More information

Configuration Space of a Robot

Configuration Space of a Robot Robot Path Planning Overview: 1. Visibility Graphs 2. Voronoi Graphs 3. Potential Fields 4. Sampling-Based Planners PRM: Probabilistic Roadmap Methods RRTs: Rapidly-exploring Random Trees Configuration

More information

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

Master s Thesis. Animal Stampede Simulation

Master s Thesis. Animal Stampede Simulation Master s Thesis Animal Stampede Simulation Akila Lakshminarayanan Brian Tran MSc Computer Animation and Visual Effects, NCCA 2011-2012 Abstract Large crowd scenes with humans and animals are abundant in

More information

Human Augmentation in Teleoperation of Arm Manipulators in an Environment with Obstacles

Human Augmentation in Teleoperation of Arm Manipulators in an Environment with Obstacles Human Augmentation in Teleoperation of Arm Manipulators in an Environment with Obstacles I. Ivanisevic and V. Lumelsky Robotics Lab, University of Wisconsin-Madison Madison, Wisconsin 53706, USA iigor@cs.wisc.edu

More information

z θ 1 l 2 θ 2 l 1 l 3 θ 3 θ 4 θ 5 θ 6

z θ 1 l 2 θ 2 l 1 l 3 θ 3 θ 4 θ 5 θ 6 Human Augmentation in Teleoperation of Arm Manipulators in an Environment with Obstacles Λ I. Ivanisevic and V. Lumelsky Robotics Lab, University of Wisconsin-Madison Madison, Wisconsin 53706, USA iigor@cs.wisc.edu

More information

Introduction. Autonomous Movement. Outline. Craig Reynolds Website: The Steering Model. The Steering Model Example 3/31/2016

Introduction. Autonomous Movement. Outline. Craig Reynolds Website:  The Steering Model. The Steering Model Example 3/31/2016 Introduction Autonomous Movement IMGD 4000 With material from: Millington and Funge, Artificial Intelligence for Games, Morgan Kaufmann 2009 (Chapter 3), Buckland, Programming Game AI by Example, Wordware

More information

Simulating Group Formations Using RVO

Simulating Group Formations Using RVO Simulating Group Formations Using RVO Martin Funkquist martinfu@kth.se Supervisor: Christopher Peters Staffan Sandberg stsand@kth.se May 25, 2016 Figure 1: From left to right. First figure displays a real

More information

Fast Local Planner for Autonomous Helicopter

Fast Local Planner for Autonomous Helicopter Fast Local Planner for Autonomous Helicopter Alexander Washburn talexan@seas.upenn.edu Faculty advisor: Maxim Likhachev April 22, 2008 Abstract: One challenge of autonomous flight is creating a system

More information

Hierarchical Clustering 4/5/17

Hierarchical Clustering 4/5/17 Hierarchical Clustering 4/5/17 Hypothesis Space Continuous inputs Output is a binary tree with data points as leaves. Useful for explaining the training data. Not useful for making new predictions. Direction

More information

11 Behavioural Animation. Chapter 11. Behavioural Animation. Department of Computer Science and Engineering 11-1

11 Behavioural Animation. Chapter 11. Behavioural Animation. Department of Computer Science and Engineering 11-1 Chapter 11 Behavioural Animation 11-1 Behavioral Animation Knowing the environment Aggregate behavior Primitive behavior Intelligent behavior Crowd management 11-2 Behavioral Animation 11-3 Knowing the

More information

Simulation: Particle Systems

Simulation: Particle Systems Simulation: Particle Systems Course web page: http://goo.gl/eb3aa February 28, 2012 Lecture 5 Particle Systems Definition: Simulation of a set of similar, moving agents in a larger environment Scale usually

More information

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Michael Comstock December 6, 2012 1 Introduction This paper presents a comparison of two different machine learning systems

More information

Lesson 1: Introduction to Pro/MECHANICA Motion

Lesson 1: Introduction to Pro/MECHANICA Motion Lesson 1: Introduction to Pro/MECHANICA Motion 1.1 Overview of the Lesson The purpose of this lesson is to provide you with a brief overview of Pro/MECHANICA Motion, also called Motion in this book. Motion

More information

Hierarchical Impostors for the Flocking Algorithm in 3D

Hierarchical Impostors for the Flocking Algorithm in 3D Volume 21 (2002), number 4 pp. 723 731 COMPUTER GRAPHICS forum Hierarchical Impostors for the Flocking Algorithm in 3D Noel O Hara Fruition Technologies Ltd, Dublin, Ireland Abstract The availability of

More information

ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS

ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS So first of all before we start, we have to ask our self: What s is situational awareness exactly. A Quick google search reveals that: WHAT IS SITUATIONAL

More information

AI for Games Movement Behaviors

AI for Games Movement Behaviors DM842 Computer Game Programming: AI Lecture 1 AI for Games Movement Behaviors Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Seeking Wandering

More information

Clustering Color/Intensity. Group together pixels of similar color/intensity.

Clustering Color/Intensity. Group together pixels of similar color/intensity. Clustering Color/Intensity Group together pixels of similar color/intensity. Agglomerative Clustering Cluster = connected pixels with similar color. Optimal decomposition may be hard. For example, find

More information

Character AI: Sensing & Perception

Character AI: Sensing & Perception Lecture 22 Character AI: Take Away for Today Sensing as primary bottleneck Why is sensing so problematic? What types of things can we do to improve it? Optimized sense computation Can we improve sense

More information

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano   tel: Marcello Restelli Dipartimento di Elettronica e Informazione Politecnico di Milano email: restelli@elet.polimi.it tel: 02 2399 3470 Path Planning Robotica for Computer Engineering students A.A. 2006/2007

More information

Vehicle Localization. Hannah Rae Kerner 21 April 2015

Vehicle Localization. Hannah Rae Kerner 21 April 2015 Vehicle Localization Hannah Rae Kerner 21 April 2015 Spotted in Mtn View: Google Car Why precision localization? in order for a robot to follow a road, it needs to know where the road is to stay in a particular

More information

Intelligent Control System for Collection, Survival, and Mapping

Intelligent Control System for Collection, Survival, and Mapping Intelligent Control System for Collection, Survival, and Mapping Michael Silverman Department of Computer Science University of Rochester msilver3@mail.rochester.edu March 10, 2006 Abstract To implement

More information

Advanced Robotics Path Planning & Navigation

Advanced Robotics Path Planning & Navigation Advanced Robotics Path Planning & Navigation 1 Agenda Motivation Basic Definitions Configuration Space Global Planning Local Planning Obstacle Avoidance ROS Navigation Stack 2 Literature Choset, Lynch,

More information

Super Assembling Arms

Super Assembling Arms Super Assembling Arms Yun Jiang, Nan Xiao, and Hanpin Yan {yj229, nx27, hy95}@cornell.edu Abstract Although there are more and more things personal robots can do for us at home, they are unable to accomplish

More information

improving raytracing speed

improving raytracing speed ray tracing II computer graphics ray tracing II 2006 fabio pellacini 1 improving raytracing speed computer graphics ray tracing II 2006 fabio pellacini 2 raytracing computational complexity ray-scene intersection

More information

Math for Gameplay / AI. John O Brien Senior Gameplay Programmer Insomniac Games, Inc

Math for Gameplay / AI. John O Brien Senior Gameplay Programmer Insomniac Games, Inc Math for Gameplay / AI John O Brien Senior Gameplay Programmer Insomniac Games, Inc jobrien@insomniacgames.com jobrien@nc.rr.com Overview Basic Object Intersection Tests Real gameplay example(s) AI-specific

More information

Pathfinding. Artificial Intelligence for gaming

Pathfinding. Artificial Intelligence for gaming Pathfinding Artificial Intelligence for gaming Pathfinding Group AI Execution Management Strategy World Inter face Character AI Decision Making Movement Pathfinding Animation Physics Pathfinding Graphs

More information

Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot

Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot Koren Ward School of Information Technology and Computer Science University of Wollongong koren@uow.edu.au www.uow.edu.au/~koren Abstract

More information

Cluster Subgraphs Example, With Tile Graphs. Alternatives. Cluster Subgraphs. Cluster Subgraphs Example, With Tile Graphs

Cluster Subgraphs Example, With Tile Graphs. Alternatives. Cluster Subgraphs. Cluster Subgraphs Example, With Tile Graphs Alternatives Cluster Subgraphs Example, With Tile Graphs Replace a cluster with a small subgraph instead of a single node. e.g. represent entry/exit points run path-finding on the abstract graph to find

More information

CS248. Game Mechanics

CS248. Game Mechanics CS248 Game Mechanics INTRODUCTION TOM WANG 2007 BS/MS CS KEY GAME MECHANICS * * * * * WORLD BUILDING CONTROLS CAMERA AI PERFORMANCE WORLD BUILDING WORLD BUILDING Set the atmosphere and tone of the game.

More information

When using Flocking with network rendering (LWSN, for instance) you must bake your Flocking results.

When using Flocking with network rendering (LWSN, for instance) you must bake your Flocking results. Flocking About Flocking LightWave s flocking system is based on 3D computer models of coordinated animal motion, things like flocks of birds, herds of animals or schools of fish. It can be used with LightWave

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

More information

AdvancED ActionScript 3.0 Animation

AdvancED ActionScript 3.0 Animation AdvancED ActionScript 3.0 Animation Keith Peters an Apress* company About the Author About the Technical Reviewer About the Cover Image Designer Acknowledgments xiii xv xvii xix Chapter 1 Advanced Collision

More information

Sketch-based Interface for Crowd Animation

Sketch-based Interface for Crowd Animation Sketch-based Interface for Crowd Animation Masaki Oshita 1, Yusuke Ogiwara 1 1 Kyushu Institute of Technology 680-4 Kawazu, Iizuka, Fukuoka, 820-8502, Japan oshita@ces.kyutech.ac.p ogiwara@cg.ces.kyutech.ac.p

More information

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences : A rule of thumb, simplification, or educated guess that reduces

More information

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia CITS4242: Game Design and Multimedia Topic 10: Scene Management, Particle Systems and Normal Mapping Scene Management Scene management means keeping track of all objects in a scene. - In particular, keeping

More information

Ambien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary

Ambien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary Summary Ambien Occlusion Kadi Bouatouch IRISA Email: kadi@irisa.fr 1. Lighting 2. Definition 3. Computing the ambient occlusion 4. Ambient occlusion fields 5. Dynamic ambient occlusion 1 2 Lighting: Ambient

More information

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Tianyu Wang: tiw161@eng.ucsd.edu Yongxi Lu: yol070@eng.ucsd.edu

More information

CS188 Fall 2018 Section 2: Graph Search + CSPs

CS188 Fall 2018 Section 2: Graph Search + CSPs CS88 Fall 08 Section : Graph Search + CSPs Search and Heuristics Imagine a car-like agent wishes to exit a maze like the one shown below: The agent is directional and at all times faces some direction

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Safe Prediction-Based Local Path Planning using Obstacle Probability Sections

Safe Prediction-Based Local Path Planning using Obstacle Probability Sections Slide 1 Safe Prediction-Based Local Path Planning using Obstacle Probability Sections Tanja Hebecker and Frank Ortmeier Chair of Software Engineering, Otto-von-Guericke University of Magdeburg, Germany

More information

6.141: Robotics systems and science Lecture 10: Motion Planning III

6.141: Robotics systems and science Lecture 10: Motion Planning III 6.141: Robotics systems and science Lecture 10: Motion Planning III Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2012 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset What is Motion Planning? What is Motion Planning? Determining where to go Overview The Basics Motion Planning Statement The World and Robot Configuration Space Metrics Algorithms

More information

Navigation Mesh based Pathfinding for large crowds

Navigation Mesh based Pathfinding for large crowds Navigation Mesh based Pathfinding for large crowds Robert Lindner Introduction This paper is about methods that can be used to get as much performance as possible while simulating the pathfinding of large

More information

Obstacle Avoidance Project: Final Report

Obstacle Avoidance Project: Final Report ERTS: Embedded & Real Time System Version: 0.0.1 Date: December 19, 2008 Purpose: A report on P545 project: Obstacle Avoidance. This document serves as report for P545 class project on obstacle avoidance

More information

Cylinder Collision. Reddy Sambavaram 9/07/2007

Cylinder Collision. Reddy Sambavaram 9/07/2007 Cylinder Collision Reddy Sambavaram 9/07/2007 Cylinder Collision PART 1: collision algorithms. PART 2: What did it mean to add a new collision primitive to the engine and tools? What had to change? What

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Collision processing

Collision processing Collision processing Different types of collisions Collision of a simulated deformable structure with a kinematic structure (easier) Collision with a rigid moving object, the ground, etc. Collision object

More information

CCGPS UNIT 2 Semester 1 ANALYTIC GEOMETRY Page 1 of 15. Right Triangle Geometry Name:

CCGPS UNIT 2 Semester 1 ANALYTIC GEOMETRY Page 1 of 15. Right Triangle Geometry Name: GPS UNIT 2 Semester 1 ANALYTI GEOMETRY Page 1 of 15 Right Triangle Geometry Name: Date: Define trigonometric ratios and solve problems involving right triangles. M9-12.G.SRT.6 Understand that by similarity,

More information

Sampling-Based Motion Planning

Sampling-Based Motion Planning Sampling-Based Motion Planning Pieter Abbeel UC Berkeley EECS Many images from Lavalle, Planning Algorithms Motion Planning Problem Given start state x S, goal state x G Asked for: a sequence of control

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today CS 188: Artificial Intelligence Fall 2006 Lecture 5: Robot Motion Planning 9/14/2006 Local Search Methods Queue-based algorithms keep fallback options (backtracking) Local search: improve what you have

More information

Efficient Block Based Motion Estimation

Efficient Block Based Motion Estimation Efficient Block Based Motion Estimation Deepak Turaga Mohamed Alkanhal Tsuhan Chen Overview of Talk Motion Estimation Sub-Optimal Search Strategies Hierarchical Search Methods Spatial Correlation Based

More information

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object:

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object: Integrating Physics into a Modern Game Engine Object Collision Various types of collision for an object: Sphere Bounding box Convex hull based on rendered model List of convex hull(s) based on special

More information

Everything You Always Wanted To Know About Programming Behaviors But Were Afraid To Ask

Everything You Always Wanted To Know About Programming Behaviors But Were Afraid To Ask Everything You Always Wanted To Know About Programming Behaviors But Were Afraid To Ask By Kevin Harrelson Machine Intelligence Lab University of Florida Spring, 1995 Overview Programming multiple behaviors

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search kd trees line segment intersection interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search kd trees line segment intersection interval search trees rectangle intersection KdTree Next Assignment due /26 (Tuesday after Spring Break) This Thursday, precept will cover the assignment in detail using a great worksheet (thanks Maia!). Due two days after Spring break ends. Second

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 06 Sensor Systems Edirlei Soares de Lima Game AI Model Pathfinding Steering behaviours Finite state machines Automated planning Behaviour trees

More information

SteerFit: Automated Parameter Fitting for Steering Algorithms Supplementary Document

SteerFit: Automated Parameter Fitting for Steering Algorithms Supplementary Document Eurographics/ ACM SIGGRAPH Symposium on Computer Animation (2014) Vladlen Koltun and Eftychios Sifakis (Editors) SteerFit: Automated Parameter Fitting for Steering Algorithms Supplementary Document Glen

More information

Review implementation of Stable Matching Survey of common running times. Turn in completed problem sets. Jan 18, 2019 Sprenkle - CSCI211

Review implementation of Stable Matching Survey of common running times. Turn in completed problem sets. Jan 18, 2019 Sprenkle - CSCI211 Objectives Review implementation of Stable Matching Survey of common running times Turn in completed problem sets Jan 18, 2019 Sprenkle - CSCI211 1 Review: Asymptotic Analysis of Gale-Shapley Alg Not explicitly

More information

Find the maximum value and minimum values of f(x) for x in [0, 4]. Graph f(x) to check your answers. ( answer)

Find the maximum value and minimum values of f(x) for x in [0, 4]. Graph f(x) to check your answers. ( answer) Exercises 6.1 Ex 6.1.1 Let f(x) = { 1 + 4x x2 (x + 5)/2 for x 3 for x > 3 Find the maximum value and minimum values of f(x) for x in [0, 4]. Graph f(x) to check your answers. max at (2, 5), min at (0,

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Probabilistic Methods for Kinodynamic Path Planning

Probabilistic Methods for Kinodynamic Path Planning 16.412/6.834J Cognitive Robotics February 7 th, 2005 Probabilistic Methods for Kinodynamic Path Planning Based on Past Student Lectures by: Paul Elliott, Aisha Walcott, Nathan Ickes and Stanislav Funiak

More information

Midterm Exam CS 184: Foundations of Computer Graphics page 1 of 11

Midterm Exam CS 184: Foundations of Computer Graphics page 1 of 11 Midterm Exam CS 184: Foundations of Computer Graphics page 1 of 11 Student Name: Class Account Username: Instructions: Read them carefully! The exam begins at 2:40pm and ends at 4:00pm. You must turn your

More information