Robotics, Vision and Control

Fundamental algorithms in MATLAB: Second Edition


6: Localization

In order to get somewhere we need to know where we are.

In our previous discussion of map-based navigation we assumed that the robot had a means of knowing its position. This chapter introduces some of the common techniques used to estimate the location of a robot in the world — a process known as localization.

Today GPS makes outdoor localization so easy that we often take this capability for granted. Unfortunately GPS is a far from perfect sensor since it relies on very weak radio signals received from distant orbiting satellites. It cannot work where there is no line of sight radio reception, for instance indoors, underwater, underground, in urban canyons or in deep mining pits.

This chapter we will introduce the classical navigation principles such as dead reckoning and the use of landmarks on which modern robotic navigation is founded. A number of MATLAB classes are introduced for localization and map building of a non-holonomic vehicle in a planar world with point feature landmarks. The chapter covers:

  • Review of classical location estimation techniques including odometry, trilateration and triangulation, celestial navigation, and GPS
  • Dead reckoning
  • Map-based localization
  • Making a map
  • Simultaneous localization and mapping (SLAM)
  • Monte-Carlo estimation (particle filter), supports multiple hypotheses



Kalman filter

Particle filter



Hyperbolic navigation systems

  • GEE the WW2 era radio localization system
  • DECCA Navigator a 1950s era commercial radio localization system
  • LORAN-C as used for martitime and general aviation today