Simultaneous maximum-likelihood calibration
of odometry and sensor parameters
Andrea Censi, Luca Marchionni, Giuseppe Oriolo
Abstract— For a differential-drive mobile robot equipped
with an on-board range sensor, there are six parameters to
calibrate: three for the odometry (radii and distance between
the wheels), and three for the pose of the sensor with respect to
the robot frame. This paper describes a method for calibrating
all six parameters at the same time, without the need for
external sensors or devices. Moreover, it is not necessary to
drive the robot along particular trajectories. The available data
are the measures of the angular velocities of the wheels and
the range sensor readings. The maximum-likelihood calibration
solution is found in a closed form.
I. I NTRODUCTION
The problem of calibrating the odometry of mobile robots
has been studied since the 80’s. For the formalization and
theoretical analysis of the problem, we refer the reader to [1],
[2], [3], [4], [5].
As for practical methods used for calibration, there are
two main approaches. The first is to drive the robot along
especially crafted trajectories, take some sort of external
measurement on its pose, and then estimate/correct its param-
eters. A popular method of this sort is the UMBmark [2], in
which a differential-drive robot is driven along a square path
for multiple times, clockwise and anti-clockwise. In the same
spirit, in [6] there is a generalization to arbitrary trajectories
and different kinematics.
Another approach is called auto-calibration or SLAC
(Simultaneous Localization And Calibration), in which cal-
ibration is part of the normal activity of the robot and
happens without human intervention. A possibility is to use
an Extended Kalman Filter (EKF) that estimates both the
pose of the robot and the odometry parameters [7], [8],
[9]. In this case, there are observability issues to take into
account: this is considered in [10] for different combinations
of sensors and kinematics. In [11] the authors propose a
maximum-likelihood model-free approach that does not seek
a physical explanation of the odometry errors. In [12], the
authors use a maximum-likelihood method for estimating the
odometry parameters of a differential-drive robot, using the
absolute observations of an external camera. The method is
particularly simple because the problem is completely linear,
and therefore can be solved via linear least-squares.
A more difficult problem is to simultaneously estimate the
odometry parameters plus some other sensor parameters. A
A. Censi is with the Control & Dynamical Systems department, California
Institute of Technology, 1200 E. California Blvd., 91125, Pasadena, CA.
andrea@cds.caltech.edu
L. Marchionni and G. Oriolo are with the Dipartimento di Informatica e
Sistemistica “A. Ruberti”, Università di Roma “La Sapienza”, via Ariosto
25, I-00185 Rome, Italy. {marchionni,oriolo}@dis.uniroma1.it
Fig. 1. A team of five Khepera robots. Each robot has an on-board Hokuyo
range-finder and associated battery pack.
q
k+1
ℓ
ℓ
s
k
world frame
o
k
q
k
Fig. 2. The robot pose is q
k
with respect to the world frame. The sensor
pose is ℓ with respect to the robot frame. o
k
is the robot displacement
between poses, and s
k
is the sensor displacement.
first example of this is in [13], where calibration is performed
for odometry, a piezo-electric vibrating gyroscope, and a
flux-gate magnetic compass. Also in this case there are
observability issues: in [14] the authors show that, even
assuming the odometry already calibrated, the system is not
fully observable if one uses only a bearing sensor.
The present work is the first to consider the simultaneous
calibration of odometry and sensor pose (in [14], the sensor
pose is calibrated, assuming that odometry parameters are
known). Compared to [12], we consider a three-parameters
model for a differential-drive robot: we estimate the wheel
radii r
L
, r
R
and the distance b between the wheels. For the
sensor, we estimate its pose ℓ =(ℓ
x
,ℓ
y
,ℓ
θ
) with respect
to the robot frame. We assume that the sensor is mounted
horizontally – an arbitrary orientation would need another
two parameters (tilt and yaw). We assume to know the
measured wheel velocities, and the output of the range finder.
The range readings are passed to a scan-matching algorithm
that provides an estimate of the roto-translation of the sensor.
We will not discuss the scan-matching algorithm as it is used
as a black-box. The method is easy to implement: the robot
drives autonomously along arbitrary trajectories, no external
measurement is necessary, no nominal parameters must be
measured beforehand.
2008 IEEE International Conference on
Robotics and Automation
Pasadena, CA, USA, May 19-23, 2008
978-1-4244-1647-9/08/$25.00 ©2008 IEEE. 2098