
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
Agent may refer to:
Espionage, investigation, and law
*, spies or intelligence officers
* Law of agency, laws involving a person authorized to act on behalf of another
** Agent of record, a person with a contractual agreement with an insuranc ...
's location within it. While this initially appears to be a
chicken-and-egg problem
The chicken or the egg causality dilemma is commonly stated as the question, "which came first: the chicken or the egg?" The dilemma stems from the observation that all chickens hatch from eggs and all chicken eggs are laid by chickens. "Chic ...
, there are several
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
s known for solving it in, at least approximately, tractable time for certain environments. Popular approximate solution methods include the
particle filter
Particle filters, or sequential Monte Carlo methods, are a set of Monte Carlo algorithms used to solve filtering problems arising in signal processing and Bayesian statistical inference. The filtering problem consists of estimating the inte ...
, extended
Kalman filter, covariance intersection, and GraphSLAM. SLAM algorithms are based on concepts in
computational geometry
Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems ar ...
and
computer vision
Computer vision is an interdisciplinary scientific field that deals with how computers can gain high-level understanding from digital images or videos. From the perspective of engineering, it seeks to understand and automate tasks that the hum ...
, and are used in
robot navigation,
robotic mapping
Robotic mapping is a discipline related to computer vision and cartography. The goal for an autonomous robot is to be able to construct (or use) a map (outdoor use) or floor plan (indoor use) and to localize itself and its recharging bases or be ...
and
odometry
Odometry is the use of data from motion sensors to estimate change in position over time. It is used in robotics by some legged or wheeled robots to estimate their position relative to a starting location. This method is sensitive to errors due t ...
for
virtual reality
Virtual reality (VR) is a simulated experience that employs pose tracking and 3D near-eye displays to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video games), educ ...
or
augmented reality
Augmented reality (AR) is an interactive experience that combines the real world and computer-generated content. The content can span multiple sensory modalities, including visual, auditory, haptic, somatosensory and olfactory. AR can be de ...
.
SLAM algorithms are tailored to the available resources and are not aimed at perfection but at operational compliance. Published approaches are employed in
self-driving cars,
unmanned aerial vehicle
An unmanned aerial vehicle (UAV), commonly known as a drone, is an aircraft without any human pilot, crew, or passengers on board. UAVs are a component of an unmanned aircraft system (UAS), which includes adding a ground-based controller ...
s,
autonomous underwater vehicles,
planetary rovers
Planetary means relating to a planet or planets. It can also refer to:
;Science
* Planetary habitability, the measure of an astronomical body's potential to develop and sustain life
* Planetary nebula, an astronomical object
;People
* Planetary ...
, newer
domestic robots and even inside the human body.
Mathematical description of the problem
Given a series of controls
and sensor observations
over discrete time steps
, the SLAM problem is to compute an estimate of the agent's state
and a map of the environment
. All quantities are usually probabilistic, so the objective is to compute:
:
Applying
Bayes' rule
In probability theory and statistics, Bayes' theorem (alternatively Bayes' law or Bayes' rule), named after Thomas Bayes, describes the probability of an event, based on prior knowledge of conditions that might be related to the event. For examp ...
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 an
expectation–maximization algorithm.
Algorithms
Statistical techniques used to approximate the above equations include
Kalman filters and
particle filter
Particle filters, or sequential Monte Carlo methods, are a set of Monte Carlo algorithms used to solve filtering problems arising in signal processing and Bayesian statistical inference. The filtering problem consists of estimating the inte ...
s. They provide an estimation of the
posterior probability distribution
The posterior probability is a type of conditional probability that results from updating the prior probability with information summarized by the likelihood via an application of Bayes' rule. From an epistemological perspective, the posterior p ...
for the pose of the robot and for the parameters of the map. Methods which conservatively approximate the above model using
covariance intersection
Covariance intersection is an algorithm for combining two or more estimates of state variables in a Kalman filter when the correlation between them is unknown.
Specification
Items of information a and b are known and are to be fused into informat ...
are able to avoid reliance on statistical independence assumptions to reduce algorithmic complexity for large-scale applications. Other approximation methods achieve improved computational efficiency by using simple bounded-region representations of uncertainty.
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.
Bundle adjustment
In photogrammetry and computer stereo vision, bundle adjustment is simultaneous refining of the 3D coordinates describing the scene geometry, the parameters of the relative motion, and the optical characteristics of the camera(s) employed to acq ...
, and more generally
Maximum a posteriori estimation
In Bayesian statistics, a maximum a posteriori probability (MAP) estimate is an estimate of an unknown quantity, that equals the mode of the posterior distribution. The MAP can be used to obtain a point estimate of an unobserved quantity on the b ...
(MAP), is another popular technique for SLAM using image data, which jointly estimates poses and landmark positions, increasing map fidelity, and is used in commercialized SLAM systems such as Google's ARCore which replaces their previous
augmented reality
Augmented reality (AR) is an interactive experience that combines the real world and computer-generated content. The content can span multiple sensory modalities, including visual, auditory, haptic, somatosensory and olfactory. AR can be de ...
project '
Tango'. MAP estimators compute the most likely explanation of the robot poses and the map given the sensor data, rather than trying to estimate the entire posterior probability.
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.
Mapping
Topological map
In cartography and geology, a topological map is a type of diagram that has been simplified so that only vital information remains and unnecessary detail has been removed. These maps lack scale, also distance and direction are subject to change a ...
s are a method of environment representation which capture the connectivity (i.e.,
topology
In mathematics, topology (from the Greek language, Greek words , and ) is concerned with the properties of a mathematical object, geometric object that are preserved under Continuous function, continuous Deformation theory, deformations, such ...
) 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 map
Grid, The Grid, or GRID may refer to:
Common usage
* Cattle grid or stock grid, a type of obstacle is used to prevent livestock from crossing the road
* Grid reference, used to define a location on a map
Arts, entertainment, and media
* News gr ...
s 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.
Modern
self driving cars
A self-driving car, also known as an autonomous car, driver-less car, or robotic car (robo-car), is a car that is capable of traveling without human input.Xie, S.; Hu, J.; Bhowmick, P.; Ding, Z.; Arvin, F.,Distributed Motion Planning for Sa ...
mostly simplify the mapping problem to almost nothing, by making extensive use of highly detailed map data collected in advance. This can include map annotations to the level of marking locations of individual white line segments and curbs on the road. Location-tagged visual data such as Google's
StreetView
Google Street View is a technology featured in Google Maps and Google Earth that provides interactive panoramas from positions along many streets in the world. It was launched in 2007 in several cities in the United States, and has since expan ...
may also be used as part of maps. Essentially such systems simplify the SLAM problem to a simpler
localization
Localization or localisation may refer to:
Biology
* Localization of function, locating psychological functions in the brain or nervous system; see Linguistic intelligence
* Localization of sensation, ability to tell what part of the body is a ...
only task, perhaps allowing for moving objects such as cars and people only to be updated in the map at runtime.
Sensing
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 measurements. Different types of sensors give rise to different SLAM algorithms whose assumptions are most appropriate to the sensors. At one extreme, laser scans or visual features provide details of 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 rangefinder
A laser rangefinder, also known as a laser telemeter, is a rangefinder that uses a laser beam to determine the distance to an object. The most common form of laser rangefinder operates on the time of flight principle by sending a laser pulse in ...
s, 3D High Definition LiDAR,
3D Flash LIDAR
3-D, 3D, or 3d may refer to:
Science, technology, and mathematics Relating to three-dimensionality
* Three-dimensional space
** 3D computer graphics, computer graphics that use a three-dimensional representation of geometric data
** 3D film, a ...
, 2D or 3D
sonar
Sonar (sound navigation and ranging or sonic navigation and ranging) is a technique that uses sound propagation (usually underwater, as in submarine navigation) to navigation, navigate, measure distances (ranging), communicate with or detect o ...
sensors and one or more 2D
camera
A camera is an Optics, optical instrument that can capture an image. Most cameras can capture 2D images, with some more advanced models being able to capture 3D images. At a basic level, most cameras consist of sealed boxes (the camera body), ...
s.
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
Lidar (, also LIDAR, or LiDAR; sometimes LADAR) is a method for determining ranges (variable distance) by targeting an object or a surface with a laser and measuring the time for the reflected light to return to the receiver. It can also be ...
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, acoustic SLAM, and wifi-SLAM (sensing by strengths of nearby wifi access points). Recent approaches apply quasi-optical
wireless
Wireless communication (or just wireless, when the context allows) is the transfer of information between two or more points without the use of an electrical conductor, optical fiber or other continuous guided medium for the transfer. The most ...
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
An inertial measurement unit (IMU) is an electronic device that measures and reports a body's specific force, angular rate, and sometimes the orientation of the body, using a combination of accelerometers, gyroscopes, and sometimes magnetometer ...
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
An indoor positioning system (IPS) is a network of devices used to locate people or objects where GPS and other satellite technologies lack precision or fail entirely, such as inside multistory buildings, airports, alleys, parking garages, and und ...
.
For some outdoor applications, the need for SLAM has been almost entirely removed due to high precision differential
GPS
The Global Positioning System (GPS), originally Navstar GPS, is a Radionavigation-satellite service, satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of t ...
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 occasionally decline or go down entirely, e.g. during times of military conflict, which are of particular interest to some robotics applications.
Kinematics modeling
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.
Acoustic SLAM
An extension of the common SLAM problem has been applied to the acoustic domain, where environments are represented by the three-dimensional (3D) position of sound sources, termed. Early implementations of this technique have utilized Direction-of-Arrival (DoA) estimates of the sound source location, and rely on principal techniques of
Sound localization to determine source locations. An observer, or robot must be equipped with a
microphone array
A microphone array is any number of microphones operating in tandem. There are many applications:
* Systems for extracting voice input from ambient noise (notably telephones, speech recognition systems, hearing aids)
* Surround sound and relate ...
to enable use of Acoustic SLAM, so that DoA features are properly estimated. Acoustic SLAM has paved foundations for further studies in acoustic scene mapping, and can play an important role in human-robot interaction through speech. In order to map multiple, and occasionally intermittent sound sources, an Acoustic SLAM system utilizes foundations in Random Finite Set theory to handle the varying presence of acoustic landmarks. However, the nature of acoustically derived features leaves Acoustic SLAM susceptible to problems of reverberation, inactivity, and noise within an environment.
Audiovisual SLAM
Originally designed for
human–robot interaction, Audio-Visual SLAM is a framework that provides the fusion of landmark features obtained from both the acoustic and visual modalities within an environment. Human interaction is characterized by features perceived in not only the visual modality, but the acoustic modality as well; as such, SLAM algorithms for human-centered robots and machines must account for both sets of features. An Audio-Visual framework estimates and maps positions of human landmarks through use of visual features like human pose, and audio features like human speech, and fuses the beliefs for a more robust map of the environment. For applications in mobile robotics (ex. drones, service robots), it is valuable to use low-power, lightweight equipment such as monocular cameras, or microelectronic microphone arrays. Audio-Visual SLAM can also allow for complimentary function of such sensors, by compensating the narrow field-of-view, feature occlusions, and optical degradations common to lightweight visual sensors with the full field-of-view, and unobstructed feature representations inherent to audio sensors. The susceptibility of audio sensors to reverberation, sound source inactivity, and noise can also be accordingly compensated through fusion of landmark beliefs from the visual modality. Complimentary function between the audio and visual modalities in an environment can prove valuable for the creation of robotics and machines that fully interact with human speech and human movement.
Collaborative SLAM
''Collaborative SLAM'' combines images from multiple robots or users to generate 3D maps.
Moving objects
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
Loop closure is the problem of recognizing a previously-visited location and updating 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 compute some type of sensor measure 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
The bag-of-words model is a simplifying representation used in natural language processing and information retrieval (IR). In this model, a text (such as a sentence or a document) is represented as the bag (multiset) of its words, disregarding g ...
vectors of
SIFT features from each previously visited location.
Exploration
"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
Entropy is a scientific concept, as well as a measurable physical property, that is most commonly associated with a state of disorder, randomness, or uncertainty. The term and the concept are used in diverse fields, from classical thermodynam ...
of the map under hypothetical actions. "Multi agent SLAM" extends this problem to the case of multiple robots coordinating themselves to explore optimally.
Biological inspiration
In neuroscience, the
hippocampus
The hippocampus (via Latin from Greek , 'seahorse') is a major component of the brain of humans and other vertebrates. Humans and other mammals have two hippocampi, one in each side of the brain. The hippocampus is part of the limbic system, a ...
appears to be involved in SLAM-like computations,
giving rise to
place cells
A place cell is a kind of pyramidal neuron in the hippocampus that becomes active when an animal enters a particular place in its environment, which is known as the place field. Place cells are thought to act collectively as a cognitive represe ...
, and has formed the basis for bio-inspired SLAM systems such as RatSLAM.
Implementation methods
Various SLAM algorithms are implemented in the open-source
robot operating system (ROS) libraries, often used together with the
Point Cloud Library for 3D maps or visual features from
OpenCV.
EKF SLAM
In
robotics
Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
, EKF SLAM is a class of algorithms which utilizes the
extended Kalman filter (EKF) for SLAM. Typically, EKF SLAM algorithms are feature based, and use the maximum likelihood algorithm for data association. In the 1990s and 2000s, EKF SLAM had been the de facto method for SLAM, until the introduction of
FastSLAM
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 chick ...
.
Associated with the EKF is the gaussian noise assumption, which significantly impairs EKF SLAM's ability to deal with uncertainty. With greater amount of uncertainty in the posterior, the linearization in the EKF fails.
GraphSLAM
In
robotics
Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
, GraphSLAM is a SLAM algorithm which uses sparse information matrices produced by generating a
factor graph
A factor graph is a bipartite graph representing the factorization of a function. In probability theory and its applications, factor graphs are used to represent factorization of a probability distribution function, enabling efficient computatio ...
of observation interdependencies (two observations are related if they contain data about the same landmark).
[
]
History
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 acronym SLAM was coined within the paper, "Localization of Autonomous Guided Vehicles" which first appeared in ISR
ISR may refer to:
Organizations
* Institute for Strategy and Reconciliation, a think tank, relief and development organization
* Institutional and Scientific Relations, a Directorate of the European Commission
* International Star Registry, a com ...
in 1995.
The self-driving STANLEY and JUNIOR cars, led by Sebastian Thrun
Sebastian Thrun (born May 14, 1967) is a German-American entrepreneur, educator, and computer scientist. He is CEO of Kitty Hawk Corporation, and chairman and co-founder of Udacity. Before that, he was a Google VP and Fellow, a Professor of Comp ...
, won the DARPA Grand Challenge and came second in the DARPA Urban Challenge in the 2000s, and included SLAM systems, bringing SLAM to worldwide attention. Mass-market SLAM implementations can now be found in consumer robot vacuum cleaners.
See also
* Computational photography
Computational photography refers to digital image capture and processing techniques that use digital computation instead of optical processes. Computational photography can improve the capabilities of a camera, or introduce features that were no ...
* Kalman filter
* Inverse depth parametrization
In computer vision, the inverse depth parametrization is a parametrization used in methods for 3D reconstruction from multiple images such as simultaneous localization and mapping (SLAM).Piniés et al. (2007)Sunderhauf et al. (2007) Given a poin ...
* Mobile Robot Programming Toolkit
The Mobile Robot Programming Toolkit (MRPT) is a cross-platform and open source C++ library aimed to help robotics researchers to design and implement algorithms related to Simultaneous localization and mapping, Simultaneous Localization and Mappi ...
* Monte Carlo localization Monte Carlo localization (MCL), also known as particle filter localization,Ioannis M. Rekleitis.A Particle Filter Tutorial for Mobile Robot Localization" ''Centre for Intelligent Machines, McGill University, Tech. Rep. TR-CIM-04-02'' (2004). is an a ...
* Multi Autonomous Ground-robotic International Challenge
The Multi Autonomous Ground-robotic International Challenge (MAGIC) is a 1.6 million dollar prize competition for autonomous mobile robots funded by TARDEC and the DSTO, the primary research organizations for Tank and Defense research in the Unite ...
* Neato Robotics
* Particle filter
Particle filters, or sequential Monte Carlo methods, are a set of Monte Carlo algorithms used to solve filtering problems arising in signal processing and Bayesian statistical inference. The filtering problem consists of estimating the inte ...
* Project Tango
Tango (formerly named Project Tango, while in testing) was an augmented reality computing platform, developed and authored by the Advanced Technology and Projects (ATAP), a skunkworks division of Google. It used computer vision to enable mobile ...
* Recursive Bayesian estimation
In probability theory, statistics, and machine learning, recursive Bayesian estimation, also known as a Bayes filter, is a general probabilistic approach for estimating an unknown probability density function ( PDF) recursively over time using inc ...
* Robotic mapping
Robotic mapping is a discipline related to computer vision and cartography. The goal for an autonomous robot is to be able to construct (or use) a map (outdoor use) or floor plan (indoor use) and to localize itself and its recharging bases or be ...
*''Stanley
Stanley may refer to:
Arts and entertainment
Film and television
* ''Stanley'' (1972 film), an American horror film
* ''Stanley'' (1984 film), an Australian comedy
* ''Stanley'' (1999 film), an animated short
* ''Stanley'' (1956 TV series) ...
'', DARPA
The Defense Advanced Research Projects Agency (DARPA) is a research and development agency of the United States Department of Defense responsible for the development of emerging technologies for use by the military.
Originally known as the Adv ...
Grand Challenge vehicle
* Stereophotogrammetry
* Structure from motion
* Visual odometry
In robotics and computer vision, visual odometry is the process of determining the position and orientation of a robot by analyzing the associated camera images. It has been used in a wide variety of robotic applications, such as on the Mars Expl ...
References
External links
Probabilistic Robotics
by Sebastian Thrun
Sebastian Thrun (born May 14, 1967) is a German-American entrepreneur, educator, and computer scientist. He is CEO of Kitty Hawk Corporation, and chairman and co-founder of Udacity. Before that, he was a Google VP and Fellow, a Professor of Comp ...
, Wolfram Burgard
Wolfram Burgard (born 1961 in Gelsenkirchen, Germany) is a German roboticist. He is a full professor at the Albert-Ludwigs-Universität Freiburg where he heads the Laboratory for Autonomous Intelligent Systems. He is known for his substantial con ...
and Dieter Fox
Dieter Fox is a German-American roboticist and a Professor in the Department of Computer Science & Engineering at the University of Washington, Seattle. He received his PhD in Computer Science at the University of Bonn in 1998. He is most notable ...
with a clear overview of SLAM.
SLAM For Dummies (A Tutorial Approach to Simultaneous Localization and Mapping)
research page at the Department of Computing, Imperial College London
Imperial College London (legally Imperial College of Science, Technology and Medicine) is a public research university in London, United Kingdom. Its history began with Prince Albert, consort of Queen Victoria, who developed his vision for a cu ...
about SLAM using vision.
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.
at DLR including the related Wifi SLAM and PlaceSLAM approaches.
SLAM lecture
Online SLAM lecture based on Python.
{{DEFAULTSORT:Simultaneous Localization And Mapping
Computational geometry
Robot navigation
Applied machine learning
Motion in computer vision
Positioning