Simultaneous localization and mapping
Simultaneous localization and mapping (SLAM) is a technique used by robots and autonomous vehicles to build up a map within an unknown environment (without a priori knowledge), or to update a map within a known environment (with a priori knowledge from a given map), while at the same time keeping track of their current location.
Maps are used to determine a location within an environment and to depict an environment for planning and navigation; they support the assessment of actual location by recording information obtained from a form of perception and comparing it to a current set of perceptions. The benefit of a map in aiding the assessment of a location increases as the precision and quality of the current perceptions decrease. Maps generally represent the state at the time that the map is drawn; this is not necessarily consistent with the state of the environment at the time the map is used.
The complexity of the technical processes of locating and mapping under conditions of errors and noise do not allow for a coherent solution of both tasks. Simultaneous localization and mapping (SLAM) is a concept that binds these processes in a loop and therefore supports the continuity of both aspects in separated processes; iterative feedback from one process to the other enhances the results of both consecutive steps.
Mapping is the problem of integrating the information gathered by a set of sensors into a consistent model and depicting that information as a given representation. It can be described by the first characteristic question, What does the world look like? Central aspects in mapping are the representation of the environment and the interpretation of sensor data.
In contrast to this, localization is the problem of estimating the place (and pose) of the robot relative to a map; in other words, the robot has to answer the second characteristic question, Where am I? Typically, solutions comprise tracking, where the initial place of the robot is known, and global localization, in which no or just some a priori knowledge of the environmental characteristics of the starting position is given.
SLAM is therefore defined as the problem of building a model leading to a new map, or repetitively improving an existing map, while at the same time localizing the robot within that map. In practice, the answers to the two characteristic questions cannot be delivered independently of each other.
Before a robot can contribute to answering the question of what the environment looks like, given a set of observations, it needs to know e.g.:
- the robot's own kinematics,
- which qualities the autonomous acquisition of information has, and,
- from which sources additional supporting observations have been made.
It is a complex task to estimate the robot's current location without a map or without a directional reference. "Location" may refer to simply the position of the robot or might also include its orientation.
SLAM can be thought of as a chicken or egg problem: An unbiased map is needed for localization while an accurate pose estimate is needed to build that map. This is the starting condition for iterative mathematical solution strategies.
Beyond, the answering of the two characteristic questions is not as straightforward as it might sound due to inherent uncertainties in discerning the robot's relative movement from its various sensors. Generally, due to the budget of noise in a technical environment, SLAM is not served with just compact solutions, but with a bunch of physical concepts contributing to results.
If at the next iteration of map building the measured distance and direction traveled has a budget of inaccuracies, driven by limited inherent precision of sensors and additional ambient noise, then any features being added to the map will contain corresponding errors. Over time and motion, locating and mapping errors build cumulatively, grossly distorting the map and therefore the robot's ability to determine its actual location and heading with sufficient accuracy.
There are various techniques to compensate for errors, such as recognizing features that it has come across previously (i.e., data association or loop closure detection), and re-skewing recent parts of the map to make sure the two instances of that feature become one. Statistical techniques used in SLAM 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.
SLAM in the mobile robotics community generally refers to the process of creating geometrically consistent maps of the environment. 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. As a result, algorithms that create topological maps are not referred to as SLAM.
SLAM is tailored to the available resources, hence not aimed at perfection, but at operational compliance. The published approaches are employed in unmanned aerial vehicles, autonomous underwater vehicles, planetary rovers, newly emerging domestic robots and even inside the human body.
It is generally considered that "solving" the SLAM problem has been one of the notable achievements of the robotics research in the past decades. The related problems of data association and computational complexity are among the problems yet to be fully resolved.
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.
SLAM will always use several different types of sensors to acquire data with statistically independent errors. Statistical independence is the mandatory requirement to cope with metric bias and with noise in measures.
Such optical sensors may be one dimensional (single beam) or 2D- (sweeping) laser rangefinders, 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.
A special 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. This approach called FootSLAM can be used to automatically build floor plans of buildings that can then be used by an indoor positioning system.
The results from sensing will feed the algorithms for locating. According to propositions of geometry, any sensing must include at least one lateration and (n+1) determining equations for an n-dimensional problem. In addition, there must be some additional a priori knowledge about orienting the results versus absolute or relative systems of coordinates with rotation and mirroring.
Contribution to mapping may work in 2D modeling and respective representation or in 3D modeling and 2D projective representation as well. 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.
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.
- Kalman filter
- Monte Carlo localization
- Particle filter
- 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 dollar 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.
- Definition according to OpenSLAM.org, a platform for SLAM researchers
- 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.
- 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.
- Durrant-Whyte, H.; Bailey, T. (2006). "Simultaneous Localization and Mapping (SLAM): Part I The Essential Algorithms". Robotics and Automation Magazine 13 (2): 99–110. doi:10.1109/MRA.2006.1638022. Retrieved 2008-04-08.
- 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.
- 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).
- 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.
- 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). "Estimating Uncertain Spatial Relationships in Robotics". 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.