turtlebot3 Gmapping 参数介绍

turtlebot3 slam_gmapping.launch文件源码:


  
  
  
  
  
  

  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  

  • maxUrange:激光雷达最大范围,如果在激光雷达最大范围内没有障碍物,那么地图上就会显示为自由空间。

  • map_update_interval:更新地图的时间,单位是秒,数值越低地图更新频率越快,但是需要更大的计算负载。

  • minimumScore(float, default: 0.0):衡量扫描匹配效果的分数。当大场景中仪器的扫描范围小的时候(5m)可以避免位姿估计跳动太大。也叫最小匹配得分,它决定了你对激光的一个置信度,越高说明你对激光匹配算法的要求越高,激光的匹配也越容易失败而转去使用里程计数据,而设的太低又会使地图中出现大量噪声,所以需要大家好好调整。

  • linearUpdate(float, default: 1.0):机器人直线运行这么远的时候进行一次扫描,单位是米

  • angularUpdate(float, default: 0.5):机器人旋转这么多的时候扫描一次,单位时弧度

  • ~/resampleThreshold" [double] threshold at which the particles get resampled. Higher means more frequent resampling.阈值的粒子重新取样。高意味着更频繁的重采样。

  • particles(int, default: 30):这个参数决定gmapping算法中的粒子数,每个粒子代表一个可能的轨迹,因为gmapping使用的是粒子滤波算法,粒子在不断地迭代更新,所以选取一个合适的粒子数可以让算法在保证比较准确的同时有较高的速度。
    以上为对于建图比较重要的参数;

  • inverted_laser (string, default: “false”)

  • throttle_scans (int, default: 1):从多少帧数据中取1帧,越高跳过的越多。(不确定是否是均值输出)

  • base_frame (string, default: “base_link”)
    The frame attached to the mobile base.
    与移动平台关联的框架。

  • map_frame (string, default: “map”) The frame attached to the map.
    与地图关联的框架。

  • odom_frame (string, default: “odom”)
    The frame attached to the odometry system.
    与里程仪系统关联的框架。

  • sigma (float, default: 0.05)
    The sigma used by the greedy endpoint matching
    末端点匹配时的默认值。

  • kernelSize (int, default: 1)
    The kernel in which to look for a correspondence
    寻找相关性的kernel大小

  • lstep (float, default: 0.05)
    The optimization step in translation
    平移的优化步长

  • astep (float, default: 0.05)
    The optimization step in rotation
    旋转的优化步长

  • iterations (int, default: 5)
    The number of iterations of the scanmatcher
    迭代5次进行扫描结果的匹配

  • lsigma (float, default: 0.075)
    The sigma of a beam used for likelihood computation
    近似计算一个光束的参数

  • ogain (float, default: 3.0)
    Gain to be used while evaluating the likelihood, for smoothing the resampling effects
    评估相似率的增益,用来平滑重采样。

  • lskip (int, default: 0)
    Number of beams to skip in each scan. Take only every (n+1)th laser ray for computing a match (0 = take all rays)
    每次扫描中跳过的光束数量,也就是隔几个光束采集一次,默认0就是全采。

  • srr (float, default: 0.1)
    Odometry error in translation as a function of translation (rho/rho)
    里程仪平移误差,作为平移函数的平移误差(rho / rho)

  • srt(float,default:0.2)
    作为旋转的函数的平移误差(rho / theta)

  • str(float,default:0.1)
    作为平移函数的旋转中的测量误差(θ/ rho)

  • stt(float,default:0.2)
    作为旋转的函数的旋转中的测量误差(θ/θ)

  • temporalUpdate (float, default: -1.0)
    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.
    当最后一次更新是x秒以前就自动更新一次。小于0就是关闭时间上的自动更新。
    这三句加起来就是应该分别设置更新扫描结果的依据,前两个是运动,最后是时间。

  • resampleThreshold (float, default: 0.5)
    The Neff based resampling threshold
    基于Neff重采样阈值。

  • xmin (float, default: -100.0)
    Initial map size (in metres)
    初始地图X最小值

  • ymin (float, default: -100.0)
    Initial map size (in metres)
    Y最小值

  • xmax (float, default: 100.0)
    Initial map size (in metres)
    X最大值

  • ymax (float, default: 100.0)
    Initial map size (in metres)
    Y最大值

  • delta (float, default: 0.05)
    Resolution of the map (in metres per occupancy grid block)
    地图分辨率(每多少米一个占据栅格)

  • llsamplerange (float, default: 0.01)
    Translational sampling range for the likelihood
    近似用的平移采样范围

  • llsamplestep (float, default: 0.01)
    Translational sampling step for the likelihood
    近似用的平移采样步长

  • lasamplerange (float, default: 0.005)
    Angular sampling range for the likelihood
    近似用的角度采样范围

  • lasamplestep (float, default: 0.005)
    Angular sampling step for the likelihood
    近似用的角度采样步长

  • transform_publish_period (float, default: 0.05)
    How long (in seconds) between transform publications.
    发布转换(可能是位姿的)间隔多少秒

  • occ_thresh (float, default: 0.25)
    Threshold on gmapping’s occupancy values. Cells with greater occupancy are considered occupied (i.e., set to 100 in the resulting sensor_msgs/LaserScan). New in 1.1.0.
    gmapping 的占据阈值。比这个大的单元就认为被占据了。

  • maxRange (float)

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.
传感器最大范围。

Parameters used by our GMapping wrapper:

  • “~throttle_scans”: [int] throw away every nth laser scan
  • “~base_frame”: [string] the tf frame_id to use for the robot base
    pose
  • “~map_frame”: [string] the tf frame_id where the robot pose on the
    map is published
  • “~odom_frame”: [string] the tf frame_id from which odometry is read
  • “~map_update_interval”: [double] time in seconds between two
    recalculations of the map

Parameters used by GMapping itself:
Laser Parameters:

  • “~/maxRange” [double] maximum range of the laser scans. Rays beyond this range get discarded completely. (default: maximum laser range minus 1 cm, as received in the the first LaserScan message)
  • “~/maxUrange” [double] maximum range of the laser scanner that is
    used for map building (default: same as maxRange)
  • “~/sigma” [double] standard deviation for the scan matching process
    (cell)
  • “~/kernelSize” [int] search window for the scan matching process
  • “~/lstep” [double] initial search step for scan matching (linear)
  • “~/astep” [double] initial search step for scan matching (angular)
  • “~/iterations” [int] number of refinement steps in the scan matching.
    The final “precision” for the match is lstep2^(-iterations) or astep2^(-iterations), respectively.
  • “~/lsigma” [double] standard deviation for the scan matching process
    (single laser beam)
  • “~/ogain” [double] gain for smoothing the likelihood
  • “~/lskip” [int] take only every (n+1)th laser ray for computing a
    match (0 = take all rays)
  • “~/minimumScore” [double] minimum score for considering the outcome of the scanmatching good. Can avoid ‘jumping’ pose estimates in large open spaces when using laser scanners with limited range (e.g. 5m). (0 = default. Scores go up to 600+, try 50 for example when experiencing ‘jumping’ estimate issues)

Motion Model Parameters (all standard deviations of a gaussian noise model)

  • “~/srr” [double] linear noise component (x and y)
  • “~/stt” [double] angular noise component (theta)
  • “~/srt” [double] linear -> angular noise component
  • “~/str” [double] angular -> linear noise component

Others:

  • “~/linearUpdate” [double] the robot only processes new measurements
    if the robot has moved at least this many meters
  • “~/angularUpdate” [double] the robot only processes new measurements
    if the robot has turned at least this many rads
  • “~/resampleThreshold” [double] threshold at which the particles get
    resampled. Higher means more frequent resampling.
  • “~/particles” [int] (fixed) number of particles. Each particle
    represents a possible trajectory that the robot has traveled

Likelihood sampling (used in scan matching)

  • “~/llsamplerange” [double] linear range
  • “~/lasamplerange” [double] linear step size
  • “~/llsamplestep” [double] linear range
  • “~/lasamplestep” [double] angular step size

Initial map dimensions and resolution:

  • “~/xmin” [double] minimum x position in the map [m]
  • “~/ymin” [double] minimum y position in the map [m]
  • “~/xmax” [double] maximum x position in the map [m]
  • “~/ymax” [double] maximum y position in the map [m]
  • “~/delta” [double] size of one pixel [m]

salm_gmapping

你可能感兴趣的:(turtlebot3,slam,turtlebot3,gmapping,slam)