Dead Reckoning
An Introduction
Prof. David Bernstein
James Madison University
Computer Science Department
bernstdh@jmu.edu
Getting Started
Definition:
The process of determining the location of a point from the location of another point, a speed, a duration of time, and a heading
Notation:
\(a \in \mathbb{R}^2\) denotes the original point on the plane
\(\alpha\) denotes the heading (by convention, \(0^\circ\) is to the right, \(90^\circ\) is up, etc.)
\(s\) is the speed
\(t\) is the time duration
Performing the Calculations
A Visualization:
Some Trigonometry:
Performing the Calculations (cont.)
The Solution:
Words of Caution:
These illustrations are for headings in the interval \([0^\circ, 90^\circ]\), you should think carefully about what happens in the other quadrants
You need to be careful about units
An Example
The Initial Point:
\(0, 0\)
The Measured Data:
\(\alpha = 30^\circ\)
\(s = 30\text{mph}\)
\(t = 15\text{min} = 0.25\text{hr}\)
An Example (cont.)
Distance Traveled:
\(s \cdot t = 30\text{mph} \cdot 0.25\text{hr} = 7.5\text{mi}\)
The Trigonometry:
\(\cos(\alpha) = \cos(30^\circ) = 0.866\)
\(\sin(\alpha) = \sin(30^\circ) = 0.500\)
The New Location:
\((0.0 + 0.866 \cdot 7.5, 0.0 + 0.500 \cdot 7.5) = (6.495, 3.750)\)
Two Important Sources of Error
Discretizing Time:
Sensor measurements and calculations are not performed continuously, they are performed at discrete points in time
We assume (incorrectly) that the speed and heading are constant during each "time step"
Sensor Errors:
All sensors are inaccurate to some extent
Error Propagation
The Idea:
Errors "accumulate"
In Dead Reckoning:
Errors are introduced at each "time step" and they accumulate over time