Gmapping: map doesn't update
We have a custom 2 wheel robot using Pololu Motor Shields, with ROS_arduino_bridge to convert odometry ticks into quaternion and publishing to /odom. We also use a Hokuyo Laser Scanner. While running the Gmapping launch file, we are capable of getting the first map. However, it does not update. We have tried setting small parameters for Angular and Linear update - nothing. When we force gmapping to make a map using TemporalUpdate, it just creates multiple maps and puts one on top of another. On top of everything when we do not use TemporalUpdate, the base scan starts drifting all over the map.
Any suggestions on how to fix these issues:
- getting rid off drifting
- updating the map
Our gmapping launch file:
<launch>
<node pkg="urg_node" type="urg_node" name="laser_scan">
<param name="port" value="/dev/ttyACM0"/>
<param name="frame_id" value="map"/>
<remap from="scan" to="base_scan"/>
</node>
<node pkg="tf" type="static_transform_publisher" name="base_link_to_base_laser_link" args="0.058 0 0.125 0.0 0.0 3.1416 /base_link /base_scan 100"/>
<node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
<rosparam>
odom_frame: odom
maxUrange: 5.4
maxRange: 5.4
base_frame: base_link
</rosparam>
<remap from="scan" to="base_scan" />
</node>
</launch>