Zürich
Roland Siegwart
Margarita Chli
Paul Furgale
Marco Hutter
Martin Rufli
Davide Scaramuzza
ETH Master Course: 151-0854-00L
Autonomous Mobile Robots
Localization I
2
Introduction
Do we need to localize or not?
To go from A to B, does the robot need to know
where it is?
Localization I Zürich
3
Introduction
Do we need to localize or not?
How to navigate between A and B
navigation without hitting obstacles
detection of goal location
Possible by following always the left wall
However, how to detect that the goal is reached
Localization I Zürich
4
Introduction
Do we need to localize or not?
Following the left wall is an example of “behavior
based navigation”
It can work in some environments but not in all
With which accuracy and reliability do we reach the
goal?
Localization I Zürich
5
Introduction
Do we need to localize or not?
As opposed to behavior based navigation is “map based navigation”
Assuming that the map is known, at every time step the robot has to know where it is.
How?
If we know the start position, we can use wheel odometry or dead reckoning. Is
this enough? What else can we use?
But how do we represent the map for the robot?
And how do we represent the position of the robot in the map?
Localization I Zürich
6
Introduction
Definitions
Global localization
The robot is not told its initial position
Its position must be estimated from scratch
Position Tracking
A robot knows its initial position and “only” has to accommodate small errors in
its odometry as it moves
Localization I Zürich
7
Introduction
How to localize?
Localization based on external sensors, beacons or landmarks
Odometry
Map Based Localization (without external sensors or artificial landmarks. Just use
robot onboard sensors)
Example: Probabilistic Map Based Localization
Localization I Zürich
8 Introduction
Beacon Based Localization
Triangulation
Ex 1: Poles with highly reflective surface and a laser for detecting them
Ex 2: Coloured beacons and an omnidirectional camera for detecting
them (example: RoboCup or autonomous robots in tennis fields)
Localization I Zürich
9
Introduction
Beacon Based Localization
KIVA Systems, Boston (MA)
(acquired by Amazon in 2011)
Unique marker with known absolute
2D position in the map
Prof. Raff D'Andrea, ETH
Localization I Zürich
10
Introduction
Motion Capture Systems
High resolution (from VGA up to 16 Mpixels)
Very high frame rate (several hundreds of Hz)
Good for ground truth reference and multi-robot control strategies
Popular brands:
VICON (10kCHF per camera),
OptiTrack (2kCHF per camera)
Localization I Zürich
11
Introduction
Map-based localization
Consider a mobile robot moving in a known environment.
Localization I Zürich
12
Introduction
Map-based localization
Consider a mobile robot moving in a known environment.
As it starts to move, say from a precisely known location, it can keep track of its motion
using odometry.
Localization I Zürich
13
Introduction
Map-based localization
Consider a mobile robot moving in a known environment.
As it starts to move, say from a precisely known location, it can keep track of its motion
using odometry.
Localization I Zürich
14
Introduction
Map-based localization
Consider a mobile robot moving in a known environment.
As it starts to move, say from a precisely known location, it can keep track of its motion
using odometry.
Sensor reference frame
Localization I Zürich
15
Introduction
Map-based localization
Consider a mobile robot moving in a known environment.
As it starts to move, say from a precisely known location, it can keep track of its motion
using odometry.
The robot makes an observation and updates its position and uncertainty
Sensor reference frame
Localization I Zürich
16
Ingredients
Probabilistic Map-based localization
Probability theory → error propagation, sensor fusion
Belief representation (map/position) → discrete / continuous
Motion model → odometry model
Sensing → measurement model
Localization I Zürich
17
Probabilistic localization
belief representation
ሺݔሻ
a) Continuous map with Kalman Filter
Localization
single hypothesis probability
distribution ሺݔሻ ݔ
ሺݔሻ
b) Continuous map with
multiple hypotheses
probability distribution ሺݔሻ ݔ
ሺݔሻ
c) Discretized metric map (grid Markov Localization
݇) with
probability distribution ሺ݇ሻ ݇
ሺݔሻ
d) Discretized topological map
(nodes ݊) with
probability distribution ሺ݊ሻ ݊
A B C D E F G
Localization I Zürich
18
Belief Representation
Characteristics
Continuous Discrete
Precision bound by sensor data Precision bound by resolution of
Typically single hypothesis pose discretisation
estimate Typically multiple hypothesis pose
Lost when diverging (for single estimate
hypothesis) Never lost (when diverges
Compact representation and converges to another cell)
typically reasonable in processing Important memory and processing
power. power needed. (not the case for
topological maps)
Localization I Zürich
19
Odometry
Definition
Dead reckoning (also deduced reckoning or odometry) is the process of
calculating vehicle's current position by using a previously determined position
and estimated speeds over the elapsed time
Robot motion is recovered by integrating proprioceptive sensor velocities
readings
Pros: Straightforward
Cons: Errors are integrated -> unbound
Heading sensors (e.g., gyroscope) help to reduce the accumulated errors
but drift remains
Localization I Zürich
20
Odometry
The Differential Drive Robot (1)
x x
x y xˆt xt 1 y f ( xt 1, ut )
x
Localization I Zürich
21
Odometry
Wheel Odometry
Kinematics
s cos( ) This term comes from the application
xt 1 2 of the Instantaneous Center of Rotation
xˆt f ( xt 1, ut ) yt 1 s sin( )
2
t 1
Can you demonstrate these equations?
s sl
s r
2
sr sl
b
Localization I Zürich
22
Odometry
Odometric Error Propagation
Error model
Pt Fxt1 xt1 Fxt1 FS S FS
T T
kr sr 0
S
0 kl sl
Fxt1 f xt1
FS
Localization I Zürich
23 Odometry
Growth of Pose uncertainty for Straight Line
Movement
Note: Errors perpendicular to the direction of movement are growing much faster!
Localization I Zürich
24 Odometry
Growth of Pose uncertainty for Movement on a
Circle
Note: Errors ellipse does not remain perpendicular to the direction of movement!
Localization I Zürich
25
Odometry
Example of non-Gaussian error model
Note: Errors are not shaped like ellipses!
Courtesy AI Lab, Stanford
[Fox, Thrun, Burgard, Dellaert, 2000]
Localization I Zürich
26
Odometry
Error sources
Deterministic Non-Deterministic
(Systematic) (Non-Systematic)
Deterministic errors can be eliminated by proper calibration of the system.
Non-Deterministic errors are random errors. They have to be described by error
models and will always lead to uncertain position estimate.
Major Error Sources in Odometry:
Limited resolution during integration (time increments, measurement resolution)
Misalignment of the wheels (deterministic)
Unequal wheel diameter (deterministic)
Variation in the contact point of the wheel (non deterministic)
Unequal floor contact (slippage, non planar …) (non deterministic)
Localization I Zürich
27
Odometry
Calibration of systematic errors [Borenstein 1996]
The unidirectional square path experiment
BILD 1 Borenstein
Localization I Zürich
28
Odometry
Calibration of Errors II (Borenstein [5])
The bi-directional square path experiment
BILD 2/3 Borenstein
Localization I Zürich