Simultaneous localization and mapping
In robotics, simultaneous localization and mapping (SLAM) is the computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it. While this initially appears to be a chicken-and-egg problem there are several algorithms known for solving it, at least approximately, in tractable time for certain environments. Popular approximate solution methods include the particle filter and extended Kalman filter.
SLAM algorithms are tailored to the available resources, hence not aimed at perfection, but at operational compliance. Published approaches are employed in self-driving cars, unmanned aerial vehicles, autonomous underwater vehicles, planetary rovers, newly emerging domestic robots and even inside the human body.
Given a series of sensor observations over discrete time steps , the SLAM problem is to compute an estimate of the agent's location and a map of the environment . All quantities are usually probabilistic, so the objective is to compute:
Applying Bayes' rule gives a framework for sequentially updating the location posteriors, given a map and a transition function ,
Similarly the map can be updated sequentially by
Like many inference problems, the solutions to inferring the two variables together can be found, to a local optimum solution, by alternating updates of the two beliefs in a form of EM algorithm.
Statistical techniques used to approximate the above equations include Kalman filters, particle filters (aka. Monte Carlo methods) and scan matching of range data. They provide an estimation of the posterior probability function for the pose of the robot and for the parameters of the map. Set-membership techniques are mainly based on interval constraint propagation. They provide a set which encloses the pose of the robot and a set approximation of the map.
New SLAM algorithms remain an active research area, and are often driven by differing requirements and assumptions about the types of maps, sensors and models as detailed below. Many SLAM systems can be viewed as combinations of choices from each of these aspects.
Topological maps are a method of environment representation which capture the connectivity (i.e., topology) of the environment rather than creating a geometrically accurate map. Topological SLAM approaches have been used to enforce global consistency in metric SLAM algorithms.
In contrast, grid maps use arrays (typically square or hexagonal) of discretized cells to represent a topological world, and make inferences about which cells are occupied. Typically the cells are assumed to be statistically independent in order to simplify computation. Under such assumption, are set to 1 if the new map's cells are consistent with the observation at location and 0 if inconsistent.
SLAM will always use several different types of sensors, and the powers and limits of various sensor types have been a major driver of new algorithms. Statistical independence is the mandatory requirement to cope with metric bias and with noise in measures. Different types of sensors give rise to different SLAM algorithms whose assumptions are which are most appropriate to the sensors. At one extreme, laser scans or visual features provide details of a great many points within an area, sometimes rendering SLAM inference unnecessary because shapes in these point clouds can be easily and unambiguously aligned at each step via image registration. At the opposite extreme, tactile sensors are extremely sparse as they contain only information about points very close to the agent, so they require strong prior models to compensate in purely tactile SLAM. Most practical SLAM tasks fall somewhere between these visual and tactile extremes.
Sensor models divide broadly into landmark-based and raw-data approaches. Landmarks are uniquely identifiable objects in the world whose location can be estimated by a sensor -- such as wifi access points or radio beacons. Raw-data approaches make no assumption that landmarks can be identified, and instead model directly as a function of the location.
Optical sensors may be one-dimensional (single beam) or 2D- (sweeping) laser rangefinders, 3D High Definition LiDAR, 3D Flash LIDAR, 2D or 3D sonar sensors and one or more 2D cameras. Since 2005, there has been intense research into VSLAM (visual SLAM) using primarily visual (camera) sensors, because of the increasing ubiquity of cameras such as those in mobile devices. Visual and LIDAR sensors are informative enough to allow for landmark extraction in many cases. Other recent forms of SLAM include tactile SLAM (sensing by local touch only), radar SLAM, and wifi-SLAM (sensing by strengths of nearby wifi access points). Recent approaches apply quasi-optical wireless ranging for multi-lateration (RTLS) or multi-angulation in conjunction with SLAM as a tribute to erratic wireless measures. A kind of SLAM for human pedestrians uses a shoe mounted inertial measurement unit as the main sensor and relies on the fact that pedestrians are able to avoid walls to automatically build floor plans of buildings. by an indoor positioning system.
For some outdoor applications, the need for SLAM has been almost entirely removed due to high precision differential GPS sensors. From a SLAM perspective, these may be viewed as location sensors whose likelihoods are so sharp that they completely dominate the inference. However GPS sensors may go down entirely or in performance on occasions, especially during times of military conflict which are of particular interest to some robotics applications.
The term represents the kinematics of the model, which usually include information about action commands given to a robot. As a part of the model, the kinematics of the robot is included, to improve estimates of sensing under conditions of inherent and ambient noise. The dynamic model balances the contributions from various sensors, various partial error models and finally comprises in a sharp virtual depiction as a map with the location and heading of the robot as some cloud of probability. Mapping is the final depicting of such model, the map is either such depiction or the abstract term for the model.
For 2D robots, the kinematics are usually given by a mixture of rotation and "move forward" commands, which are implemented with additional motor noise. Unfortunately the distribution formed by independent noise in angular and linear directions is non-Gaussian, but is often approximated by a Gaussian. An alternative approach is to ignore the kinematic term and read odometry data from robot wheels after each command -- such data may then be treated as one of the sensors rather than as kinematics.
The related problems of data association and computational complexity are among the problems yet to be fully resolved, for example the identification of multiple confusable landmarks. A significant recent advance in the feature-based SLAM literature involved the re-examination of the probabilistic foundation for Simultaneous Localisation and Mapping (SLAM) where it was posed in terms of multi-object Bayesian filtering with random finite sets that provide superior performance to leading feature-based SLAM algorithms in challenging measurement scenarios with high false alarm rates and high missed detection rates without the need for data association.
Non-static environments, such as those containing other vehicles or pedestrians, continue to present research challenges. SLAM with DATMO is a model which tracks moving objects in a similar way to the agent itself.
Loop closure is the problem of recognizing a previously-visited location and updates the beliefs accordingly. This can be a problem because model or algorithm errors can assign low priors to the location. Typical loop closure methods apply a second algorithm to measure some type of sensor similarity, and re-set the location priors when a match is detected. For example this can be done by storing and comparing bag of words vectors of SIFT features from each previously visited location.
"Active SLAM" studies the combined problem of SLAM with deciding where to move next in order to build the map as efficiently as possible. The need for active exploration is especially pronounced in sparse sensing regimes such as tactile SLAM. Active SLAM is generally performed by approximating the entropy of the map under hypothetical actions. "Multi agent SLAM" extends this problem to the case of multiple robots coordinating themselves to explore optimally.
In neuroscience, the hippocampus appears to be involved in SLAM-like computations giving rise to place cells and has formed the basis for bio-inspired SLAM systems such as RatSLAM. Bio-inspired methods are not currently competitive with engineering approaches however[according to whom?].
Researchers and experts in artificial intelligence have struggled to solve the SLAM problem in practical settings: that is, it required a great deal of computational power to sense a sizable area and process the resulting data to both map and localize. A 2008 review of the topic summarized: "[SLAM] is one of the fundamental challenges of robotics . . . [but it] seems that almost all the current approaches can not perform consistent maps for large areas, mainly due to the increase of the computational cost and due to the uncertainties that become prohibitive when the scenario becomes larger." Generally, complete 3D SLAM solutions are highly computationally intensive as they use complex real-time particle filters, sub-mapping strategies or hierarchical combination of metric topological representations, etc. Robots that use embedded systems cannot fully implement SLAM because of their limitation in computing power. Nguyen V., Harati A., & Siegwart R. (2007) presented a fast, lightweight solution called OrthoSLAM, which breaks down the complexity of the environment into orthogonal planes. By mapping only the planes that are orthogonal to each other, the structure of most indoor environments can be estimated fairly accurately. OrthoSLAM algorithm reduces SLAM to a linear estimation problem since only a single line is processed at a time.
A seminal work in SLAM is the research of R.C. Smith and P. Cheeseman on the representation and estimation of spatial uncertainty in 1986. Other pioneering work in this field was conducted by the research group of Hugh F. Durrant-Whyte in the early 1990s. which showed that solutions to SLAM exist in the infinite data limit. This finding motivates the search for algorithms which are computationally tractable and approximate the solution. The self-driving STANLEY car won the DARPA Grand Challenge and included a SLAM system, bringing SLAM to worldwide attention. Mass-market SLAM implementations can now be found in consumer robot vacuum cleaners such as the Neato XV11. Self-driving cars by Google and others have now received licenses to drive on public roads in some US states.
- Structure from motion
- Kalman filter
- Monte Carlo localization
- Particle filter
- List of SLAM Methods
- DARPA Grand Challenge winner Stanley, a vehicle using SLAM techniques
- Registration of range images
- The Mobile Robot Programming Toolkit (MRPT) project: A set of open-source, cross-platform libraries covering SLAM through particle filtering and Kalman Filtering.
- Multi Autonomous Ground-robotic International Challenge: A $1.6 million international challenge requiring multiple vehicles to collaboratively map a large area
- Probabilistic Robotics by Sebastian Thrun, Wolfram Burgard and Dieter Fox with a clear overview of SLAM.
- SLAM For Dummies (A Tutorial Approach to Simultaneous Localization and Mapping).
- Andrew Davison research page at Imperial College London about SLAM using vision.
- Autonomous and Perceptive Systems research page at University of Groningen about visual SLAM.
- openslam.org A good collection of open source code and explanations of SLAM.
- Matlab Toolbox of Kalman Filtering applied to Simultaneous Localization and Mapping Vehicle moving in 1D, 2D and 3D.
- SLAM Example using Processing.js of Feature-Based Navigation.
- FootSLAM research page at DLR including the related Wifi SLAM and PlaceSLAM approaches.
- SLAM lecture Online SLAM lecture based on Python.
- Mountney, P.; Stoyanov, D. Davison, A. Yang, G-Z. (2006). "Simultaneous Stereoscope Localization and Soft-Tissue Mapping for Minimal Invasive Surgery". MICCAI 1: 347–354. doi:10.1007/11866565_43. Retrieved 2010-07-30.
- Jaulin, L. (2009). "A nonlinear set-membership approach for the localization and map building of an underwater robot using interval constraint propagation". IEEE Transactions on Robotics.
- Jaulin, L. (2011). "Range-only SLAM with occupancy maps; A set-membership approach". IEEE Transactions on Robotics.
- Cummins, Mark; Newman, Paul (June 2008). "FAB-MAP: Probabilistic localization and mapping in the space of appearance". The International Journal of Robotics Research 27 (6): 647–665. doi:10.1177/0278364908090961. Retrieved 23 July 2014.
- Magnabosco, M., Breckon, T.P. (February 2013). "Cross-Spectral Visual Simultaneous Localization And Mapping (SLAM) with Sensor Handover". Robotics and Autonomous Systems 63 (2): 195–208. doi:10.1016/j.robot.2012.09.023. Retrieved 5 November 2013.
- Karlsson, N.; Di Bernardo, E.;Ostrowski, J;Goncalves, L.;Pirjanian, P.;Munich, M. (2005). "The vSLAM Algorithm for Robust Localization and Mapping". Int. Conf. on Robotics and Automation (ICRA).
- Marck, J.W. Mohamoud, A., v.d.Houwen, E., van Heijster, R. (2013). "Indoor radar SLAM A radar application for vision and GPS denied environments.". Radar Conference (EuRAD), 2013 European.
- Fox, C., Evans, M., Pearson, M. and Prescott, T. (2012). "Tactile SLAM with a biomimetic whiskered robot.". Proc. IEEE Int. Conf. on Robotics and Automation (ICRA),.
- Robertson, P.; Angermann, M.;Krach B. (2009). "Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounted Inertial Sensors". Ubicomp 2009. Orlando, Florida, USA: ACM. doi:10.1145/1620545.1620560.
- J. Mullane, B.-N. Vo, M. D. Adams, and B.-T. Vo, (2011). "A random-finite-set approach to Bayesian SLAM,". IEEE Transactions on Robotics 27 (2): 268–282. doi:10.1109/TRO.2010.2101370.
- Brynjolfsson, Erik; McAfee, Andrew (Jan 20, 2014). The Second Machine Age: Work, Progress, and Prosperity in a Time of Brilliant Technologies. W. W. Norton & Company. p. 52. ISBN 9780393239355.
- Aulinas, Josep (2008). "The SLAM Problem: A Survey". Proceedings of the 2008 Conference on Artificial Intelligence Research & Development: 363–71. Retrieved July 15, 2015.
- Nguyen, V.; Harati, A; Siegwart, R., "A lightweight SLAM algorithm using Orthogonal planes for indoor mobile robotics," Intelligent Robots and Systems, 2007. IROS 2007. IEEE/RSJ International Conference on , vol., no., pp.658,663, Oct. 29 2007-Nov. 2 2007
- Smith, R.C.; Cheeseman, P. (1986). "On the Representation and Estimation of Spatial Uncertainty". The International Journal of Robotics Research 5 (4): 56–68. doi:10.1177/027836498600500404. Retrieved 2008-04-08.
- Smith, R.C.; Self, M.;Cheeseman, P. (1986). "Proceedings of the Second Annual Conference on Uncertainty in Artificial Intelligence". UAI '86. University of Pennsylvania, Philadelphia, PA, USA: Elsevier. pp. 435–461.
- Leonard, J.J.; Durrant-whyte, H.F. (1991). "Simultaneous map building and localization for an autonomous mobile robot". Intelligent Robots and Systems' 91.'Intelligence for Mechanical Systems, Proceedings IROS'91. IEEE/RSJ International Workshop on: 1442–1447. doi:10.1109/IROS.1991.174711. Retrieved 2008-04-08.