Hostname: page-component-74656f9884-8r8nv Total loading time: 0 Render date: 2026-11-06T23:33:55.579Z Has data issue: false hasContentIssue false

Autonomous Simultaneous Localization and Mapping driven by Monte Carlo uncertainty maps-based navigation

Published online by Cambridge University Press:  02 November 2012

Fernando A. Auat Cheein
Affiliation:
Department of Electronics Engineering, Universidad Tecnica Federico Santa Maria, Av. España 1680, Valparaiso, Chile; e-mail: fernando.auat@usm.cl
Fernando M. Lobo Pereira
Affiliation:
Faculdade de Engenharia da Universidade do Porto, Rua Dr. Roberto Frias, s/n 4200-465, Porto, Portugal; e-mail: flp@fe.up.pt
Fernando di Sciascio
Affiliation:
Instituto de Automatica, Universidad Nacional de San Juan, Av. San Martin 1109 Oeste, San Juan, Argentina; e-mail: fernando@unsj.edu.ar, rcarelli@inaut.unsj.edu.ar
Ricardo Carelli
Affiliation:
Instituto de Automatica, Universidad Nacional de San Juan, Av. San Martin 1109 Oeste, San Juan, Argentina; e-mail: fernando@unsj.edu.ar, rcarelli@inaut.unsj.edu.ar
Rights & Permissions [Opens in a new window]

Abstract

This paper addresses the problem of implementing a Simultaneous Localization and Mapping (SLAM) algorithm combined with a non-reactive controller (such as trajectory following or path following). A general study showing the advantages of using predictors to avoid mapping inconsistences in autonomous SLAM architectures is presented. In addition, this paper presents a priority-based uncertainty map construction method of the environment by a mobile robot when executing a SLAM algorithm. The SLAM algorithm is implemented with an extended Kalman filter (EKF) and extracts corners (convex and concave) and lines (associated with walls) from the surrounding environment. A navigation approach directs the robot motion to the regions of the environment with the higher uncertainty and the higher priority. The uncertainty of a region is specified by a probability characterization computed at the corresponding representative points. These points are obtained by a Monte Carlo experiment and their probability is estimated by the sum of Gaussians method, avoiding the time-consuming map-gridding procedure. The priority is determined by the frame in which the uncertainty region was detected (either local or global to the vehicle's pose). The mobile robot has a non-reactive trajectory following controller implemented on it to drive the vehicle to the uncertainty points. SLAM real-time experiments in real environment, navigation examples, uncertainty maps constructions along with algorithm strategies and architectures are also included in this work.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2012
Figure 0

Figure 1 Algorithm of the correction stage of the Sequential extended Kalman filter–Simultaneous Localization and Mapping

Figure 1

Figure 2 Graphic representation of the kinematic model of the unicycle mobile robot

Figure 2

Figure 3 Graphic representation of line and corners extracted from the environment

Figure 3

Figure 4 Schematic of the Simultaneous Localization and Mapping (SLAM) algorithm combined with control. (a) Shows the SLAM with reactive control, the SLAM does not return any information to the controller; (b) shows the SLAM with non-reactive control, the controller uses the robot's pose estimated by the SLAM algorithm in order to update the control references. EKF = extended Kalman filter

Figure 4

Figure 5 Chart time of the Simultaneous Localization and Mapping (SLAM)-Control implementation. (a) Shows the SLAM-Control implementation without a predictor and (b) shows the chart time of a SLAM-Control implementation with a predictor

Figure 5

Figure 6 Frontier points determination. The frontier points are determined by localizing middle free space points from the measurement data

Figure 6

Figure 7 Map reconstruction of the facilities of the Instituto de Automatica. The grey points are raw laser data; the solid black segments represent walls from the environment; light grey circles are corners; and the solid black dotted line is the path traveled by the mobile robot

Figure 7

Figure 8 Two snapshots of a SLAM-Control implementation without a predictor for the planning purpose. (a) Shows the map reconstruction for instant time ta<tb. On the other hand, (b) shows that, at position [xy]T = [25 12]T, the map starts to differ from the one shown in Figure 7. The grey points are raw laser data; dotted black line is the path traveled by the mobile robot; segments associated with walls from the environment are represented by solid black lines; and light grey circles are corners—convex and concave

Figure 8

Figure 9 Monte Carlo points generation procedure. (a) The mapped area and the robot's pose are circumscribed by the rectangle—black solid line and (b) over the circumscribed area, M Monte Carlo points are generated—black dots

Figure 9

Figure 10 Navigable points determination. If an obstacle-free path can be determined from the mobile robot's pose to the Monte Carlo point P, then P is a navigable point

Figure 10

Figure 11 Region of a segment. A navigable point is influenced by the probability distribution associated with a line if that point belongs to the region of the segment of the line

Figure 11

Figure 12 Examples of the construction of uncertainty maps. Figure 12(a), (d) and (g) shows three different environment reconstructions using the extended Kalman filter—Simultaneous Localization and Mapping (EKF—SLAM) algorithm presented in this work; Figure 12(b), (e) and (h) show the Monte Carlo points generation after circumscribing the map obtained by the EKF–SLAM by the virtual rectangle—solid black segments. Figure 12(b), (e) and (h) correspond to Figure 12(a), (d) and (g), respectively. Figure 12(c), (f) and (i) show the uncertainty maps after applying the sum of Gaussians method to each Monte Carlo point of Figure 12(b), (e) and (h)

Figure 12

Figure 13 Parallel implementation of the multilevel uncertainty point searching. (a) Shows the parallel structure of the implementation and (b) shows the multilevel division: each level has a priority associated with it

Figure 13

Figure 14 Simultaneous Localization and Mapping (SLAM)-Control architecture. (a) The SLAM algorithm closes the loop providing the robot's pose information to the controller and the environment information to the trajectory planner and (b) the different levels of the uncertainty maps are combined by a multiplexer governed by the priority values of each navigation goals

Figure 14

Figure 15 Real-time simulation of the navigation strategy. This figure shows the map reconstruction and the navigation of the mobile robot within a simulated office environment. The solid grey lines are the rectangles that circumscribe the environment; the light grey points are raw laser data; the dark grey lines are segments associated with lines and light grey circles represent corners; and the solid grey dots represent the center of mass of a cloud of uncertainty points over that region. (a) Shows the first execution of the Simultaneous Localization and Mapping (SLAM) algorithm while the robot remains still; (b) shows the second execution of the SLAM and (c) after several executions and given the size of the mapped area, the uncertainty points procedure requires two levels of searching

Figure 15

Figure 16 Real-time experimentation of the navigation strategy within a real environment. The light grey lines represent the edges of the circumscribing rectangle; solid dark grey lines are walls associated with lines of the environment; dotted black line is the path traveled by the mobile robot; light grey circles are corners and solid grey circles are the center of mass of a cloud of uncertainty points over that region; and grey dots are raw laser data. Figure 16(a)–(f) show different snapshots of the evolution of the mobile robot navigation within the facilities of the Instituto de Automatica of the National University of San Juan. (a) The first features from the environment are acquired and added to the SLAM system state while the mobile robot remains still; (b) shows another searching of uncertainty points using a single level map; (c) given the dimensions of the current map, the uncertainty points are searched within two levels; (d) and (e) the system requires three priority levels of uncertainty points searching; and (f) shows the complete map of the environment

Figure 16

Figure 17 Standard deviation evolution of the robot's position and feature's parameters during the Simultaneous Localization and Mapping (SLAM) algorithm executions of the experiment shown in Figure 16. The standard deviation remains bounded