Google Cartographer SLAM Library Now Open-Source
As mentioned in Google’s announcement, self-driving cars, automated forklifts in warehouses, robotic vacuum cleaners, and UAVs could be the areas that use the SLAM system.
By Amanda Zhao
On Oct 5th, 2016, Google happily announced the open source release of Cartographer, a real-time simultaneous localization and mapping (SLAM) library in 2D and 3D with ROS support.
As mentioned in Google's announcement, self-driving cars, automated forklifts in warehouses, robotic vacuum cleaners, and UAVs could be the areas that use the SLAM system.
By using the open source Robot Operating System (ROS), the Cartographer SLAM algorithms could work on combining multiple LiDAR systems and camera sensors to calculate distances between points and create a relatively accurate real-time map of the robot's/cars surroundings.
However, Cartographer is focused on LiDAR due to its application needs on the Google autonomous vehicle research. Lidar (also called LIDAR, LiDAR, and LADAR) is a surveying method that measures the distance to a target by illuminating that target with a laser light. The Lidar units called Velodyne that Google uses in its self-driving cars cost up to $70,000 per unit. This will require a higher standard system to process the data acquired.
Google has been doing extensive road tests of autonomous vehicles — for custom vehicles as well as for modified standard cars . These days, we can see Lexus featured on its official Google Self-Driving Project page. The cost of LiDAR would be too much, even for a luxury vehicle. Enter a technology called millimeter-wave radar, which involves multiple infrared and optical sensors mounted at the front, sides and rear quarters. Audi, Acura, Subaru, Mercedes, Lexus utilize this technology in their autonomous features.
In addition to the high cost of LiDAR, the refresh rate of the system is also limited by how fast the complicated optics can rotate. Here is a calculation: 10hz (10 times per second) is approximately the fastest rate the Lidar system can rotate. Hence this is the limiting refresh rate of the data stream. A car moving at 60 miles per hour travels 8.8 feet in 1/10th of a second as the sensor is rotating, so the sensor is essentially blind to changes that happen as it travels those 8.8 feet.
Perhaps more importantly, the range of Lidar (in perfect conditions) is 100–120 meters (less than 400 feet), which equates to less than 4.5 seconds of travel time for a car moving at 60 mph. That said, even with the data acquired by the high cost LiDAR, there's still the possibility of information loss throughout this 3D mapping system, and this could possibly cause "blindness" of the self-driving system.
Now think about what will happen when a driver is going to change lanes: they twist their head over their shoulder to check the blind spot of their car – how long would this take? At least one second, and compared to the 0.1 second loophole that a LiDAR would create, an autonomous vehicle integrated this technique still would be superior.
The Cartographer release noted: "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."
The open-source code for Cartographer can be found on GitHub .