ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

unit of ~linearUpdate parameter in slam_gmapping?

asked 2013-11-11 13:48:13 -0500

cognitiveRobot gravatar image

updated 2014-01-28 17:18:31 -0500

ngrennan gravatar image

Hi there,

Does anyone know what's the unit of ~linearUpdate parameter in slam_gmapping? and what does it mean?

Best regards


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-11-11 19:24:08 -0500

fergs gravatar image

According to REP 103 ( units in ROS should always be SI units. In this case, linearUpdate is in meters, as it is a distance traveled by the robot.

Setting this value lower will cause gmapping to update more frequently (say, every 0.25 or 0.5m of travel). Setting it to a higher number means less frequent updates. Less frequent updates are nice for reducing the memory/processor usage, however, if you have a short range laser or very poor odometry, it may cause the scan matcher to fail if the robot goes too far between updates.

edit flag offensive delete link more


Thanks Fergs for your reply. In slam_gmapping, linearUpdate is 1 by default. Do it mean it updates global map after every 1m travel? Does it mean it ignore laserScan which are saved before each 1 meter?

cognitiveRobot gravatar image cognitiveRobot  ( 2013-11-11 20:39:19 -0500 )edit

Thats exactly what it means. Once you move 1m, gmapping will use that laserscan in the map building process. If you are using a 30m laser like the UTM30 on the PR2, 1m is fine. If you're using something like a kinect or smaller Hokuyo laser, 0.25 or 0.5 is pretty common.

fergs gravatar image fergs  ( 2013-11-12 08:19:39 -0500 )edit

Question Tools

1 follower


Asked: 2013-11-11 13:48:13 -0500

Seen: 434 times

Last updated: Nov 11 '13