Loop closure failing in GMapping SLAM on turtlebot3
I am using gmapping slam package and did some testing with it for loop closure. I understand that gmapping does not explicitly solve for loop closure; instead it uses a scan-matching algorithm that assigns low weights to the particles which are eventually discarded if they do not match the hypothesis. In the image below I am running 3 turtlebot3s and I used the move_base goals to move one of them around the map to test for loop closure.
As you can see, the loop closure fails completely. I saw from this related question that setting the resampleThreshold to a higher value could solve the problem but for my case it does not seem to be performing loop closure properly. Can anyone give guidance on how I can solve this so that the loop closure works correctly?
Asked by hunterlineage1 on 2023-04-15 02:19:05 UTC
Answers
After a couple days of searching online, I found a turtlebot3 gmapping slam tuning guide.. It is explained in the tuning guide to adjust maxUrange, map_update_interval, minimumScore, linearUpdate, and angularUpdate parameters for performance in loop closing. I decreased the minimumScore to 10 and achieved improved loop closure similar to what cartographer would achieve.
Asked by hunterlineage1 on 2023-04-18 02:25:08 UTC
Comments
Maybe using another slam can solve your problem. Try cartographer
Asked by frans on 2023-04-15 05:23:35 UTC