CIS 488/588 Bruce R. Maxim UM-Dearborn

Slides:



Advertisements
Similar presentations
7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
Advertisements

Sensor Based Planners Bug algorithms.
Flocking and more.  NPC groups can move in cohesive groups not just independently ◦ Meadow of sheep grazing? ◦ Hunting flock of birds? ◦ Ants? Bees?
The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter Department of Electrical Engineering.
Behavioral animation CSE 3541 Matt Boggus. Material recap and trajectory Geometric – Artist specifies translation and rotation over time Physically based.
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Engineering H193 - Team Project Gateway Engineering Education Coalition P. 1 Spring Quarter 2008 Robot Programming Tips Week 4 Day 2 By Matt Gates and.
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
Field Navigational GPS Robot Final Presentation & Review Chris Foley, Kris Horn, Richard Neil Pittman, Michael Willis.
CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Efficient Path Determining Robot RIT Computer Engineering Senior Design Project Jamie Greenberg Jason Torre October 26, 2004 A motorized robot will navigate.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners by Burchan Bayazit Department of Computer Science.
Patent Liability Analysis Andrew Loveless. Potential Patent Infringement Autonomous obstacle avoidance 7,587,260 – Autonomous navigation system and method.
Fast Walking and Modeling Kicks Purpose: Team Robotics Spring 2005 By: Forest Marie.
Computer graphics & visualization Collision Detection – Narrow Phase.
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.
IMPLEMENTATION ISSUES REGARDING A 3D ROBOT – BASED LASER SCANNING SYSTEM Theodor Borangiu, Anamaria Dogar, Alexandru Dumitrache University Politehnica.
Coverage Efficiency in Autonomous Robots With Emphasis on Simultaneous Localization and Mapping Mo Lu Computer Systems Lab Final Version.
Robot Crowd Navigation using Predictive Position Fields in the Potential Function Framework Ninad Pradhan, Timothy Burg, and Stan Birchfield Electrical.
DARPA TMR Program Collaborative Mobile Robots for High-Risk Urban Missions Third Quarterly IPR Meeting May 11, 1999 P. I.s: Leonidas J. Guibas and Jean-Claude.
Math / Physics 101 GAM 376 Robin Burke Fall 2006.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Motion Planning in Games Mark Overmars Utrecht University.
Controls. Given a set of desired Tool frame positions and orientations (that trace out a path over time, t ), there will be a corresponding required set.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.
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.
Learning to Navigate Through Crowded Environments Peter Henry 1, Christian Vollmer 2, Brian Ferris 1, Dieter Fox 1 Tuesday, May 4, University of.
COMP322/S2000/L281 Task Planning Three types of planning: l Gross Motion Planning concerns objects being moved from point A to point B without problems,
Systems Realization Laboratory Compact Rescue Crawler ME /26/07 Jonathan Jobe Andrew Marshall Chris Weir.
COMP 417 – Jan 12 th, 2006 Guest Lecturer: David Meger Topic: Camera Networks for Robot Localization.
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Ghislain Fouodji Tasse Supervisor: Dr. Karen Bradshaw Computer Science Department Rhodes University 24 March 2009.
Coverage Efficiency in Autonomous Robots With Emphasis on Simultaneous Localization and Mapping Mo Lu Computer Systems Lab Q3.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Designing Intelligence Logical and Artificial Intelligence in Games Lecture 2.
Integrated navigation systems for inland navigation – beyond chart and radar Dr.-Ing. Martin Sandler in – innovative navigation GmbH Leibnizstr
Agent Group Università di Modena e Reggio Emilia Theory and Practice of Field- based Motion Coordination in Multi-Agent Systems Marco Mamei, Franco Zambonelli.
Movement Logical and Artificial Intelligence in Games Lecture 3.
Introduction to Robots and the Mind - Sensors - Bert Wachsmuth & Michael Vigorito Seton Hall University.
Simulation of Characters in Entertainment Virtual Reality.
Computer Animation Algorithms and Techniques
Alexis Maldonado & Georg Bartels
Introduction to Wireless Sensor Networks
CS b659: Intelligent Robotics
A theory on autonomous driving algorithms
Locomotion of Wheeled Robots
Analysis and Understanding
Navigation In Dynamic Environment
Euratom-Tekes Annual Fusion Seminar 2012 Janne Tuominen
DrillSim July 2005.
Momentum:.
Designing Intelligence
CIS 487/587 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
Motion and Force. Motion and Force Chapter Twelve: Distance, Time, and Speed 12.1 Distance, Direction, and Position 12.2 Speed 12.3 Graphs of Motion.
CIS 488/588 Bruce R. Maxim UM-Dearborn
Application to Animating a Digital Actor on Flat Terrain
Motion Models (cont) 2/16/2019.
Chapter 2: Operating-System Structures
Computer Animation Algorithms and Techniques
Chapter 2: Operating-System Structures
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Computer Graphics Matrix Hierarchies / Animation
Presentation transcript:

CIS 488/588 Bruce R. Maxim UM-Dearborn Formalizing Motion CIS 488/588 Bruce R. Maxim UM-Dearborn 11/8/2018

Background - 1 Robotics Artificial Life Systems use sensors to gather info, decide where to go next, and activate motors to make it happen Artificial Life Studies behaviors of synthetic creatures as part of a group (e.g. flocking and steering) Each agent sensors to detect obstacles in range Steering force comes from mathematical equations that translate sensor input into velocities 11/8/2018

Background - 2 Academic Projects Game AI Tend to focus on 2D navigations as practical applications of algorithms (e.g. reinforcement problems) Game AI Simplified navigation to reduce computational overhead Data structures often pre-computed NPC position can be updated directly at run-time to simulate conscious movement 11/8/2018

Context The main consideration is determining how to model animat’s state in space Both position and orientation are important concepts for movement, but not AI AI can base decision by acquisition of local information Absolute vectors are expressed in global coordinates matching the world axis Relative coordinates are based on animat’s personal experiences 11/8/2018

Actions Can be designed at different levels AI requests one step at a time or full paths Actions provided as actual functions or implicitly using parameters Turns can be measured discretely or continuously (with several tradeoffs) Getting the grain size right for movement and commands is important to the quality of game play 11/8/2018

Senses - 1 Animat needs to sense free space to perform navigation If environment info is not provide before game starts, it can be acquired by: Point content (functions return type matter at specific locations) Line traces (used to find first segment with the structure of the world, can be used to find free space) 11/8/2018

Senses - 2 Animat can simplify its task by using simpler sensors Collision sensors (detect when animate has hit an obstacle) Odometers (measure relative distance traveled relative to current state) Proprio-sensors (allow animat to detect its own state by monitoring its relative angular momentum) 11/8/2018

Senses - 3 It is possible to understand environment layout just using contact sensors and position tracking Terrain learning is needed to prevent collisions Historically game developers have used failure relative load movement to determine that collisions have already taken place A better strategy would be to have the physics engine pass collision information directly to AI system rather than making it rediscover it again 11/8/2018

AI and Environmental Interface Concerns Consistency Information provide to animat must match the game environment Flexibility Keep specification as customizable as possible to ensure that similar problems can be handled by single interface Efficiency Minimize data exchange and limiting number of queries so that they can be optimized 11/8/2018

Proposed Specification Motor control requires two actions Move (continuous) Turn (continuous) Sensors Line traces return first obstacle from origin Physical feedback on collision (lowest level) Information passing AI lazy queries of environment – info pull Environment broadcasts info – info push 11/8/2018

Interfaces Motion module output Physics module void Move(const Vec3f& direction); void Turn(const Vec3f& orientation); Physics module bool Collision( ); // T or F on collision Visual interface simulation float Tracewalk(const float angle, const float steps = 4.0f) const; // returns how far animat got form origin // before bumping into something 11/8/2018

Code Skeleton void Think( ) { //check for contact bool col = physics->Collision( ); // locate obstacles in front float front_obstacle = vision->TraceWalk(0.0f); // decide what actions to call motion->Move(Forward); if (col || front_obstacle < 2.0f) motion->Turn(orientation); } 11/8/2018

Pinbot Can detect orientation of the wall when collisions occur Knowing direction of collision allows Pinbot to ricochet off the wall link a pin ball 11/8/2018