Cartographer is a graph building algorithm based on the graph optimization method. Both Karto and Cartographer are graph optimization frameworks, but there are many differences. For example, Karto adopts SPA graph optimization method, while Cartographer adopts Google’s Ceres to build problem optimization. Karto’s front and back ends are single-threaded, while Cartographer takes a multi-threaded backend optimization. Cartographer also supports multi-sensor fusion mapping, processing data from lidar, IMU, odometer and other sensors and feeding them to map construction.

Karto salm is based on graph optimization method and optimization method using the figure of average said map, each node is the location of robot trajectory of a point and sensor measurement data sets, the arrow pointing in the direction of the connection of said continuous movement, robot points of each new node joins, the map will be calculated based on the node in the space constraints of the arrow. Karto SLAM requires odometer and lidar data. Karto also uses lidar data to create raster maps of the environment. When the robot moves slowly, Karto is better than GMapping. Different from GMapping, Karto is based on graph optimization, so you won’t see a large area at first.

The Hector feature pack uses the Gauss Newton method to build maps from laser information without odometer data. As a result, the feature pack works well in aerial robots, hand-held composition devices, and specialty robots. Hector algorithm combines the scanning and matching method with good robustness. It does not need odometer, but it generally requires a radar frame rate higher than 20HZ and estimates the pose of 6 degrees of freedom. It can adapt to the situation of uneven air or ground. The selection of initial value has great influence on the result, so high radar frame rate is required. Since Hector algorithm has high requirements on radar frame rate, when the lidar frame rate of the robot is relatively low, the running speed of the robot should be reduced to less than 0.3m/s. If the driving speed of the robot is not reduced, the drawing effect will be very poor and the drawing cannot be completed.

The GMapping function package integrates the Rao-Blackwellized particle filtering algorithm GMapping, which requires less computation and higher accuracy in building small scene maps. Compared to Hector SLAM, lidar frequency requirements are lower and more robust. Gmapping has a better mapping effect in an environment with flat terrain and small space. Odometer data is required, so it cannot adapt to UAV and areas with uneven ground, large scenes and many particles, consuming resources.

When the map area is small, gmapping has a better mapping effect than cartographer, but cartographer’s advantage is that robots can be moved at will during map construction. Due to its back-end optimization and strong loopback detection capability, the map is always in a good state. However, gmapping is different. Once the robot moves too fast, the map will be skewed. Since it does not have loopback detection, it cannot be optimized in the future. Cartographer loops through a small area first and then a large area, making it possible to create a good map on tens of thousands of square meters. The map format generated by Cartographer is. Pbstream, which cannot be used directly in ROS and requires map format conversion. ———————————————— Copyright notice: This article is originally published BY CSDN blogger “Kobesdu” under CC 4.0 BY-SA copyright agreement. Please attach a link to the original source and this statement. The original link: blog.csdn.net/kobesdu/art…