Comparison between Hector and GMapping
GMapping is a RBPF-based SLAM method which solved two thorny problems of particle filter. First, it presented adaptive techniques for reducing number of particles in the Rao-Blackwellized particle filter for learning grid maps. Then, it proposed the selective resampling operation to reduce the seriously problem of particle depletion.
Hector SLAM was a system for fast online learning of occupancy grid maps requiring low computational resources. It combined a robust scan matching approach using a LIDAR system with a 3D attitude estimation system based on inertial sensing. This algorithm did not use any odometry information, which lacked the loop detection, resulting in the sensitivity to rotational movement.
GMapping VS HECTOR SLAM:
In an experiment, Gmapping was seen to have a hard time building the map of large scenes like corridors as seen in figure 1. The poor performance of Gmapping was potentially influenced by the mechanism of algorithm such as selecting the optimal particle poses at current time, ignoring the valid information from historical moments, which resulting in the algorithm not being able to obtain the global optimal solution with limited number of particles.
A. Role of Sensors:
It has been found that Hector SLAM performs well with sensors which operate with high frequency. One such experiment demonstrate the maps created by both hector and gmapping using Kinect camera illustrated in the figure 2. The figures shows that the map built by Hector SLAM had more severe drifts and distortions in the Corridor than in the Room, which showed the Hector SLAM algorithm was unable to accurately generate the maps since it was prone to losing the robot pose due to the low frequency and small FOV (Field Of View) of Kinect Depth Camera and sensitivity to rotational movements.
In another experiment revealed in figure 3, the maps obtained using Kinect scan for both Gmapping and Hector SLAM are seen to deviate significantly from the actual dimension. This occurrence is due to the limited field of view (FOV) of Kinect that causes inaccurate scan matching computations.
On the other hand, the maps for laser scan are highly accurate for both SLAM techniques; with the Gmapping using laser scan gives the closest values to the actual dimension. It could also be seen that the Hector SLAM produces slightly thicker wall as compared to Gmapping, since it only relies on scan matching process.
B. Map with Known Features:
In the same experiment, two additional trials were conducted at the same room but with additional features. The aim was to study the performance of SLAM in detecting objects of different size. A box of height 39cm (denoted as taller feature) and another of height 19cm (denoted as shorter feature) were placed in the room. The shorter feature was below the detection range of the laser scanner while the taller feature was within the sensor’s FOV.
It can be observed that the SLAM based on kinect scan produced inaccurate map, similar to the result in the previous section. However, the shorter feature is still visible in the map (see red arrows on the maps) indicating that the Kinect was able to detect the object.
However laser based scans cannot detect the short feature in both the SLAM algorithms. This weakness is not desired in SLAM as the robot may collide with the object or produce highly inaccurate result.
C. Update rate:
The transform and map updates for Gmapping are found to be significantly less due to the fact that the Gmapping is based on complex particle filter algorithm that takes into account both the odometry and scan matching to compute the pose correction. In contrary, the Hector SLAM calculates the pose entirely based on scan matching alone; thus allowing an update rate close to the rate of the input scan.
D. Pose Estimation:
The Gmapping only outputs transformation (i.e. correction) from the odometry frame to the map frame. Thus, to calculate the robot pose, the published transform needs to be combined with the odometry information. The main drawback is that, the estimated poses contain odometry error particularly during the interval between the transform updates.
On the other hand, the Hector SLAM straightaway outputs the transformation from the map frame to the scanning frame (i.e. robot frame in this case); hence could directly be considered as robot pose.
E. Computational Cost:
In addition, it can be seen that the total number of map updates for Gmapping are lower than Hector SLAM in all the experiments. The setting parameters for map update period for Gmapping and Hector SLAM were 5 seconds and 2 seconds respectively. Since the experiment was ran for 702 seconds, the number of map updates should be around 140 seconds for Gmapping and 351 for Hector SLAM. However, the Gmapping failed to achieve the targeted rate. The finding verifies that the algorithm is computationally more expensive and lacks the ability to update map at higher rate; which is an important factor in certain applications.
The Table below summarizes the comparison between Gmapping and Hector SLAM based on all the experiments conducted.