<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s110100062</article-id>
<article-id pub-id-type="publisher-id">sensors-11-00062</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Analysis of Different Feature Selection Criteria Based on a Covariance Convergence Perspective for a SLAM Algorithm</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Auat Cheein</surname><given-names>Fernando A.</given-names></name><xref ref-type="corresp" rid="c1-sensors-11-00062">★</xref></contrib>
<contrib contrib-type="author">
<name><surname>Carelli</surname><given-names>Ricardo</given-names></name></contrib>
<aff id="af1-sensors-11-00062">Instituto de Automatica, National University of San Juan, Av. Libertador Gral. San Martin 1109 Oeste, San Juan, Argentina; E-Mail: <email>rcarelli@inaut.unsj.edu.ar</email></aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-11-00062">
<label>★</label> Author to whom correspondence should be addressed; E-Mail: <email>fauat@inaut.unsj.edu.ar</email>; Tel.: +54 264 4213303; Fax: +54 264 4213672.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>23</day>
<month>12</month>
<year>2010</year></pub-date>
<volume>11</volume>
<issue>1</issue>
<fpage>62</fpage>
<lpage>89</lpage>
<history>
<date date-type="received">
<day>13</day>
<month>10</month>
<year>2010</year></date>
<date date-type="rev-recd">
<day>22</day>
<month>11</month>
<year>2010</year></date>
<date date-type="accepted">
<day>21</day>
<month>12</month>
<year>2010</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>This paper introduces several non-arbitrary feature selection techniques for a Simultaneous Localization and Mapping (SLAM) algorithm. The feature selection criteria are based on the determination of the most significant features from a SLAM convergence perspective. The SLAM algorithm implemented in this work is a sequential EKF (Extended Kalman filter) SLAM. The feature selection criteria are applied on the correction stage of the SLAM algorithm, restricting it to correct the SLAM algorithm with the most significant features. This restriction also causes a decrement in the processing time of the SLAM. Several experiments with a mobile robot are shown in this work. The experiments concern the map reconstruction and a comparison between the different proposed techniques performance. The experiments were carried out at an outdoor environment composed by trees, although the results shown herein are not restricted to a special type of features.</p></abstract>
<kwd-group>
<kwd>SLAM</kwd>
<kwd>mapping</kwd>
<kwd>features selection</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>This paper addresses the problem of feature selection within a feature-based simultaneous localization and mapping (SLAM) algorithm. The feature selection methods shown herein are based on non-heuristic criteria in order to use only the most meaningful features according to the convergence theorem of the SLAM algorithm, in the correction stage of the SLAM.</p>
<p>The SLAM algorithm applied on a mobile robot recursively estimates the pose—localization and orientation—of the vehicle and the elements of the environment—called map—while reducing errors associated with the estimation process [<xref ref-type="bibr" rid="b1-sensors-11-00062">1</xref>,<xref ref-type="bibr" rid="b2-sensors-11-00062">2</xref>]. Several algorithms have been proposed as solutions to the SLAM problem. The most widely used by the scientific community is the Extended Kalman filter (EKF) [<xref ref-type="bibr" rid="b1-sensors-11-00062">1</xref>,<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>–<xref ref-type="bibr" rid="b6-sensors-11-00062">6</xref>] solution and its derived filters, such as the Unscented Kalman filter (UKF) [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>] and the Extended Information filter (EIF) [<xref ref-type="bibr" rid="b7-sensors-11-00062">7</xref>,<xref ref-type="bibr" rid="b8-sensors-11-00062">8</xref>]. In these filters, the SLAM system state, composed by the robot’s pose and the map of the environment, it is modeled as a Gaussian random variable. Others solutions has also been implemented to solve the SLAM problem with high success, such as the case of the Particle filter (PF) [<xref ref-type="bibr" rid="b9-sensors-11-00062">9</xref>,<xref ref-type="bibr" rid="b10-sensors-11-00062">10</xref>], the <italic>Graph-SLAM</italic> [<xref ref-type="bibr" rid="b11-sensors-11-00062">11</xref>,<xref ref-type="bibr" rid="b12-sensors-11-00062">12</xref>] and the <italic>FastSLAM</italic> presented in [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>,<xref ref-type="bibr" rid="b13-sensors-11-00062">13</xref>].</p>
<p>Different SLAM algorithms solutions are presented to solve one or several issues associated with the SLAM process, such as the time consuming processing, the accuracy of the map, the successful closure of the loop, the integration of the SLAM algorithm with control laws to drive the vehicle motion and the modeling of different environments (dynamic, highly dynamic, static, structured, unstructured, <italic>etc.</italic>) [<xref ref-type="bibr" rid="b2-sensors-11-00062">2</xref>,<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>,<xref ref-type="bibr" rid="b5-sensors-11-00062">5</xref>]. Thus, for example, the EKF-SLAM presented in [<xref ref-type="bibr" rid="b4-sensors-11-00062">4</xref>] map lines extracted from structured environments whereas in [<xref ref-type="bibr" rid="b14-sensors-11-00062">14</xref>,<xref ref-type="bibr" rid="b15-sensors-11-00062">15</xref>] works on environments with point-based features (parameterized as range and bearing). The EKF has also been used in vision-based SLAM. Despite the easy implementation of the EKF-SLAM, the correction part of it demands high computation resources. To solve this, the EIF is used instead of the EKF [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>]. The PF arises as an improvement of the map accuracy and makes the SLAM process independent from the Gaussianity restriction of the EKF, although its real time implementation jointly with non-reactive control laws is still in development.</p>
<p>Several secondary process are involved within the SLAM algorithm, such as the case of the feature extraction process and the feature matching criterion. The feature extraction process determines the model associated with the environment and thus the map derived from the SLAM system state. The feature extraction procedure is also strongly related with the sensors incorporated on the mobile robot. Thus, for example, the line features or the point-based features mentioned before [<xref ref-type="bibr" rid="b4-sensors-11-00062">4</xref>,<xref ref-type="bibr" rid="b14-sensors-11-00062">14</xref>] are extracted by means of a range sensor laser, whereas the lines in [<xref ref-type="bibr" rid="b16-sensors-11-00062">16</xref>] are extracted by a single camera. The feature extraction procedure is often a first environment filter of the SLAM. Those features whose quality is not acceptable for the mapping process or that have a certain probability of being a spurious measurement are rejected. The matching or data association is also crucial in the SLAM algorithm. A bad feature association could lead the SLAM to inconsistence [<xref ref-type="bibr" rid="b1-sensors-11-00062">1</xref>,<xref ref-type="bibr" rid="b2-sensors-11-00062">2</xref>]. Many feature association techniques have been proposed in the scientific literature, although the Mahalanobis distance is one of the most used criterion [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>]. A successful matching will allow a successful SLAM.</p>
<p>This paper introduces several non-heuristic criteria to select the most significant features from the environment to be used in the correction stage of the SLAM algorithm. The SLAM algorithm is implemented on an EKF. The selection criteria are based on the convergence theorem of the SLAM, restricting the correction stage of the estimation process to those features that contribute the most to the convergence of the determinant of the covariance matrix of the SLAM system state. Thus, four methods are presented: a first approach based on covariance ratio, a second approach based on the sum of the eigenvalues associated with the correction stage of the SLAM algorithm, a third approach based on the maximum eigenvalue also associated with the correction stage of the EKF-SLAM and a fourth approach based on the covariance matrices associated with the features extracted during the feature extraction procedure. The optimization criteria and the corresponding algorithms for such feature selection procedures are also included in this work along with the appropriate extensions in the case that the covariance Joseph’s form were used instead of the classical EKF covariance updating procedure [<xref ref-type="bibr" rid="b17-sensors-11-00062">17</xref>]. Furthermore, the proposals are compared with a SLAM algorithm with an entropy-based feature selection and the full sequential EKF-SLAM [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>]. Several experimental results and performance comparisons are also included in this work, showing the advantages of implementing a non-heuristic features selection method in a SLAM algorithm. Although the feature selection criteria presented herein are not restricted to the type of features used within the SLAM, an EKF-SLAM with point-based features is used to show the performance of each proposal.</p></sec>
<sec>
<label>2.</label>
<title>Related Work</title>
<p>The need of selecting the features to be used by the SLAM algorithm is present at every SLAM algorithm design. The most common criterion is to select the best features from the feature extraction stage. Thus, those features without the quality demanded by the implementation would be rejected, such is the case shown in [<xref ref-type="bibr" rid="b18-sensors-11-00062">18</xref>], where features that are not good enough for the mapping purpose are considered as spurious measurements. For example, in [<xref ref-type="bibr" rid="b4-sensors-11-00062">4</xref>], the lines whose lengths are below a certain threshold are not added to the SLAM system state nor considered in the updating stage.</p>
<p>Another example of the feature selection application within the SLAM algorithm is the one presented in [<xref ref-type="bibr" rid="b15-sensors-11-00062">15</xref>,<xref ref-type="bibr" rid="b19-sensors-11-00062">19</xref>]. When the SLAM is implemented on real time processes, the processing time becomes crucial for avoiding open loop situations [<xref ref-type="bibr" rid="b20-sensors-11-00062">20</xref>]. According to this, for the purpose of reducing the processing time associated with the correction stage of the EKF-SLAM algorithm, a restriction is made on the number of features to be used during the updating. Thus, the work of [<xref ref-type="bibr" rid="b15-sensors-11-00062">15</xref>,<xref ref-type="bibr" rid="b19-sensors-11-00062">19</xref>] uses only a fixed number of features chosen regarding different criteria, such as proximity to the vehicle, smallest covariance associated with the extraction procedure or simply by the order in which the features were detected.</p>
<p>On the other hand, the work of [<xref ref-type="bibr" rid="b21-sensors-11-00062">21</xref>] presents a new criterion of chosen features according to the information provided by them to the SLAM algorithm. In order to do so, the entropy of the covariance matrix of the SLAM system state attached to each observed feature is calculated. If the <italic>information difference</italic>—see Section 4.1—is over a certain threshold, then that feature will be used in the correction stage of the SLAM algorithm; otherwise it will be discarded. The main disadvantages of this method is the high computational time associated with the calculation of the determinant of the covariance matrix of the SLAM system state—which grows as the number of features increases—and the selection of the <italic>information difference</italic> threshold. This threshold represents a compromise in the design of the selection procedure.</p></sec>
<sec>
<label>3.</label>
<title>Sequential EKF-SLAM Algorithm</title>
<p>The SLAM algorithm solved by an EKF is stated in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>. All variables involved in the estimation process are considered as Gaussian random variables.
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>In <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is the predicted state of the system at time <italic>t</italic>; <italic>u<sub>t</sub></italic> is the input control commands and <italic>ξ̂<sub>t</sub></italic> is the corrected state at time <italic>t; f</italic> describes the motion of the elements of <italic>ξ̂</italic>. 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and <italic>P<sub>t</sub></italic> are the predicted and corrected covariance matrices respectively at time <italic>t; A<sub>t</sub></italic> is the Jacobian of <italic>f</italic> with respect to the SLAM system state and <italic>Q<sub>t</sub></italic> is the covariance matrix of the noise associated to the process, whereas <italic>W<sub>t</sub></italic> is its Jacobian matrix; <italic>K<sub>t</sub></italic> is the Kalman gain at time <italic>t; H<sub>t</sub></italic> is the Jacobian matrix of the measurement model (<italic>h</italic>) and <italic>R<sub>t</sub></italic> is the covariance matrix of the actual measurement (<italic>z<sub>t</sub></italic>). The term 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is called the innovation vector [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>] and takes place when the data association procedure has reached an appropriated matching between the observed feature and the predicted one 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Both, the process model (<italic>f</italic>) and the observation model are non-linear expressions. Further information about the EKF-SLAM can be found in [<xref ref-type="bibr" rid="b22-sensors-11-00062">22</xref>].</p>
<p>The sequential EKF-SLAM is based on the iterative calculation of the correction stage (SLAM system state and covariance matrix) for each feature with correct association—see [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>]. The last statement implies that the Jacobian matrix of the measurement model and Kalman gain are sparse matrices, decreasing in that way the processing time during a correction iteration. Nevertheless, the prediction stage remains as stated in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>.</p>
<p>The general form of the correction stage of the classical sequential EKF-SLAM algorithm [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>] is summarized in <xref ref-type="table" rid="t2-sensors-11-00062">Algorithm 1</xref>. Sentences (3) to (9) describe the <italic>for</italic>-loop of the correction stage of the algorithm. For every feature with correct association–sentence (2)—the <italic>for</italic>-loop is executed. Sentence (4) shows the Kalman gain calculation; sentence (5) is the correction of the SLAM system state whereas sentence (6) is the correction of the covariance matrix of the SLAM algorithm; in sentence (7), the current feature is deleted from the set of features with correct association (<italic>M<sub>t</sub></italic>). In the next iteration, the next predicted SLAM system state and covariance matrix are the last corrected SLAM system state and covariance matrix respectively, as noted in sentence (8).</p>
<table-wrap id="t2-sensors-11-00062" position="anchor">
<label>Algorithm 1.</label>
<caption>
<p>Algorithm of the Sequential EKF-SLAM.</p></caption>
<table frame="void" rules="none">
<tbody>
<tr>
<td align="right" valign="middle">1:</td>
<td align="left" valign="middle">Let <italic>N<sub>t</sub></italic> be set of the observed features</td></tr>
<tr>
<td align="right" valign="middle">2:</td>
<td align="left" valign="middle">Let <italic>M<sub>t</sub></italic> ⊆ <italic>N<sub>t</sub></italic> be the set of features with correct association</td></tr>
<tr>
<td align="right" valign="middle">3:</td>
<td align="left" valign="middle"><bold>for</bold> <italic>j</italic> = 1 to ⧣ <italic>M<sub>t</sub></italic> <bold>do</bold></td></tr>
<tr>
<td align="right" valign="middle">4:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">5:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">6:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">7:</td>
<td align="left" valign="middle">  <italic>M<sub>t</sub></italic> = <italic>M<sub>t</sub></italic> – {<italic>z<sub>j</sub></italic>}</td></tr>
<tr>
<td align="right" valign="middle">8:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">9:</td>
<td align="left" valign="middle"><bold>end for</bold></td></tr></tbody></table></table-wrap></sec>
<sec>
<label>4.</label>
<title>Features Selection Criteria</title>
<p>By exploiting the sequentiality condition of the EKF-SLAM presented in <xref ref-type="table" rid="t2-sensors-11-00062">Algorithm 1</xref>, the following sections will introduce several feature selection approaches for choosing the most significant features to be used in the correction stage of the SLAM from a non-arbitrary perspective.</p>
<p>Thus, Section 4.1 shows a method for selecting features of the environment by means of the entropy associated with them; Section 4.2 shows the feature selection criterion based on the covariance ratio of the SLAM algorithm; Section 4.3 shows two selection criteria based on the eigenvalues associated with the covariance ratio of the SLAM algorithm; Section 4.4 shows the modifications of the previous feature selection criteria when the Joseph’s form of the covariance matrix is used in the correction stage of the EKF-SLAM instead the one presented in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> and Section 4.5 shows the feature selection criteria based on covariance matrices associated with the features’ extraction procedure.</p>
<sec>
<label>4.1.</label>
<title>Features Selection: Entropy Approach</title>
<p>The SLAM algorithm with feature selection based on the observation of the entropy of the measurements was previously presented by [<xref ref-type="bibr" rid="b21-sensors-11-00062">21</xref>]. This algorithm is considered as related to the proposal herein. 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.</p>
<p>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 it is shown in <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>.
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mo>∑</mml:mo>
<mml:mi>t</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext>ln</mml:mtext>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>ξ</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mtext>ln</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>In <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>, ∑ is the entropy of the observation <italic>z</italic>. The <italic>a priori</italic> and <italic>posteriori</italic> information metric can be defined as the inverse of the entropy value, shown in <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>. Thus,
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">im</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mo>∑</mml:mo>
<mml:mi>t</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mtext>ln</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">im</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mtext>ln</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>The information difference can be calculated as in <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref>, where the absolute incremental information is obtained.
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mo>Δ</mml:mo>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">im</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="italic">im</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></disp-formula>Thus, when the absolute information of a feature exceeds a certain threshold (<italic>δ</italic>), that feature will be used in the correction stage of the EKF-SLAM algorithm. The algorithm of the EKF-SLAM with feature selection based on the entropy is summarized in <xref ref-type="table" rid="t3-sensors-11-00062">Algorithm 2</xref>.</p>
<p>As <xref ref-type="table" rid="t3-sensors-11-00062">Algorithm 2</xref> 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 <italic>O</italic>(<italic>n</italic><sup>2</sup>), where <italic>n</italic> is the dimension of the SLAM system state. Since this dimension varies, the complexity of the algorithm varies as well. Although this algorithm has the advantage of restricting the number of features to be updated, the calculation of the entropy requires the calculation of the determinant of the SLAM system state covariance matrix (<italic>P<sub>t</sub></italic>), which in fact increases the processing time of the EKF-SLAM algorithm. Further details on this approach can be found in [<xref ref-type="bibr" rid="b21-sensors-11-00062">21</xref>].</p>
<table-wrap id="t3-sensors-11-00062" position="anchor">
<label>Algorithm 2.</label>
<caption>
<p>Algorithm of the EKF-SLAM based on the entropy feature selection procedure.</p></caption>
<table frame="void" rules="none">
<tbody>
<tr>
<td align="right" valign="middle">1:</td>
<td align="left" valign="middle">Let <italic>N<sub>t</sub></italic> be set of the observed features at time t</td></tr>
<tr>
<td align="right" valign="middle">2:</td>
<td align="left" valign="middle">Let <italic>M<sub>t</sub></italic> ⊆ <italic>N<sub>t</sub></italic> be the set of features with correct association at time t</td></tr>
<tr>
<td align="right" valign="middle">3:</td>
<td align="left" valign="middle">∀<italic>z<sub>i</sub></italic> ∈ <italic>M<sub>t</sub></italic>, <italic>P<sub>t</sub>|z<sub>i</sub></italic> is calculated according to <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref></td></tr>
<tr>
<td align="right" valign="middle">4:</td>
<td align="left" valign="middle"><bold>if</bold> Δ<italic><sub>i</sub></italic> ≥ <italic>δ</italic> <bold>then</bold></td></tr>
<tr>
<td align="right" valign="middle">5:</td>
<td align="left" valign="middle">  Update equation 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> takes place.</td></tr>
<tr>
<td align="right" valign="middle">6:</td>
<td align="left" valign="middle"><bold>end if</bold></td></tr></tbody></table></table-wrap></sec>
<sec>
<label>4.2.</label>
<title>Features Selection: Covariance Ratio Approach</title>
<p>The covariance ratio approach as feature selection criterion in the EKF-SLAM algorithm was formerly published by the authors in [<xref ref-type="bibr" rid="b23-sensors-11-00062">23</xref>]. This approach is based on the evaluation of the influence of a given feature—with correct association—in the convergence of the covariance matrix of the SLAM system state. The correction of the covariance matrix of the SLAM system state can be expressed as:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo mathvariant="italic">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></disp-formula></p>
<p>Applying the determinant to both sides of the expression above, it follows:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Considering that in <xref ref-type="disp-formula" rid="FD6">Equation (6)</xref>, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is <italic>pd</italic> (positive definite) and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is <italic>psd</italic> (positive semi-definite) matrices, the above expression leads to <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref>.
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Then, from <xref ref-type="disp-formula" rid="FD6">Equations (6)</xref> and <xref ref-type="disp-formula" rid="FD7">(7)</xref>:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mi> </mml:mi>
<mml:mi> </mml:mi>
<mml:mi mathvariant="italic">with</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≠</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="disp-formula" rid="FD8">Equation (8)</xref> defines the covariance ratio of the SLAM algorithm. In this case, the ratio is used as a measure of the volume of the uncertainty ellipse associated with the covariance matrix of the SLAM system state [<xref ref-type="bibr" rid="b24-sensors-11-00062">24</xref>].</p>
<p>Another convergence property states that, at the limit, all elements of <italic>P<sub>t</sub></italic> become fully correlated [<xref ref-type="bibr" rid="b24-sensors-11-00062">24</xref>]. This last statement is equivalent to say that,
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:munder>
<mml:mtext>lim</mml:mtext>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>→</mml:mo>
<mml:mo>∞</mml:mo></mml:mrow></mml:munder>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p>Thus, according to <xref ref-type="disp-formula" rid="FD8">Equations (8)</xref> and <xref ref-type="disp-formula" rid="FD9">(9)</xref>, given a set of observed features with correct matching, the feature that causes the highest decrease of |<italic>P<sub>t</sub></italic>|, is the feature to which the EKF-SLAM is more sensitive to and will cause the fastest convergence of <xref ref-type="disp-formula" rid="FD9">Equation (9)</xref>. This latter point can be regarded as an optimization problem. Let <italic>N<sub>t</sub></italic> be the set of observed features at time <italic>t</italic>; let <italic>M<sub>t</sub></italic> ⊆ <italic>N<sub>t</sub></italic> be set of features with correct association. Then ∀<italic>z</italic> ∈ <italic>M<sub>t</sub></italic> ⊆ <italic>N<sub>t</sub></italic>:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mi>z</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msup>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">arg</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>≡</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">arg</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Thus, according to <xref ref-type="disp-formula" rid="FD10">Equation (10)</xref>, finding the observation <italic>z</italic> that minimizes |<italic>I – K<sub>t</sub>H<sub>t</sub></italic>| is equivalent to finding the observed feature that causes the highest decrease of |<italic>P<sub>t</sub></italic>| because 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> is independent of the current observation.</p>
<p>Considering that the EKF-SLAM implemented in this work is a sequential algorithm [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>], the Jacobian of the observation model has the sparse form shown in <xref ref-type="disp-formula" rid="FD11">Equation (11)</xref>, where <italic>H</italic><sub><italic>v</italic>,<italic>t</italic></sub> is the Jacobian of the observation model with respect to the vehicle’s degrees of freedom and <italic>H</italic><sub><italic>z</italic>,<italic>t</italic></sub> is the Jacobian of the observation model with respect to the parameters of the observed feature. Θ<sub>1</sub> and Θ<sub>2</sub> are null matrices. The Kalman—<xref ref-type="disp-formula" rid="FD12">Equation (12)</xref>—gain is also defined according to <xref ref-type="disp-formula" rid="FD11">Equation (11)</xref>.
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Thus, the Jacobian of the observation is only calculated on the Jacobian entries that correspond to the vehicle and to the feature with correct association [<xref ref-type="bibr" rid="b1-sensors-11-00062">1</xref>,<xref ref-type="bibr" rid="b2-sensors-11-00062">2</xref>]. By using <xref ref-type="disp-formula" rid="FD11">Equations (11)</xref> and <xref ref-type="disp-formula" rid="FD12">(12)</xref>, the determinant of |<italic>I – K<sub>t</sub>H<sub>t</sub></italic>| can be calculated as:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd/>
<mml:mtd/>
<mml:mtd/></mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd/>
<mml:mtd/></mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd/>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd/></mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd/>
<mml:mtd/>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>In <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref><italic>I</italic> is the identity matrix, <italic>I<sub>v</sub></italic>, <italic>I</italic><sub>Θ<sub>1</sub></sub>, <italic>I<sub>z</sub></italic> and <italic>I</italic><sub>Θ<sub>2</sub></sub> are identity block matrices with the dimensions of <italic>K<sub>v,t</sub>H<sub>v,t</sub></italic>, <italic>K</italic><sub>Θ<sub>1</sub></sub> Θ<sub>1</sub>, <italic>K<sub>z,t</sub>H<sub>z,t</sub></italic> and <italic>K</italic><sub>Θ<sub>2</sub></sub> Θ<sub>2</sub> respectively. If we consider that the vehicle has three degrees of freedom—two related to the position and one to the orientation—and the feature is determined by two parameters, then the final calculation of <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref> is a 5 <italic>×</italic> 5 matrix.</p>
<p>The correction stage of the EKF-SLAM algorithm with the feature selection based on the covariance ratio is presented in <xref ref-type="table" rid="t4-sensors-11-00062">Algorithm 3</xref>.</p>
<table-wrap id="t4-sensors-11-00062" position="anchor">
<label>Algorithm 3.</label>
<caption>
<p>Algorithm of the EKF-SLAM based on the covariance ratio feature selection procedure.</p></caption>
<table frame="void" rules="none">
<tbody>
<tr>
<td align="right" valign="middle">1:</td>
<td align="left" valign="middle">Let <italic>N<sub>t</sub></italic> be set of the observed features at time t</td></tr>
<tr>
<td align="right" valign="middle">2:</td>
<td align="left" valign="middle">Let <italic>M<sub>t</sub></italic> ⊆ <italic>N<sub>t</sub></italic> be the set of features with correct association at time t</td></tr>
<tr>
<td align="right" valign="middle">3:</td>
<td align="left" valign="middle">Let <italic>LIM</italic> be the maximum number of features to be used in the correction stage</td></tr>
<tr>
<td align="right" valign="middle">4:</td>
<td align="left" valign="middle"><bold>for</bold> <italic>j</italic> = 1 to <italic>min</italic>{<italic>LIM</italic>, ⧣<italic>M<sub>t</sub></italic>} <bold>do</bold></td></tr>
<tr>
<td align="right" valign="middle">5:</td>
<td align="left" valign="middle">  find 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>: <italic>arg<sub>z</sub>min</italic>(|<italic>P<sub>t,j</sub></italic>|) ≡ <italic>arg<sub>z</sub>min</italic>(|<italic>I</italic> − <italic>K<sub>t,j</sub>H<sub>t,j</sub></italic>|)</td></tr>
<tr>
<td align="right" valign="middle">6:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo stretchy="false">|</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">7:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">8:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">|</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">9:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">10:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">11:</td>
<td align="left" valign="middle"><bold>end for</bold></td></tr></tbody></table></table-wrap>
<p>In <xref ref-type="table" rid="t4-sensors-11-00062">Algorithm 3</xref>, sentences (1) − (2) are the declaration of the domain that is going to be used in the correction stage; sentence (3) determines—if possible—the maximum number of features that will be used for correcting the SLAM. If the number of features in <italic>M<sub>t</sub></italic> is smaller than <italic>LIM</italic>, then the complete set of features in <italic>M<sub>t</sub></italic> will be used in the correction loop. Sentences (4) − (9) show the <italic>for</italic>-loop of the correction stage. Given <italic>M<sub>t</sub></italic>, the algorithm searches for a first <italic>z<sup>opt</sup></italic>. When it is found, the correction takes place—(6) to (8)—and this features is removed from <italic>M<sub>t</sub></italic>. In the second iteration of the <italic>for</italic>-loop, the <italic>z<sup>opt</sup></italic> is searched inside the new <italic>M<sub>t</sub></italic> and both the actual predicted system state and covariance are the last corrected system state and covariance matrix as shown in sentence (10). This situation ensures that sequentiality of the EKF-SLAM is not lost.</p></sec>
<sec>
<label>4.3.</label>
<title>Features Selection: Eigenvalues Approach</title>
<p>In this approach, instead of selecting the features according to the determinant of <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref>, the eigenvalues associated with it will be used.</p>
<p>By inspection, it is possible to see that if an eigenvalue of <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref> tends to zero faster than the others, then that eigenvalue will dominate the convergence of |<italic>P<sub>t</sub></italic>|—see <xref ref-type="disp-formula" rid="FD9">Equation (9)</xref>. Thus, the eigenvalues approaches presented herein give a better description of the behavior of the set of eigenvalues associated with (<italic>I − K<sub>t</sub>H<sub>t</sub></italic>) in <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref>, because they consider the behavior of all eigenvalues.</p>
<p>Let us calculate the eigenvalues of <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref>—<italic>Eig</italic>(<italic>I − K<sub>t</sub>H<sub>t</sub></italic>). Applying the definition of eigenvalues we have that:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>with,
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>4</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mi> </mml:mi>
<mml:mtext>is a null matrix with the appropriate dimensions</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>By inspection of <xref ref-type="disp-formula" rid="FD14">Equation (14)</xref> and considering that Θ is a null matrix with the appropriate dimension, it is possible to see that,
<disp-formula id="FD15">
<label>(15)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>λ</mml:mi>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>r</mml:mi></mml:msup>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>λ</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>λ</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Thus, the only eigenvalues of (<italic>I − K<sub>t</sub>H<sub>t</sub></italic>) affected by the current feature <italic>z<sub>i</sub></italic> are the eigenvalues of 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. The rest of the eigenvalues equal one—see <xref ref-type="disp-formula" rid="FD15">Equation (15)</xref>. Considering that the pose of the robot has three degrees of freedom—two associated with the position and one with the orientation—and the feature has 2 parameters that define it, then the calculation of the eigenvalues of (<italic>I − K<sub>t</sub>H<sub>t</sub></italic>)—which is an <italic>n × n</italic> matrix—is reduced to the calculation of a 5 <italic>×</italic> 5 matrix.</p>
<p>In this section, two eigenvalues approaches are presented for selecting features. The first approach consists on choosing the features according with the sum of eigenvalues of <xref ref-type="disp-formula" rid="FD15">Equation (15)</xref>. Thus, from the set <italic>M<sub>t</sub></italic> of features with appropriate association, only the feature with the minimum sum of its eigenvalues will be selected.</p>
<p>The other approach is to select the features based on the lowest value of the highest eigenvalue. <xref ref-type="disp-formula" rid="FD16">Equation (16)</xref> shows the selection criterion based on the sum of eigenvalues whereas <xref ref-type="disp-formula" rid="FD17">Equation (17)</xref> shows the selection criterion based on the value of the highest eigenvalue associated with a feature.
<disp-formula id="FD16">
<label>(16)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>∀</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>z</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msup>
<mml:mo>≡</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">arg</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>≡</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">arg</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>∑</mml:mo>
<mml:mi mathvariant="italic">Eig</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD17">
<label>(17)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>∀</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>z</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msup>
<mml:mo>≡</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">arg</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>≡</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">arg</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">MAX</mml:mi>
<mml:mi> </mml:mi>
<mml:mi mathvariant="italic">Eig</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<table-wrap id="t5-sensors-11-00062" position="anchor">
<label>Algorithm 4.</label>
<caption>
<p>Algorithm of the EKF-SLAM based on the eigenvalues selection approach.</p></caption>
<table frame="void" rules="none">
<tbody>
<tr>
<td align="right" valign="middle">1:</td>
<td align="left" valign="middle">Let <italic>N<sub>t</sub></italic> be set of the observed features at time t</td></tr>
<tr>
<td align="right" valign="middle">2:</td>
<td align="left" valign="middle">Let <italic>M<sub>t</sub></italic> ⊆ <italic>N<sub>t</sub></italic> be the set of features with correct association at time t</td></tr>
<tr>
<td align="right" valign="middle">3:</td>
<td align="left" valign="middle">Let <italic>LIM</italic> be the maximum number of features to be used in the correction stage</td></tr>
<tr>
<td align="right" valign="middle">4:</td>
<td align="left" valign="middle"><bold>for</bold> <italic>j</italic> = 1 to <italic>min</italic>{<italic>LIM</italic>, ⧣<italic>M<sub>t</sub></italic>} <bold>do</bold></td></tr>
<tr>
<td align="right" valign="middle">5:</td>
<td align="left" valign="middle">  find 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>: <italic>arg<sub>z</sub>min</italic>(|<italic>P<sub>t</sub></italic>,<italic><sub>j</sub></italic>|)</td></tr>
<tr>
<td align="right" valign="middle">6:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo stretchy="false">|</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">7:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">8:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">|</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">9:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">10:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">11:</td>
<td align="left" valign="middle"><bold>end for</bold></td></tr></tbody></table></table-wrap>
<p>Thus, in <xref ref-type="disp-formula" rid="FD16">Equation (16)</xref>, the feature selected has the minimum sum of eigenvalues; in <xref ref-type="disp-formula" rid="FD17">Equation (17)</xref>, the feature selected is the one which has the smallest maximum eigenvalue. The last is based on that if the higher eigenvalue decreases, also decrease (or remain equal) the rest of the eigenvalues. Thus, this method allows a selection of features based on the behavior of the eigenvalues. Further information about the <italic>sum of eigenvalues</italic> method can be found in [<xref ref-type="bibr" rid="b20-sensors-11-00062">20</xref>].</p>
<p><xref ref-type="table" rid="t5-sensors-11-00062">Algorithm 4</xref> shows the general structure of the selection procedure. Sentence (5) can be chose according to <xref ref-type="disp-formula" rid="FD16">Equations (16)</xref> or <xref ref-type="disp-formula" rid="FD17">(17)</xref>.</p></sec>
<sec>
<label>4.4.</label>
<title>Features Selection: Joseph’s Covariance Matrix Approach</title>
<p>Up to now, the feature selection approaches presented are based on the covariance matrix of the SLAM system state: 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>. Due to the fact of possible lost of positive definiteness of <italic>P<sub>t</sub></italic> during the numerical computation, the Joseph’s form of the covariance matrix of the SLAM system state within an EKF-SLAM is widely used by the scientific community [<xref ref-type="bibr" rid="b17-sensors-11-00062">17</xref>]. The Joseph’s form is shown in <xref ref-type="disp-formula" rid="FD18">Equation (18)</xref>.
<disp-formula id="FD18">
<label>(18)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></disp-formula></p>
<p>In <xref ref-type="disp-formula" rid="FD18">Equation (18)</xref><italic>R<sub>t</sub></italic> is the covariance matrix of the observation. As it can be noted, the expression above corresponds to an <italic>n × n</italic> matrix, where <italic>n</italic> is the order of the SLAM system state.</p>
<p>In order to reduce the computational cost by applying any selection criterion previously presented with <xref ref-type="disp-formula" rid="FD18">Equation (18)</xref> instead of <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> some calculations are needed.</p>
<p>Thus, considering that 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>K</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>t</mml:mi>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="italic">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo mathvariant="italic">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> in <xref ref-type="disp-formula" rid="FD18">Equation (18)</xref> are <italic>psd</italic> the two following conditions hold.
<disp-formula id="FD19">
<label>(19)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo></mml:msup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>In <xref ref-type="disp-formula" rid="FD19">Equation (19)</xref>, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is a constant value because 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is independent of the current feature; in addition, in <xref ref-type="disp-formula" rid="FD19">Equation (19)</xref> |<italic>I − K<sub>t</sub>H<sub>t</sub></italic>|<sup>2</sup> ≤ |<italic>I − K<sub>t</sub>H<sub>t</sub></italic>| ≤ 1 according to <xref ref-type="disp-formula" rid="FD8">Equation (8)</xref>.</p>
<p>The calculation of <italic>|I − K<sub>t</sub>H<sub>t</sub>|</italic> applies as was shown in <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref>. On the other hand, considering that 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msubsup>
<mml:mi mathvariant="normal">Ψ</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">Ψ</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, with 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Ψ</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, then, it follows that 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msubsup>
<mml:mi mathvariant="normal">Ψ</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">Ψ</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Replacing 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">Ψ</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">Ψ</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, where <italic>M</italic> has the dimensions of <italic>R<sub>t</sub></italic> −2 × 2 matrix, then,
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Considering also that the EKF-SLAM used in this work is a sequential EKF, the above expression can be written as it is shown in <xref ref-type="disp-formula" rid="FD20">Equation (20)</xref>.
<disp-formula id="FD20">
<label>(20)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>In <xref ref-type="disp-formula" rid="FD20">Equation (20)</xref>, Θ means a null block matrix with the appropriate dimensions. By inspection of <xref ref-type="disp-formula" rid="FD20">Equation (20)</xref> is possible to see that 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></inline-formula> which leads to the following expressions.
<disp-formula id="FD21">
<label>(21)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>≤</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mfrac>
<mml:mo>≤</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mi> </mml:mi>
<mml:mi> </mml:mi>
<mml:mi mathvariant="italic">with</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Thus, as it can be seen in <xref ref-type="disp-formula" rid="FD21">Equation (21)</xref>, smaller the determinant of |<italic>I</italic> – <italic>K<sub>t</sub>H<sub>t</sub></italic>|, smaller the value that |<italic>P<sub>t</sub></italic>| could adopt. Re-writing <xref ref-type="disp-formula" rid="FD21">Equation (21)</xref> follows that,
<disp-formula id="FD22">
<label>(22)</label>
<mml:math display="block">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mfrac>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="disp-formula" rid="FD11">Equation (22)</xref> implies that the smaller <italic>|I − K<sub>t</sub>H<sub>t</sub>|</italic> the bigger the inverse of the covariance ratio presented in <xref ref-type="disp-formula" rid="FD8">Equation (8)</xref>. Concluding, for a covariance matrix of the EKF-SLAM system state corrected according to the Joseph’s form, the feature selection criterion is the same as the one presented in <xref ref-type="disp-formula" rid="FD10">Equation (10)</xref>: <italic>z<sup>opt</sup></italic> : <italic>arg<sub>z</sub>min</italic>(<italic>|P<sub>t</sub>|</italic>) ≡ <italic>arg<sub>z</sub>min</italic>(<italic>|I − K<sub>t</sub>H<sub>t</sub>|</italic>). From this last statement is possible to see that the feature selection approaches presented in Sections 4.2 and 4.3 apply in the same way when the Joseph’s form of the covariance correction is used.</p></sec>
<sec>
<label>4.5.</label>
<title>Features Selection: Features’ Covariance Approach</title>
<p>The <italic>features’ covariance</italic> approach is based on the following assumption. Let us suppose that at a time instant <italic>t</italic>, the mobile robot extracts five features from the environment (⧣<italic>N<sub>t</sub></italic> = 5 in <xref ref-type="table" rid="t2-sensors-11-00062">Algorithm 1</xref>). From the set of five features extracted, only two of them have appropriate association with the predicted features from the SLAM system state (⧣<italic>M<sub>t</sub></italic> = 2 <italic>&lt;</italic> ⧣<italic>N<sub>t</sub></italic> in <xref ref-type="table" rid="t2-sensors-11-00062">Algorithm 1</xref>). <xref ref-type="fig" rid="f1-sensors-11-00062">Figure 1</xref> shows this situation. Each of these two features has associated a covariance matrix (<italic>R</italic><sub>1</sub> and <italic>R</italic><sub>2</sub> respectively) which intrinsically depends on the feature extraction procedure. Also, <italic>R</italic><sub>1</sub> and <italic>R</italic><sub>2</sub> are positive definite matrices. The <italic>features’ covariance</italic> approach consists in choosing the feature with the <italic>smallest</italic> covariance matrix with respect to the covariance matrices of the rest of features with appropriate association. Thus, for example, in <xref ref-type="fig" rid="f1-sensors-11-00062">Figure 1</xref>, if <italic>R</italic><sub>1</sub> is <italic>smaller</italic> than <italic>R</italic><sub>2</sub>—(<italic>R</italic><sub>2</sub> − <italic>R</italic><sub>1</sub>) is positive semi-definite, then <italic>Feature 1</italic> will be used within the correction stage of the EKF-SLAM instead of <italic>Feature 2</italic>. Although it seems intuitive to choose <italic>R</italic><sub>1</sub>—because of its smaller covariance, the following theorem is the corresponding mathematical justification of the <italic>features’ covariance</italic> approach criterion.</p>
<p><bold>Theorem</bold>—Let <italic>R</italic><sub>1</sub> and <italic>R</italic><sub>2</sub> be two symmetric positive definite covariance matrices associated with two features from the environment with correct association—as it is shown in <xref ref-type="fig" rid="f1-sensors-11-00062">Figure 1</xref>. Also, let <italic>R</italic><sub>2</sub> ≽ <italic>R</italic><sub>1</sub> (≽ stands for <italic>positive semi-definite</italic>, therefore, <italic>R</italic><sub>2</sub> <italic>− R</italic><sub>1</sub> ≽ 0), then,
<disp-formula id="FD23">
<label>(23)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>.</mml:mo>
<mml:mo>−</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The theorem above establishes that the feature with associated covariance matrix <italic>R</italic><sub>1</sub> will cause the highest decrement of the uncertainty volume of the covariance matrix of the EKF-SLAM, <italic>|P<sub>t</sub>|</italic>, when compared with <italic>R</italic><sub>2</sub>—see <xref ref-type="disp-formula" rid="FD9">Equation (9)</xref>.</p>
<p><bold>Proof</bold>—By hypothesis, we have that:
<disp-formula id="FD24">
<label>(24)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>≼</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>Considering that 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> is positive semi-definite, then the above relation does not change if we add 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> on both members of <xref ref-type="disp-formula" rid="FD24">Equation (24)</xref>.
<disp-formula id="FD25">
<label>(25)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>≼</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>Given that <italic>R</italic><sub>1</sub> and <italic>R</italic><sub>2</sub> are positive definite (by hypothesis), then the matrix 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, with <italic>i</italic> = 1, 2, is also positive definite. Therefore, its inverse exists. Then,
<disp-formula id="FD26">
<label>(26)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo>≽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="disp-formula" rid="FD26">Equation (26)</xref> shows that, after applying the inverse at both sides of <xref ref-type="disp-formula" rid="FD25">Equation (25)</xref> the positive definition between matrices changes [<xref ref-type="bibr" rid="b25-sensors-11-00062">25</xref>]. Rewriting <xref ref-type="disp-formula" rid="FD26">Equation (26)</xref> and pre-multiplying by 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and post-multiplying by 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> respectively—observe that 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>—we have that,
<disp-formula id="FD27">
<label>(27)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mi> </mml:mi>
<mml:mo>≽</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mi> </mml:mi>
<mml:mo>≽</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Observe that the matrices definition between <xref ref-type="disp-formula" rid="FD26">Equations (26)</xref> and <xref ref-type="disp-formula" rid="FD27">(27)</xref> is not lost (see [<xref ref-type="bibr" rid="b25-sensors-11-00062">25</xref>]). Finally, adding and subtracting 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> in <xref ref-type="disp-formula" rid="FD27">Equation (27)</xref> we have the following result.
<disp-formula id="FD28">
<label>(28)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mo>≽</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p>Thus, according to <xref ref-type="disp-formula" rid="FD1">Equations (1</xref>, <xref ref-type="disp-formula" rid="FD28">28)</xref> implies that,
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msubsup>
<mml:mi> </mml:mi>
<mml:mo>≽</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula>where 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is the covariance matrix of the SLAM algorithm correction stage if the feature with covariance matrix <italic>R<sub>i</sub></italic> were used (<italic>i</italic> = 1, 2).</p>
<p>Considering that both 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> are positive definite and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msubsup>
<mml:mi> </mml:mi>
<mml:mo>≽</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>0</mml:mn></mml:mrow></mml:math></inline-formula>, then, according to [<xref ref-type="bibr" rid="b25-sensors-11-00062">25</xref>], 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Therefore, having into account <xref ref-type="disp-formula" rid="FD9">Equation (9)</xref>, we can conclude that the feature that has the covariance matrix <italic>R</italic><sub>1</sub> associated with it will cause the highest decrement in the determinant of the covariance matrix of the SLAM system state correction stage. Then, that feature is the most meaningful from the convergence perspective of the SLAM algorithm.</p>
<p>The <xref ref-type="table" rid="t6-sensors-11-00062">Algorithm 5</xref> presents the <italic>Features’ Covariance</italic> approach for selecting the most meaningful features. The code line (6) shows the implementation of the selection criterion based on the covariance matrix of the features with correct association. In the case that a <italic>z<sup>opt</sup></italic> is not found, then the correction of the EKF-SLAM is performed based on the detected features with correct association. Thus, <italic>i.e.</italic>, if <italic>LIM</italic> = 2 and ⧣<italic>M<sub>t</sub></italic> ≥ 2 in the <xref ref-type="table" rid="t6-sensors-11-00062">Algorithm 5</xref> and no <italic>z<sup>opt</sup></italic> exists, then the correction is performed with any two features from <italic>M<sub>t</sub></italic>—code line (2) and (3).</p></sec></sec>
<sec sec-type="results">
<label>5.</label>
<title>Experimental Results</title>
<p>The mobile robot used in this work is a nonholonomic unicycle type Pioneer 3AT built by <bold>ActivMedia</bold> with a range sensor laser SICK incorporated on it. The laser acquires 181 measurements in a range of 30 meters, from 0 to 180 degrees. <xref ref-type="fig" rid="f2-sensors-11-00062">Figure 2</xref> shows the mobile robot used as well as the SICK laser mounted on it.</p>
<p>The feature extraction procedure was based on a clustering algorithm to extract point-based features, as the one shown in [<xref ref-type="bibr" rid="b14-sensors-11-00062">14</xref>]. The parameters of the features were their range and bearing. The experiment were carried out outdoors and each detected feature was associated with a tree of the environment. The SLAM system state was composed by both: the vehicle degrees of freedom (position and orientation) and the parameters of the features according with their extraction instant. Further and detailed information about the SLAM initialization, feature extraction and implementation issues can be found in [<xref ref-type="bibr" rid="b1-sensors-11-00062">1</xref>,<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>,<xref ref-type="bibr" rid="b14-sensors-11-00062">14</xref>].</p>
<table-wrap id="t6-sensors-11-00062" position="anchor">
<label>Algorithm 5.</label>
<caption>
<p>Algorithm of the EKF-SLAM based on the <italic>features’ covariance</italic> selection procedure.</p></caption>
<table frame="void" rules="none">
<tbody>
<tr>
<td align="right" valign="middle">1:</td>
<td align="left" valign="middle">Let <italic>N<sub>t</sub></italic> be set of the observed features at time t</td></tr>
<tr>
<td align="right" valign="middle">2:</td>
<td align="left" valign="middle">Let <italic>M<sub>t</sub></italic> ⊆ <italic>N<sub>t</sub></italic> be the set of features with correct association at time t</td></tr>
<tr>
<td align="right" valign="middle">3:</td>
<td align="left" valign="middle">Let <italic>LIM</italic> be the maximum number of features to be used in the correction stage</td></tr>
<tr>
<td align="right" valign="middle">4:</td>
<td align="left" valign="middle"><bold>for</bold> <italic>j</italic> = 1 to <italic>min</italic>{<italic>LIM</italic>, ⧣<italic>M<sub>t</sub></italic>} <bold>do</bold></td></tr>
<tr>
<td align="right" valign="middle">5:</td>
<td align="left" valign="middle">  <italic>z<sub>j</sub></italic>, <italic>R<sub>t,j</sub></italic></td></tr>
<tr>
<td align="right" valign="middle">6:</td>
<td align="left" valign="middle">  find 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>: <italic>arg<sub>z</sub>min</italic>(|<italic>P<sub>t,j</sub></italic>|) ≡ <italic>arg<sub>z</sub>min</italic>((<italic>R<sub>t</sub></italic>,<italic><sub>j</sub></italic>))</td></tr>
<tr>
<td align="right" valign="middle">7:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo stretchy="false">|</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">8:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">9:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">|</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">10:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="italic">opt</mml:mi></mml:msubsup>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">11:</td>
<td align="left" valign="middle">  
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ξ</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="right" valign="middle">12:</td>
<td align="left" valign="middle"><bold>end for</bold></td></tr></tbody></table></table-wrap>
<p>For the purpose of testing the algorithms proposed in Section 4 and see their differences and advantages, the following considerations must be taken into account:
<list list-type="bullet">
<list-item>
<p>The robot should navigate within the same environment</p></list-item>
<list-item>
<p>The robot should follow the same path within the environment in order to ensure that each SLAM algorithm with the corresponding feature selection criterion visits the same zones.</p></list-item></list></p>
<p>In order to achieve such conditions, all the SLAM algorithms were implemented in parallel. The mobile robot followed a pre-established path by means of the Kanayama’s trajectory controller [<xref ref-type="bibr" rid="b26-sensors-11-00062">26</xref>]. The path was previously determined by a differential GPS (built by <bold>Novatel</bold>). Also, the positions of the trees within the environment were previously measured by the differential GPS. Considering that the differential GPS measurement had an absolute error of ±0.1 meters, those measurements were used to compare the SLAM localization and mapping results. The mobile robot pose information provided to the controller was obtained from the fusion of odometry information with the differential GPS information (improving the odometry of the vehicle). Thus, no feedback is presented between the SLAM algorithms and the robot. <xref ref-type="fig" rid="f3-sensors-11-00062">Figure 3</xref> shows the general architecture of the implemented system.</p>
<p>In this work, six different SLAM algorithms were implemented: the sequential EKF-SLAM shown in <xref ref-type="table" rid="t2-sensors-11-00062">Algorithm 1</xref>, the entropy selection approach (see <xref ref-type="table" rid="t3-sensors-11-00062">Algorithm 2</xref>), the covariance ratio approach (see <xref ref-type="table" rid="t4-sensors-11-00062">Algorithm 3</xref>), the two feature selection eigenvalues approaches (see <xref ref-type="table" rid="t5-sensors-11-00062">Algorithm 4</xref> in Section 4.3) and the features’ covariance approach (see <xref ref-type="table" rid="t6-sensors-11-00062">Algorithm 5</xref>).</p>
<sec sec-type="results">
<label>5.1.</label>
<title>SLAM Results</title>
<p><xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4</xref> shows two maps representation of the environment. <xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4(a)</xref> shows the map reconstruction when there is no restriction on the number of features to be used during the update stage of the EKF-SLAM; on the other hand, <xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4(b)</xref> shows the map reconstruction when the sequential EKF-SLAM updating stage is restricted to the two first detected features; <xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4(c)</xref> shows a zoom of <xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4(a)</xref> where it can be seen that each feature has associated a covariance ellipse. The features of the environment are represented by blue triangles; the path traveled by the robot is a solid black line and the path estimated by the SLAM is a solid magenta line.</p>
<p><xref ref-type="fig" rid="f5-sensors-11-00062">Figure 5</xref> shows the map reconstruction of the environment based on the information provided by EKF-SLAM algorithm with entropy feature selection criterion shown in <xref ref-type="table" rid="t3-sensors-11-00062">Algorithm 2</xref>. <xref ref-type="fig" rid="f5-sensors-11-00062">Figure 5(a)</xref> shows the map reconstruction when gate of the information difference was set to <italic>δ</italic> = 0.2; on the other hand, <xref ref-type="fig" rid="f5-sensors-11-00062">Figure 5(b)</xref> shows the map reconstruction for a gate of the information difference of <italic>δ</italic> = 0.4 (see the <xref ref-type="table" rid="t3-sensors-11-00062">Algorithm 2</xref>). As it can be seen, the map reconstruction in <xref ref-type="fig" rid="f5-sensors-11-00062">Figure 5(b)</xref> is less precise than the one shown in <xref ref-type="fig" rid="f5-sensors-11-00062">Figure 5(a)</xref>.</p>
<p>The EKF-SLAM results based on the covariance ratio approach shown in <xref ref-type="table" rid="t4-sensors-11-00062">Algorithm 3</xref> are shown in <xref ref-type="fig" rid="f6-sensors-11-00062">Figure 6</xref>. In <xref ref-type="fig" rid="f6-sensors-11-00062">Figure 6(a)</xref>, <italic>LIM</italic>—the maximum number of features to be selected—is set to <italic>LIM</italic> = 5. The last means that only the five most significant features from the covariance ratio approach point of view will be selected for the correction stage of the EKF-SLAM. <xref ref-type="fig" rid="f6-sensors-11-00062">Figure 6(b)</xref> shows the case when <italic>LIM</italic> = 2.</p>
<p>As it can be seen, the map constructed by the EKF-SLAM with the feature selection based on the covariance ratio approach (see <xref ref-type="fig" rid="f6-sensors-11-00062">Figure 6</xref>) is more similar to the one shown in <xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4(a)</xref> than the map constructed by the EKF-SLAM with the entropy feature selection criterion (see <xref ref-type="fig" rid="f5-sensors-11-00062">Figure 5</xref>).</p>
<p><xref ref-type="fig" rid="f7-sensors-11-00062">Figure 7</xref> shows the map reconstruction based on the sum of eigenvalues feature selection criterion (shown in <xref ref-type="table" rid="t5-sensors-11-00062">Algorithm 4</xref>). <xref ref-type="fig" rid="f7-sensors-11-00062">Figure 7(a)</xref> shows the case when <italic>LIM</italic> = 5 (the five most significant features are used in the correction stage of the EKF-SLAM); on the hand, in <xref ref-type="fig" rid="f7-sensors-11-00062">Figure 7(b)</xref>, <italic>LIM</italic> = 2.</p>
<p>As it can be seen, <xref ref-type="fig" rid="f7-sensors-11-00062">Figure 7(a)</xref> is very similar to <xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4(a)</xref>.</p>
<p><xref ref-type="fig" rid="f8-sensors-11-00062">Figure 8</xref> shows the map reconstruction based on the EKF-SLAM with the maximum eigenvalue feature selection criterion presented en Section 4.3. <xref ref-type="fig" rid="f8-sensors-11-00062">Figure 8(a)</xref> shows the case when <italic>LIM</italic> = 5 and <xref ref-type="fig" rid="f8-sensors-11-00062">Figure 8(b)</xref> shows the case for <italic>LIM</italic> = 2.</p>
<p>Finally, <xref ref-type="fig" rid="f9-sensors-11-00062">Figure 9</xref> shows the map reconstruction based on the EKF-SLAM with the <italic>features’ covariance</italic> approach. <xref ref-type="fig" rid="f9-sensors-11-00062">Figure 9(a)</xref> shows the case when <italic>LIM</italic> = 5 and <xref ref-type="fig" rid="f9-sensors-11-00062">Figure 9(b)</xref> shows the case for <italic>LIM</italic> = 2. As it can be seen, the results shown in <xref ref-type="fig" rid="f9-sensors-11-00062">Figure 9</xref> are very similar to the ones shown in <xref ref-type="fig" rid="f6-sensors-11-00062">Figure 6</xref>.</p>
<p>For the purpose of showing the performance of each SLAM algorithm, <xref ref-type="table" rid="t1-sensors-11-00062">Table 1</xref> shows the mean square error (MSE) between the pre-established path and the estimated path by the SLAM algorithms. The MSE associated with each algorithm was calculated point-to-point according to the data stored from the mobile robot pose SLAM estimation and the predefined path. In addition, <xref ref-type="fig" rid="f10-sensors-11-00062">Figure 10</xref> shows the error evolution between the estimated path and the predefined one. As it can be seen, the full sequential EKF-SLAM shows the smallest error at all time whereas the EKF-SLAM with the feature selection criterion based on the covariance ratio shows the closest evolution with respect to the full sequential EKF-SLAM. Furthermore, the EKF-SLAM with the feature selection method based on the entropy approach shows the worst path between all the executions. <xref ref-type="fig" rid="f11-sensors-11-00062">Figure 11</xref> shows a zoom of <xref ref-type="fig" rid="f10-sensors-11-00062">Figure 10</xref>.</p>
<p>As it is shown in <xref ref-type="table" rid="t1-sensors-11-00062">Table 1</xref>, when increasing the number of features to be used within the correction stage, decreases the MSE associated with the path estimated by the SLAM. Among the five feature selection approaches presented in this work, the feature selection criterion based on the covariance ratio approach has shown the best performance with both: <italic>LIM</italic> = 5 and <italic>LIM</italic> = 2. The entropy selection approach has shown to be the worst criterion given the experiment shown in <xref ref-type="fig" rid="f5-sensors-11-00062">Figure 5</xref>. Furthermore, the covariance ratio approach and both eigenvalues approaches have shown a better MSE when <italic>LIM</italic> = 2 than the sequential EKF-SLAM with the correction of the two first detected features (see <xref ref-type="fig" rid="f4-sensors-11-00062">Figure 4(b)</xref>). In addition, at the end of the experiments shown in <xref ref-type="fig" rid="f4-sensors-11-00062">Figures 4</xref>–<xref ref-type="fig" rid="f9-sensors-11-00062">9</xref>, the size of the map was of 50 point-based features for the full sequential EKF-SLAM—with no feature selection; for the EKF-SLAM with the entropy feature selection approach restricted to the two most significant features, the SLAM’s map was of 150 features—mainly because of both: the bad association given by the Mahalanobis distance criterion used in this work [<xref ref-type="bibr" rid="b3-sensors-11-00062">3</xref>] and the increasing processing time; the map obtained by the EKF-SLAM with the covariance ratio feature criterion approach restricted to two features was of 58 point-features whereas the map obtained by the EKF-SLAM with sum of eigenvalues and the maximum eigenvalue feature selection approaches restricted to two features was of 68 and 65 point-based features respectively. For the features’ covariance approach, the number of features detected was of 60. As it can be seen, the EKF-SLAM with the covariance ratio feature selection approach and the features’ covariance approach show the minimum map reconstruction when compared with the other methods with feature selection restriction.</p>
<p>The implementation results shown in <xref ref-type="fig" rid="f6-sensors-11-00062">Figures 6</xref>–<xref ref-type="fig" rid="f8-sensors-11-00062">8</xref> were carried out using the Joseph’s covariance matrix instead of the classical SLAM covariance matrix correction shown in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>. The results of using the covariance matrix correction shown in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> have not shown significant map reconstruction differences with respect to the Joseph’s approach. Hence, the graphical results were not included herein.</p></sec>
<sec>
<label>5.2.</label>
<title>Feature’s Covariance Evolution</title>
<p>For the purpose of showing the evolution of the features’ estimation, <xref ref-type="fig" rid="f12-sensors-11-00062">Figures 12</xref>–<xref ref-type="fig" rid="f17-sensors-11-00062">17</xref> show the evolution of the covariance of five features—with two parameters per feature—at different stages of the navigation of the experiments shown in <xref ref-type="fig" rid="f4-sensors-11-00062">Figures 4</xref>–<xref ref-type="fig" rid="f9-sensors-11-00062">9</xref>. <xref ref-type="fig" rid="f12-sensors-11-00062">Figure 12</xref> shows the covariance evolution of the features when estimated by the full sequential EKF-SLAM without restrictions to the correction stage; <xref ref-type="fig" rid="f13-sensors-11-00062">Figure 13</xref> shows the evolution of the same set of features when estimated by the EKF-SLAM with the entropy feature selection approach; <xref ref-type="fig" rid="f14-sensors-11-00062">Figure 14</xref> shows the evolution of the features when using the EKF-SLAM with the covariance ratio feature selection approach implemented; <xref ref-type="fig" rid="f15-sensors-11-00062">Figures 15</xref> and <xref ref-type="fig" rid="f16-sensors-11-00062">16</xref> show the evolution of such set of features when estimated by the EKF-SLAM with the sum of eigenvalues and the maximum eigenvalue selection approaches respectively. <xref ref-type="fig" rid="f17-sensors-11-00062">Figure 17</xref> shows the feature covariance evolution for the features’ covariance approach. In <xref ref-type="fig" rid="f13-sensors-11-00062">Figures 13</xref>–<xref ref-type="fig" rid="f17-sensors-11-00062">17</xref>, the magenta feature and the green feature are not used in the correction stage. The last means that, although those features are added to the SLAM system state, they were not considered as most significant features at the moment of the correction of the SLAM algorithm. As it can be seen, there is no difference between the convergence of non-significant features compared with significant ones.</p></sec>
<sec>
<label>5.3.</label>
<title>Processing Time</title>
<p>With the aim of showing the processing resources used by each EKF-SLAM with feature selection criterion algorithm, <xref ref-type="fig" rid="f18-sensors-11-00062">Figure 18</xref> shows the accumulated processing time associated with them. <xref ref-type="fig" rid="f18-sensors-11-00062">Figure 18</xref> represents the amount of time that each algorithm of <xref ref-type="table" rid="t1-sensors-11-00062">Table 1</xref> remained processing data. As expected, the algorithms with a feature selection criterion have shown a lower accumulated processing time than the ones with non restrictions in the correction stage of the EKF-SLAM. Furthermore, the EKF-SLAM with the feature selection criterion based on the entropy (Section 4.1) has a bigger amount of processing time when compared with the others algorithms—with the exception of the sequential EKF-SLAM with non feature selection criterion. The increment on its accumulated processing time is due to the determinant of the covariance matrix of the SLAM system state, as stated in the information calculation shown in <xref ref-type="disp-formula" rid="FD3">Equations (3)</xref> and <xref ref-type="disp-formula" rid="FD4">(4)</xref>. Thus, as increases the number of elements on the SLAM system state, increases the computational cost of calculating the determinant of the covariance matrix associated with it.</p>
<p>The improvement of the restrictions within the sequential EKF-SLAM is linear with <italic>O</italic>(<italic>n</italic><sup>2</sup>).</p></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>This paper has presented several non-heuristic feature selection criteria for an EKF-SLAM algorithm. The feature selection criteria were based on the convergence theorem of the EKF-SLAM. Thus, only the features that cause the highest improvement in the convergence of the covariance matrix determinant of the SLAM system state were chosen for the correction stage of the algorithm. These features were called as the most significant features.</p>
<p>Four feature selection approaches were shown in this work. The first approach consisted of selecting the most significant features based on the covariance ratio evaluation. The second approach was based on the sum of the eigenvalues and the third was based on maximum eigenvalue associated to (<italic>I − K<sub>t</sub>H<sub>t</sub></italic>) in the correction stage of the EKF-SLAM. The fourth approach was based on the selection of features according to their covariance matrix and their meaning to the EKF-SLAM convergence. Furthermore, the feature selection proposals were extended for the case the Joseph’s covariance correction form were used instead of the classical expression of the correction stage of the SLAM’s covariance matrix. For all the approaches, the corresponding algorithms, the optimization criterion and the calculation reductions were also shown.</p>
<p>Each EKF-SLAM with the feature selection criterion was compared with the sequential EKF-SLAM (where no feature selection restrictions were available), with a sequential EKF-SLAM where only the first two features were used in the correction stage and with a feature selection procedure based on the entropy associated with the covariance matrix of the SLAM algorithm. Several experimental results were also carried out, showing the performance of each feature selection proposal.</p>
<p>Thus, for an outdoor environment composed by trees, the EKF-SLAM with feature selection criterion based on the covariance ratio and the features’ covariance approach have shown a better performance than the rest of the feature selection criteria, showing the lowest mean square error of the traveled path when using only the two most meaningful features and the smallest processing time. On the other hand, the entropy based selection has shown the highest mean square error. Also, the EKF-SLAM with the entropy based selection criterion was the algorithm with the highest computing demanding resources, mainly because of the determinant of the complete covariance matrix within its calculations.</p>
<p>Despite of the fact that in this work the EKF-SLAM algorithm was based on point-based features, the selection criteria proposed herein are independent of the kind of features used. Furthermore, the feature selection criteria can be combined in order to robust the feature selection procedure.</p></sec></body>
<back>
<ack>
<p>The authors would like to thank to the CONICET-Argentina, to the National University of San Juan, San Juan, Argentina for partially funding this research.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-11-00062"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Durrant-Whyte</surname><given-names>H.</given-names></name><name><surname>Bailey</surname><given-names>T.</given-names></name></person-group><article-title>Simultaneous Localization and Mapping (SLAM): Part I Essential Algorithms</article-title><source>IEEE Robot. Autom. Mag</source><year>2006</year><volume>13</volume><fpage>99</fpage><lpage>108</lpage></citation></ref>
<ref id="b2-sensors-11-00062"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Durrant-Whyte</surname><given-names>H.</given-names></name><name><surname>Bailey</surname><given-names>T.</given-names></name></person-group><article-title>Simultaneous Localization and Mapping (SLAM): Part II State of the Art</article-title><source>IEEE Robot. Autom. Mag</source><year>2006</year><volume>13</volume><fpage>108</fpage><lpage>117</lpage><pub-id pub-id-type="doi">10.1109/MRA.2006.1678144</pub-id></citation></ref>
<ref id="b3-sensors-11-00062"><label>3.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Thrun</surname><given-names>S</given-names></name><name><surname>burgard</surname><given-names>W</given-names></name><name><surname>Fox</surname><given-names>D.</given-names></name></person-group><source>Probabilistic Robotics</source><publisher-name>MIT Press</publisher-name><publisher-loc>Cambridge, MA, USA</publisher-loc><year>2005</year></citation></ref>
<ref id="b4-sensors-11-00062"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Garulli</surname><given-names>A.</given-names></name><name><surname>Giannitrapani</surname><given-names>A.</given-names></name><name><surname>Rossi</surname><given-names>A.</given-names></name><name><surname>Vicino</surname><given-names>A.</given-names></name></person-group><article-title>Mobile robot SLAM for line-based environment representation</article-title><conf-name>Proceedings of IEEE Conference on Decision and Control</conf-name><conf-loc>Sevile, Spain</conf-loc><conf-date>12–15 December 2008</conf-date><fpage>2041</fpage><lpage>2046</lpage></citation></ref>
<ref id="b5-sensors-11-00062"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Paz</surname><given-names>L.M.</given-names></name><name><surname>Jensfelt</surname><given-names>P.</given-names></name><name><surname>Tardos</surname><given-names>J.D.</given-names></name><name><surname>Neira</surname><given-names>J.</given-names></name></person-group><article-title>EKF SLAM updates in O(n) with Divide and Conquer SLAM</article-title><conf-name>Proceedings of IEEE International Conference on Robotics and Automation</conf-name><conf-loc>Rome, Italy</conf-loc><conf-date>10–14 April 2007</conf-date><fpage>1657</fpage><lpage>1663</lpage></citation></ref>
<ref id="b6-sensors-11-00062"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Tamjidi</surname><given-names>A.</given-names></name><name><surname>Taghirad</surname><given-names>H.D.</given-names></name><name><surname>Aghamohammadi</surname><given-names>A.</given-names></name></person-group><article-title>On the Consistency of EKF-SLAM: Focusing on the Observation Models</article-title><conf-name>Proceedings of IEEE International Conference on Intelligent Robots and Systems (IROS)</conf-name><conf-loc>St. Louis, MO, USA</conf-loc><conf-date>10–15 October 2009</conf-date><fpage>2083</fpage><lpage>2088</lpage></citation></ref>
<ref id="b7-sensors-11-00062"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Cadena</surname><given-names>C.</given-names></name><name><surname>Neira</surname><given-names>J.</given-names></name></person-group><article-title>SLAM in O(log n) with the Combined Kalman—Information filter</article-title><conf-name>Proceeedings of IEEE International Conference on Intelligent Robots and Systems (IROS)</conf-name><conf-loc>St. Louis, MO, USA</conf-loc><conf-date>10–15 October 2009</conf-date><fpage>2069</fpage><lpage>2076</lpage></citation></ref>
<ref id="b8-sensors-11-00062"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Yufeng</surname><given-names>L.</given-names></name><name><surname>Thrun</surname><given-names>S.</given-names></name></person-group><article-title>Results for Outdoor-SLAM Using Sparse Extended Information Filters</article-title><conf-name>Proceeedings of IEEE International Conference on Robotics and Automation (ICRA)</conf-name><conf-loc>Taipei, Taiwan</conf-loc><conf-date>14–19 September 2003</conf-date><fpage>1227</fpage><lpage>1233</lpage></citation></ref>
<ref id="b9-sensors-11-00062"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Yutong</surname><given-names>Z.</given-names></name><name><surname>Kui</surname><given-names>Y.</given-names></name><name><surname>Wei</surname><given-names>Z.</given-names></name><name><surname>Huosheng</surname><given-names>H.</given-names></name></person-group><article-title>A Two-Step Particle Filter for SLAM of Corridor Environment</article-title><conf-name>Pceedings of IEEE International Conference on Information Acquisition</conf-name><conf-loc>Weihai, China</conf-loc><conf-date>20–23 August 2006</conf-date><fpage>370</fpage><lpage>375</lpage></citation></ref>
<ref id="b10-sensors-11-00062"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Nosan</surname><given-names>K.</given-names></name><name><surname>Beom-Hee</surname><given-names>L.</given-names></name><name><surname>Yokoi</surname><given-names>K.</given-names></name></person-group><article-title>Result Representation of Rao-Blackwellized Particle Filtering for SLAM</article-title><conf-name>Proceedings of International Conference on Control, Automation and Systems</conf-name><conf-loc>Seoul, Korea</conf-loc><conf-date>14–17 October 2008</conf-date><fpage>698</fpage><lpage>703</lpage></citation></ref>
<ref id="b11-sensors-11-00062"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Guo</surname><given-names>R.</given-names></name><name><surname>Sun</surname><given-names>F.</given-names></name><name><surname>Yua</surname><given-names>J.</given-names></name></person-group><article-title>ICP based on Polar Point Matching with application to Graph-SLAM</article-title><conf-name>Proceedings of International Conference on Mechatronics and Automation</conf-name><conf-loc>Changchun, China</conf-loc><conf-date>9–12 August 2009</conf-date><fpage>1122</fpage><lpage>1127</lpage></citation></ref>
<ref id="b12-sensors-11-00062"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Doh</surname><given-names>N. L.</given-names></name><name><surname>Chung</surname><given-names>W. K.</given-names></name><name><surname>Lee</surname><given-names>S.</given-names></name><name><surname>You</surname><given-names>B.</given-names></name></person-group><article-title>A Robust General Voronoi Graph Based SLAM for a Hyper Symmetric Environment</article-title><conf-name>Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name><conf-loc>Las Vegas, NV, USA</conf-loc><conf-date>27–31 October 2003</conf-date><fpage>218</fpage><lpage>223</lpage></citation></ref>
<ref id="b13-sensors-11-00062"><label>13.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Tanaka</surname><given-names>M.</given-names></name><name><surname>Ito</surname><given-names>M.</given-names></name></person-group><article-title>Experimental results for Walking Navigation System Using Fast SLAM</article-title><conf-name>Proceedings of International Conference on Control, Automation and Systems</conf-name><conf-loc>Seoul, Korea</conf-loc><conf-date>17–20 October 2007</conf-date><fpage>836</fpage><lpage>840</lpage></citation></ref>
<ref id="b14-sensors-11-00062"><label>14.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Guivant</surname><given-names>J.</given-names></name><name><surname>Nebot</surname><given-names>E.</given-names></name><name><surname>Baiker</surname><given-names>S.</given-names></name></person-group><article-title>High Accuracy Navigation Using Laser Range Sensors in Outdoor Applications</article-title><conf-name>Proceedings of IEEE International Conference on Robotics and Automation</conf-name><conf-loc>San Francisco, CA, USA</conf-loc><conf-date>24–28 April 2000</conf-date><fpage>3817</fpage><lpage>3822</lpage></citation></ref>
<ref id="b15-sensors-11-00062"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Bailey</surname><given-names>T.</given-names></name><name><surname>Nieto</surname><given-names>J.</given-names></name><name><surname>Guivant</surname><given-names>J.</given-names></name><name><surname>Stevens</surname><given-names>M.</given-names></name><name><surname>Nebot</surname><given-names>E.</given-names></name></person-group><article-title>Consistency of the EKF-SLAM Algorithm</article-title><conf-name>Proceedings of IEEE International Conference on Intelligent Robots and Systems (IROS)</conf-name><conf-loc>Beijing, China</conf-loc><conf-date>9–15 October 2006</conf-date><fpage>3562</fpage><lpage>3568</lpage></citation></ref>
<ref id="b16-sensors-11-00062"><label>16.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lemaire</surname><given-names>T.</given-names></name><name><surname>Lacroix</surname><given-names>S.</given-names></name></person-group><article-title>Monocular-Vision Based SLAM Using Line Segments</article-title><conf-name>Proceedings of IEEE International Conference on on Robotics and Automation</conf-name><conf-loc>Rome, Italy</conf-loc><conf-date>10–14 April 2007</conf-date><fpage>2791</fpage><lpage>2796</lpage></citation></ref>
<ref id="b17-sensors-11-00062"><label>17.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Bucy</surname><given-names>R.S.</given-names></name><name><surname>Joseph</surname><given-names>P.D.</given-names></name></person-group><source>Filtering for Stochastic Processes with Applications to Guidance</source><publisher-name>John Wiley &amp; Sons</publisher-name><publisher-loc>Hoboken, NJ, USA</publisher-loc><year>1968</year></citation></ref>
<ref id="b18-sensors-11-00062"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Paz</surname><given-names>L.M.</given-names></name><name><surname>Pinies</surname><given-names>P.</given-names></name><name><surname>Tardos</surname><given-names>J.D.</given-names></name><name><surname>Neira</surname><given-names>J.</given-names></name></person-group><article-title>Large-Scale 6-DOF SLAM With Stereo-in-Hand</article-title><source>IEEE Trans. Robot</source><year>2008</year><volume>24</volume><fpage>946</fpage><lpage>957</lpage><pub-id pub-id-type="doi">10.1109/TRO.2008.2004637</pub-id></citation></ref>
<ref id="b19-sensors-11-00062"><label>19.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Rezaei</surname><given-names>S.</given-names></name><name><surname>Guivant</surname><given-names>J.</given-names></name><name><surname>Nebot</surname><given-names>E.M.</given-names></name></person-group><article-title>Car-Like Robot Path Following in Large Unstructured Environments</article-title><conf-name>Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name><conf-loc>Las Vegas, NV, USA</conf-loc><conf-date>27–31 October 2003</conf-date><fpage>2468</fpage><lpage>2473</lpage></citation></ref>
<ref id="b20-sensors-11-00062"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Auat Cheein</surname><given-names>F. A.</given-names></name><name><surname>di Sciascio</surname><given-names>F.</given-names></name><name><surname>Scaglia</surname><given-names>G.</given-names></name><name><surname>Carelli</surname><given-names>R.</given-names></name></person-group><article-title>Towards Features Updating Selection Based on the Covariance Matrix of the SLAM System State</article-title><source>Robotica</source><year>2010</year><comment>in press.</comment></citation></ref>
<ref id="b21-sensors-11-00062"><label>21.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Xie</surname><given-names>L.</given-names></name><name><surname>Adams</surname><given-names>M.D.</given-names></name></person-group><article-title>Entropy based Feature Selection Scheme for Real Time Simultaneous Localization and Map Building</article-title><conf-name>Proceedings of IEEE-International Conference on Intelligent Robots and Systems</conf-name><conf-loc>Edmonton, Canda</conf-loc><conf-date>2–5 August 2005</conf-date></citation></ref>
<ref id="b22-sensors-11-00062"><label>22.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Auat Cheein</surname><given-names>F.A.</given-names></name><name><surname>De la Cruz</surname><given-names>C.</given-names></name><name><surname>Basto Filho</surname><given-names>T.F.</given-names></name><name><surname>Carelli</surname><given-names>R.</given-names></name></person-group><article-title>Solution to a Door Crossing Problem for an Autonomous Wheelchair</article-title><conf-name>EEE-International Conference on Intelligent Robots and Systems</conf-name><conf-loc>St. Louis, MO, USA</conf-loc><conf-date>10–15 October 2009</conf-date><fpage>4931</fpage><lpage>4936</lpage></citation></ref>
<ref id="b23-sensors-11-00062"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Auat Cheein</surname><given-names>F.A.</given-names></name><name><surname>Scaglia</surname><given-names>G.</given-names></name><name><surname>di Sciascio</surname><given-names>F</given-names></name><name><surname>Carelli</surname><given-names>R.</given-names></name></person-group><article-title>Feature Selection Criteria for Real Time EKF-SLAM Algorithm</article-title><source>Int. J. Adv. Robotic Syst</source><year>2009</year><volume>7</volume><fpage>229</fpage><lpage>238</lpage></citation></ref>
<ref id="b24-sensors-11-00062"><label>24.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Castellanos</surname><given-names>J.A.</given-names></name><name><surname>Neira</surname><given-names>J.</given-names></name><name><surname>Tardos</surname><given-names>J.D.</given-names></name></person-group><article-title>Limits to the Consistency of EKF-Based SLAM</article-title><conf-name>Proceedings of the 5th IFAC/EURON Symposium on Intelligent Autonomous Vehicles</conf-name><conf-loc>Lisbon, Portugal</conf-loc><conf-date>20–22 August 2004</conf-date></citation></ref>
<ref id="b25-sensors-11-00062"><label>25.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Harville</surname><given-names>D</given-names></name></person-group><source>Matrix Algebra from a Statistician’s Perspective</source><publisher-name>Springer-Verlag</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>1997</year></citation></ref>
<ref id="b26-sensors-11-00062"><label>26.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kanayama</surname><given-names>Y.</given-names></name><name><surname>Kimura</surname><given-names>Y.</given-names></name><name><surname>Miyazaki</surname><given-names>F.</given-names></name><name><surname>Noguchi</surname><given-names>T.</given-names></name></person-group><article-title>A Stable Tracking Control Method for an Autonomous Mobile Robot</article-title><conf-name>Proceedings of IEEE International Conference on Robotics and Automation (ICRA)</conf-name><conf-loc>Cincinnati, OH, USA</conf-loc><conf-date>13–18 May 1990</conf-date><fpage>384</fpage><lpage>389</lpage></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Table</title>
<fig id="f1-sensors-11-00062" position="float">
<label>Figure 1.</label>
<caption>
<p>Graphic representation of two features with correct association (in red-star) among a set of five features extracted from the environment by the mobile robot’s sensors.</p></caption>
<graphic xlink:href="sensors-11-00062f1.gif"/></fig>
<fig id="f2-sensors-11-00062" position="float">
<label>Figure 2.</label>
<caption>
<p>Picture of the mobile robot Pioneer 3AT used in this work. The range sensor laser is mounted on the vehicle.</p></caption>
<graphic xlink:href="sensors-11-00062f2.gif"/></fig>
<fig id="f3-sensors-11-00062" position="float">
<label>Figure 3.</label>
<caption>
<p>General architecture of the system. The trajectory controller uses the odometry of the mobile robot as input. The SLAM algorithms work independently from each other and from the controller.</p></caption>
<graphic xlink:href="sensors-11-00062f3.gif"/></fig>
<fig id="f4-sensors-11-00062" position="float">
<label>Figure 4.</label>
<caption>
<p>Map reconstruction using the sequential EKF-SLAM presented in <xref ref-type="table" rid="t2-sensors-11-00062">Algorithm 1</xref>—without feature restriction. <bold>(a)</bold> Shows both: the map and the traveled path using the information processed by the sequential EKF-SLAM without restricting the number of features to be updated; <bold>(b)</bold> shows the sequential EKF-SLAM results after restricting the number of features to be updated to the first two features in being detected by the system; <bold>(c)</bold> it is a zoom to show the covariance ellipse associated with each feature of the environment. The path traveled by the mobile robot is represented in a solid black line and the path estimated by the SLAM in solid magenta; the features are represented by blue triangles and the ellipses of uncertainty associated with each feature are in solid red.</p></caption>
<graphic xlink:href="sensors-11-00062f4.gif"/></fig>
<fig id="f5-sensors-11-00062" position="float">
<label>Figure 5.</label>
<caption>
<p>Map reconstruction of the environment using the entropy feature selection criterion on the EKF-SLAM. <bold>(a)</bold> Shows the map reconstruction when the information difference gate was set to <italic>δ</italic> = 0.2; <bold>(b)</bold> shows the map reconstruction when the information difference gate was set to <italic>δ</italic> = 0.4. As it can be seen, the map precision depends on the selection of the information difference gate, which in turn is related to the design of the algorithm. The path traveled by the mobile robot is represented in a solid black line and the path estimated by the SLAM in solid magenta; the features are represented by blue triangles and the ellipses of uncertainty associated with each feature are in solid red.</p></caption>
<graphic xlink:href="sensors-11-00062f5.gif"/></fig>
<fig id="f6-sensors-11-00062" position="float">
<label>Figure 6.</label>
<caption>
<p>Map reconstruction of the environment using the covariance ratio feature selection criterion on the EKF-SLAM. <bold>(a)</bold> Shows the map reconstruction when the five most significant features —<italic>LIM</italic> = 5 in <xref ref-type="table" rid="t4-sensors-11-00062">Algorithm 3</xref>—were used for the correction stage of the EKF-SLAM; <bold>(b)</bold> shows the map reconstruction when <italic>LIM</italic> = 2. The path traveled by the mobile robot is represented in a solid black line and the path estimated by the SLAM in solid magenta; the features are represented by blue triangles and the ellipses of uncertainty associated with each feature are in solid red.</p></caption>
<graphic xlink:href="sensors-11-00062f6.gif"/></fig>
<fig id="f7-sensors-11-00062" position="float">
<label>Figure 7.</label>
<caption>
<p>Map reconstruction of the environment using the sum of eigenvalues feature selection criterion on the EKF-SLAM. <bold>(a)</bold> Shows the map reconstruction when the five most significant features—<italic>LIM</italic> = 5 in <xref ref-type="table" rid="t5-sensors-11-00062">Algorithm 4</xref>—were used for the correction stage of the EKF-SLAM; <bold>(b)</bold> shows the map reconstruction when <italic>LIM</italic> = 2. The path traveled by the mobile robot is represented in a solid black line and the path estimated by the SLAM in solid magenta; the features are represented by blue triangles and the ellipses of uncertainty associated with each feature are in solid red.</p></caption>
<graphic xlink:href="sensors-11-00062f7.gif"/></fig>
<fig id="f8-sensors-11-00062" position="float">
<label>Figure 8.</label>
<caption>
<p>Map reconstruction of the environment using the maximum eigenvalue feature selection criterion on the EKF-SLAM. <bold>(a)</bold> Shows the map reconstruction when the five most significant features—<italic>LIM</italic> = 5 in <xref ref-type="table" rid="t5-sensors-11-00062">Algorithm 4</xref>—were used for the correction stage of the EKF-SLAM; <bold>(b)</bold> shows the map reconstruction when <italic>LIM</italic> = 2. The path traveled by the mobile robot is represented in a solid black line and the path estimated by the SLAM in solid magenta; the features are represented by blue triangles and the ellipses of uncertainty associated with each feature are in solid red.</p></caption>
<graphic xlink:href="sensors-11-00062f8.gif"/></fig>
<fig id="f9-sensors-11-00062" position="float">
<label>Figure 9.</label>
<caption>
<p>Map reconstruction of the environment using the features’ covariance selection criterion on the EKF-SLAM. <bold>(a)</bold> Shows the map reconstruction when the five most significant features—<italic>LIM</italic> = 5 in <xref ref-type="table" rid="t6-sensors-11-00062">Algorithm 5</xref>—were used for the correction stage of the EKF-SLAM; <bold>(b)</bold> shows the map reconstruction when <italic>LIM</italic> = 2. The path traveled by the mobile robot is represented in a solid black line and the path estimated by the SLAM in solid magenta; the features are represented by blue triangles and the ellipses of uncertainty associated with each feature are in solid red.</p></caption>
<graphic xlink:href="sensors-11-00062f9.gif"/></fig>
<fig id="f10-sensors-11-00062" position="float">
<label>Figure 10.</label>
<caption>
<p>Evolution of the error of the different estimated paths by the EKF-SLAM algorithms proposed herein with respect to the predefined path. As it can be seen, the path estimated by the EKF-SLAM with the feature selection approach based on the covariance ratio shows the closest path to the one estimated by the full sequential EKF-SLAM. The path estimated by the entropy approach shows the worst path (with the higher error evolution). The <italic>Number of points</italic> axis refers to the successively points of the path used for the calculation of the error.</p></caption>
<graphic xlink:href="sensors-11-00062f10.gif"/></fig>
<fig id="f11-sensors-11-00062" position="float">
<label>Figure 11.</label>
<caption>
<p>Zoom of <xref ref-type="fig" rid="f10-sensors-11-00062">Figure 10</xref>. As it can be seen, the paths estimated by the entropy approach is the worst estimated path.</p></caption>
<graphic xlink:href="sensors-11-00062f11.gif"/></fig>
<fig id="f12-sensors-11-00062" position="float">
<label>Figure 12.</label>
<caption>
<p>Covariance evolution of a set of five features—with two parameters—according to the estimation carried out by the full EKF-SLAM without feature restriction.</p></caption>
<graphic xlink:href="sensors-11-00062f12.gif"/></fig>
<fig id="f13-sensors-11-00062" position="float">
<label>Figure 13.</label>
<caption>
<p>Covariance evolution of a same set of features of <xref ref-type="fig" rid="f12-sensors-11-00062">Figure 12</xref> estimated by EKF-SLAM with the entropy feature selection approach.</p></caption>
<graphic xlink:href="sensors-11-00062f13.gif"/></fig>
<fig id="f14-sensors-11-00062" position="float">
<label>Figure 14.</label>
<caption>
<p>Covariance evolution of a same set of features of <xref ref-type="fig" rid="f12-sensors-11-00062">Figure 12</xref> estimated by EKF-SLAM with the covariance ratio feature selection approach.</p></caption>
<graphic xlink:href="sensors-11-00062f14.gif"/></fig>
<fig id="f15-sensors-11-00062" position="float">
<label>Figure 15.</label>
<caption>
<p>Covariance evolution of a same set of features of <xref ref-type="fig" rid="f12-sensors-11-00062">Figure 12</xref> estimated by EKF-SLAM with the <italic>sum of eigenvalues</italic> feature selection approach.</p></caption>
<graphic xlink:href="sensors-11-00062f15.gif"/></fig>
<fig id="f16-sensors-11-00062" position="float">
<label>Figure 16.</label>
<caption>
<p>Covariance evolution of a same set of features of <xref ref-type="fig" rid="f12-sensors-11-00062">Figure 12</xref> estimated by EKF-SLAM with the maximum eigenvalue feature selection approach.</p></caption>
<graphic xlink:href="sensors-11-00062f16.gif"/></fig>
<fig id="f17-sensors-11-00062" position="float">
<label>Figure 17.</label>
<caption>
<p>Covariance evolution of a same set of features of <xref ref-type="fig" rid="f12-sensors-11-00062">Figure 12</xref> estimated by EKF-SLAM with the features’ covariance selection approach.</p></caption>
<graphic xlink:href="sensors-11-00062f17.gif"/></fig>
<fig id="f18-sensors-11-00062" position="float">
<label>Figure 18.</label>
<caption>
<p>Accumulated processing time associated with each EKF-SLAM with feature selection criterion approach.</p></caption>
<graphic xlink:href="sensors-11-00062f18.gif"/></fig>
<table-wrap id="t1-sensors-11-00062" position="float">
<label>Table 1.</label>
<caption>
<p>Mean Square Error associated with the different SLAM algorithms with feature selection criterion.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th align="left" valign="middle">SLAM algorithms</th>
<th align="center" valign="middle">MSE (<italic>m</italic><sup>2</sup>)</th></tr></thead>
<tbody>
<tr>
<td align="left" valign="middle">Sequential EKF-SLAM (without feature selection)</td>
<td align="center" valign="middle">0.11</td></tr>
<tr>
<td align="left" valign="middle">Sequential EKF-SLAM (correcting with 2 features)</td>
<td align="center" valign="middle">1.14</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: entropy approach (<italic>LIM</italic> = 5)</td>
<td align="center" valign="middle">1.09</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: entropy approach (<italic>LIM</italic> = 2)</td>
<td align="center" valign="middle">2.11</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: covariance ratio approach (<italic>LIM</italic> = 5)</td>
<td align="center" valign="middle">0.16</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: covariance ratio approach (<italic>LIM</italic> = 2)</td>
<td align="center" valign="middle">0.46</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: sum of eigenvalues approach (<italic>LIM</italic> = 5)</td>
<td align="center" valign="middle">0.15</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: sum of eigenvalues approach (<italic>LIM</italic> = 2)</td>
<td align="center" valign="middle">1.14</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: maximum eigenvalue approach (<italic>LIM</italic> = 5)</td>
<td align="center" valign="middle">0.17</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: maximum eigenvalue approach (<italic>LIM</italic> = 2)</td>
<td align="center" valign="middle">1.06</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: features’ covariance approach (<italic>LIM</italic> = 5)</td>
<td align="center" valign="middle">0.16</td></tr>
<tr>
<td align="left" valign="middle">EKF-SLAM: features’ covariance approach (<italic>LIM</italic> = 2)</td>
<td align="center" valign="middle">0.63</td></tr></tbody></table></table-wrap></sec></back></article>
