simultaneous localization and mapping
In plain wordsHow a robot, drone or headset builds a map of an unfamiliar place while at the same time working out where it is on that map, using its cameras or laser scanners.
The problem, for a robot or other moving sensor platform in unfamiliar surroundings, of estimating both a map of them and its own pose (position and orientation) in that map from noisy measurements such as lidarlidar, n.: A sensor that measures distances by firing laser pulses and timing their reflections, building a 3D picture of its surroundings out of millions of points; widely used on robots and self-driving cars. scans, camera images, wheel odometryodometry, n.: Estimating how far and in which direction a robot or vehicle has moved by adding up its own motion, such as wheel turns or how camera images shift, like counting your steps. and inertial data. The two tasks depend on each other — a good map needs accurate poses and vice versa — and their errors are correlated, so they are estimated jointly. Classic formulations are probabilistic: extended-Kalman filterKalman filter, n.: A method that keeps a running best guess of something you cannot measure exactly, such as a vehicle's position, by blending predictions from a motion model with noisy sensor readings. SLAM keeps robot pose and landmark positions in one state vector; FastSLAM (2002) uses a particle filterparticle filter, n.: A way to track something uncertain, such as a robot's location, by keeping thousands of random guesses, scoring each against what the sensors see, and copying the best ones. over trajectories with small filters per landmark; and graph-based SLAM, dominant today, represents poses and landmarks as nodes of a factor graph whose edges are measurement constraints, solved by sparse nonlinear least squares. Loop closure, recognizing a previously visited place, corrects drift accumulated along the way. Visual SLAM systems such as ORB-SLAM track image features, while dense and neural variants build richer maps with neural radiance fieldsneural radiance field, n.: A way of capturing a real scene from a set of photos as a small neural network that can then show the scene from any new viewpoint, as if moving a camera through it. or Gaussian splattingGaussian splatting, n.: A way of turning photos of a real place into a 3D scene made of millions of tiny, soft, colored blobs that can be viewed from any angle in real time, even on a phone or headset.. SLAM runs in robot vacuums, warehouse robots, drones, AR and VR headsets and phones.
The map drifted for ten minutes until SLAM closed the loop back at the charging dock.
Origin
The probabilistic formulation began with discussions at the 1986 IEEE Robotics and Automation Conference and papers by Randall Smith, Matthew Self and Peter Cheeseman (1986–1990) showing that landmark estimates are correlated through vehicle error. The acronym SLAM was first presented in 1995 at the International Symposium on Robotics Research by Hugh Durrant-Whyte and colleagues; the problem was also called concurrent mapping and localization.
Usage note
Self-driving cars often rely on detailed prebuilt maps, which reduces SLAM at run time largely to localization. SLAM answers where the robot is and what geometry surrounds it; recognizing what objects are is a separate perceptionperception, n.: How an AI system or robot turns raw sensor signals, such as camera pixels, microphone sound or laser scans, into an understanding of what is around it: objects, people, words and distances. task, though semantic SLAM combines them.
Related
- odometryodometry, n.: Estimating how far and in which direction a robot or vehicle has moved by adding up its own motion, such as wheel turns or how camera images shift, like counting your steps.
- Kalman filterKalman filter, n.: A method that keeps a running best guess of something you cannot measure exactly, such as a vehicle's position, by blending predictions from a motion model with noisy sensor readings.
- particle filterparticle filter, n.: A way to track something uncertain, such as a robot's location, by keeping thousands of random guesses, scoring each against what the sensors see, and copying the best ones.
- lidarlidar, n.: A sensor that measures distances by firing laser pulses and timing their reflections, building a 3D picture of its surroundings out of millions of points; widely used on robots and self-driving cars.
- occupancy gridoccupancy grid, n.: A robot's map of the world drawn as a grid of small squares or cubes, each marked with the chance that something solid is there, so the robot knows where it can safely go.
- sensor fusionsensor fusion, n.: Combining readings from several different sensors, such as cameras, radar, lidar, GPS and motion sensors, to get a more accurate and reliable picture than any one sensor gives alone.
- mobile robotmobile robot, n.: A robot that travels around by itself — on wheels, tracks, legs, propellers or thrusters — such as a robot vacuum, warehouse cart, delivery robot or planetary rover.
Sources
- Durrant-Whyte, H. & Bailey, T. (2006). Simultaneous localization and mapping: Part I. IEEE Robotics & Automation Magazine 13(2), 99–110. doc.ic.ac.uk/%7Eajd/Robotics/RoboticsResources/SLAMTutorial1.pdf
- Mur-Artal, R., Montiel, J. M. M. & Tardós, J. D. (2015). ORB-SLAM: A versatile and accurate monocular SLAM system. IEEE Transactions on Robotics 31(5), 1147–1163.
Mentioned in
roboticsrobotics, n.: The science and engineering of building robots and making them work: designing their bodies, sensors and motors, and writing the software that lets them see, plan and move safely., 3D reconstruction3D reconstruction, n.: Building a 3D model of an object or place, its shape and often its colors, from photos, video or depth-sensor scans., Gaussian splattingGaussian splatting, n.: A way of turning photos of a real place into a 3D scene made of millions of tiny, soft, colored blobs that can be viewed from any angle in real time, even on a phone or headset., Kalman filterKalman filter, n.: A method that keeps a running best guess of something you cannot measure exactly, such as a vehicle's position, by blending predictions from a motion model with noisy sensor readings., keypoint detectionkeypoint detection, n.: Finding specific, recognizable points in an image, such as the corners of a building, a person's elbows and knees, or the tip of a nose., lidarlidar, n.: A sensor that measures distances by firing laser pulses and timing their reflections, building a 3D picture of its surroundings out of millions of points; widely used on robots and self-driving cars., mobile robotmobile robot, n.: A robot that travels around by itself — on wheels, tracks, legs, propellers or thrusters — such as a robot vacuum, warehouse cart, delivery robot or planetary rover., path planningpath planning, n.: Finding a route for a robot or vehicle from a start to a goal that avoids obstacles, usually the shortest or safest one, much as a navigation app finds a route on a map., pose estimationpose estimation, n.: Working out the position and orientation of something from images: where a person's joints are and how their body is posed, or exactly how an object or camera is placed and turned in space., Robot Operating SystemRobot Operating System, prop. n.: Free, widely used software that serves as the plumbing of many robots, letting separate programs for sensors, planning and motors pass messages to each other, with a large library of ready-made tools., sensor fusionsensor fusion, n.: Combining readings from several different sensors, such as cameras, radar, lidar, GPS and motion sensors, to get a more accurate and reliable picture than any one sensor gives alone., occupancy gridoccupancy grid, n.: A robot's map of the world drawn as a grid of small squares or cubes, each marked with the chance that something solid is there, so the robot knows where it can safely go., odometryodometry, n.: Estimating how far and in which direction a robot or vehicle has moved by adding up its own motion, such as wheel turns or how camera images shift, like counting your steps., particle filterparticle filter, n.: A way to track something uncertain, such as a robot's location, by keeping thousands of random guesses, scoring each against what the sensors see, and copying the best ones., Sebastian ThrunSebastian Thrun, prop. n.: A German-American roboticist who led the Stanford team that won the 2005 desert race for self-driving cars, started Google's self-driving car project, and founded the online-learning company Udacity., structure from motionstructure from motion, n.: Recovering both the 3D shape of a scene and the spot from which each photo was taken, using nothing but a collection of overlapping photographs.