Documente Academic
Documente Profesional
Documente Cultură
I. INTRODUCTION
Commercial autonomous lawnmowers are very inefficient:
the operation of these autonomous lawnmowers requires the
installation of a current-carrying boundary wire buried in the
ground which delimits the perimeter of the working area of
the robot. This wire generates an electromagnetic field which
is sensed by the robot like a wall. The low efficiency, then, is
due to the random reflection navigation algorithm: this makes
the robot going straight until it encounters an obstacle or the
boundary wire, then the robot turns itself of a random angle
and then it goes straight again. This mowing strategy makes
the lawnmower move multiple times on the same portion of
the garden ruining the lawn while ignoring other areas. This
produces an aesthetically poor result and, in order to have the
lawn mowed almost entirely, it takes a lot of energy. This
behavior is necessary due to the lack of sensors on-board
the robot itself in order to keep low the cost of the product,
which makes the robot incapable of localizing itself and then
planning a good mowing strategy.
The problem of localizing a mobile robot in an outdoor
environment has long history in the literature. In [1] a
Kalman filtering approach to localize a robot operating in
an outside environment using DGPS (Differential Global
Positioning System) and INS (Inertial Navigation System)
is proposed. This method is quite expensive and becomes
inaccurate when the satellite signal is weak, such as when
the robot is under trees or near high walls. In [2] a laser
scanner is exploited for localizing a robot in dynamic outdoor
environment. The main drawback of this, and of most of
the mainstream localization strategies, is that they exploit
*This work was funded by Regione Emilia Romagna in the scope of the
national research project DiR`o (Distretto della Robotica Mobile)
1 Alessio Levratti, Cristian Secchi and Cesare Fantuzzi are with Department of Engineering Sciences and Methods (DISMI), University
of Modena and Reggio Emilia, via G. Amendola 2, Morselli building, Reggio Emilia I-42122 Italy. Email: {alessio.levratti,
cristian.secchi, cesare.fantuzzi}@unimore.it
di
d0
+ i
(1)
where Pr,i [dBm] is the power received by the on-board
antenna, Pt [dBm] the power transmitted by the beacon and
K [dB] is a constant that depends on the frequency of the
transmission devices and on the environment. The constant
is the path loss coefficient. Both K [dB] and can be
obtained experimentally [8]. The constant d0 is the reference
distance at which we calculated the constant K and di is
the distance between the fixed and the mobile antennas. The
zero mean gaussian noise i is used to approximate the
disturbance (like multi-path and shadowing effects) in the
transmission.
During the characterization experiments we noticed that
the variance of the model changes according to the relative
orientation of the on-board antenna with respect to the
orientation of the antenna of the RF beacon, as also remarked
in [9]. In order to take into account this behavior, we stored
the experimentally obtained variance of the model with the
two antennas in different relative positions and orientations
in a hash-table structure and then in the algorithm, explained
in Sec. IV-B, we change the considered variance according
to the orientation of the robot.
In addition, to further reduce the noise associated to
the RSSI measurement we apply the pre-filtering method
illustrated in [14]. This method exploits odometry to reduce
the multi-path effect: if the robot moves a short distance
between two consecutive points, the RSSI measured in the
second position cannot be too much different than the RSSI
measured in the first position. So, according to the robot is
approaching or moving away from the RSSI landmark, we
compute the two extreme estimation for the RSSI reading,
and then we saturate the RSSI measurement between these
two extremes.
IV. THE LOCALIZATION ALGORITHM
The localization algorithm is composed by two Kalman filters: the first one is a linear Kalman Filter which provides the
instantaneous angular velocity and the instantaneous linear
velocity of the robot by merging the odometric information
given by the Hall sensors with the angular rate returned by
the gyros. The second one uses the estimated movements of
the first filter to predict the position of the robot and merging
it with the RFID algorithm described in [7] and with the
range information extracted from the RSSI measurement of
the RF signal. The overall structure of the algorithm can be
evinced in Fig. 1.
From now on we will refer to the first Kalman Filter as the
Movement Kalman Filter (MKF) and to the second Kalman
Filter as the Position Kalman Filter (PKF).
A. Movement Kalman Filter - MKF
As we said above, the first part of the algorithm is a
Kalman Filter used to merge the information coming from
~k
~k
u
~k
~k
MKF
Sk
~
zRSSI
k
~k
~k
q
Rk
PKF
the Hall sensors with the data returned by the gyro in order
to estimate the movements of the robot.
The considered time propagation and measurement functions are respectively:
+
vk = R,k 2 L,k + k,1
R,k L,k
=
+ k,2
d
k
k
k1
k,2
gyro,k = k + k + k
(2)
~k = C ~
k + ~k
where ~k and ~k are white gaussian noises, with zero mean
2
and covariance respectively Pk and gyro
. The matrix Pk is
defined as follows:
K | R |
0
0
Pk =
0
K | L |
0
(4)
2
0
0
DRIF
T
Here K is an experimentally obtained constant which
describes the slippery of the wheel of the robot according
2
the movement of the wheel itself [15] and DRIF
T is the
variance describing the evolution of the drift bias of the
measurement of the angular speed gyro,k read by the gyro.
Let
~ k = [gyro,k ] be the instantaneous angular velocity
2
read by the gyro and gyro
be its variance.
~ k = f (~k1 , ~qk ) + ~
(5)
~zk = g (~k ) + ~
The function f (~k1 , ~qk ) is the time propagation function
defined as:
k
xk = xk1 + Sk cos(k1 +
) + k,1
2
k
f (~
k1 , ~
qk ) =
yk = yk1 + Sk sin(k1 +
)
+ k,2
2
k = k1 + k + k,3
(6)
k
is due to the discretization of
The term k1 +
2
the numerical integration via a second-order Runge-Kutta
T
method [17]. Here ~k = [x, y, ]k is the state vector which
represents the position of the robot and its orientation at step
T
k; ~qk = [S, ]k is the input vector.
The vector ~ represents the noise associated to the model
time propagation due to the noisy input vector ~qk ; this
noise can be approximated with a Gaussian white noise
with covariance Rk extracted from the covariance matrix
Sk estimated by the MKF as explained in equation 7:
s1,3
Rk
s2,3
Sk =
(7)
s3,1 s3,2
s3,3
By doing so we can keep track of how the covariance
associated to the input of the MKF influences the input of
the PKF, and then the estimate of its state.
The output function gj (~k ) is divided into two parts
(j = 1, 2). The first part exploits the Constrained Kalman
Filter described in [7] and in [18] using the RFID measurement, while the second part uses the RSSI measurement
provided by the RF antenna. Here the noise vector ~j
represents the Gaussian white noise associated to the RFID
and the RSSI readings. The first one is characterized by
a covariance computed accordingly the estimated pose and
the positions from where the RFID tag can be read, while
2
the second is modeled with the variance RSSI
obtained
experimentally (see Sec. III).
The algorithm 1 is recursive and the k th step is
discussed. Lines 1 and 2 are the first two step of the classical
Extended Kalman Filter. Given the time propagation function
for a differential drive WMR in Eq. 6, let and be
k = ~i s.t. ~i =k ~i pi
iT
i h
h
~
~i
k = P~
pi
12:
Q
i
k
k
i s.t.
~ =
i k 1
k
k + Q
k
13:
Kk =
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
k =
k + Kk [
k
k ]
k = (I Kk )
k
else
k =
k
k =
k
end if
~zk = getRSSI()
if ~zk 6= then
for i = 1 size (~zhk ) do
i1
k T
k T + 2
Kk =
RSSI k
g (
k ) = P t [dBm] + K [dB] 10
log10
25:
26:
27:
28:
29:
30:
31:
32:
33:
(
xxB,i )2 +(
y yB,i )2
d0
k =
k + Kk [~zk,i g (
k )]
k = (I Kk )
k
end for
else
k =
k
k =
k
end if
~k =
k
k
k =
(8)
Simulation
name
Duration
[s]
A
B
C
2159
2348
2857
RMS
error
[mm]
140
76
137
Final
error
[mm]
49
42
77
Maximum
error
[mm]
453
212
407
Average
time step
duration [s]
0.0112
0.0160
0.044
Experiment name
A
B
C
V. SIMULATIONS
In order to validate the proposed algorithm a simulation campaign took place. The used computer is a laptop
with an Intel Core i3 350M processor with a clock speed
of 2.27 GHz and 4 GB of RAM. We used MATLAB
2010b(64bit) for the simulation.
We simulated a lawnmower robot moving in a rectangular
working area of dimension 10 6 m, with 32 RFID tags
positioned on its border, one spaced one meter from the
next. The working area is discretized in an occupancy grid
map, whose cells cost are set to high value if the cells has
been occupied by the robot and to zero if the robot hasnt
passed by those cells yet. By doing this we can keep track
of the effective coverage of the mowing task of the robot.
The occupancy grid map is also used by the Path Planning
algorithm, as explained in [7]. The noises associated to the
inputs and to the measurements were simulated by adding
a random Gaussian variables generated by MATLAB to the
true values.
Three simulations took place. Simulation A represents the
robot when it is moving localizing itself with the proposed
algorithm but without using the RSSI measurement. Simulation B represents the robot while it is moving in the
garden and localizing itself using all the available sensors.
Simulation C took place in order to verify if the separation of
the two Kalman filters can actually improve the performance
of the filter, and represents the robot when it is moving with
a monolithic version of the algorithm. Simulated paths are
presented in Fig. 2a, Fig. 2b and in Fig. 2c while results are
in Table I.
VI. EXPERIMENTS
The proposed algorithm was then verified experimentally
on a differential drive autonomous lawnmower. The highlevel control of the robot is performed by the Real-Time
controller NI cRIO, programmed with LabVIEW 2010 (SP1).
The robot is provided with CAEN WANTENNAX004 RFID
antenna, put on the front of the robot, and with the A528
OEM RFID reader. The model and the reading region of this
set-up was obtained experimentally [7]. On the robot is also
mounted an eZ430-RF2500 RF antenna, which provides the
RSSI measurement of the signals sent by the RF beacons
(also consist of eZ430-RF2500) put in known positions in
the working area. The ground truth of the robot is obtained
through a Leica Viva RTK (Real Time Kinematics) antenna
mounted on the robot.
Experiments took place outdoor in a rectangle shaped
arena with dimensions 10 6 m side. On the border of the
y [m]
y [m]
y [m]
0
0
5
6
x [m]
10
(a) Simulation A
5
6
x [m]
10
(b) Simulation B
5
6
x [m]
10
(c) Simulation C
6
5
4
y [m]
y [m]
y [m]
0
0
5
6
x [m]
(d) Experiment A
10
0
0
5
6
x [m]
(e) Experiment B
10
5
6
x [m]
10
(f) Experiment C
Fig. 2: Simulation and experimental results. The black thick line, the blue dashed line and red solid line are, respectively,
the border of the area, the path estimated by the robot and the ground truth obtained by the RTK. The yellow, blue, red and
purple stars are, respectively, the starting position, the estimated final position, the real final position of the robot and the
position of the RFID tags.