unit of ~linearUpdate parameter in slam_gmapping?
Hi there,
Does anyone know what's the unit of ~linearUpdate parameter in slam_gmapping? and what does it mean?
Best regards
Hossain
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
Hi there,
Does anyone know what's the unit of ~linearUpdate parameter in slam_gmapping? and what does it mean?
Best regards
Hossain
According to REP 103 (http://www.ros.org/reps/rep-0103.html) 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.
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?
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.
Asked: 2013-11-11 13:48:13 -0500
Seen: 435 times
Last updated: Nov 11 '13
Navigation costmap parameter unknown_cost_value
Overwriting a parameter in config file during runtime
Running ROS node with a numeric parameter passed as string doesn't work.
May I run Parameter Server separated?
Bug in ros::NodeHandle::searchParam()?
Pass parameters to xacro from launch file, or otherwise
Error while building map with slam
GMapping map changes over time
Is there a reason ros::param::get does not provide a float overload?