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 while at the same time keeping track of their current position. This is not as straightforward as it might sound due to inherent uncertainties in discerning the robot's relative movement from its various sensors.

If at the next iteration of map building the measured distance and direction travelled has a slight inaccuracy, then any features being added to the map will contain corresponding errors. If unchecked, these positional errors build cumulatively, grossly distorting the map and therefore the robot's ability to know its precise location. There are various techniques to compensate for this such as recognising features that it has come across previously and re-skewing recent parts of the map to make sure the two instances of that feature become one. Some of the statistical techniques used in SLAM include Kalman filters, particle filters (aka. Monte Carlo methods) and scan matching of range data.

A seminal work in SLAM is the research of R.C. Smith and P. Cheesman on the representation and estimation of spatial uncertainty in the mid 1980s. Other pioneering work in this field was conducted by the research group of Hugh F. Durrant-Whyte in the early 1990s.

SLAM in the mobile robotics community generally refers to the process of creating geometrically accurate maps of the environment. Topological maps are another 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 has not yet been fully perfected, but it is starting to be employed in unmanned aerial vehicles, autonomous underwater vehicles, planetary rovers and newly emerging domestic robots. It is generally considered that "solving" the SLAM problem has been one of the notable achievement of the robotics research in the past decades.

SLAM can use many different types of sensor to acquire data used in building the map such as laser range finders, sonar sensors and cameras.