Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Auton Robot (2007) 23: 59–68

DOI 10.1007/s10514-007-9030-2

Linear estimation of the physical odometric parameters


for differential-drive mobile robots
Gianluca Antonelli · Stefano Chiaverini

Received: 15 November 2006 / Accepted: 7 March 2007 / Published online: 1 May 2007
© Springer Science+Business Media, LLC 2007

Abstract In this paper a calibration technique aimed at configuration, the current position and orientation of the ro-
identifying the odometric parameters of differential-drive bot is obtained by time integration of the vehicle’s velocity
mobile robots is proposed. The algorithm is based on two corresponding to the commanded wheels’ velocity. The odo-
successive least-squares estimations based on the continu- metric estimation of the robot configuration is affected by
ous-time kinematic equations of motion; the time-discreti- three kind of errors: (1) systematic errors, i.e., errors in
zation error, thus, is avoided. The use of the least-squares the estimation of the parameters involved in the kinemat-
technique is made possible by working on a linear map- ics equation used to convert the readings at the wheels into
ping between the unknowns and the measurements and is data expressing the robot movement; (2) non-systematic er-
not the result of a linearization. Another advantage of the rors, such as those due to wheel slippage or uneven ground;
proposed technique is that no specific path is required. The (3) numerical drift, inherently related to discrete-time inte-
basic technique makes use of video-camera measurements gration of the relevant displacements.
and absolute position readings of the wheels’ encoders; the The overall error in reconstructing the vehicle’s absolute
use of different sensors and measurements of the wheels ve- configuration is often significant after a short path executed
locities is also discussed. Experimental results with a mobile by the robot; in fact, it has been demonstrated by Kelly
robot Khepera II confirm the effectiveness of the proposed (2001, 2002) that this error shows a square dependence with
technique. the distance traveled. The odometry, on the other hand, can
be improved by shortening the sampling period, decreasing
Keywords Mobile robots · Odometry calibration the robot’s velocity and with an accurate estimation of the
odometric parameters.
Odometry calibration is the process aimed at identify-
1 Introduction ing the kinematic parameters used to reconstruct the robot’s
absolute configuration from measurements at the wheels.
A mobile robot with well-calibrated odometry can safely
Odometry is the reconstruction of the mobile robot config-
travel a long path before requiring a reset of the drifting odo-
uration, i.e., position and orientation, resorting to the en-
metric error.
coders’ measurements at the wheels. Starting from a known
One of the first works that focus on odometric errors
is (Wang 1988), where knowledge of the path under exe-
cution is used to improve posture estimation between odo-
Authors are listed in alphabetical order.
metric updates. The paper by Borenstein and Feng (1996)
G. Antonelli () · S. Chiaverini performs identification of the odometric parameters based
Dipartimento di Automazione, Elettromagnetismo, Ingegneria on absolute position measurements after the execution of
dell’Informazione e Matematica Industriale, Università degli
Studi di Cassino, Via G. Di Biasio 43, 03043 Cassino (FR), Italy a set of suitably defined trajectories. Recently, in Doh et
e-mail: antonelli@unicas.it al. (2003), an algorithm based on the boundedness prop-
S. Chiaverini
erty of the error for Generalized-Voronoi-Graph-based paths
e-mail: chiaverini@unicas.it has been proposed and experimentally validated. Doh et al.
60 Auton Robot (2007) 23: 59–68

(2006) propose to drive the robot through a known path and Antonelli et al. (2005). Finally, no specific path is required;
then evaluate the shape of the resulting path to estimate the the mobile robot can then execute a generic path in order
model parameters. to estimate its odometric parameters. Experimental results
von der Hardt et al. (1998) rely on the use of a multisen- on a Khepera II mobile robot, whose movement is regis-
sory system and develops an iterative algorithm to identify tered by the use of a video-camera, are reported to show the
a set of unknown parameters, where the odometric parame- effectiveness the proposed approach.
ters are a subset of all the estimated ones. In Komoriya and
Oyama (1998) a sensor fusion technique is proposed where,
in order to improve accuracy of the robot configuration esti-
mate, odometry is used together with direct measurement of 2 Modeling
absolute angular velocity provided by an optical-fiber gyro-
scope. Multisensory measurement is also exploited in Roy Let us consider a differential-drive mobile robot as sketched
and Thrun (1999), where a laser sensory system is used to in Fig. 1. The motion of the left and right wheels is char-
correct on-line the odometry through a maximum-likelihood acterized by the sole (scalar) axis angular velocities ωL
based identification technique. The work by Goel et al. and ωR , respectively; the rear castor wheel is passive.
(1999) proposes the use of a gyroscope, together with the Let us consider a ground-fixed inertial reference frame
encoders, and a GPS unit in a Kalman filter approach in or- Σi . By defining as wheelbase the segment of length b con-
der to estimate the outdoor robot’s configuration; another necting the two lateral wheels along their common axis, it
multisensory system, applied to a car-like vehicle, is pre- is convenient to choose a vehicle-fixed frame Σv such as:
sented in Bonnifait et al. (2001). Larsen et al. (1998) propose its origin is at the middle of the wheelbase, its x-axis points
the use of an Extended Kalman Filter (EKF) in order to toward the front of the robot body and its y-axis points to-
simultaneously localize the vehicle and estimate the vehi- ward the left wheel, completing a right-hand frame. With
cle odometry; Martinelli et al. (2003) extend this approach this choice, the absolute velocity of the robot body can
in order to include estimation of non-systematic errors. be described by the 2-dimensional vector v expressing the
Caltabiano et al. (2004) validate the use of an EKF for a translational velocity of the origin of Σv with respect to Σi
vehicle aimed at volcano exploration. and by the scalar ω expressing the angular velocity of Σv
Some recent papers attempt an analytic characterization as seen from Σi . A major advantage of the above choice is
of the odometric errors. Along these lines, an odometric that, under the assumption that the wheels do not slide on the
error model aimed at reducing non-systematic errors is de- ground, the translational velocity v is always orthogonal to
veloped in Chong and Kleeman (1997). Martinelli (2002a, the wheelbase. Therefore, in the vehicle-fixed frame the vec-
2002b) present a method to identify two systematic and two tor v is completely characterized by its sole x-component
non-systematic errors. In Kelly (2001, 2002), the error prop- denoted as v.
agation in vehicle odometry is analytically discussed and By denoting as x and y the coordinates of the origin
two main results are given: quadratic dependency of the of Σv expressed in the frame Σi , and as θ the heading an-
estimation error with respect to the distance traveled and ex-
istence of path-independent systematic errors.
In Antonelli and Chiaverini (2005); Antonelli et al.
(2005) a calibration method aimed at identifying a 4-
parameter odometric model has been proposed that shows
a linear relation between the unknowns and the measure-
ments; it is thus possible the use of linear estimation tools. In
this paper the linear estimation approach developed in An-
tonelli and Chiaverini (2005); Antonelli et al. (2005) is
modified so as to estimate the physical odometric parame-
ters, thus yielding a 3-parameter model. A feature of the
technique proposed in this paper is that it can be used with
the encoder absolute measurements, that allows to avoid the
use of the wheels angular velocity often obtained via numer-
ical differentiation of the absolute measurements; however,
the use of the wheels’ velocities in case the hardware does
not give access to the wheels’ positions is discussed. An-
other advantage of the proposed method is that it keeps the Fig. 1 Top-view sketch of a differential-drive mobile robot with rele-
use of the linearity as in Antonelli and Chiaverini (2005); vant variables
Auton Robot (2007) 23: 59–68 61

gle between the x-axis of Σv and Σi , the robot kinematic 3.1 Measurement of the robot configuration during the
equations are written as motion

ẋ = v cos(θ ), The proposed technique is based on the continuous-time
ẏ = v sin(θ ), (1) equations (1) by assuming that a video-camera sensor is
θ̇ = ω. available and the user can access the encoder absolute
Due to the kinematic characteristic of such a differential- positions. Two successive least-squares operations are per-
drive robot it can be recognized that the curvilinear abscissa formed first on the orientation equation and then on the
s is simply related to the linear velocity as curvilinear abscissa equation. By analytically integrating the
orientation equation (7), one obtains
ṡ = v. (2)  t2
θ (t2 ) − θ (t1 ) = ω(τ ) dτ
It can be recognized (see Fig. 1) that the body-fixed com- t1
 t2  t2
ponents v and ω of the robot velocity are related to the left
and right angular velocity of the wheels, ωL and ωR , respec- = αR ωR (τ ) dτ + αL ωL (τ ) dτ . (8)
t1 t1
tively, by
⎧ Posing t1 = 0, t2 = t, and assuming null without loss of gen-
⎪ rR rL erality all the values in t =0, (8) can be written as
⎨ v = ωR + ωL ,
2 2
(3)
⎪ rR
⎩ ω = ωR − ωL ,
rL θ (t) = αR θR (t) + αL θL (t), (9)
b b
where θR (t), θL (t) represent the encoder positions of the
in which rR and rL are the radii of the right and left wheel, right and left wheel, respectively. The linear relationship be-
respectively. tween the coefficients αR , αL and θ is self-evident; in fact,
From (2) and (3), it is straightforward to observe that the at the generic time instant ti it is possible to write
time derivative of the curvilinear abscissa is related to the 
wheels’ radii by αR
θi = θi , (10)
αL
rR rL
ṡ = ωR + ωL . (4)
2 2 with

Moreover, let us define θi = θ (ti ), θi = [ θR (ti ) θL (ti ) ] . (11)


rR
αR = , (5) Assuming the possibility to measure the robot’s orienta-
b tion it is possible to estimate the coefficients αR , αL through
rL the use of (10) by collecting a redundant set of data in order
αL = − , (6) to work with an high-rectangular matrix. Measuring P sam-
b
ples, (10) becomes:
that allow to rewrite the angular velocity as ⎡ ⎤ ⎡ ⎤
θ1 θ1  
ω = αR ωR + αL ωL . (7) ⎣ ... ⎦ = ⎣ .. ⎦ αR = θ αR , (12)
. αL αL
θP θP

3 Proposed calibration technique which leads to define the (P ×2) regressor θ . The recon-
struction error over the angle data collected in the P samples
Depending on the available external measurement system, is then minimized in a least-squares sense by estimating the
the robot configuration can be measured either during the unknown parameters αR and αL as
motion by, e.g., a video-camera, or before and after the mo- ⎡ ⎤
 θ1
tion by, e.g., a laser or sonar measurement system. In the α̂R T −1 T
⎣ .. ⎦
= (θ θ ) θ . . (13)
following, in Sect. 3.1 the first case is taken into account α̂L
θP
while in Sect. 3.2 the possibility to measure only the ini-
tial and final vehicle configuration is analyzed; both methods It is worth noticing that, sampling successive time instants
require the measurement of the absolute encoder positions. of the same trajectory, may cause the left-hand side of (12)
Finally, in Sect. 3.3 the possibility to measure the wheels’ to be composed by correlated values. In this case, it is suf-
velocities instead of the encoder position is discussed. ficient to build the stacked matrix by successive samples by
62 Auton Robot (2007) 23: 59–68

selecting the extremes of the integral in (8) as t1 = ti and It is worth noticing that, as for any least-squares-based
t2 = ti+1 without modifying the following equations. estimation, an on-line version of the algorithm can be easily
By observing that (5–6) imply derived from the equations above by resorting to the recur-
sive version of the least-squares equations (13) and (18).
αR
rR = − rL (14)
αL 3.2 Measurement of the robot configuration before and
after the motion
the analytical integration of (4) leads to recognize a linear
mapping between the unknown rL and a proper set of mea- Equation (12) is valid for any set of properly collected data,
surements given by the curvilinear abscissa in the form: i.e., even for data collected during different trajectories. In
 t  particular, the P points may represent the final configura-
αR 1
s(t) = rL − ωR (τ ) + ωL (τ ) dτ tions of P different trajectories, depending on the available
0 2αL 2
  measuring system. It is then possible to observe that the es-
αR 1 timation of α̂R and α̂L is straightforward.
= rL − θR (t) + θL (t) . (15)
2αL 2 Concerning (17), however, it can be observed that the
left-hand side is not measurable only before and after the
At the generic time instant ti we have
motion; it is then necessary to resort to the discrete-time ver-
si = φsi rL (16) sion of (1):
⎧x
⎪ k+1 = xk + T vk cos(θk + T ωk /2),
with ⎨
yk+1 = yk + T vk sin(θk + T ωk /2), (22)
αR 1 ⎪

si = s(ti ), φsi = − θR (ti ) + θL (ti ) θk+1 = θk + T ωk ,
2αL 2
where the subscript k denotes the k-th time sample and T
and the regressor is now a scalar. The external sensor needs
is the sampling period. Notice that low sampling frequency
to measure the length of the path executed by the vehicle.
and high vehicle velocities can be a significant source of
This can be achieved resorting, again, to a video-camera sys-
odometric error.
tem. By collecting several measurements one obtains the P
We can then observe that the discrete-time equations for
equations the position displacement can be rewritten as:
⎡ ⎤ ⎡φ ⎤  
s1 s1 αR rL
⎣ ... ⎦ = ⎣ .. ⎦ rL = s rL xk+1 = xk + T − rL ωR,k + ωL,k
. (17) 2αL 2
sP φsP × cos(θk + T ωk /2), (23)
that easily gives  
αR rL
⎡ ⎤ yk+1 = yk + T − rL ωR,k + ωL,k
s1 2αL 2
 −1
.
s ⎣ .. ⎦ .
T T
r̂L = s s (18) × sin(θk + T ωk /2). (24)
sP
By isolating the unknown rL , it can be written in matrix
As noted for (12) the left-hand side of (17) may contains form as:
correlated data; in this case, the values si can be interpreted 
xk+1 − xk
as increments without loss of generality. yk+1 − yk
Finally, (14) gives:  α
T (− αRL ωR,k + ωL,k ) cos(θk + T ωk /2)
= rL ,
α̂R 2 (− αR ωR,k + ωL,k ) sin(θk + T ωk /2)
r̂R = − r̂L , (19) αL
α̂L
that is clearly a linear mapping between rL and the posi-
whereas, from (5–6), b̂ can be obtained by resorting to either tion displacement. In particular, the relationship between the
of the following original time k = 0 and the final time k = K is

r̂R xK − x 0
b̂ = , (20) yK − y0
α̂R
 αR K−1 K−1 
r̂L T − αL i=0 ωR,i ci + i=0 ωL,i ci
=
2 − αR K−1 ωR,i si + K−1 ωL,i si
b̂ = − . (21) rL ,
α̂L αL i=0 i=0
Auton Robot (2007) 23: 59–68 63

where ci stands for ci = cos(θi + T ωi /2) and si = sin(θi + In this case, there is a formal similarity with the EKF. This
T ωi /2). It is then possible to execute P different trajecto- would be true for the two consecutive estimations and not
ries, collect the required data and compute r̂L by resorting for the whole problem as affronted in Larsen et al. (1998).
again to the least squares algorithm. From knowledge of r̂L The implemented filter, thus, would be in any case different.
and using (19) and (20), the remaining physical parameters
can be finally obtained.
4 Experimental results
3.3 Use of the wheels’ velocity measurements
Experiments were run in order to collect the data needed
for the estimation, i.e., the left-hand side of equations (12)
At the best of our knowledge all the odometric calibration
and (17) and the regressors. The hardware solution adopted
techniques are based on the discrete-time odometry (22),
in this paper is to use a RGB-camera during the motion of
and need the values of ωR and ωL collected along the
the vehicle and to measure its configuration by resorting to
motion. These however, are generally computed by discrete-
a camera-calibration procedure and image-based feature ex-
time derivative of the encoder positions. From the sig-
traction. The overall configuration error can be estimated as
nal processing point of view this operation is debatable;
bounded by few millimeters and few degrees. The Appendix
discrete-time derivative, in fact, amplifies the noise of the
reports the camera model used together with the estimated
encoder. Furthermore, this signal is always subject to some parameters.
kind of integration since all the techniques are based on the The used mobile robot is a Khepera II, shown in Fig. 2,
measurements of the vehicle position/orientation; in other manufactured by K-Team. Notice that, with respect to the
words, a noise is first added to a signal that is further inte- model in Fig. 1, there is a small difference: the vehicle does
grated thus leading to the well known problem of Brownian not have a passive wheel but two creeping bumpers in plastic
motion, or random walking, i.e., an unpredictable signal, that cause a very small friction effect.
see, e.g., Ljung (1999). The robot is equipped with a Bluetooth communication
The proposed technique can also be obviously used with module that allows to control the vehicle and to read the
the availability of the sole wheels’ angular velocities by re- wheels position/velocities with a sampling time of 60 ms
sorting to any discrete-time integration technique in order to from a remote, Linux-based, PC. The camera is connected
obtain the values of θR (tk ) and θL (tk ). to a Windows-based PC where an estimation algorithm runs
at a sampling time of 50 ms and communicates with the
3.4 Comparison with Kalman-based techniques Linux-based PC via the UDP/IP protocol. Due to the sto-
chastic nature of the communications, a small phenomenon
It is worth discussing the difference of our method with re- of random sampling is to be expected.
spect to techniques based on the use of an Extended Kalman The duration of the identification trajectory is 100 s. In
Filter as the one proposed by Larsen et al. (1998) or Mar- order to implement the proposed algorithm only one least-
tinelli et al. (2003). EKF-based techniques do not recognize squares operation is required using P points. However, it is
the existence of a linear relationship between the odomet-
ric parameters and the vehicle movement but rather locally
linearize it. At the best of our knowledge, with the use of
an EKF, the convergence of the estimates to the trues val-
ues is not proven. Moreover, the Kalman theory is based
on stochastic discrete or continuous-time input-state-output
equations and need proper definition of the process and
noise covariance matrices; especially concerning the process
matrix, this is usually obtained resorting to trial-and-error
procedures.
The proposed technique, on the other hand, is based on
the definition of two intermediate unknowns (αR and αL )
that allow to recognize a linear relationship between the un-
knowns and the measurements, thus allowing to solve the
problem applying two deterministic least-squares estimates.
No parameter tuning is thus required.
It is known that recursive least-squares need to handle the
problem of the convergence of the covariance matrix to zero. Fig. 2 The Khepera II mobile robot with a body-fixed led-based
One of the solution is the so called random-walking -one. marker used for vision detection
64 Auton Robot (2007) 23: 59–68

Fig. 4 Estimated values of α̂R and α̂L with respect to the number of
samplings along the identification trajectory

Fig. 3 Path of the identification trajectory with the via-points evi-


denced. The starting point and the via-points are randomly selected.

of interest to verify if the estimation reaches a constant value


in order to be sure that the data collected are sufficient; for
this reason the estimation is done for all the point as long as
(12) and (17) are high rectangular.
The robot is moved using a simple via-point navigation
algorithm with 6 randomly given points; in fact, no spe-
cific path is required in order to run the proposed algorithm.
Moreover, at the initial time the robot is simply put ran-
domly in the arena. The path of the identification trajectory
is given in Fig. 3.
The identified values, together with the nominal ones,
are: Fig. 5 Ratio between α̂R and α̂L with respect to the number of sam-
plings along the identification trajectory
r̂R = 0.798 cm (0.800 cm),
r̂L = 0.799 cm (0.800 cm), (25)
b̂ = 5.506 cm (5.333 cm).

Figure 4 reports the time history of the estimation of α̂R


and α̂L , and in Fig. 5 is the value of α̂R /α̂L . It can be ob-
served that, with a large-enough number of samplings, the
estimation reaches a steady state.
Figures 6 and 7 report the time history of the estimation
of r̂L , r̂R and b̂. In this case too, it can be observed that the
estimations reach a steady state.
As common in identification theory, see, e.g., Ljung
(1999), the validation has been performed by resorting to
a trajectory, shown in Fig. 8, which is different from that Fig. 6 Estimated values of r̂R and r̂L with respect to the number of
used for the estimation, shown in Fig. 3. For this specific samplings along the identification trajectory
experiment it has been possible to collect the real vehi-
cle configuration during the motion; it is then possible to
represent the error simply by reporting the real and esti- observed time interval, while the odometric errors of the
mated values during all the motion as in Fig. 9. The overall nominal model already are useless. It is known, however,
length of the path is ≈6 m while the orientation excursion that even the calibrated odometries are subject to a drift in
is ≈1200 deg. It is worth noticing that the odometric er- the estimation; while the calibration can not give an afford-
rors after the calibration remain bounded, at least in the able estimation for long run, it can significatively improve
Auton Robot (2007) 23: 59–68 65

Fig. 7 Estimated values of b̂ with respect to the number of samplings


along the identification trajectory

Fig. 8 Path of the validation trajectory with the via-points evidenced.


As for the identification trajectory, the via-points and the starting posi-
tion are randomly selected
Fig. 9 Position (top) and orientation (bottom) errors computed along
the validation trajectory; proposed (solid) algorithm and nominal
the nominal odometry in sense of the time duration of the (dashed) model
run (or the path length, as discussed in Kelly 2001).
Notice that, as already theoretically observed in the liter- the 4 parameters as in Antonelli et al. (2005); there is no
ature by Borenstein and Feng (1996) the errors may vanish need to command a specific path to the vehicle; moreover,
for specific paths. It is possible to verify, in fact, that the using the technique in Sect. 3.1 it is avoided the use of the
error is very small when the vehicle performs closed paths. discrete-time version of the kinematic equations, thus avoid-
Also, measuring the error in a specific point along a trajec- ing the discretization error.
tory, even if the experiment is repeated several times, might The 4-parameter model in Antonelli and Chiaverini
lead to misleading interpretation of the results. (2005); Antonelli et al. (2005) were organized in term of
a matrix C defined as
 rR rL
5 Comparison with the 4-parameter model C = rR 2 2 , (26)
b − rbL
The algorithm proposed in Sects. 3.1 and 3.2 is close to derived from (3). In a sense, in Antonelli and Chiaverini
that proposed in Antonelli et al. (2005). It is then worth (2005); Antonelli et al. (2005) there is an information lost
discussing the differences: in the proposed estimation tech- since the matrix C is dependent only on 3 independent para-
nique we keep a linear mapping between a set of unknowns meters. It is of interest to make an experimental comparison
and a set of measurements; in this case, however, the un- with the proposed algorithm. Without entering in the detail,
knowns are the 3 physical odometric parameters instead of it is straightforward to adapt the proposed algorithm to iden-
66 Auton Robot (2007) 23: 59–68

tify C instead of r̂L , r̂R and b̂. The first step, identification meters. The identified values for the C matrices are reported
of α̂R and α̂L is identical since c2,1 = αR and c2,2 = αL . in Table 1.
In the proposed algorithm, however, the physical con- Notice that the algorithms identify ĉ2,1 = α̂R and ĉ2,2 =
straint is taken into account in (14) giving a one-unknown α̂L ; the orientation error, thus, is numerically the same and
(15). The 4-parameters model can be obtained simply ig- will not be reported. For the position error (see Fig. 10) the
noring the constraint in deriving a two-unknown equation reconstruction error is similar for the two algorithms; please
similar to (15). By using the physical parameters identified notice that, after 100 s and 6 m run, the error’s drift is not
it is possible to provide a C matrix in (26) also with the visible yet.
proposed algorithm; moreover, a nominal C matrix can be From Fig. 10 it is also possible to notice how, with a
obtained by using the nominal values of the physical para- wrong choice of the validation data, a misleading inter-
pretation of the results may occur. In fact, at the sample
Table 1 ≈500 the error is at its minimum (≈2 cm) since the ro-
bot performed a closed loop, the maximum error, however,
Nominal Proposed 4-parameters
is ≈4 cm in absolute value. A discussion about the possi-
ĉ1,1 0.4000 0.3990 0.3814 ble fault interpretations of the odometric identifications is
ĉ1,2 0.4000 0.3995 0.4177 reported in Antonelli et al. (2005).
α̂R , ĉ2,1 0.1500 0.1449 0.1449
α̂L , ĉ2,2 0.1500 −0.1451 −0.1451
6 Summary of the estimation procedure

In the following, a summary of the estimation procedure is


reported together with a sketch in Fig. 11.
(1) Set up an absolute measurement system such as the
vision-based system considered in this paper;
(2) Plan a single, possibly random, motion for the vehicle;
(3) Execute the single motion and collect the robot con-
figuration as measured by the external device and the
encoder readings (position or velocities) at each sam-
pling time; numerically integrate ωL (ωR ) to obtain
θL (θR ) if needed;
(4) Compute the numerical balance of θ in (12); in case,
replan the trajectory or use a larger set of data by in-
creasing the trajectory duration;
(5) Compute the unknowns α̂R and α̂L in (13);
(6) Compute r̂L in (18), based on (17), and r̂R in (19);
Fig. 10 Position errors computed along the validation trajectory; pro- (7) Compute b̂ using (20);
posed (solid) algorithm and 4-parameters (dashed) model: the curves
are practically superimposed. The divergent nominal-based error is
(8) Validate the estimation by executing a new motion, pos-
also drawn sibly random, and collecting the data.

Fig. 11 Sketch of the calibration procedure.


Auton Robot (2007) 23: 59–68 67

In case the external measurement system does not allow the effective focal lengths, as
to measure the robot configuration during the motion but
only before and after the movement, it is necessary to follow cc = [ cc,u cc,v ]T ∈ 2
the guidelines given in Sect. 3.2.
the principal point, both expressed in pixels and as kr the
radial distortion coefficient. The vector
7 Conclusions
pc = [ x c yc zc ]T ∈ 3
In this paper a new calibration technique aimed at identi-
fying the physical parameters of the odometry of differen- is a point in the camera reference frame, expressed in meter.
tial drive mobile robots has been presented. The proposed The pin-hole projection is defined as:
technique exploits the existing linearity between the un-
knowns and the measurements; moreover, no specific path   c  c
x yc x
is required. With respect to other techniques, however, mea- u = fc,u 1 + kr c + c + cc,u ,
z z zc
surement of the robot orientation is also required. It is worth   c  c
noticing that, by resorting to the well-established linear es- x yc y
v = fc,v 1 + kr c + c + cc,v ,
timation theory, no rules-of-thumb are required to the user z z zc
but the numerical balance of the data can be easily quan-
tified. Two versions of the estimation algorithm have been where u and v are the pixels coordinates. The given point
proposed, depending on the availability of the encoder ab- can be expressed in a different reference frame, e.g., an in-
solute positions or their velocity. In case of absolute encoder ertial frame, pv ∈ 3 by the known relation:
availability, no discretization is involved in the linear re-
lationship. For the orientation equation this leads to an p c = R cv p v + t c ,
approximation-free relationship; for the curvilinear abscissa
equation, however, it must be remarked that the discretiza- where R cv ∈ 3×3 is the rotation from the inertial to the
tion might be present in the measurement of the curvilinear camera-fixed frame and t c ∈ 3 is the vector connecting
abscissa. Experimental results with a mobile robot Khep- the camera-fixed frame to the inertial frame expressed in the
era II confirm the validity of the proposed approach. camera frame. The camera calibration procedure identifies
the 11 unknowns represented by kr , f c , cc , t c and 3 roll,
Acknowledgement The authors thank Suryarghya Chakrabarti of pitch and yaw parameters φ, θ and ψ that allow to compute
the Indian Institute of Technology, Kharagpur, India, for his help in
performing the vision-based experiments. the matrix R cv . The principal point was set to:

cc = [ 512 384 ]T
Appendix
while the numerical values identified for the measurements
To allow the needed absolute measurements we have devel- used in this paper are:
oped a vision-based system using a CCD camera, the frame
grabber Meteor-II developed by Matrox Electronic Systems f c = [ 871.33 871.55 ]T ,
Ltd (2001) and self-developed C++ image-processing func-
φ = 3.099 [rad],
tions. The acquired images are 1024 × 768 RGB bitmaps.
The calibration of the camera is performed with an al- θ = −0.012 [rad],
gorithm based on the minimization of a proper objective
function by resorting to the Gauss–Newton method, see, ψ = 0.068 [rad],
e.g., Madsen et al. (2004), leading to an average pixel er- kr = −0.190,
ror of few millimeters over a ≈160 × 120 cm scene. The
camera model corresponds to a standard pin-hole projection t c = [ −70.2 62.6 165.4 ]T [cm].
with radial distortion truncated at the first term as reported
in Hutchinson et al. (1996). The camera is placed overhead Once the camera has been calibrated, the vehicle con-
the scene; however, to exactly extract the absolute vehicle figuration with respect to an inertial frame is obtained by
position at the ground level, the homogeneous transforma- exploiting the colored leds posed on purpose on the top the
tion from the camera to the inertial reference frame is also vehicle (see Fig. 2). The inverse mapping from pixel to in-
identified. Let define as ertial coordinates is again achieved via the Gauss–Newton
algorithm for the minimization of a proper non-linear objec-
f c = [ fc,u fc,v ]T ∈ 2 tive function.
68 Auton Robot (2007) 23: 59–68

References Martinelli, A. (2002b). The odometry error of a mobile robot with a


synchronous drive system. IEEE Transactions on Robotics and Au-
Antonelli, G., & Chiaverini, S. (2005). Experimental odometry cali- tomation, 18(3), 399–405.
bration of the mobile robot Khepera II based on the least-squares Martinelli, A., Tomatis, N., Tapus, A., & Siegwart, R. (2003). Si-
technique. In Proceedings 2005 IEEE international conference on multaneous localization and odometry calibration. In Proceedings
robotics and automation (pp. 1477–1482), Barcelona, April 2005. IEEE/RSJ international conference on intelligent robots and sys-
Antonelli, G., Chiaverini, S., & Fusco, G. (2005). A systematic cal- tems (pp. 1499–1504), Las Vegas, NE, October 2003.
ibration method for odometry of mobile robots based on the Matrox Electronic Systems Ltd (2001). Matrox imaging library user
least-squares technique: Theory and experimental validation. IEEE Guide. Canada.
Transactions on Robotics, 21(5), 994–1004. Roy, N., & Thrun, S. Online self-calibration for mobile robots. In
Bonnifait, P., Bouron, P., Croubillé, P., & Meizel, D. (2001). Data fu- Proceedings 1999 IEEE international conference on robotics and
sion of four ABS sensors and GPS for an enhanced localization automation (pp. 2292–2297), Detroit, MI, May 1999.
of car-like vehicles. In Proceedings 2001 IEEE International con- von der Hardt, H. J., Husson, R., & Wolf, D. (1998). An automatic cal-
ference on robotics and automation (pp. 1597–1602), Seoul, May ibration method for a multisensor system: Application to a mobile
2001. robot localization system. In Proceedings 1998 IEEE international
Borenstein, J., & Feng, L. (1996). Measurement and correction of sys-
conference on robotics and automation (pp. 3141–3146), Leuven.
tematic odometry errors in mobile robots. IEEE Transactions on
Wang, C. M. (1988). Location estimation and uncertainty analysis for
Robotics and Automation, 12(6), 869–880.
mobile robots. In Proceedings 1988 IEEE international conference
Caltabiano, D., Muscato, G., & Russo, F. (2004). Localization and
on robotics and automation (pp. 1230–1235), Philadelphia, PA.
self calibration of a robot for volcano exploration. In Proceedings
2004 IEEE international conference on robotics and automation
(pp. 586–591), New Orleans, LA, April 2004. Gianluca Antonelli was born in Roma, Italy,
Chong, K. S., & Kleeman, L. (1997). Accurate odometry and error on December 19, 1970. He received the "Lau-
modelling for a mobile robot. In Proceedings 1997 IEEE inter- rea" degree in Electronic Engineering and the
national conference on robotics and automation (pp. 2783–2788), "Research Doctorate" degree in Electronic En-
Albuquerque, NM, May 1997. gineering and Computer Science from the Uni-
Doh, N., Choset, H., & Chung, W. K. (2003). Accurate relative local- versity of Naples in 1995 and 2000, respec-
ization using odometry. In Proceedings 2003 IEEE international tively. He currently is an Associate Professor at
conference on robotics and automation (pp. 1606–1612), Taipei, the University of Cassino. From September 1,
TW. 2005 is Associate Editor of the IEEE Transac-
Doh, N. L., Choset, H., & Chung, W. K. (June 2006). Relative local- tions on Robotics. His research interests include
ization using path odometry information. Autonomous Robots. simulation and control of underwater robotic systems, force/motion
Goel, P., Roumeliotis, S. I., & Sukhatme, G. S. (1999). Robust localiza- control of robot manipulators, multi-robot systems, identification. He
tion using relative and absolute position estimates. In Proceedings has published about 80 international journal and conference papers,
1999 IEEE/RSJ international conference on intelligent robots and he is author of the book “Underwater Robots” (Springer-Verlag, 2003,
systems (pp. 1134–1140), Kyongju, KR, October 1999. 2006).
Hutchinson, S., Hager, G. D., & Corke, P. I. (1996). A tutorial on
visual servo control. IEEE Transactions on Robotics and Automa-
tion, 12(5), 551–570.
K-Team. http://www.k-team.com/.
Kelly, A. (2001). General solution for linearized systematic error prop- Stefano Chiaverini was born in Naples, Italy
agation in vehicle odometry. In Proceedings 2001 IEEE/RSJ inter- on Dec. 5, 1961. He received the Laurea and
national conference on intelligent robots and systems (pp. 1938– the Research Doctorate degrees in Electronics
1945), Maui, HI, November 2001. Engineering at the University of Naples, Italy
Kelly, A. (2002). General solution for linearized stochastic error in 1986 and 1990, respectively. He currently is
propagation in vehicle odometry. In Preprints 15th IFAC World Professor of Automatic Control at the Engineer-
Congress, Barcelona, Spain, July 2002. ing Faculty of the University of Cassino, where
Komoriya, K., & Oyama, E. (1998). Position estimation of a mobile he is Vice Head of the Department of Automa-
robot using optical fiber gyroscope (OFG). In Proceedings 1994 tion, Electromagnetics, Information Engineer-
IEEE/RSJ international conference on intelligent robots and sys- ing, and Industrial Mathematics. His research
tem (pp. 143–149), Munich, September 1994. interests include manipulator inverse kinematics techniques, redundant
Larsen, T. D., Bak, M., Andersen, N. A., & ‘Ravn, O. (1998). Location manipulator control, cooperative robot systems, force/position con-
estimation for autonomously guided vehicle using an augmented trol of manipulators, underwater robotic systems, and mobile robotic
Kalman filter to autocalibrate the odometry. In Proceedings FU- systems. He has published more than 140 international journal and con-
SION98 spie conference, Las Vegas, NE, July 1998. ference papers, is co-editor of the book "Complex Robotic Systems"
Ljung, L. (1999). System identification: Theory for the user. Upper (Springer-Verlag, 1998), and is co-author of the book "Fondamenti di
Saddle River: Prentice Hall. Sistemi Dinamici" (McGraw-Hill, 2003). From January 2000 to Feb-
Madsen, K., Nielsen, H. B., & Tingleff, O. (2004). Methods for Non- ruary 2004 he has been an Associate Editor of the IEEE Transactions
Linear Least Squares Problems. Lyngby: Technical University of on Robotics and Automation and from August 2004 is an Editor of the
Denmark. IEEE/ASME Transactions on Mechatronics. He is Senior Member of
Martinelli, A. (2002a). The accuracy on the parameter estimation of
the IEEE.
an odometry system of a mobile robot. In Proceedings 2002 IEEE
international conference on robotics and automation (pp. 1378–
1383), Washington, DC, May 2002a.

You might also like