- Forward


In-Vehicle Navigation Systems
An Introduction


Prof. David Bernstein
James Madison University

JMU Chapter of the ACM
Fall 2001

Print

Overview
Back Forward
  • In-Vehicle Navigation Systems
  • Vehicle Location Algorithms
  • Map-Matching Algorithms
  • Route Finding Algorithms
In-Vehicle Navigation Systems
Back Forward
  • First Generation:
    • Provide the user with a map and the ability to search
  • Second Generation:
    • Provide both a map and the user's current location/position
  • Third Generation:
    • Provide a map, the user's location, and directions of some kind
Required Technologies
Back Forward
  • First Generation:
    • Microprocessor
    • Mass storage device
    • Graphical display device (probably color)
    • Input devices (e.g., keyboard, pointing device)
    • Algorithms for manipulating raster/vector data
    Expand
  • Second Generation:
    • Positioning hardware (e.g., GPS, dead-reckoning)
    • Positioning algorithm
    Expand
  • Third Generation:
    • Map-matching algorithm
    • Route-finding algorithm
    Expand
GPS: Satellites
Back Forward
  • 24 satellites in 6 evenly-spaced orbits
  • Each satellite circles the Earth every 11 hours 58 minutes
  • The orbital radius of these satellites is 26,560km
GPS: Coordinate Systems
Back Forward
  • Geocentric (i.e., origin at the center of the Earth)
  • Earth-Centered-Earth-Fixed (Cartesian)
range.gif
Triangulation Algorithms
Back Forward
  • Notation:
    • Tj is the "actual" time satellite j transmits
    • T is the "actual" time that the signal is received
  • Some Fundamentals:
    • Distance: c . ^Delta; Tj (where c is the speed of light)
Triangulation Algorithms (cont.)
Back Forward
  • The System to Solve:
    • threebythree.gif
Triangulation Algorithms (cont.)
Back Forward
  • An Observation:
    • The clock on the GPS receiver differs from the correct time by ^delta;
  • The New System to Solve:
    • fourbyfour.gif
Triangulation Algorithms (cont.)
Back Forward
  • A Linearization:
    • Recall that the first-order Taylor series expansion of a function f (around the point a) is given by:
    • f(a) + f'(a)(x - a)
    • For the system of three variables:
    • taylor.gif
  • Elements of the Linearized System:
    • linear_approx.gif
Longitude, Latitude and Altitude
Back Forward

Ellipsoidal and Cartesian Coordinates

latlong.gif
Long., Lat. and Alt. (cont.)
Back Forward

Changing Coordinate Systems

ellipsoidal.gif
Long., Lat. and Alt. (cont.)
Back Forward

A Closer Look at Altitude

altitude.gif
The Map-Matching Problem
Back Forward
probstmt1.gif probstmt2.gif
Point-to-Point Matching
Back Forward
  • The Idea:
    • Match Pt to the "closest" node or shape point
  • A Difficulty:
    • noshape.gif
Point-to-Curve Matching
Back Forward
  • The Idea:
    • Identify the arc that is closest to Pt
  • One Approach:
    • pt2seg.gif
Point-to-Curve Matching (cont.)
Back Forward
  • One Difficulty:
    • corner.gif
Point-to-Curve Matching (cont.)
Back Forward
  • Another Difficulty:
    • parallel.gif
Curve-to-Curve Matching
Back Forward
  • The Idea:
    • Find the arc that is closest to the piecewise linear curve, P defined by the points P0, P1, ^cdots;, Pm
  • A Difficulty:
    • outlier.gif
Curve-to-Curve Matching (cont.)
Back Forward
  • Another Approach:
    • Use the "total" distance
  • A Difficulty:
    • param.gif
Curve-to-Curve Matching (cont.)
Back Forward
  • Another Approach:
    • "Correct" for differences in length
  • A Difficulty:
    • grid.gif
Using Topological Information
Back Forward
examp01.gif
Using Topology (cont.)
Back Forward
examp03.gif
Route Finding
Back Forward
  • What We Now Know:
    • Where we are
  • What We Need:
    • How to get to our destination
A Route Finding Algorithm
Back Forward
dijk0.gif
A Route Finding Algorithm (cont.)
Back Forward
dijk1t.gif
A Route Finding Algorithm (cont.)
Back Forward
dijk1p.gif
A Route Finding Algorithm (cont.)
Back Forward
dijk2t.gif
A Route Finding Algorithm (cont.)
Back Forward
dijk2p.gif
A Route Finding Algorithm (cont.)
Back Forward
dijk3t.gif
A Route Finding Algorithm (cont.)
Back Forward
dijk3p.gif
A Route Finding Algorithm (cont.)
Back Forward
dijkf.gif
A Route Finding Algorithm (cont.)
Back Forward
  • Make the origin the working node
  • While the working node is not the destination do the following:
    • Update the temporary labels.
    • Find which node should be permanent and make it the new working node.
Updating Temporary Labels
Back Forward
  • For all nodes that are reachable from the working node:
    • Calculate the distance to this node through the working node.
    • If This distance is less than the nodes current label:
      • Set the nodes label equal to this distance.
      • Set the nodes predecessor equal to the working node.
Making a Label Permanent
Back Forward
  • For all nodes with temporary labels:
    • Find the node with smallest temporary label.
  • Make the status of this node permanent.
  • Set the working node equal to this node.
Research on Algorithms
Back Forward
  • Alternatives to the Best Path
  • Routing via Intermediate "Points"
  • Incorporating "Time" and "Tolls"
  • Algorithms for "Very Small" Devices
  • Routing for En Route Commerce
Research on Algorithms (cont.)
Back Forward
  • Incorporating Real-Time Traffic Information
  • Forecasting Traffic Conditions
  • Using Vehicles as Probes
Research on Architectures
Back Forward
  • Parking Information and Reservations



  • Transit Information Provided On Vehicles
  • Transit Information Provided at Stops
There's Always More to Learn
Back -