Dead Reckoning. Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing.

Slides:



Advertisements
Similar presentations
Introduction to Networked Graphics Latency Compensation.
Advertisements

Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Networked Gaming Networking Bandwidth Security/Cheating Dynamics.
Parallel and Distributed Simulation Time Warp: Basic Algorithm.
Parallel and Distributed Simulation Lookahead Deadlock Detection & Recovery.
Lookahead. Outline Null message algorithm: The Time Creep Problem Lookahead –What is it and why is it important? –Writing simulations to maximize lookahead.
8-Reliability and Channel Coding Dr. John P. Abraham Professor UTPA.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
Dead Reckoning Andrew Williams. Dead reckoning Process of estimating a position using known information from the (recent) past. If you know the speed.
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Internetworking Different networks –Different bit rates –Frame lengths –Protocols.
802.11n MAC layer simulation Submitted by: Niv Tokman Aya Mire Oren Gur-Arie.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
1 AINA 2006 Wien, April th 2006 DiVES: A DISTRIBUTED SUPPORT FOR NETWORKED VIRTUAL ENVIRONMENTS The IEEE 20th International Conference on Advanced.
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Transport Layer Congestion control. Transport Layer 3-2 Approaches towards congestion control End-to-end congestion control: r no explicit feedback.
Transform Domain Distributed Video Coding. Outline  Another Approach  Side Information  Motion Compensation.
1 By Vanessa Newey. 2 Introduction Background Scalability in Distributed Simulation Traditional Aggregation Techniques Problems with Traditional Methods.
Prediction-based Monitoring in Sensor Networks: Taking Lessons from MPEG Samir Goel and Tomasz Imielinski Department of Computer Science Rutgers, The State.
1 Diagnostics Project Introduction Matt Morgan. 2 Diagnostic ’ s Project Purpose Develop the Network layer services for diagnostics on CAN for road vehicle.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Networking. Protocol Stack Generally speaking, sending an message is equivalent to copying a file from sender to receiver.
How Global Positioning Devices (GPS) work
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
Holistic Mobile Game Development with Unity 2015 Taylor & Francis. All rights Reserved.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
Hardware Supported Time Synchronization in Multi-Core Architectures 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan,
Introduction to Networked Graphics Part 3 of 5: Latency.
Web Prefetching Between Low-Bandwidth Clients and Proxies : Potential and Performance Li Fan, Pei Cao and Wei Lin Quinn Jacobson (University of Wisconsin-Madsion)
GPS(Global Positioning System) -An Introduction. What is the GPS? Orbiting navigational satellites Transmit position and time data Handheld receivers.
Data Distribution Dynamic Data Distribution. Outline Introductory Comments Dynamic (Value based) Data Distribution: HLA Data Distribution Management –Routing.
Time Manipulation.  The game states rendered at the clients are different because latency is dependent on the location of the client from the server.
Performance Model & Tools Summary Hung-Hsun Su UPC Group, HCS lab 2/5/2004.
Burnout 3: Case Study (Outline) What is Burnout 3? What is Burnout 3? What does this mean? What does this mean? How did we satisfy these constraints? How.
Parallel and Distributed Simulation Synchronizing Wallclock Time.
Parallel and Distributed Simulation Memory Management & Other Optimistic Protocols.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Dead reckoning in Sports and Strategy Games Ushhan D. Gundevia November 8, 2004.
Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.
HQ U.S. Air Force Academy I n t e g r i t y - S e r v i c e - E x c e l l e n c e Improving the Performance of Out-of-Order Sigma-Point Kalman Filters.
Dead Reckoning Irwin Chiu Hau Nicolas Ng Man Sun.
Parallel and Distributed Simulation Distributed Virtual Environments (DVE) & Software Introduction.
Copyright © Lopamudra Roychoudhuri
Human Tracking System Using DFP in Wireless Environment 3 rd - Review Batch-09 Project Guide Project Members Mrs.G.Sharmila V.Karunya ( ) AP/CSE.
Distributed Virtual Environment and Simulation Package Stephen Lawrence
Dead Reckoning References: Gamasutra (1), Gamedev (1)1 Forum articles (1)1.
Multiplayer games on networks potential and tradeoffs.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Data Distribution. Outline Fundamental concepts –Name space –Description expressions –Interest expressions Static Data Distribution: HLA Declaration Management.
Chapter Two Fundamentals of Data and Signals Data Communications and Computer Networks: A Business User's Approach Eighth Edition.
Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 11: Latency and Consistency.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
Clock Synchronization (Time Management) Deadlock Avoidance Using Null Messages.
Spatial Databases: Spatio-Temporal Databases Spring, 2015 Ki-Joune Li.
Kalman Filter and Data Streaming Presented By :- Ankur Jain Department of Computer Science 7/21/03.
Continuous Monitoring of Distributed Data Streams over a Time-based Sliding Window MADALGO – Center for Massive Data Algorithmics, a Center of the Danish.
Presented by: Chaitanya K. Sambhara Paper by: Rahul Gupta and Samir R. Das - Univ of Cincinnati SUNY Stony Brook.
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
PDES Introduction The Time Warp Mechanism
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Parallel and Distributed Simulation
Parallel and Distributed Simulation
PDES: Time Warp Mechanism Computing Global Virtual Time
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
Parallel and Distributed Simulation
Presentation transcript:

Dead Reckoning

Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing

Distributed Simulation Example Virtual environment simulation containing two moving vehicles One vehicle per federate (simulator) Each vehicle simulator must track location of other vehicle and produce local display (as seen from the local vehicle) Approach 1: Every 1/30th of a second: –Each vehicle sends a message to other vehicle indicating its current position –Each vehicle receives message from other vehicle, updates its local display

Communication Requirements Each player has 1.0 Mbits/sec connection DIS: PDU contains 144 bytes (1152 bits) Each vehicle generates position update every 1/30 second –34,560 bits per second Upper bound: support 29 entities Above is extremely optimistic –Cannot utilize all of the available bandwidth –Entities generate other PDUs (e.g., weapon fires) –Multiple entities per human player (synthetic forces) 56Kbits/sec modem: at best, only one vehicle! Player 1 Player 2 Player 3 Player N … network

Issues Requires generating many messages if there are many vehicles; we need ways to economize on communication bandwidth Position information corresponds to location when the message was sent; doesn’t take into account delays in sending message over the network Dead reckoning is one technique that attempts to address each of these issues.

Dead Reckoning Send position update messages less frequently local dead reckoning model predicts the position of remote entities between updates (1050,1000) last reported state: position = (1000,1000) traveling 50 feet/sec predicted position one second later When are updates sent? How does the DRM predict vehicle position? Image Generator Dead reckoning model visual display system terrain database “infrequent” position update messages get position at frame rate

DRM aircraft 1 simulator for aircraft 2 sample DRM at frame rate display High Fidelity Model aircraft 1 DRM aircraft 1 DRM aircraft 2 over threshold or timeout close enough? timeout? entity state update PDU simulator for aircraft 1 Re-synchronizing the DRM When are position update messages generated? Compare DRM position with exact position, and generate an update message if error is too large Generate updates at some minimum rate, e.g., 5 seconds (heart beats)

Dead Reckoning Models P(t) = precise position of entity at time t Position update messages: P(t 1 ), P(t 2 ), P(t 3 ) … v(t i ), a(t i ) = ith velocity, acceleration update DRM: estimate D(t), position at time t –t i = time of last update preceding t –∆t = t i - t Zeroth order DRM: –D(t) = P(t i ) First order DRM: –D(t) = P(t i ) + v(t i )*∆t Second order DRM: –D(t) = P(t i ) + v(t i )*∆t + 0.5*a(t i )*(∆t) 2

t2t2 generate state update message true position DRM estimate of true position state update display update message E t1t1 DRM Example Potential problems: Discontinuity may occur when position update arrives; may produce “jumps” in display Does not take into account message latency B C A DRM estimates position D receive message just before screen update

Time Compensation Taking into account message latency Add time stamp to message when update is generated (sender time stamp) Dead reckon based on message time stamp update with time compensation D E t2t2 t1t1 true position DRM estimate of true position state update display update message A B C

Smoothing Reduce discontinuities after updates occur “phase in” position updates After update arrives –Use DRM to project next k positions –Interpolate position of next update interpolated position D extrapolated position used for smoothing E t2t2 t1t1 true position DRM estimate of true position state update display update message Accuracy is reduced to create a more natural display A B C

Summary Managing communications is a major issue in implementing distributed simulations Dead reckoning model (DRM) –Extrapolate current position based on past updates –Send update messages when DRM error becoming too large –Reduces interprocessor communication DRM based on equations of motion Time compensation to account for message latency Smoothing to avoid “jumps” in display