Abstract
Introduction
The mobile robotic research area can be divided into three main lines: Mapping, Localization and Navigation/Exploration. Mapping is related to the way the robot models the environment based on the sensors data (Montemerlo, M. & Thrun, S., 2007; Hänel, D. et al., 2003). Localization is the knowledge of the robotσ position within the environment through which it is moving or acting with (Guivant, J. E. & Nebot, E. M., 2001; Xi, B. et al., 2008). Navigation (or exploration) is the strategy used to drive the mobile robot motion in the environment (Arkin, R. C., 1998; Thrun, S. et al., 2005). In order to reach full autonomy, the robot should be capable of localizing itself in the environment through which is navigating while building a map of such an environment, without human intervention on the mobile robot's motion commands (Montemerlo, M. & Thrun, S., 2007; Thrun, S. et al., 2005). The SLAM (Simultaneous Localization and Mapping) algorithm comes up as a solution to the concurrent tasks of map building and robot localization (Durrant-Whyte, H. & Bailey, T., 2006; Durrant-Whyte, H. & Bailey, T., 2006a).
From its early beginning, SLAM has been implemented in several solution algorithms, depending on the application of the mobile robot task. The Extended Kalman Filter (EKF) solution is the most widely approach used in the scientific community (Ayache, N. & Faugeras, O., 1989; Chatila, R. & Laumond, J. P., 1985), though it is restricted to modeling every variable as a Gaussian random variable. The Particle Filter (PF) and the Unscented Kalman Filter (UKF) have proven to be better approaches to the SLAM problem. The Particle Filter solves the Gaussian restriction of the variables involved in the SLAM models (Thrun, S. et al., 2005) whereas the UKF has shown a better performance dealing with non-linear models of the vehicle and the measurements (Thrun, S. et al., 2005). Nevertheless, both algorithms are computer-time heavy.
The model of the environment built by the SLAM algorithm represents the way the robot senses and recognizes the environment, depending on the sensor type mounted on the vehicle. The map can be either topological, metrical or hybrid (Ayache, N. & Faugeras, O., 1989; Kouzoubov, K. & Austin, D., 2004), being the metric feature-based map the most widely used technique (Andrade-Cetto, J. & Sanfeliu, A., 2002). The extracted features usually consist on some geometrical constrain of the environment, such as lines, corners or curves. These features are used to localize the robot within the environment.
Since the SLAM algorithm is a dimensionally dynamic algorithm, its complexity grows as the number of observed features increases. Thus, the sampled time of the entire algorithm is variable. This situation is a hindrance when the SLAM is combined with some planned-based control strategy. The reason for this is that, during the SLAM process, the vehicle keeps operating in an open loop control. Some approaches have been proposed to solve this problem (Castellanos, J. et al., 2007) for real time implementation, usually sacrificing the map's resolution (Castellanos, J. et al., 2007; Guivant, J. E. & Nebot, E. M., 2001) or, else, they may lack a plan-based control strategy (Andrade-Cetto, J. & Sanfeliu, A., 2002).
Some approaches concerning a feature selection restriction in the SLAM algorithm can be found in the scientific literature. In (Zhang, D. et al., 2005) a restriction based on the entropy analysis of the feature is made before updating the SLAM system state. This way, if the entropy is higher than a certain threshold, then it is considered for updating the system state. In the visual SLAM presented in (Fintrop, S. et al., 2006), the algorithm detects regions with strong contrast while rejecting the remaining areas. In (Eade, E. & Drummond, T.W., 2006), a monocular SLAM based on edge detection is presented. The edges are selected according to the order of their geometrical information. Thus, the edges with higher order of geometrical information are used in the SLAM process. In (Lee, Y.J. & Song, J.B., 2007), a visual SLAM algorithm based on object recognition is proposed. In this paper, a certain number of objects are recognized, classified and then used in the SLAM process. Excepting the paper by (Zhang, D. et al, 2005), the remaining works in the literature are focused on selecting the features that better represent the environment, or those which are better detected, though without showing how the selected features will influence the SLAM process.
Our paper proposes a feature selection procedure based on SLAM posterior covariance sensibility. This method recursively selects those features that will make the EKFSLAM to converge faster. The determinant of the SLAM covariance matrix is used as a measurement of the volume of the uncertainty ellipse associated with the SLAM system state. Restricting the EKF correction stage to the selected features allows for real and constant time implementation without losing map consistence. The extracted features correspond to lines and corners, either concave or convex.
The paper is organized as follows. Section 2 shows an introduction to the proposed SLAM algorithm, and two feature selection SLAM approaches. One is based on the entropy of the extracted features, while the other approach—representing the contribution of this paper—is based on the sensibility of the covariance matrix of the SLAM system state. Section 3 presents the comparison results between the two feature selection SLAMs and the experimental results with the entire system implemented. Finally, section 4 shows some conclusions of this work.
Methods
In this section, the general EKF-SLAM used here is presented, along with two procedures to select the features of the SLAM correction stage. A first approach is based on the entropy analysis of the environment features, and the other one is based on the sensibility of the covariance matrix of the SLAM system state.
EKF-SLAM Algorithm
The SLAM algorithm solved by an EKF is stated by Eqs. (1)–(5). All variables involved in the estimation process are considered as Gaussian random variables.
Prediction Stage
Correction Stage
In (1)–(2) the expression for the prediction stage of the EKF is presented.
In (4), (
The SLAM system state is composed by both the vehicle's degrees of freedom and the parameters that define all features, considered as stationary. According to this, the motion computed in (1) corresponds to the robot's movements. More information about this topic can be found in (Durrant-Whyte, H. & Bailey, T., 2006; Durrant-Whyte, H. & Bailey, T., 2006a). The mobile robot used in this work is a non-holonomic unicycle type -Pioneer 3DX, built by ActivMedia®-. Figure 1 shows a scheme of the vehicle and (6) represents their kinematic equations. The robot has a range sensor laser -built by SICK®- which acquires 181 measurements, from 0 to 180 degrees, within a 30-meter range. The models of the features are shown in equations (7) – (8), and Fig. 2 shows the geometrical meanings 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 (Garulli, A. et al., 2005; Andrade-Cetto, J. & Sanfeliu, A., 2002).

Schematic of the mobile robot used.

Feature extraction.
In (6), Φ is the discrete time Gaussian process noise associated with the robot's model,
In this work, a secuential EKF algorithm was implemented as in (Thrun, S. et al., 2005). In this algorithm, the correction iteration is executed with one innovation at a time. This algorithm implies that the Jacobian matrix of the observation model,
The general form of the sequential EKF-SLAM algorithm (Thrun, S. et al., 2005) is summarized in Algorithm 1.

Sequential EKF-SLAM without Feature Selection.
The SLAM algorithm with feature selection based on the observation of the entropy of the measurements was previously presented by (Zhang, D. et al., 2005). This algorithm is considered as related to the one proposed in this paper and will be used for comparison purposes. This method is based on the calculation of the entropy attached to each observed feature. If the entropy is below a certain threshold value, then the observation will be computed in the correction stage of the EKF.
Considering that all variables involved in the EKF-SLAM estimation process are Gaussian random variables, the entropy value associated with a single observation can be represented as in (9).
Here ∑ is the entropy of the observation
The information difference can be calculated as in (12), where the absolute incremental information is obtained.
Thus, when the absolute information of a feature exceeds a certain threshold (δ), that feature will be used in the correction stage of the EKF-SLAM algorithm. The complete algorithm can be summarized as follows.

Entropy feature selection procedure.
As Algorithm 2 shows, the calculation of the entropy associated with a single observation -and its information metric- is related to the determinant of the complete covariance matrix of the SLAM system state. Thus, the complexity of the calculation of the entropy is O(
Although this algorithm has the advantage of restricting the number of features to be updated, the benefits in processing time are shown only in the updating part of the EKF-SLAM (Eq. (4)). The reason for this is that the calculation of the entropy requires a previous calculation of both the covariance matrix (Eq. (5)) and its determinant which, with a higher number of states, will delay the execution of the EKF-SLAM algorithm. Further detail on this approach can be found in (Zhang, D. et al, 2005).
The proposal of this work is a feature selection algorithm based on the observation of the sensibility of the SLAM covariance matrix. This approach is sustained by evaluating the influence of a given feature of the environment -with positive matching in (4) in the convergence ratio of the covariance matrix of the SLAM system state. Thus, according to (5), the covariance correction can be expressed as:
By applying the determinant to both sides of the equality above,
and considering that, in (13)
Equation set (15) implicitly defines the convergence property of the EKF-SLAM, which is:
Another convergence property states that, at the limit, all elements of
Statement (15) defines the sensibility of the covariance matrix of the SLAM system state measured from the determinant of such a matrix. Thus, according to (15) and (16), given a set of observed features with correct matching, the feature that causes the highest decrease of |
Thus, according to (17), finding the observation
Considering now that the EKF-SLAM implemented in this work is a sequential algorithm (Thrun, S. et al., 2005), the Jacobian of the observation model has the form shown in (18), where
In (18), Θ is a null matrix. Thus, the Jacobbian of the observation is only calculated on the Jacobbian entries that correspond to the vehicle and to the feature with correct matching. More information about this topic can be found in (Durrant-Whyte, H. & Bailey, T., 2006; Durrant-Whyte, H. & Bailey, T., 2006a). Using (18) and (19), the expression |
In (20),
The final correction stage algorithm implemented in this work is formalized in Algorithm 3.

Feature Selection based on Covariance Sensibility
In Algorithm 3, sentences (i) – (ii) are the declaration of the domain that is going to be used in the correction stage; sentence (iii) determines -if possible- the maximum number of features that will be used for correcting the SLAM. If the number of features in
Comparing Algorithm 2 with Algorithm 3 it is possible to see that Algorithm 3 does not compute the update of the SLAM covariance system state until a
Let
In addition, in Algorithm 3, let us supose that the maximum number of features to be used in the correction stage is
Then, considering that |
Then, from Eqs. (21) to (23), the following expression holds,
Equation (24) can be used as a measurement means for the accuracy of the system state estimation using the EKF-SLAM with feature selection based on covariance sensibility, with respect to the classical sequential EKFSLAM. Then, the higher the ratio shown in (24), the better the system state estimation made by the EKF-SLAM with the feature selection procedure proposed in this work.
Several experiments were carried out in order to show the performance and benefits of the EKF-SLAM with feature selection criteria based on the covariance matrix sensibility proposed in this work. The computational cost of this algorithm was also compared to the sequential EKF-SLAM and the entropy approach EKF-SLAM shown in sections 2.2 and 2.3 respectively. All SLAM algorithms worked in real time. The mobile robot motion strategy used in the experiences was a local navigation based on frontier points determination (Tao, T. et al., 2007). Considering that the SLAM provides an estimate of the robot's pose to the control algorithm, only one SLAM algorithm can be executed at a time. The following sections show the adopted control strategy in detail, the SLAM consistence analysis and the computational costs of each SLAM algorithm.
Mobile Robot Motion Strategy
The motion strategy used in this work obeys the concept of Active SLAM introduced by (Tao, T. et al., 2007). Thus, the robot's pose estimation is used to generate the controller references in order to drive the robot. In this work, a navigation based on frontier points was implemented, which can be summarized as follows.
The robot first searches for an unoccupied space at the frontier of its range sensor measurements (frontier points). Once a frontier point is selected, a straight trajectory is generated from the robot's position to the frontier point. A trajectory controller is then excecuted to reach a neighborhood of the frontier point. This controller is an hybrid dynamic adaptive controller presented in (De la Cruz, C. et al., 2008). Once the robot reaches a neighborhood of the destination point, a next frontier point is searched. If no frontier point is detected, then the robot turns around until it founds a frontier point. If during the trajectory an obstacle is detected, the robot avoids it using a tangencial avoidance criteria (Santos Brandao, A. et al., 2008) without losing its destination objective. The SLAM algorithm keeps being active during the control execution.
Figure 3 shows the Active SLAM architecture implemented in this work. The localization and mapping procedures are carried out at the global reference frame, i.e., the system state variables are defined at this global frame. Nevertheless, the EKF-SLAM is executed at a local reference frame level. Thus, the data association and the features' prediction and extraction are taken into account at the local reference frame attached to the robot. The frontier points detection, the trajectory planning and the trajectory control are calculated and executed at the local reference frame with the information stemming from sensor measurements.

Active SLAM architecture. The mobile robot navigation performs at a local reference frame attached to the robot.
The mobile robot used in this work, is an unicycle type, Pioneer 3DX built by ActivMedia® with a range laser sensor built by SICK®. The laser takes 181 measurements from the environment, from 0 − 180°. A maximum range of 10 meters was adopted in this work.
Although the EKF-SLAM with the feature selection criteria proposed in this work does not imply a modification of the EKF, a consistence analysis was carried out for this SLAM. The consistence analysis shows that, when the EKF correction stage is restricted to those features that contribute the most for SLAM system state covariance matrix convergence (see Eq. (14)), the map of the environment does not become inconsistent.
In order to show consistence, the true location of the robot in the environment is needed for comparison purposes. Figure 4.a shows the simulated environment with the expected trajectory. The environment was created using the MobileSim® tools (provided by ActivMedia®). Figure 4.b shows the map reconstruction and the actual path travelled by the robot. The mobile robot drives according to the control strategy presented in the previous section. The green circles (

Consistence analysis of the EKF-SLAM with feature selection criteria based on SLAM system state covariance matrix sensibility. a) Simulated environment with expected path; b) map reconstruction based on the SLAM system state. It can be seen that the map is coherent with its model; c) the
According to section 3.1, the mobile robot trajectory controller uses the pose estimation of the mobile robot for generating the motion references. This scenario implies that only one SLAM algorithm is able to perform its estimation at a time. Therefore, three similar experiments were made in the facilities of the Instituto de Automatica. For each experience, the robot was placed in the same initial position in the building. Figure 5.a–c shows the map reconstruction of the places traversed of the Instituto de Automatica according to the three EKFSLAM considered in this paper (sequential EKF-SLAM, entropy feature selection approach and the covariance matrix sensibility approach). In Fig. 5, the green circles represent corners of the environment, the blue points are the path travelled by the robot, the red crosses are the beginning and ending points of the segments of the environment, whereas solid black lines are the segmentes associated with lines and the yellow points are raw laser data.

Real time experimental results. a) Map reconstruction of the facilities at the Instituto de Automatica using the sequential EKF-SLAM system state; b) map reconstruction using the EKF-SLAM with entropy feature selection system state, and c) map reconstruction using the EKF-SLAM with covariance sensibility feature selection procedure system state. In the three experiments the robot was left at the same position inside the Instituto de Automatica, although its orientation varied.
The accumulated processing time, as can be seen in Fig. 6, shows that the EKF-SLAM with feature selection based on the SLAM system state with the covariance sensibility approach has shorter computational processing time when compared with the sequential EKF-SLAM and the entropy feature selection approach. The accumulated processing time shown in Fig. 6 corresponds to the experiments of Fig. 5. After several long-time trials, the accumulated time of the EKF-SLAM with covariance sensibility approach was 33% shorter than the accumulative time of the sequential EKF-SLAM and 47% shorter than the EKF-SLAM with entropy approach. In addition, the accuracy of the map -see Eq. (24)- for the experiment shown in Fig. 5 was 97.2%.

Accumulated SLAM processing time. The EKFSLAM with the covariance sensibility approach demands lesser processing time per iteration than the classical sequential EKF-SLAM or the entropy feature selection approach.
During the SLAM execution, the mobile robot remains in an open loop state. This period depends on the SLAM processing charges, i.e., on the number of features to be corrected (Thrun, S. et al., 2005). Considering that the sampling time of the mobile robot used in this work (Pioneer 3DX) must be a multiple of 0.1 seconds, if the SLAM requires, e. g., 0.45 seconds of processing, then the sampling time for this iteration will be at least 0.5 seconds. During this time of 0.5 second, the command control of the robot does not change, thus being unable to react if an obstacle appears on its path. This crucial navigation problem can be solved in part by adopting a constant time SLAM. In the sequential EKF-SLAM, a constant processing time is not feasible due to the variation of the number of features to be associated. On the other hand, the EKF-SLAM with feature selection based on SLAM system state covariance matrix sensibility is a constant time algorithm due to the restriction on the number of features to be associated. Figure 7 shows the open-loop accumulated time for the three experiments shown in Fig. 5. As noted, the EKFSLAM with feature selection based on covariance sensibility proposed in this work presents the shortest robot's open loop time.

Accumulated robot's open loop time. The time the robot remains in an open loop state is shorter for the covariance sensibility approach than for the classical sequential EKF-SLAM or for the entropy feature selection approach.
After several trials, the EKF-SLAM with feature selection based on covariance sensibility have shown a 45% shorter accumulated open loop time than the sequential EKF-SLAM, and 56% shorter time than the EKF-SLAM with feature selection based on the feature selection entropy approach.
Since the experiments concerning the EKF-SLAM with feature selection based on the covariance matrix shown in this work had a restricted number of correction interations (see Algorithm 3), the mobile robot sampling time turned to be 0.2 seconds. For the sequential EKF-SLAM it rose to 0.5 seconds (its maximum registered value), and for the EKF-SLAM with feature selection based on the entropy approach it had a maximum sampling time of 0.7 seconds.
Figure 8 shows the map reconstruction of the entire Instituto de Automatica when the robot navigates within its premises using the control strategy presented in this work along with the EKF-SLAM with feature selection based on SLAM system state covariance matrix sensibility. Figure 9 shows the accumulated time when a similar navigation is performed using the classical sequential EKF-SLAM.

Map reconstruction of the Instituto de Automatica using the proposed feature selection procedure. Green circles (

Accumulated processing time of the EKF-SLAM with feature selection based on covariance sensibility approach when compared to the classical sequential EKF-SLAM. Both experiments consisted on navigating all the corridors within the Instituto de Automatica. In both cases, the robot had performed similar paths.
A new solution to the sequential EKF-SLAM algorithm based on a feature selection procedure has been proposed in this work. The feature selection method consisted in correcting the EKF according to those features to which the SLAM covariance matrix shows more sensibility, allowing, in that way, EKF convergence. The experiments were made in real time realizations and within a real semi-structured environment. A comparison was also made between the approach presented in this work and a feature selection procedure based on entropy analysis along with the classical sequential EKF-SLAM algorithm. The processing times of the different realizations have shown the advantages of using the approach presented in this paper with respect to the entropy analysis and the classical sequential EKF-SLAM. The EKF-SLAM with feature selection based on the covariance sensibility approach have shown an average accumulated processing time 45% shorter than the sequential EKFSLAM and 56% shorter than the EKF-SLAM with feature selection based on the entropy approach. The experiments have also shown that the map kept being consistent.
The EKF-SLAM with feature selection based on the covariance sensibility approach has allowed to execute a constant time SLAM in real time realizations.
