After internally using it for two years, Google has announced the open-source release of its thematic mapping library Cartographer. The tool is designed to enable real-time simultaneous localization and mapping, better known by its acronym SLAM, and has the capability to build a 2D or 3D map while keeping track of an individual or robotic agent’s location on that map.
SLAM algorithms combine data from various sensors – for instance Light Detection and Ranging (LiDAR) systems and cameras — to simultaneously find the location of the sensor and a map of the sensor’s surroundings. The technology works with the open source Robot Operating System (ROS), thus enabling easy-to-deploy software in robots, self-driving cars, and drones.
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:
“Our focus is on advancing and democratizing SLAM as a technology,” a blog post from Google said. The blog, written by Damon Kohler, Wolfgang Hess, and Holger Rapp from Google Engineering, added: “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.”
Launch of Cartographer 2 years ago
Cartographer was introduced by Google two years ago as a backpack with SLAM technology and was positioned as a mapping tool that would let the wearer do things like walk inside a building and generate a floor plan for the structure in real time. With the punchline ‘As fast as you can walk, you can map with Cartographer’, the tool was positioned by Google as an indoor version of its Street View technology for creating highly detailed images of an individual’s surroundings inside a building.
Cartographer has since been integrated with ROS, thus making it ready for use in robotic platforms. “Thanks to ROS integration and support from external contributors, Cartographer is ready to use on several robot platforms with ROS support [such as] Toyota HSR, TurtleBots, PR2, Revo LDS,” the blog said.
One can see Toyota leveraging this open source project with one of its robots in the video below.
At Google, Cartographer has enabled a range of applications from mapping museums and transit hubs to enabling new visualizations of famous buildings.
The engineers said Google’s efforts with Cartographer currently are heavily focused on LiDAR SLAM, which is not surprising given the fact self driving autonomous vehicle technology being developed by Google some several years now is heavily dependent on LiDAR.
In addition, with the aim of advancing and democratizing SLAM as a technology, Google also released for developer this week over three years of 2D and 3D LIDAR and IMU data that was collected using its backpack platform. Through continued development and community contributions, the company hopes 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.
Cartographer is not the only open source SLAM library. There are others such as hector_slam, which contains ROS packages related to performing SLAM in unstructed environments like those encountered in the Urban Search and Rescue (USAR) scenarios of the RoboCup Rescue competition, and proprietary alternatives like Flyby Media, which was recently acquired by Apple.
Check out Cartographer here.