Google Cartographer vs Gmapping
Overview
We had the option of using two Simultaneous Localization and Mapping(SLAM) techniques of which were Gmapping and Google Cartographer. For testing purposes we decided to try both out in order to get the best map we could.
Gmapping
- Less CPU intensive
- No need to upgrade husky(Cheaper)
- Less Accurate Map
- No Loop Closure Detection
Google Cartographer
- More CPU Intensive
- Creates Second Husky that creates inaccurate second map
- More Accurate Map
- Has Loop Closure Detection
Obstructions
In some instances, when Google Cartographer is running to generate a map, the algorithm tries to optimize the map and causes the transform of the husky to change. This creates a "stuttering effect" due to having multiple husky instances. This fluctuation causes multiple map generation from the separate instances of the husky. Due to this, the same obstacle(s) are formed multiple times in different location which leads to inaccurate navigation.
Conclusion
We ultimately decided to go with GMapping due to it offering more reasonable computational requirements. Although it had a less aesthetic map, we felt that the optimization algorithm that cartographer has interfered with the robot's position and it vastly outweighed the negative effect it came with.