# map take long time to update

hi i am using gmapping to build map and i did and its accurate , but while i am building the map some time there is places did not be added to map while updating, and the map update take a lot of time there is no problem with my odometery if i move my robot 1m forward it goes 1m without any problem if i turn it 90 deg it turn without any problem. i am using the encoder do determine just forward and backward (linear motion) and gyro for angular motion.

my question is: 1- Is there any way to fast the update of map? its not instantaneous it may rotate about it self for 3 time and alway update just the first position, this occur if the space is small and there is a lot of object. 2- how i can make the laser scan update every thing around him without any thing be missed.(no unknown zone). 3- I hope that some one can explain the (map_update_interval )parameter and (Particles) parameter . 4- i have this error:

Scan Matching Failed, using odometry. Likelihood=-4266.67
lp:0.303589 0.000376325 0.0261353


but it know after i make minimum score parameter = 10000 it not effect the map but still happening , but no over lab or jump occur. i wana ask if this cause a problem for updating the map.

last thing here the gmapping parameter i hope any one can help:

<!--remap from="scan" to="base_scan"/-->
<param name="odom_frame" value="/odom" />
<param name="map_update_interval" value="5.0"/>
<param name="maxUrange" value="4.5"/>
<!--param name="maxRange" value="4.0"/-->
<param name="sigma" value="0.05"/>
<param name="kernelSize" value="1"/>
<param name="lstep" value="0.05"/>
<param name="astep" value="0.05"/>
<param name="iterations" value="5"/>
<param name="lsigma" value="0.075"/>
<param name="ogain" value="3.0"/>
<param name="lskip" value="0"/>
<param name="minimumScore" value="10000"/>
<param name="srr" value="0.01"/>
<param name="srt" value="0.02"/>
<param name="str" value="0.01"/>
<param name="stt" value="0.02"/>
<param name="linearUpdate" value="0.40"/>
<param name="angularUpdate" value="0.40"/>
<param name="temporalUpdate" value="-1.0"/>
<param name="resampleThreshold" value="0.5"/>
<param name="particles" value="80"/>
<param name="xmin" value="-50.0"/>
<param name="ymin" value="-50.0"/>
<param name="xmax" value="50.0"/>
<param name="ymax" value="50.0"/>
<param name="delta" value="0.05"/>
<param name="llsamplerange" value="0.01"/>
<param name="llsamplestep" value="0.01"/>
<param name="lasamplerange" value="0.005"/>
<param name="lasamplestep" value="0.005"/>
<param name="transform_publish_period" value="0.1"/>


edit: just for the information i can move the robot from point a to b without any problem in the map so the odometer is not wrong. thanks.

edit retag close merge delete

Sort by » oldest newest most voted

The full parameters to gmapping are documented on the gmapping wiki page.

The map_update_interval parameter controls how frequently gmapping publishes a new version of the map (in seconds), so if you want to see an updated map more frequently, decrease this.

The linearUpdate and angularUpdate parameters control how far your robot must move (in meters and radians, respectively) before gmapping adds a new scan to the map. It seems like your linearUpdate is ok, but if your robot gets lost or misses scans when turning, you should decrease the angularUpdate parameter.

more

thanks for replay I will try it tomorrow but I tried to decrease the map_update but this before I change the minimumscore to 10000 I will try it .but it dose not miss scan just spot of the scan when update the map and its always the closet sopt to the robot if the next obstacal about 10 cm . thanks

( 2017-02-20 13:53:50 -0600 )edit

thanks it works after I change the map update for 0.5 it good but it loads the cpu a lot but it work thanks,

( 2017-02-21 08:13:32 -0600 )edit

gmapping doesn't model multi-echo laser scanners, so it sounds like it's just using the first return.

( 2017-02-21 10:59:44 -0600 )edit