SLAM algorithms combine data from various sensors (e.g. LIDAR, IMU and cameras) to simultaneously compute the position of the sensor and a map of the sensor’s surroundings. For example, consider this approach to drawing a floor plan of your living room:
- Grab a laser rangefinder, stand in the middle of the room, and draw an X on a piece of paper.
- Measure the distance from where you’re standing to any wall.
- Draw a line on the paper where the wall is and write down the distance between the X (your position) and the wall.
- Measure the distance from where you’re standing to another wall and add it to the drawing as well.
- Now, move to another part of the room.
- Since the walls (hopefully) haven’t moved, you can measure your distance to the same two walls to determine your new position.
SLAM is an essential component of autonomous platforms such as self driving cars, automated forklifts in warehouses, robotic vacuum cleaners, and UAVs.
Cartographer builds globally consistent maps in real-time across a broad range of sensor configurations common in academia and industry. The following video is a demonstration of Cartographer’s real-time loop closure:
A detailed description of Cartographer’s 2D algorithms can be found in our ICRA 2016 paper.
Thanks to ROS integration and support from external contributors, Cartographer is ready to use on several robot platforms with ROS support:
new visualizations of famous buildings.
We recognize the value of high quality datasets to the research community. That’s why, thanks to cooperation with the Deutsches Museum (the largest tech museum in the world), we are also releasing three years of LIDAR and IMU data collected using our 2D and 3D mapping backpack platforms during the development and testing of Cartographer.
Our focus is on advancing and democratizing SLAM as a technology. Currently, Cartographer is heavily focused on LIDAR SLAM. Through continued development and community contributions, we hope to add both support for more sensors and platforms as well as new features, such as lifelong mapping and localizing in a pre-existing map.
By Damon Kohler, Wolfgang Hess, and Holger Rapp, Google Engineering