<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0012-7353</journal-id>
<journal-title><![CDATA[DYNA]]></journal-title>
<abbrev-journal-title><![CDATA[Dyna rev.fac.nac.minas]]></abbrev-journal-title>
<issn>0012-7353</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional de Colombia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0012-73532014000100001</article-id>
<article-id pub-id-type="doi">10.15446/dyna.v81n183.34745</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[SIMULTANEOUS LOCALIZATION OF A MONOCULAR CAMERA AND MAPPING OF THE ENVIRONMENT IN REAL TIME]]></article-title>
<article-title xml:lang="es"><![CDATA[LOCALIZACIÓN DE UNA CÁMARA MONOCULAR Y MAPEO SIMULTÁNEO DEL ENTORNO EN TIEMPO REAL]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[DÍAZ]]></surname>
<given-names><![CDATA[ANDRÉS]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[PAZ]]></surname>
<given-names><![CDATA[LINA]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[CAICEDO]]></surname>
<given-names><![CDATA[EDUARDO]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[PINIÉSS]]></surname>
<given-names><![CDATA[PEDRO]]></given-names>
</name>
<xref ref-type="aff" rid="A04"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad del Valle Grupo de Percepción y Sistemas Inteligentes ]]></institution>
<addr-line><![CDATA[Cali ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Zaragoza Grupo de Robótica, Percepción y Tiempo Real ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad del Valle Grupo de Percepción y Sistemas Inteligentes ]]></institution>
<addr-line><![CDATA[Cali ]]></addr-line>
</aff>
<aff id="A04">
<institution><![CDATA[,Universidad de Zaragoza Grupo de Robótica, Percepción y Tiempo Real ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>02</month>
<year>2014</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>02</month>
<year>2014</year>
</pub-date>
<volume>81</volume>
<numero>183</numero>
<fpage>7</fpage>
<lpage>15</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532014000100001&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0012-73532014000100001&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0012-73532014000100001&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this work a Visual SLAM system (Simultaneous Localization and Mapping) that performs in real time, building feature-based maps and estimating the camera trajectory is presented. The camera is carried by a person that moves it smoothly with six degrees of freedom in indoor environments. The features correspond to high quality corners parametrized with inverse depth representation. They are detected inside regions of interest and an occupancy criterion is applied in order to avoid feature agglomeration. The association process is developed using active search. The final representation is made in a three-dimensional environment.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este trabajo se presenta el desarrollo de un sistema de SLAM Visual (Simultaneous Localization and Mapping) que se desempeña en tiempo real, construyendo mapas basados en puntos característicos y estimando la trayectoria de la cámara. La cámara es transportada por una persona que la mueve suavemente con seis grados de libertad en entornos interiores. Los puntos característicos corresponden a esquinas de alta calidad parametrizados con el inverso de su profundidad. Estos son detectados dentro de regiones de interés y se aplica un criterio de ocupación con el fin de evitar aglomeración de características. El proceso de asociación se desarrolla usando búsqueda activa. La representación final se realiza en un entorno tridimensional.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Localization]]></kwd>
<kwd lng="en"><![CDATA[mapping]]></kwd>
<kwd lng="en"><![CDATA[EKF]]></kwd>
<kwd lng="en"><![CDATA[monocular camera]]></kwd>
<kwd lng="en"><![CDATA[inverse depth]]></kwd>
<kwd lng="en"><![CDATA[real time]]></kwd>
<kwd lng="en"><![CDATA[6DOF]]></kwd>
<kwd lng="en"><![CDATA[active search]]></kwd>
<kwd lng="es"><![CDATA[Localización]]></kwd>
<kwd lng="es"><![CDATA[mapeo]]></kwd>
<kwd lng="es"><![CDATA[EKF]]></kwd>
<kwd lng="es"><![CDATA[cámara monocular]]></kwd>
<kwd lng="es"><![CDATA[inverso de la profundidad]]></kwd>
<kwd lng="es"><![CDATA[tiempo real]]></kwd>
<kwd lng="es"><![CDATA[6DOF]]></kwd>
<kwd lng="es"><![CDATA[búsqueda activa]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p><a href="http://dx.doi.org/10.15446/dyna.v81n183.34745" target="_blank">http://dx.doi.org/10.15446/dyna.v81n183.34745</a></p> 		    <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>SIMULTANEOUS LOCALIZATION OF A MONOCULAR CAMERA AND MAPPING OF THE ENVIRONMENT IN REAL TIME </b></font></p> 		    <p align="center"><i><font size="3"><b><font face="Verdana, Arial, Helvetica, sans-serif">LOCALIZACI&Oacute;N DE UNA C&Aacute;MARA MONOCULAR Y MAPEO SIMULT&Aacute;NEO DEL ENTORNO EN TIEMPO REAL</font></b></font></i></p> 		    <p align="center">&nbsp;</p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>ANDR&Eacute;S D&Iacute;AZ</b>    <br> 	        <i>Magister , Grupo de Percepci&oacute;n y Sistemas Inteligentes, Universidad del Valle-Cali, <a href="mailto:andres.a.diaz@correounivalle.edu.co">andres.a.diaz@correounivalle.edu.co</a></i></font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>LINA PAZ</b>    <br> 	        <i>Dra en Sistemas e Inform&aacute;tica, Grupo de Rob&oacute;tica, Percepci&oacute;n y Tiempo Real, Universidad de Zaragoza, <a href="mailto:linapaz@unizar.es">linapaz@unizar.es</a></i></font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>EDUARDO CAICEDO    <br> 		</b><i>Dr en Inform&aacute;tica, Grupo de Percepci&oacute;n y Sistemas Inteligentes, Universidad del Valle-Cali, <a href="mailto:eduardo.caicedo@correounivalle.edu.co">eduardo.caicedo@correounivalle.edu.co</a></i></font></p> 		    ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>PEDRO PINI&Eacute;SS</b>    <br> 	        <i>Dr en Ingenier&iacute;a de Sistemas, Grupo de Rob&oacute;tica, Percepci&oacute;n y Tiempo Real, Universidad de Zaragoza, <a href="mailto:ppinies@unizar.es">ppinies@unizar.es</a></i></font></p> 		    <p align="center">&nbsp;</p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Received for review November 03<sup>th</sup>, 2012, accepted October 18<sup>th</sup>, 2013, final version december, 12<sup>th</sup>, 2013</b></font></p>     <p>&nbsp;</p> 		<hr> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>ABSTRACT:</b> In this work a Visual SLAM system (Simultaneous Localization and Mapping) that performs in real time, building feature-based maps and estimating the camera trajectory is presented. The camera is carried by a person that moves it smoothly with six degrees of freedom in indoor environments. The features correspond to high quality corners parametrized with inverse depth representation. They are detected inside regions of interest and an occupancy criterion is applied in order to avoid feature agglomeration. The association process is developed using active search. The final representation is made in a three-dimensional environment.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Keywords:</b> Localization, mapping, EKF, monocular camera, inverse depth, real time, 6DOF, active search.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN:</b> En este trabajo se presenta el desarrollo de un sistema de SLAM Visual (Simultaneous Localization and Mapping) que se desempe&ntilde;a en tiempo real, construyendo mapas basados en puntos caracter&iacute;sticos y estimando la trayectoria de la c&aacute;mara. La c&aacute;mara es transportada por una persona que la mueve suavemente con seis grados de libertad en entornos interiores. Los puntos caracter&iacute;sticos corresponden a esquinas  de alta calidad parametrizados con el inverso de su profundidad. Estos son detectados dentro de regiones de inter&eacute;s y se aplica un criterio de ocupaci&oacute;n  con el fin de evitar aglomeraci&oacute;n de caracter&iacute;sticas. El proceso de asociaci&oacute;n se desarrolla usando b&uacute;squeda activa. La representaci&oacute;n final se realiza en un entorno tridimensional.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Palabras Clave:</b> Localizaci&oacute;n, mapeo, EKF, c&aacute;mara monocular, inverso de la profundidad, tiempo real, 6DOF, b&uacute;squeda activa.</p> </font> 		<hr> 		    <p>&nbsp;</p> 		    ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>1.  INTRODUCTION</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Before carrying out tasks such as navigation, path planning, and object and place recognition, a totally autonomous mobile robot must interpret the information obtained by its sensors and then estimate its position and the position of environmental features. The simultaneous localization and map building algorithms face both problems at the same time &#91;1&#93;, and they have been the focus of attention of the research community on mobile robotics during the last two decades.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The system described in this article is able to estimate the camera position, which is carried by a person or by a mobile platform, and to represent the trajectory that it makes. The system creates a three-dimensional map composed of the camera model and spatial points that represent object corners in the environment. Moreover, it can be adapted to different mobile platforms -terrestrial, aquatic, and aerial- because it is portable and has six degrees of freedom that reduce motion restrictions. The system is of great importance when GPS information is not available and in applications where is not practical to carry heavy and bulky sensors such as object tracking and mapping of environments in rescue operations.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Section 2 defines the schema of the Visual SLAM system and the general methodology used in this work. Section 3 presents outstanding projects about Visual SLAM. Sections 4 and 5 explain how the key points were detected and how the radial distortion was corrected, respectively. Sections 6, 7, 8 and 9 present the parametrization process with the inverse depth of the features, the constant velocity model, the prediction of feature location in the image plane and the data association, respectively. Finally, the results and conclusions obtained in this work are presented.</font></p> 		    <p>&nbsp;</p> 		    <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2.  VISUAL SLAM</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recently, the use of visual sensors has generated great interest in the research field of SLAM due to the large amount of texture information provided by these sensors of the objects found in a scene &#91;2-4&#93;. Moreover, cameras are compact, accurate, and much cheaper than laser sensors.</p> </font> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Implementations such as the ones developed by Castellanos &#91;5&#93; and Davison &#91;6&#93; proved the EKF (Extended Kalman Filter) in the building of small maps in SLAM systems with stereo vision, working in real time at 5 Hz. The system was able to build three-dimensional maps and to control a mobile robot. Jung and Lacroix &#91;7&#93; developed an autonomous system for mapping terrains using stereo vision as the only sensor and the standard EKF. Saez &#91;8&#93; presented a SLAM system with stereo vision for six degrees of freedom movements and indoor environments.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Some SLAM systems that use a monocular camera have proved to be viable in small environments; the most outstanding systems are the ones designed by Bailey &#91;9&#93;, Kwok &#91;10&#93; and Lemaire &#91;11&#93;. Most of them are essentially EKF-SLAM systems and only change the initialization techniques and the kind of interest points extracted from the images (Harris corners, Shi and Tomasi corners, SIFT features, or any mixture of them). The works of Civera &#91;12&#93;, Tully &#91;13&#93;, Clemente &#91;14&#93; and Marzorati &#91;15&#93; show a tendency to use monocular cameras, inverse depth parametrization, and to perform in real time. The sub-mapping techniques, such as the ones depevoped by Bosse &#91;16&#93;, Leonard &#91;17&#93;, Paz &#91;18&#93; and Pini&eacute;s &#91;19&#93;, allow the system to achieve a performance in long trajectories.</font></p> 		    <p>&nbsp;</p> 		    ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3. SCHEMA OF OUR SLAM SYSTEM</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The SLAM system involves many processes that work together in sequential way as is shown in <a href="#fig01">Fig. 1</a>. The probabilistic core is the EKF that alternates between a prediction step and an update step. Every process has inputs and outputs that are in a chain that ends up in a state estimate. In the next sections, these variables and their functions in the whole process are explained.</font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig01"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig01.gif"></p> 		    <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4. CORNER DETECTION</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> The system begins getting information of the environment through key points; in this work the corners are obtained with the Harris detector, supported by OpenCV. The image is split in 36 region of interest and for each region the Harris detector is applied, returning the best corner. From them, the corners with their minimum eigenvalue over a given threshold are chosen and only five of them are initialized, the best corners. At the beginning all the regions are empty, but after the first iteration, an occupancy algorithm must be used in order to avoid agglomeration of corners and therefore, wrong associations.  In this step the coordinates of the five best corners are stored, the regions where they were found and a patch of 15x15 pixels around each corner.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.1.  Occupancy Algorithm</b>    <br> 	    This criterion defines empty and occupied regions of interest. Only empty regions can be used to initialize a new feature. Moreover, when a region becomes empty because both the feature was deleted or the feature moves to another region, 20 time steps must pass in order to consider this region available to be occupied again. This technique allows the features to be well distributed over the image plane.</font></p> 		    <p>&nbsp;</p> 		    <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>5. CORRECTION OF RADIAL DISTORTION</b></font></p> 		    ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The corner coordinates have radial distortion that affects the location of the pixels and this displacement grows as the pixel nears the image boundary.  The model that describes this distortion is shown in (1).</p> </font> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq01.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">where <i>k</i>1 and <i>k</i>2 are the coefficients of radial distortion, <i>r</i> is the radius, <i>x</i>n and <i>y</i>n are the normalized coordinates. This model allows the system to include radial distortion. However, the opposite process is needed (remove radial distortion) and there is no analytical function that does this. Therefore, a numerical method is employed, the Newton Raphson method, that use the expression (2) and its derivative in order to calculate an approximation of the radius without distortion.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq02.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Given the radius <i>r,</i> the principal point (<i>C</i>x<i>,C</i>y) and the image coordinates with distortion (ud,vd), the image coordinates without distortion <i>(u, v)</i> can be computed using the expressions (3) and (4). Hereafter the corners will be called features.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq0304.gif"></font></p> 		    <p>&nbsp;</p> 		    <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>6. FEATURE INITIALIZATION</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This step consists in the corner parametrization and its inclusion to the state vector. The explanation of the corner parametrization using inverse depth representation and the addition of features in the state vector will be presented in this section.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>6.1. Inverse Depth Representation</b>    ]]></body>
<body><![CDATA[<br> 	    A significant limitation of the initial approaches of Davison &#91;2&#93; and others was that the systems could only use features close to the camera and that had great parallax during the motion. This problem limited the robot navigation (or the camera navigation) to indoors. Montiel &#91;20&#93; proposed a technique to initialize features using the inverse distance between the feature and the camera where it was seen for first time. This technique allows the system to work with both close and distant features from the moment they are detected. The distant features are used to improve the motion estimation, acting initially as an orientation reference. These features are common in outdoor environments.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The coordinates <i>(u, v)</i> are used in the back projection model, obtaining normalized coordinates <i>x</i>n and <i>y</i>n:</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq05.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">where <i>f </i>is the focal length and <i>(c</i>x<i>,c</i>y<i>)</i> is the principal point. The normalized coordinates give information about the ray <i>h</i>c that passes through the optical center of the camera and the point in the world whose image coordinates are (<i>u</i>d<i>, v</i>d). The ray can be defined by the angles <i>?</i> and <i>F</i>, the azimuth and the elevation angles respectively:</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq06.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The camera state is defined with six parameters:</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq07.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The vector <i>X</i>wca<i> = &#91;x</i>wc<i> y</i>wc<i> z</i>wc<i>&#93;</i>T corresponds to the camera location, in Cartesian coordinates, from where the features were seen for first time, <i>?</i>i is the azimuth angle, <font face="Symbol">f</font>i is the elevation angle and <i>?</i>i = 1<i>/d</i>i is the inverse distance between the camera position and the feature.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>6.2.  Addition of Features to the State Vector</b>    <br> 	    The state vector stores the information of the camera and outstanding features:</font></p> 		    ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq08.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq09.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">where <i>r</i>w corresponds to the three cartesian coordinates of the camera location, <i>?</i>w is the camera orientation in <i>Roll, Pitch, Yaw </i>angles &#91;<i>?</i>x<i>, &psi;</i>y<i>, &psi;</i>z&#93;T , <i>v</i>w is the linear velocity of the camera and <i>?</i>c is the angular velocity with respect to the camera frame. The vector <i>Y </i>(<i>k</i>) contains the information of the environment, organized by set of features taken from different camera locations:</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq10.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">where each feature <i>y</i>i was defined in equation (7).  A feature initialized remains in the state vector for the whole execution if this overcomes the following criterion: the feature must be seen at least 17 times in the first 20 iterations, from the time it was detected. If certain feature overcomes this criterion, it will not be deleted from the state vector and will be predicted in every iteration.</font></p> 		    <p>&nbsp;</p> 		    <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>7.  MOTION MODEL</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The camera is connected to a laptop and is carried by a mobile robot or by a person. A program on the laptop determines the trajectory and builds a map with well distributed features in real time. The camera moves freely in three dimensions in an unknown environment. A constant linear and angular velocity model is used. The motion model allows the system to estimate the state transition in order to predict the camera position in the next time step before getting a new observation of the environment. The motion model is a non-linear function that only affects the camera state because the features are assumed to be static. The following transition function is used to pass from the state <i>x</i>k to the state <i>x</i>k+1:</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq11.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The vector <i>W</i>(<i>k</i>) represents a zero-mean Gaussian noise with covariance <i>Q </i>that affects the linear and angular velocities of the camera to detect small changes in the model:</font></p> 		    ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq12.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The camera state <i>x</i>c evolves according to the following expression:</p> </font> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq13.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Where <i>E</i>cw is a matrix that transforms angular velocities with respect to the camera frame to equivalent angular velocities in the world frame.</font></p> 		    <p>&nbsp;</p> 		    <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>8.  PREDICTION OF THE FEATURE LOCATION</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This process consists in predicting the feature location in the next image, without making a new observation. <a href="#fig02">Figure 2</a> provides a graphical representation of the vectors of the camera and feature location.</font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig02"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig02.gif"></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The vector <i>t</i>fvi represents the camera location from where a feature <i>i </i>was observed for first time. The vector defined by <i>m, </i>the unitary vector of the bearing of the feature <i>i </i>when this feature was seen for the first time, this represents the feature location with respect to the vector <i>t</i>fvi.  The sum of these vectors is equal to vector <i>feat</i>iw, the feature location with respect to the world frame.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The vector <i>t</i>w represents the current camera position, estimated with the motion model described in section 7. The difference of <i>t</i>w and <i>feat</i>iw is equal to the vector <i>h</i>w. This vector has to be transformed to the camera frame, obtaining <i>h</i>c. The equation used to predict the azimuth and elevation angles of a feature is based on the components of the vector <i>h</i>c, &#91;<i>h</i>cx<i>, h</i>cy<i>, h</i>cz&#93;:</font></p> 		    ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq14.gif"></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The coordinates (<i>u, v</i>) are calculated from the normalized coordinates <i>x</i>n and <i>y</i>n:</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v81n183/v81n183a01eq15.gif"></font></p> 		    <p>&nbsp;</p> 		    <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>9.  DATA ASSOCIATION</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The location in the image plane (<i>u</i>i<i>, v</i>i) where the features <i>feat</i>i will be observed, for <i>i </i>= 1<i>, </i>2<i>, </i>3<i>, ..., n</i>, is predicted together with the innovation covariance matrix <i>S</i>i<i>.</i> This matrix defines an elliptical zone of uncertainty where there is high probability to re-observe the feature. In this zone a correlation algorithm is executed, comparing the distribution of the digital levels of the pixels. The location that shows the strongest similarity will be taken as the equivalent point to the central pixel of a corner patch and will be the <i>observed position </i>of the feature from the new camera position.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In <a href="#fig03">Fig. 3</a> the predictions of feature locations (red points) into the image plane are shown. The blue ellipses indicate failed correlations and therefore, there is no new observation. The green ellipses indicate successful correlations and the new observation is drawn in blue. The yellow point corresponds to a new observation that was parametrized and included into the state vector. This new feature is over an empty and available region and its distance to any other feature is more than 30 pixels.</p> </font> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig03"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig03.gif"></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A joint compatibility test based on the Mahalanobis distance is carried out to deal with spurious associations between observations and predicted features that come from dynamic objects in the mapped environment.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">When the uncertainty of a feature increases so much, the search zone is too big and it is not suitable to develop the correlation process. In this case this prediction is not used, but the feature is not deleted, it remains in the state vector.</font></p> 		    ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Finally, the difference between the observed feature (blue point) and predicted feature (red point) is the innovation vector and it is used by the Extended Kalman Filter to update the joint state camera-features. This vector moves the estimated position in the direction in which it is reduced.</font></p> 		    <p>&nbsp;</p> 		    <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>10.  RESULTS </b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The experiments were developed with the Logitech Pro 9000 camera connected to a HP laptop with a 2.2 GHz AMD Dual-core processor. The camera was carried by a person (<a href="#fig04">Fig. 4</a>) that moves it smoothly with six degrees of freedom, in unknown environments.</p> </font> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig04"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig04.gif"></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>10.1.  Open Trajectory in Indoor environments</b></font></p>             <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The first experiment was performed in the Laboratory of the Perception and Smart Systems Group. It is a small room with glass walls, chairs, and desks with monitors, printers, CPUs, among other things (<a href="#fig05">Fig. 5</a>). Some corners over the walls belong to reflections and produce failed correlations (blue ellipses in <a href="#fig03">Fig. 3</a>) so most of them are rejected by the high quality features criterion.</p> </font> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig05"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig05.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="#fig06">Figure 6</a> show the corners (points), the camera (triangular prism) and its trajectory (points connected by segments), represented in a three dimensional environment, developed with OpenGL.</p> </font> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig06"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig06.gif"></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="#fig07">Figure 7</a> shows how the inverse depth estimates evolve over time. The inverse depth of a feature is initialized with a predefined value with respect to the camera location when the feature is seen for first time. The camera is both rotated and translated and the inverse depth estimate converges to a given value after about 50 iterations. At steady state, the estimates do not vary significantly, which means that the map is consistent. Finally, these estimates are used to compute the feature locations with respect to a global frame.</font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig07"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig07.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">As time passes, the parallax angles increase, yielding better estimates of the inverse depth, which is evidenced by a reduction in standard deviation, as can be seen in <a href="#fig08">Fig. 8</a>.</font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig08"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig08.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">As the camera moves, its own pose uncertainty increases (<a href="#fig09">Figs. 9</a> and <a href="#fig10">10</a>). This fact is due to the errors introduced by the motion and observation models and the linear approximations made by the EKF. However, something very interesting happens when a loop is closed. This fact will be seen in the following experiment.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig09"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig09.gif"></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig11"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig10.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>10.2.  Closed Loop in Indoor Environments</b></font></p> 	    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This experiment was carried out with the camera focusing objects over a desk (<a href="#fig11">Fig. 11</a>), trying to follow a square trajectory and to keep a constant distance from the camera to the surface of the desk. The scale of the trajectory was fixed by hand because it is not observable with a monocular camera.</font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig11"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig11.gif"></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="#fig12">Figure 12</a> shows the square trajectory and the corners represented with OpenGL.</p> </font> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig12"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig12.gif"></p>             <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The camera observes features that were seen in the beginning of the mapping and whose location is relatively well known. Through these observations the uncertainty in camera position (location and orientation) is reduced as is shown in <a href="#fig13">Figs. 13</a> and <a href="#fig14">14</a>. These observations also reduce the uncertainty for other features in the map due to the correlation stated in the covariance matrix.</font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig13"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig13.gif"></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig14"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig14.gif"></p> 		    <p>&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>10.3.  Computational Cost</b>    <br> 	    The high computational cost is the main limitation in systems that perform in real time. This problem has been tackled with sub-mapping techniques that allow the system to navigate in large environments and to reduce the errors due to the linear approximations made by the Extended Kalman Filter.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="#fig15">Figure 15</a> depicts the quadratic dependence on the number of features in the map. This fact is due to the size of the covariance matrix that is used to update the state. The matrix operations that involve the covariance matrix are computationally expensive and  impose a limit of the number of features to 50 in order to perform in real time, managing to process at least 10 images per second (at the critical point).</font></p> 		    <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig15"></a></font><img src="/img/revistas/dyna/v81n183/v81n183a01fig15.gif"></p> 		    ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>11.  CONCLUSIONS </b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A Visual SLAM system that works with a monocular camera in real time was developed. The core of the system relies on the well known incremental Extended Kalman Filter such that the positions of camera and a feature-based map can be estimated in real time. The kind of sensor, the 6 DOF and the probabilistic focus used to solve the problem, make it a complex system. The results show that the system performs in indoor environments in real time if the amount of features is under 50, processing from 10 to 20 frames per second.</p> </font> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The estimated state of the camera has low uncertainty: the standard deviation in location is less than 7cm (for each coordinate) and in orientation is less than 3 degrees (for each axis). The inverse depth estimates of landmarks converge to a steady state in about 50 iterations, building consistent maps.</font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The feature detection is performed using regions of interest and an occupancy algorithm is implemented to avoid feature agglomeration, achieving high quality corners that are well distributed. The elliptical zones defined by the innovation covariance matrix allow the system to carry out an active search of corner patches, optimizing the correlation process. However, the matrix operations increase the computational cost and set a limit to real time performance.</p> </font> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">An interesting fact was analyzed, with closed loops the uncertainty decreases when the camera visits a place where it has been before, and recognizes features that were seen before.</p> </font> 		    <p>&nbsp;</p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>REFERENCES</b></font></p> 		    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">     <!-- ref --><p><b>&#91;1&#93;</b>  Smith, R. C., and Cheeseman P. On the representation and estimation of spatial uncertainty. Int. J. Robotics Research, 5(4): pp.56-68, 1986.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000132&pid=S0012-7353201400010000100001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;2&#93;</b>  Davison, A. J., and Murray, D. W. Simultaneous localization and map-building using active vision. IEEE Trans. Pattern Analysis and Machine Intelligence, 24(7): pp.865-880, 2002.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000134&pid=S0012-7353201400010000100002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;3&#93;</b>  Davison, A. J., Reid, I. D., Molton, N. D., and Stasse, O. Monoslam: Real-time single camera slam. IEEE Trans. Pattern Analysis and Machine Intelligence, 29(6):pp.1052-1067, June 2007.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000136&pid=S0012-7353201400010000100003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;4&#93;</b>  Quinti&aacute;n, H., Calvo, J. L., and Fontenla, O. Aplicaci&oacute;n de un robot comercial de bajo coste en tareas de seguimiento de objetos. Revista Dyna, 175, pp.24-33, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000138&pid=S0012-7353201400010000100004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;5&#93;</b>  Castellanos, J. A. Mobile Robot Localization and Map Building: A Multisensor Fusion Approach. PhD thesis, Dpto. de Inform&aacute;tica e Ingenier&iacute;a de Sistemas, University of Zaragoza, Spain, May 1998.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000140&pid=S0012-7353201400010000100005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;6&#93;</b>  Davison, A.J. Mobile Robot Navigation using Active Vision. PhD thesis, University of Oxford, 1998.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000142&pid=S0012-7353201400010000100006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;7&#93;</b>  Lacroix, S., and Jung, I. K. High resolution terrain mapping using low altitude aerial stereo imagery. In Proc. of the 9th Int. Conf. on Computer Vision, pages pp.946-951, 2003.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000144&pid=S0012-7353201400010000100007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;8&#93;</b>  Saez, J.M., Escolano, F., and Penalver, A. First Steps towards Stereobased 6DOF SLAM for the Visually Impaired. In Proc. IEEE Computer Society Conf. on Computer Vision and Pattern Recognition (CVPR'05)-  Workshops-Volume 03. IEEE Computer Society Washington, DC, USA, 2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000146&pid=S0012-7353201400010000100008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;9&#93;</b>  Bailey, T. Constrained initialization for bearing-only SLAM. In Proc. IEEE Int. Conf. on Robotics and Automation, (ICRA'03), volume 2, 2003.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000148&pid=S0012-7353201400010000100009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;10&#93;</b>  Kwok, N. M., Dissanayake, G. An efficient multiple hypothesis filter for bearing-only SLAM. In Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, (IROS'04)., volume 1, 2004.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000150&pid=S0012-7353201400010000100010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;11&#93;</b>  Lemaire, T., Lacroix, S., and Sola, J. A practical 3D bearing-only SLAM algorithm. In Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, (IROS'05), pp. 2449-2454, 2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000152&pid=S0012-7353201400010000100011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;12&#93;</b>  Civera, J., Davison, A. J., and Montiel, J. M. Inverse depth parametrization for monocular SLAM. IEEE Transactions on Robotics, 24(5): pp932-945, October 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000154&pid=S0012-7353201400010000100012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;13&#93;</b>  Tully, S., Moon, H., Kantor, G., and Choset, H. Iterated filters for bearing-only slam. In IEEE International Conference on Robotics and Automation, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000156&pid=S0012-7353201400010000100013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;14&#93;</b>  Clemente, L., Davison, A. J., Reid, I. D., Neira, J., and Tardos, J. D. Mapping large loops with a single hand-held camera. In Proc. Robotics: Science and Systems, Atlanta, GA, USA, June 2007.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000158&pid=S0012-7353201400010000100014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;15&#93;</b>  Marzorati, D., Matteucci, M., Migliore, D., and Sorrenti, D. On the use of inverse scaling in monocular slam. In IEEE International Conference on Robotics and Automation, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000160&pid=S0012-7353201400010000100015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;16&#93;</b>  Bosse, M., Newman, P. M., Leonard, J. J., Soika, M., Feiten, W., and Teller, S. An atlas framework for scalable mapping. In Proc. IEEE Int. Conf. Robotics and Automation, pp. 1899-1906, Taipei, Taiwan, 2003.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000162&pid=S0012-7353201400010000100016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;17&#93;</b>  Leonard, J. J., and Newman, P. M. Consistent, convergent and constant time SLAM. In Int. Joint Conf. Artificial Intelligence, Acapulco, Mexico, August 2003.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000164&pid=S0012-7353201400010000100017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;18&#93;</b>  Paz, L. M., Tard&oacute;s, J. D., Neira, J. Divide and Conquer: EKF SLAM in O(n). Accepted in Transactions on Robotics (in Print), 24(5), October 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000166&pid=S0012-7353201400010000100018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;19&#93;</b>  Pini&eacute;s, P., and Tard&oacute;s, J. D. Large Scale SLAM Building Conditionally Independent Local Maps: Application to Monocular Vision. Accepted in Transactions on Robotics (in print)., 24(5), October 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000168&pid=S0012-7353201400010000100019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p><b>&#91;20&#93;</b>  Montiel, J. M., and Civera, J., Davison, A. J. Unified inverse depth parametrization for monocular SLAM. In Proc. Robotics: Science and Systems, Philadelphia, USA, August 2006.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000170&pid=S0012-7353201400010000100020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref -->   </font>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Smith]]></surname>
<given-names><![CDATA[R. C.]]></given-names>
</name>
<name>
<surname><![CDATA[Cheeseman]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On the representation and estimation of spatial uncertainty]]></article-title>
<source><![CDATA[Int. J. Robotics Research]]></source>
<year>1986</year>
<volume>5</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>56-68</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Davison]]></surname>
<given-names><![CDATA[A. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Murray]]></surname>
<given-names><![CDATA[D. W.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Simultaneous localization and map-building using active vision]]></article-title>
<source><![CDATA[IEEE Trans. Pattern Analysis and Machine Intelligence]]></source>
<year>2002</year>
<volume>24</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>865-880</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Davison]]></surname>
<given-names><![CDATA[A. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Reid]]></surname>
<given-names><![CDATA[I. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Molton]]></surname>
<given-names><![CDATA[N. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Stasse]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Monoslam: Real-time single camera slam]]></article-title>
<source><![CDATA[IEEE Trans. Pattern Analysis and Machine Intelligence]]></source>
<year>June</year>
<month> 2</month>
<day>00</day>
<volume>29</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>1052-1067</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Quintián]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Calvo]]></surname>
<given-names><![CDATA[J. L.]]></given-names>
</name>
<name>
<surname><![CDATA[Fontenla]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Aplicación de un robot comercial de bajo coste en tareas de seguimiento de objetos]]></article-title>
<source><![CDATA[Revista Dyna]]></source>
<year>2012</year>
<numero>175</numero>
<issue>175</issue>
<page-range>24-33</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Castellanos]]></surname>
<given-names><![CDATA[J. A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Mobile Robot Localization and Map Building: A Multisensor Fusion Approach]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Davison]]></surname>
<given-names><![CDATA[A.J.]]></given-names>
</name>
</person-group>
<source><![CDATA[Mobile Robot Navigation using Active Vision]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lacroix]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Jung]]></surname>
<given-names><![CDATA[I. K.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High resolution terrain mapping using low altitude aerial stereo imagery]]></article-title>
<source><![CDATA[]]></source>
<year>2003</year>
<conf-name><![CDATA[9th Int. Conf. on Computer Vision]]></conf-name>
<conf-loc> </conf-loc>
<page-range>946-951</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Saez]]></surname>
<given-names><![CDATA[J.M.]]></given-names>
</name>
<name>
<surname><![CDATA[Escolano]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Penalver]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[First Steps towards Stereobased 6DOF SLAM for the Visually Impaired]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ IEEE Computer Society Conf. on Computer Vision and Pattern Recognition (CVPR'05)- Workshops]]></conf-name>
<conf-date>2005</conf-date>
<conf-loc>Washington DC</conf-loc>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bailey]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Constrained initialization for bearing-only SLAM]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ IEEE Int. Conf. on Robotics and Automation, (ICRA'03)]]></conf-name>
<conf-date>2003</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kwok]]></surname>
<given-names><![CDATA[N. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Dissanayake]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An efficient multiple hypothesis filter for bearing-only SLAM]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, (IROS'04)]]></conf-name>
<conf-date>2004</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lemaire]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Lacroix]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Sola]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A practical 3D bearing-only SLAM algorithm]]></article-title>
<source><![CDATA[]]></source>
<year>2005</year>
<conf-name><![CDATA[ IEEE/RSJ International Conference on Intelligent Robots and Systems, (IROS'05)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>2449-2454</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Civera]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Davison]]></surname>
<given-names><![CDATA[A. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Montiel]]></surname>
<given-names><![CDATA[J. M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Inverse depth parametrization for monocular SLAM]]></article-title>
<source><![CDATA[IEEE Transactions on Robotics]]></source>
<year>Octo</year>
<month>be</month>
<day>r </day>
<volume>24</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>932-945</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tully]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Moon]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Kantor]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Choset]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Iterated filters for bearing-only slam]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ IEEE International Conference on Robotics and Automation]]></conf-name>
<conf-date>2008</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Clemente]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Davison]]></surname>
<given-names><![CDATA[A. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Reid]]></surname>
<given-names><![CDATA[I. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Neira]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Tardos]]></surname>
<given-names><![CDATA[J. D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Mapping large loops with a single hand-held camera]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Proc. Robotics: Science and Systems]]></conf-name>
<conf-date>June 2007</conf-date>
<conf-loc>Atlanta GA</conf-loc>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Marzorati]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Matteucci]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Migliore]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Sorrenti]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On the use of inverse scaling in monocular slam]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ IEEE International Conference on Robotics and Automation]]></conf-name>
<conf-date>2009</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bosse]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Newman]]></surname>
<given-names><![CDATA[P. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Leonard]]></surname>
<given-names><![CDATA[J. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Soika]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Feiten]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[Teller]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An atlas framework for scalable mapping]]></article-title>
<source><![CDATA[]]></source>
<year>2003</year>
<conf-name><![CDATA[ IEEE Int. Conf. Robotics and Automation]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1899-1906</page-range><publisher-loc><![CDATA[Taipei ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Leonard]]></surname>
<given-names><![CDATA[J. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Newman]]></surname>
<given-names><![CDATA[P. M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Consistent, convergent and constant time SLAM]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Int. Joint Conf. Artificial Intelligence]]></conf-name>
<conf-date>August 2003</conf-date>
<conf-loc>Acapulco </conf-loc>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Paz]]></surname>
<given-names><![CDATA[L. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Tardós]]></surname>
<given-names><![CDATA[J. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Neira]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Divide and Conquer: EKF SLAM in O(n)]]></article-title>
<source><![CDATA[Transactions on Robotics]]></source>
<year>Octo</year>
<month>be</month>
<day>r </day>
<volume>24</volume>
<numero>5</numero>
<issue>5</issue>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Piniés]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Tardós]]></surname>
<given-names><![CDATA[J. D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Large Scale SLAM Building Conditionally Independent Local Maps: Application to Monocular Vision]]></article-title>
<source><![CDATA[Transactions on Robotics]]></source>
<year>Octo</year>
<month>be</month>
<day>r </day>
<volume>24</volume>
<numero>5</numero>
<issue>5</issue>
</nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Montiel]]></surname>
<given-names><![CDATA[J. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Civera]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Davison]]></surname>
<given-names><![CDATA[A. J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Unified inverse depth parametrization for monocular SLAM]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Robotics: Science and Systems]]></conf-name>
<conf-date>August 2006</conf-date>
<conf-loc>Philadelphia </conf-loc>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
