Luca Iocchi, Domenico Mastrantuono, Daniele Nardi
Dipartimento di Informatica e Sistemistica
University "La Sapienza" Roma, Italy

Localization problem
computing the distribution probability for the robot pose p( l | S ) l = (x y th)
Position tracking
p( li | li-1,Si ) , li-1 is a good estimation of the real pose of the robot.
Map-matching (absolute method)
p( li | li-1,Si,M ) or p( li | Si,M ) (more difficult)
Odometry (relative method)
p( li | li-1,ui )
Prediction-correction approach (integration)
p( li | li-1,Si,ui,M ) from p( li' | li-1,ui ) and p( li | li',Si,M ) .
HT used for computing the best fitting line of a set of points [Duda&Hart'72].
r = x cos (th) + y sin (th)
Every point (x,y) in the Cartesian plane corresponds to a curve in the Hough
domain.
Local Maxima of HT corresponds to the best fitting lines of the set of points.
1. Map is represented as a set of points in the Hough domain
2. Map displacement is computed in the Hough domain.

Position tracking => point corrispondences in the Hough space are easy to determine.
HT based map alignment provides for the computation of a probability distribution of the robot's pose.
p( li | li',Si,M ) can be computed by a (special form of) correlation between HT(S) and HT(M).

For the integration step we approximate p( li | li',Si,M
) with a Gaussian.

Position error provided by a simulator (without and with
random bumps).
Precision e(t) = || l(t) - r(t) ||, estimated (l) and real (r) pose of the robot
In real robot experiments r(t) is measured by a r'(t) and thus we compute
e'(t) = || l(t) - r'(t) ||
Precision e(t) depends on accuracy of range sensor and on accuracy of measurement of r(t)
How can we measure r(t)?
1. manual measurements at some intervals in time r'(ti)
2. global vision system r'(t)
This setting allows us to compute e'(t) = || l(t) - r'(t) ||
If e'(t) >> er then e(t) ~ e'(t) ...
... but we found out that e'(t) ~ er and thus e(t) < er at every time.
"Localization error is never greater than the positioning measurement error".
1. manual measurements at some intervals in time e'(ti) = 13 cm
2. global vision system e'(t) < 16 cm at every time

Note that the positon error in the corner is always less
then the error during robot motion (800 mm/s).
Why another localization method?
- low complexity O(|S|) ( <
10 ms )
- robust in dynamic environment (e.g. RoboCup)
- easy implementation
Limitations
- polygonal environment (map represented as a set of segments)
- possible lack of features (e.g. parallel lines)
- position tracking
Future work
- global localization