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

tips to improve gmapping results

asked 2012-04-02 10:04:25 -0500

prince gravatar image

updated 2012-04-02 10:54:14 -0500

Greetings,

I am running slam_gmapping ( gmapping ) in PioneerAT with Sick LMS200 on ROS Diamondback. I am using slam_gmapping_pr2.launch from gmapping package. Following picture shows the result. TF defined is also visible in image.

RViz image capture

The map is curved on straight corridors. Parallel corridors are merged. A small circular move (loop ~ radius 3meters, at center) is not detected. One corridor has come twice (parallel,joined) due to some problem.

I tried changing the launch file and used following:

<launch>
    <param name="use_sim_time" value="true"/>
    <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
<!--      <remap from="scan" to="scan"/>-->
    <param name="odom_frame" value="/RosAria/pose"/>
      <param name="map_udpate_interval" value="2.0"/>
      <param name="maxUrange" value="12.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="srr" value="0.1"/>
      <param name="srt" value="0.2"/>
      <param name="str" value="0.1"/>
      <param name="stt" value="0.2"/>
      <param name="linearUpdate" value="0.5"/>
      <param name="angularUpdate" value="0.5"/>
      <param name="temporalUpdate" value="3.0"/>
      <param name="resampleThreshold" value="0.5"/>
      <param name="particles" value="30"/>
      <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"/>
    </node>
</launch>

This resulted in even worse map shown in picture below: Rviz image capture

Scan Matching Failed, using odometry. Likelihood=-90.753
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-297.351
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-822.941
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-1200
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-1200
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-987.667
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-1200
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-257.575
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-1200
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry. Likelihood=-216.73
lp:18.5471 -20.6458 -1.92343
op:18.1182 -5.70109 1.08139
Scan Matching Failed, using odometry ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2012-04-02 16:39:10 -0500

Eric Perko gravatar image

If I recall correctly, gmapping doesn't support mapping with a tilted laser scanner. It should be perpendicular to the ground or otherwise not see something like ground or ceiling every scan, otherwise the scan matching will not work properly.

If you really want to keep your laser tilted, you'll need to do something to filter the ground plane out of the scans.

edit flag offensive delete link more
2

answered 2012-04-02 10:38:05 -0500

allenh1 gravatar image

From my experience, changing the linearUpdate parameter and the angularUpdate parameter to a lower value while increasing the number of particles (100 is the usual amount for me) provides better performance [as long as your computer can process it].

edit flag offensive delete link more

Comments

1

i was expecting it to run online. Will this not overload the machine? I do not know why scan matching is failed, which as per paper is critical for Rao Blackewellised PF s.

prince gravatar image prince  ( 2012-04-02 10:46:37 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2012-04-02 10:04:25 -0500

Seen: 2,852 times

Last updated: Apr 02 '12