Académique Documents
Professionnel Documents
Culture Documents
http://journals.cambridge.org/ROB
Additional services for Robotica:
Email alerts: Click here
Subscriptions: Click here
Commercial reprints: Click here
Terms of use : Click here
Robotica (2011) volume 29, pp. 271282. Cambridge University Press 2010
doi:10.1017/S0263574710000111
SUMMARY
This paper addresses the problem of a features selection
criterion for a simultaneous localization and mapping
(SLAM) algorithm implemented on a mobile robot. This
SLAM algorithm is a sequential extended Kalman filter
(EKF) implementation that extracts corners and lines from
the environment. The selection procedure is made according
to the convergence theorem of the EKF-based SLAM.
Thus, only those features that contribute the most to the
decreasing of the uncertainty ellipsoid volume of the SLAM
system state will be chosen for the correction stage of
the algorithm. The proposed features selection procedure
restricts the number of features to be updated during the
SLAM process, thus allowing real time implementations
with non-reactive mobile robot navigation controllers. In
addition, a Monte Carlo experiment is carried out in order
to show the map reconstruction precision according to the
KullbackLeibler divergence curves. Consistency analysis
of the proposed SLAM algorithm and experimental results
in real environments are also shown in this work.
KEYWORDS: SLAM; Feature selection; Mobile robot.
1. Introduction
This article concerns the problem of the feature-based
simultaneous localization and mapping (SLAM) algorithm
applied to a mobile robot. The correction stage of the SLAM
is restricted to the features of the environment that are
most significant for the consistency and convergence of the
algorithm. This restriction decreases the computational cost
of the algorithm, making it more suitable for non-reactive
control applications. It is also presented a map divergence
analysis when compared the obtained SLAMs map with
respect to other maps of the same environment.
The mobile robotic field is composed by three main areas:
navigation, localization and mapping. The knowledge of the
robot about its position inside an environment and the way the
vehicle interacts with it defines the autonomy of the robot.
A mobile robot is said autonomous if there is no external
supervision in order to accomplish, efficiently, the robotic
task. To reach full autonomy, the robot has to know its
position within the environment (localization), to model the
* Corresponding author. E-mail: fauat@inaut.unsj.edu.ar
http://journals.cambridge.org
IP address: 200.83.129.91
272
Towards features updating selection based on the covariance matrix of the SLAM system state
http://journals.cambridge.org
2. Methods
In this section, the classic sequential EKFSLAM is
presented along with the EKFSLAM algorithm with
restriction over the number of features to be updated proposed
in this paper.
2.1. EKFSLAM algorithm
The EKF equations for the SLAM problem solution are
stated in Eqs. (1)(5). By hypothesis, all variables involved
in the estimation process are considered as Gaussian random
variables. Thus, the SLAM system state and the features
model have Gaussian distributions.
Prediction stage
t = f (t1 , ut ),
(1)
(2)
Correction stage
1
Kt = Pt HtT Ht Pt HtT + Rt ,
t = t + Kt (zt h(t )),
Pt = (I
Kt Ht )Pt .
(3)
(4)
(5)
In Eqs. (1) and (2) the prediction stage of the EKF is stated,
where t is the predicted system state at time t; ut is the input
control commands and t is the corrected system state at time
t; f describes the evolution of the elements of . Pt and Pt are
the predicted and corrected covariance matrices respectively,
at time t; At is the Jacobbian matrix of f with respect to the
SLAM system state ( ) and Qt is the covariance matrix of the
noise associated with the process, whereas Wt is its Jacobbian
matrix. Equations (3)(5) represent the correction stage of
the EKFSLAM. Kt is the Kalman gain of the algorithm
IP address: 200.83.129.91
Towards features updating selection based on the covariance matrix of the SLAM system state
at time t; Ht is the Jacobian matrix of the measurement
model (h in Eq. (4)) and Rt is the covariance matrix of the
actual measurement zt . In Eq. (4), (zt h(t )) is called the
innovation process6 and takes place when the data association
procedure has reached an appropriate matching between the
observed feature and the predicted one (h(t )). Both, the
process model (f in Eq. (1)) and the observation model are
non-linear expressions. In this work, the features extracted
from the environment correspond to lines and corners, either
concave or convex.
The SLAM system state is composed by both the vehicles
degrees of freedom and the map, represented by the
parameters that define the features. The map is considered
as stationary. Thus, the evolution computed in Eq. (1)
corresponds to the robots movements. More information
about this topic can be found in ref. [4, 5]. The mobile robot
used in this work is a non-holonomic unicycle type Pioneer
R
3DX, built by ActivMedia . Figure 1 shows a scheme of
the vehicle and Eq. (6) represents their kinematic equations.
R
The robot has a range sensor laser -built by SICK which
acquire 181 measurements, from 0 to 180 , within a 30
m range. The models of the features are shown in Eqs. (7)
and (8), and Fig. 2 shows the geometrical representation of
each variable used in (7) and (8). More information about
features extraction and the SLAM algorithm implemented in
this work can be found in refs. [3, 8]:
xt1
cos(t1 ) a sin(t1 )
xt
yt = yt1 + t sin(t1 ) a cos(t1 )
t
t1
0
1
ut
+ t ,
(6)
z
zcorner,t = hi [Poserobot,t , pi,t , wt ] = R
z
(xt xe )2 + (yt ye )2
wR
=
+
,
(7)
yt ye
w
arctan
t
xt xe
z
zline,t = hi [Poserobot,t , pi,t , wt ] =
z
w
r xt cos() yt sin()
+
.
t
w
(8)
http://journals.cambridge.org
273
IP address: 200.83.129.91
(i)
(ii)
(iii)
(iv)
(v)
274
Towards features updating selection based on the covariance matrix of the SLAM system state
Pt = (I Kt Ht )Pt
Mt = Mt {zi }
Pt := Pt , t := t
end for
Algorithm 1 Classical sequential EKFSLAM
(vi)
(vii)
(viii)
(ix)
(11)
1 and
2 are null block matrices.
The Kalman gain, Kt , can also be calculated in the form
of Eq. (11). Thus,
T
T
T
T
K
1
Kz,t
K
2
.
Kt = Kv,t
(12)
Iv
(I Kt Ht ) =
I
1
Iz
I
2
Kv,t
K
1
Kz,t Hv,t
Hz,t
2 ,
K
2
|Pt | |Pt |
|Pt |
(9)
Equation (9) represents the covariance sensibility ratio of
the SLAM system state. Thus, according to Eq. (9), the
smaller |I Kt Ht |, the higher the correction. This is so,
because the determinant of the covariance matrix of the
SLAM system state (|Pt |) can be seen as a measure of the
http://journals.cambridge.org
Iv Kv,t Hv,t
K
1 Hv,t
=
Kz,t Hv,t
K
2 Hv,t
I
1
Kv,t Hz,t
K
1 Hz,t
Iz Hz,t
K
2 Hz,t
I
2
(13)
IP address: 200.83.129.91
Towards features updating selection based on the covariance matrix of the SLAM system state
Up to this point, it can be seen that the determinant
|I Kt Ht | can be calculated directly from Eq. (13). Thus,
Iv Kv,t Hv,t
Kv,t Hz,t
K H
I
1 K
1 Hz,t
1 v,t
|I Kt Ht | =
,
Iz Hz,t
Kz,t Hv,t
K
2 Hv,t
K
2 Hz,t I
2
Iv Kv,t Hv,t
Kv,t Hz,t
.
(14)
=
Kz,t Hv,t
Iz Kz,t Hz,t
Eq. (14) shows the reduced form of |I Kt Ht |. If one of the
eigenvalues of Eq. (14), tends to zero faster than the others,
then the entire determinant will tend to zero. This could cause
that the posterior covariance matrix of the SLAM system
state, Pt , be corrected faster in the direction associated with
that eigenvalue than in the rest of the directions. Instead
of using Eq. (14) for choosing the significant features as
stated previously in this paper we propose to observe the
eigenvalues evolution of (I Kt Ht ). Nevertheless, the last
does not contradict Eq. (14), instead, the SLAM algorithm
will be able to choose the direction of the correction based
on the eigenvalues information. Thus, the determinant of Eq.
(14) provides lesser information than the observation of the
eigenvalues.
In order to calculate the eigenvalues of Eq. (13), the
following theorem is necessary.
Theorem 3. Let S nn be a non-singular matrix of the
form
A L1 B
S =
1 Ir
2 ,
C L2 D
where Ir is an identity block matrix with dimension r < n;
A, B, C, D, L1 , L2 are non-empty block matrices;
1 and
A B
Eig
Eig(S).
C D
C
] is
Thus, the set of eigenvalues of the sub-matrix [ BA D
included in the set of eigenvalues of S.
L1
B
A IA
Ir Ir
2
S I =
1
C
L2
D ID
with IA and ID in the dimensions of A and D respectively.
Then,
B
r A IA
|S I | = (S I )
C
D ID
IA
B
r A
,
= (S I )
C D
ID
A B
Eig(S).
Eig
C D
http://journals.cambridge.org
275
A
1 B
S = L1 Ir L2 .
C
2 D
Thus, according to Eq. (13), let us suppose that S = I
Kt Ht , then because of Theorem 3 we have that
Eig
Iv Kv,t Hv,t
Kz,t Hv,t
Kv,t Hz,t
Iz Kz,t Hz,t
Eig(I Kt Ht ).
(15)
Iv Kv,t Hv,t
Kv,t Hz,t
Eig
. (16)
Kz,t Hv,t
Iz Kz,t Hz,t
The main difference of taking the sum of eigenvalues in
(15) instead of its determinant is that, if an eigenvalue tends
to zero, also does the determinant and the correction is not
guaranteed to happen in all directions.
The implementation algorithm with the approach
presented in this work is summarized in Algorithm 2.
Let Nt be the set of observed features at time t
Let Mt Nt be the set of features with correct
matching
Let MAX be the maximum number of features to be
used
for i = 1 : min(#Mt , MAX)
opt
find
z :
argz min(|Pt |) argz min
Iv Kv,t Hv,t
Kv,t Hz,t
Eig
Kz,t Hv,t
Iz Kz,t Hz,t
1
Kt = Pt HtT Ht Pt HtT + Rt
t = t + Kt (zt h(t ))
IP address: 200.83.129.91
(i)
(ii)
(iii)
(iv)
(v)
(vi)
(vii)
276
Towards features updating selection based on the covariance matrix of the SLAM system state
Pt = (I Kt Ht )Pt
(viii)
Mt = Mt {zopt }
(ix)
(x)
Pt := Pt , t := t
end for
(xi)
Algorithm 2 Sequential EKFSLAM with Feature
Selection
Algorithm 2 shows the correction stage of the EKF
SLAM. Once extracted the features of the environment and
determined those features with appropriate association, the
for loop of the correction stage begins. The maximum number
of features to be updated (MAX) is stated in sentence (iii). In
this work, MAX = 2. In this way, the two most significant
features will be used for the correction stage. Thus, the
limit of the for loop is governed by MAX or the number of
observed features with correct association (for the case when
#Mt < MAX). Sentence (v) shows the feature selection
criterion. The most significant feature is updated first. In
order to do so, zopt must be found from the set Mt . The rest
of the algorithm performs identically than the Algorithm 1
shown before.
The fact of updating only the most significant features in
the eigenvalues sense ensures consistency of the SLAM
see Theorem 1 and saves processing time as will be shown
in the following sections.
3. Experimental Results
In this section is shown the consistency test of the algorithm
proposed in this work in addition with the real time
experimental results carried out at the facilities of the Instituto
de Automatica of the National University of San Juan.
3.1. Consistency analysis
The consistency test was carried out within a simulated
environment considering that the true position of the mobile
robot is required. The environment was simulated using
R
R
the MobileSim software provided by ActivMedia . The
consistency results are shown in Fig. 3.
Figure 3(a) shows the simulated environment which is
composed by corners and lines. The mobile robot starts in
a known initial position and orientation inside the map, that
is, the SLAM system state, t , is previously initialized. In
the simulation, 0T = [ x0 y0 0 ] = [ 30 30 0.1 ]. In dashed
grey is the desired path to be travelled by the robot through
the environment. Figure 3(b) shows the map reconstruction
based on the SLAM system state parameters and the
secondary map maintained during the process.
The navigation of the mobile robot is governed by the
determination of local frontier points as it is shown in
ref. [10]. The local frontier points strategy finds nonoccupied points of the navigable space and directs the
robots movements to that point. The last is accomplished
by generating a kinematically plausible path from the robots
position to the frontier point. This exploration strategy causes
the actual travelled path by the mobile robot differs from the
desired one. Figures 3(ce) show the error of the estimated
pose of the mobile robot with respect to the real pose
obtained by simulation. In the three cases, the error is
bounded by two times the corresponding standard deviation.
http://journals.cambridge.org
IP address: 200.83.129.91
Towards features updating selection based on the covariance matrix of the SLAM system state
277
Fig. 3. Consistency test of the sequential EKFSLAM with the feature selection approach proposed in this paper. (a) Simulated environment
(solid black lines) with the desired path (dashed line); (b) map reconstruction of the environment. The grey points correspond to raw laser
data; solid black segments represent walls of the environment; light grey circles correspond to corners; black squares are the beginning and
ending points associated with the segments and the solid grey line is the path travelled by the mobile robot; (c) The error in the x-coordinate
of the mobile robot is bounded by two times its standard deviation; (d) The error for the y-coordinate; (e) The error for the orientation of
the mobile robot.
http://journals.cambridge.org
4. Maps Divergence
The maps shown in Figs. 4(ab) represent the environment
built by the two SLAM algorithms implemented in this
work. Although in both cases the mobile robot navigates
the same environment, the number of features acquired by
IP address: 200.83.129.91
278
Towards features updating selection based on the covariance matrix of the SLAM system state
Fig. 4. Performance of the SLAM with the feature selection approach with respect to the classical sequential EKFSLAM. (a) Map built
using the classical sequential EKFSLAM system state. The path travelled by the robot is represented by a solid line; grey circles are
corners of the environment; solid black segments represent walls and black squares are the beginning and ending points of the segments;
(b) map built using the EFKSLAM feature updating selection system state. The path travelled by the robot is the same than the one shown
in (a); (c) accumulated processing time. The processing time of the feature selection approach remains quadratic but growing slower than
the classical sequential EKFSLAM. The SLAM with the feature selection approach consumes lesser time the classical EKF-SLAM; (d)
Accumulated open loop time. The robot remains more time under an open loop situation with the classical EKF-SLAM than with the
feature selection approach proposed in this paper.
0 ] = [ 30 30 0.1 ],
p(x)
.
=
p(x) log
q(x)
y0
(17)
(18)
http://journals.cambridge.org
IP address: 200.83.129.91
Towards features updating selection based on the covariance matrix of the SLAM system state
previously defined. For comparison purposes, the same set
E should cover all the maps that are going to be used in the
KullbackLeibler divergence. Thus, the limits of the map
are calculated according to the maximum and minimum
value occupied by a feature in the Cartesian coordinate
system in both maps. For example, if we use Figs. 4(a)
and 4(b), the minimum common x-coordinate (Xmax ) limit
between both maps is near 9 m; the maximum common xcoordinate (Xmin ) limit is near 19 m; the minimum common
y-coordinate (Ymax ) limit is near 6 m and the maximum
common y-coordinate (Ymin ) limit is near 27 m. Thus, the set
of points E should be uniformly generated within those limits.
The Monte Carlo experiment is then executed as shown in
Eqs. (19)(22):
i U (0, 1), i = 1, . . . #E,
(19)
(20)
(21)
(22)
http://journals.cambridge.org
279
L
k
k=1
1
(2)2 |Pk |
12
m T
m
i
i
kx
Pk1
kx
ni
ni
ky
ky
. (23)
v
1
..
t =
.
k
..
.
Pvv,t
.
..
Pt =
Pkv,t
T
Pkv,t
..
..
.
.
Pkk,t
..
.
.
..
.
(24)
IP address: 200.83.129.91
280
Towards features updating selection based on the covariance matrix of the SLAM system state
By inspection in Fig. 6 is possible to see that, in both
cases, after the experiment of 2 104 points, the mean
and variance of the experiment remain approximately in
the same value. That means, a set of #E = 2 104 points
is needed to obtain a divergence value between the maps
shown in Fig. 4. Furthermore, Fig. 7 shows the divergence
of the maps shown in Fig. 4 with respect to a digitalized
version of the facilities of the Instituto de Automatica. In
order to compute this divergence value, the features of the
real map (the digitalized architectonic draw of the Instituto
de Automatica) were considered as degenerated Gaussians
features.
Figure 7 also shows that the divergence of the EKF
SLAM with feature updating selection map with respect
to the real map remains smaller than the divergence of the
classical sequential EKFSLAM map with respect to the
real map, for all the Monte Carlo realizations. In both cases
in Fig. 6, from #E = 1 104 we can have an idea of the
divergence. The fact that the SLAM with feature selection
approach shown in this work presents a smaller value of
divergence with respect to the real map than the classical
sequential EKFSLAM can be interpreted as the map
obtained by the proposal of this work, acquires more accurate
geometrical information of the environment than the classical
implementation.
http://journals.cambridge.org
5. Conclusions
In this paper, an EKFSLAM algorithm based on the
restriction in the number of features to be corrected was
presented. The correction restriction was based on selecting
the most significant features in the sense of the covariance sensibility ratio of the SLAM system state. Thus,
those features with the smallest sum of eigenvalues in the
sensibility expression of the SLAM covariance matrix (see
Eq. (9)) were chosen for the update stage of the EKF. The
last ensured that the estimation process will not turn into
inconsistency.
The restriction also implied that the computational cost of
SLAM process was bounded (when bounded the number
of features to be corrected, as was implemented in this
work) which reduced the open loop time of the mobile
robot. Thus, the smaller the open loop time the higher the
number of control actions to drive the robot and to map the
environment. The fact of implementing a SLAM algorithm
with bounded correction stage makes the algorithm more
suitable for control strategies implementations.
In order to define the precision of the map, the Kullback
Leibler divergence was carried out between the maps
obtained by both SLAM algorithms implemented in this
work and a digitalized architectonic draw of the environment.
For several Monte Carlo experiments, the map built by
the EKFSLAM with feature updating selection turned
to be less divergent than the map built by classical
sequential EKFSLAM when compared to the real map
of the environment. Thus, the map built by the SLAM
with updating restrictions presented in this paper is more
geometrically similar to the real map than the one built by
the classical sequential EKFSLAM. The last result ensures
IP address: 200.83.129.91
Towards features updating selection based on the covariance matrix of the SLAM system state
281
Fig. 7. Divergence between the maps obtained by the SLAM algorithms and a digitalized architectonic draw of the Instituto of Automatica
(real map of the environment).
Acknowledgments
The authors gratefully acknowledge Universidad Nacional de
San Juan of Argentina, CONICET (Argentina) and ANPCyT
for funding this research.
References
1. R. C. Arkin, Behavior-Based Robotics (MIT Press, Cambridge,
1998).
2. R. Siegwart and I. R. Nourbakhsh, Introduction to Autonomous
Mobile Robots (MIT Press, Cambridge, 2004).
3. J. Andrade-Cetto and A. Sanfeliu, Environment Learning for
Indoor Mobile Robots (Spinger Tracks in Advanced Robotics,
Springer, 2006).
4. H. Durrant-Whyte and T. Bailey, Simultaneous localization
and mapping (SLAM): Part I essential algorithms, IEEE
Robot. Autom. Mag. 13, 99108 (2006).
5. H. Durrant-Whyte and T. Bailey, Simultaneous localization
and mapping (SLAM): Part II state of the art, IEEE Robot.
Autom. Mag. 13, 108117 (2006).
6. S. Thrun, W. Burgard and D. Fox, Probabilistic Robotics (MIT
Press, Cambridge, 2005).
7. J. E. Guivant and E. M. Nebot, Optimization of the
simultaneous localization and map-building algorithm for realtime implementation, IEEE Trans. Robot. Autom. 17, 242257
(2001).
8. A. Garulli, A. Giannitrapani, A. Rosi and A. Vicino, Mobile
robot SLAM for Line-Based Environment Representation,
Proceedings of the 44th IEEE Conference on Decision and
Control, pp. 20412046, Seville, Spain (2005).
9. J. Castellanos, R. Martinez-Cantin, J. Tardos and J. Neira,
Robocentric map joining: Improving the consistency of EKFSLAM, Robot. Auton. Sys. 55. 2129 (2007).
http://journals.cambridge.org
IP address: 200.83.129.91
282
Towards features updating selection based on the covariance matrix of the SLAM system state
http://journals.cambridge.org
IP address: 200.83.129.91