ROS自学实践(6):ROS进行激光SLAM建图——gmapping

本节主要记录运行ROS自带的SLAM建模包gmapping方法,为后续理解这些代码,建立自己的SLAM算法打下基础。

  • 基于粒子滤波算法
  • 二维栅格地图
  • 需要里程计信息

1.通过命令行安装gmapping包

sudo apt-get install ros-kinetic-slam-gmapping

2.配置gmapping节点

<launch>
    <arg name="scan_topic" default="scan" />

    <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen" clear_params="true">
        <param name="odom_frame" value="odom"/>
        <param name="map_update_interval" value="5.0"/>
        <!-- Set maxUrange < actual maximum range of the Laser -->
        <param name="maxRange" value="5.0"/>
        <param name="maxUrange" value="4.5"/>
        <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.01"/>
        <param name="srt" value="0.02"/>
        <param name="str" value="0.01"/>
        <param name="stt" value="0.02"/>
        <param name="linearUpdate" value="0.5"/>
        <param name="angularUpdate" value="0.436"/>
        <param name="temporalUpdate" value="-1.0"/>
        <param name="resampleThreshold" value="0.5"/>
        <param name="particles" value="80"/>
        <param name="xmin" value="-1.0"/>
        <param name="ymin" value="-1.0"/>
        <param name="xmax" value="1.0"/>
        <param name="ymax" value="1.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"/>
        <remap from="scan" to="$(arg scan_topic)"/>
    </node>
</launch>

3.运行gazebo模型及gmapping节点

4.打开rviz

添加laserscan、map、robotmodel模型
在这里插入图片描述

5.移动小车,建立模型

在这里插入图片描述

6.保存当前地图

$ rosrun map_server map_saver -f my_gmapping

在这里插入图片描述

7.查看各个节点的坐标转换关系

rosrun rqt_tf_tree rqt_tf_tree

在这里插入图片描述
参考文献:
1.深蓝学院-ROS理论与实践


版权声明:本文为qq_43066145原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。