Professional Documents
Culture Documents
Linear Estimation of The Physical Odometric Parameters For Differential-Drive Mobile Robots
Linear Estimation of The Physical Odometric Parameters For Differential-Drive Mobile Robots
DOI 10.1007/s10514-007-9030-2
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
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
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 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