Gmapping的launch文件中各参数含义

本文详细解释了ROS(RobotOperatingSystem)中的slam_gmapping节点的参数配置,包括扫描主题、坐标系、地图更新频率、激光雷达范围、匹配标准等,帮助用户理解和优化SLAM(同时定位和建图)过程。
摘要由CSDN通过智能技术生成
<launch>
    <arg name="scan_topic" default="scan"/>
    <arg name="base_frame" default="base_footprint"/>
    <arg name="odom_frame" value="odom"/>
    <arg name="map_frame" value="map"/>
    <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen" respawn="true">
        <remap from="scan" to="$(arg scan_topic)"/>
        <!-- 机器人基坐标系 || The frame attached to the mobile base. -->
        <param name="base_frame" value="$(arg base_frame)"/>
        <!-- 里程计坐标系 || The frame attached to the odometry system.-->
        <param name="odom_frame" value="$(arg odom_frame)"/>
        <!-- 地图坐标系 || The frame attached to the map.-->
        <param name="map_frame" value="$(arg map_frame)"/>
        <!-- 地图更新频率,该值越低,计算负载越大 ||
        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="map_update_interval" value="1.0"/>
        <!-- 激光可探测的最大范围 || The maximum usable range of the laser. A beam is cropped to this value.-->
        <param name="maxUrange" value="8.0"/>
        <!-- 传感器的最大范围。
        The maximum range of the sensor.
        If regions with no obstacles within the range of the sensor should appear as free space in the map,
        set maxUrange < maximum range of the real sensor <= maxRange.-->
        <param name="maxRange" value="12.0"/>
        <!-- 端点匹配的标准差 || The sigma used by the greedy endpoint matching-->
        <param name="sigma" value="0.05"/>
        <!-- 在对应的内核中进行查找 || The kernel in which to look for a correspondence-->
        <param name="kernelSize" value="1"/>
        <!-- 平移过程中的优化步长 || The optimization step in translation-->
        <param name="lstep" value="0.05"/>
        <!-- 旋转过程中的优化步长 || The optimization step in rotation-->
        <param name="astep" value="0.05"/>
        <!-- 扫描匹配的迭代次数 || The number of iterations of the scanmatcher-->
        <param name="iterations" value="1"/>
        <!-- 似然计算的激光标准差 || The sigma of a beam used for likelihood computation-->
        <param name="lsigma" value="0.075"/>
        <!-- 似然计算时用于平滑重采样效果
        Gain to be used while evaluating the likelihood,for smoothing the resampling effects-->
        <param name="ogain" value="3.0"/>
        <!-- 每次扫描跳过的光束数;尽可能为0表示所有的激光都处理,如果计算压力过大,可以改成1.
        Number of beams to skip in each scan.Take only every (n+1)th laser ray for computing a match (0 = take all rays)-->
        <param name="lskip" value="0"/>
        <!-- 最小匹配得分,这个参数很重要,它决定了对激光的一个置信度,
         越高说明对激光匹配算法的要求越高,激光的匹配也越容易失败而转去使用里程计数据,
         而设的太低又会使地图中出现大量噪声,所以需要权衡调整。
         Minimum score for considering the outcome of the scan matching good.
         Can avoid jumping pose estimates in large open spaces when using laser scanners with limited range (e.g. 5m).
         Scores go up to 600+, try 50 for example when experiencing jumping estimate issues.
         -->
        <param name="minimumScore" value="50"/>
        <!-- 平移函数(rho/rho),平移时的里程计误差 ||
        Odometry error in translation as a function of translation (rho/rho)-->
        <param name="srr" value="0.1"/>
        <!-- 旋转函数(rho/theta),平移时的里程计误差 ||
        Odometry error in translation as a function of rotation (rho/theta)-->
        <param name="srt" value="0.2"/>
        <!-- 平移函数(theta/rho),旋转时的里程计误差 ||
        Odometry error in rotation as a function of translation (theta/rho)-->
        <param name="str" value="0.1"/>
        <!-- 旋转函数(theta/theta),旋转时的里程计误差 ||
        Odometry error in rotation as a function of rotation (theta/theta)-->
        <param name="stt" value="0.2"/>
        <!-- 机器人每平移该距离后处理一次激光扫描数据 || Process a scan each time the robot translates this far-->
        <param name="linearUpdate" value="0.1"/>
        <!-- 机器人每旋转该距离后处理一次激光扫描数据 || Process a scan each time the robot rotates this far-->
        <param name="angularUpdate" value="0.3"/>
        <!-- 如果最新扫描处理的速度比更新的速度慢,则处理一次扫描。
             该值为负数时关闭基于时间的更新。
         Process a scan if the last scan processed is older than the update time in seconds.
         A value less than zero will turn time based updates off.  -->
        <param name="temporalUpdate" value="-1.0"/>
        <!-- 基于Neff的重采样阈值 || The Neff based resampling threshold-->
        <param name="resampleThreshold" value="0.5"/>
        <!-- 滤波器的粒子数目 || Number of particles in the filter-->
        <param name="particles" value="30"/>
        <!-- 地图x向初始最小尺寸 || Initial map size (in metres)-->
        <param name="xmin" value="-20.0"/>
        <!-- 地图y向初始最小尺寸 || Initial map size (in metres)-->
        <param name="ymin" value="-20.0"/>
        <!-- 地图x向初始最大尺寸 || Initial map size (in metres)-->
        <param name="xmax" value="20.0"/>
        <!-- 地图y向初始最大尺寸 || Initial map size (in metres)-->
        <param name="ymax" value="20.0"/>
        <!-- 地图分辨率 || Resolution of the map (in metres per occupancy grid block)-->
        <param name="delta" value="0.05"/>
        <!-- 似然计算的平移采样距离 || Translational sampling range for the likelihood-->
        <param name="llsamplerange" value="0.01"/>
        <!-- 似然计算的平移采样步长 || Translational sampling step for the likelihood-->
        <param name="llsamplestep" value="0.01"/>
        <!-- 似然计算的旋转采样距离 || Angular sampling range for the likelihood-->
        <param name="lasamplerange" value="0.005"/>
        <!-- 似然计算的旋转采样步长 || Angular sampling step for the likelihood-->
        <param name="lasamplestep" value="0.005"/>
    </node>
</launch>

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值