youbot bad results in gmapping

asked 2015-11-26 06:02:38 -0600

mall3i gravatar image

Hey everyone,

I'm having trouble with navigation, the map respectively. I suspect my gmapping parameters are messed up but I'm not sure as it might also be an odom or tf issue. Odom also seems messed up as you can see in the rosbag file in which I recorded base_scan, tf and odom. In that recording the youbot is manually controlled, drives out of a room, scouts the area and drives back into the room through the same door, however the data suggests it reenters the room through the wall right of the door (about a meter). Any ideas how to tackle this?

This is the launch file I'm using:

    <!-- launch gmapping -->
    <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping">
        <remap from="scan" to="base_scan"/>
        <param name="base_frame" value="base_footprint"/>
        <param name="map_frame" value="map"/>
        <param name="odom_frame" value="odom"/>
        <param name="map_update_interval" value="5.0"/>         <!-- How long (in seconds) between updates to the map. Lowering this number updates the occupancy grid more often, at the expense of greater computational load -->
        <param name="maxUrange" value="4.5"/>                   <!-- The maximum usable range of the laser. A beam is cropped to this value -->
        <param name="sigma" value="0.05"/>                      <!-- The sigma used by the greedy endpoint matching -->
        <param name="kernelSize" value="1"/>                    <!-- The kernel in which to look for a correspondence -->
        <param name="lstep" value="0.05"/>                      <!-- The optimization step in translation -->
        <param name="astep" value="0.05"/>                      <!-- The optimization step in rotation -->
        <param name="iterations" value="5"/>                    <!-- The number of iterations of the scanmatcher -->
        <param name="lsigma" value="0.075"/>                    <!-- The sigma of a beam used for likelihood computation -->
        <param name="ogain" value="3.0"/>                       <!-- Gain to be used while evaluating the likelihood, for smoothing the resampling effects -->
        <param name="lskip" value="0"/>                         <!-- Number of beams to skip in each scan.  -->
        <param name="srr" value="0.1"/>                     <!-- Odometry error in translation as a function of translation (rho/rho) -->
        <param name="srt" value="0.2"/>                     <!-- Odometry error in translation as a function of rotation (rho/theta) -->
        <param name="str" value="0.1"/>                     <!-- Odometry error in rotation as a function of translation (theta/rho) -->
        <param name="stt" value="0.2"/>                     <!-- Odometry error in rotation as a function of rotation (theta/theta) -->
        <param name="linearUpdate" value="1.0"/>                <!-- Process a scan each time the robot translates this far -->
        <param name="angularUpdate" value="0.5"/>       <!-- Process a scan each time the robot rotates this far -->
        <param name="temporalUpdate" value="-1.0"/>             <!-- Process a scan if the last scan proccessed is older than the update time in seconds. A value less than zero will turn time based updates off -->
        <param name="resampleThreshold" value="0.5"/>           <!-- The neff based resampling threshold -->
        <param name="particles" value="30"/>                    <!-- Number of particles in the filter -->
        <param name="xmin" value="-5.0"/>                       <!-- Initial map size -->
        <param name="ymin" value="-5.0"/>                       <!-- Initial map size -->
        <param name="xmax" value="5.0"/>                        <!-- Initial map size -->
        <param name="ymax" value="5.0"/>                        <!-- Initial map size -->
        <param name="delta" value="0.02 ...
edit retag flag offensive close merge delete