Improve gmapping results
Hey everyone
I am working with the ROS Navigation stack using a simulated environment in Stage. Initially I would have created a topic criticizing the precision of the AMCL localization stack, but after deeper research I found the error to occur from the map I have created with the GMapping.
The following image shows the comparison between the ideal image (blue) and the resulting map from GMapping (red). Interesting enough the data fed into the GMapping process are all ideal, no error in either the odometry or the laser scans.
Besides setting the number of particles to 150 I use the standard settings when executing the GMapping process. Actually I have tried to reduce the update frequency in the translation and angular rotation, but it did not change alot.
I have also tried to visualize quite primitively how I have traveled through the area. The black dot is the start and the numbers shows the order in which the different areas have been explored.
Does anyone have any idea to how to improve the result of the GMapping process? So far it does not seem that impressive.
Regards
Sebastian Aslund
P.s my laser scanner is modeled to a SICK LMS200 with a range at 8m.
P.p.s Maybe it was an idea to show the results between a higher update frequency. The red figure shows the map with the standard update intervals. In the blue map the linear update is set to 0.2 and the angular update is set to 0.1.
Does it help to add more particles?
Depends. At 100 particles, I get improved results; however, at 150 I loose those results. I usually use this to start gmapping: rosrun gmapping _particles:=100 _linearUpdate:=0.1 _angularUpdate:=0.1.
I have already increased the number of particles from 30 (the default value) to 150. But I can try raising it to 500 or so and see what happens.
You might want to create an entropy publisher to set it to 0. This can also help.
What do you exactly mean by "create an entropy publisher to set it to 0"?
Entropy is a new topic in slam. It is a float64. The higher the entropy, the worse the odometry. If your odometry is perfect, then 0 will notify gmapping of this.
@allenh1 While doing Hector_mapping, the odometry data gets totally ignored. So, how were you able to achieve the map with hector mapping using odometry?