My simulation environment is LGSVL I use VLP-16 LIDAR and pointcloud_to_laserscan package for laserscan and scans are quite accurate also LGSVL environment provide odom data but all three slam algorithm create very bad map as you see. I can not find the problem. PS:I can't add picture so I add link
Output of Slam_karto image description https://hizliresim.com/xSs5xh
Output of Hector_slam image description https://hizliresim.com/xSRiw1
Output of Gmapping image description https://hizliresim.com/R4gAAK
TF Tree: https://hizliresim.com/cSVeDr
args="0.0 0.0 0.0 0.0 0.0 0.0 base_link velodyne 100" />
<node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan">
<remap from="cloud_in" to="/points/for_laser"/>
<remap from="scan" to="/scan"/>
<rosparam>
target_frame: velodyne # Leave disabled to output scan in pointcloud frame
transform_tolerance: 0.01
min_height: 0.0
max_height: 1.0
angle_min: -3.1415974 # -M_PI/2
angle_max: 3.1415974 # M_PI/2
angle_increment: 0.004363 # M_PI/360.0
scan_time: 0.1
range_min: -5.0
range_max: 25.0
use_inf: true
inf_epsilon: 1.0
# Concurrency level, affects number of pointclouds queued for processing and number of threads used
# 0 : Detect number of cores
# 1 : Single threaded
# 2->inf : Parallelism level
concurrency_level: 1
</rosparam>
</node>
<node pkg="tf" type="static_transform_publisher" name="odom_to_base_link"
args="0.0 0.0 0.0 0.0 0.0 0.0 odom base_link 100" />
<node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
<remap from="scan" to= "/scan"/> <!--topic-->
<remap from="odom" to= "/odom"/>
<param name="map_udpate_interval" value="0.25"/>
<param name="maxUrange" value="80.0"/>
<param name="sigma" value="0.1"/>
<param name="kernelSize" value="1"/>
<param name="lstep" value="0.15"/>
<param name="astep" value="0.15"/>
<param name="iterations" value="1"/>
<param name="lsigma" value="0.1"/>
<param name="ogain" value="3.0"/>
<param name="lskip" value="1"/>
<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.25"/>
<param name="temporalUpdate" value="-1.0"/>
<param name="resampleThreshold" value="0.5"/>
<param name="particles" value="50"/>
<param name="xmin" value="-100.0"/>
<param name="ymin" value="-100.0"/>
<param name="xmax" value="100.0"/>
<param name="ymax" value="100.0"/>
<param name="delta" value="0.05"/>
<param name="llsamplerange" value="0.01"/>
<param name="llsamplestep" value="0.05"/>
<param name="lasamplerange" value="0.05"/>
<param name="lasamplestep" value="0.05"/>
<param name="maxrange" value="0.5"/>```
</node>
question from:
https://stackoverflow.com/questions/65873324/not-accurate-map-with-gmapping-slam-karto-and-hector-slam 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…