amcl marks
主要使用的算法
- sample_motion_model_odometry,
- beam_range_finder_model,
- likelihood_field_range_finder_model,
- Augmented_MCL,
- KLD_Sampling_MCL
参数 | 默认值 | 含义 |
---|---|---|
overall | ||
global_localization | std_srvs/Empty | 服务请求全局定位, 所有粒子均匀分布洒在free区域 |
request_nomotion_update | std_srvs/Empty | 无运动更新 , 一个flag, 应该是更新一次 |
min_particles | 100 | 最少粒子, 用在何处? |
max_particles | 5000 | 最多粒子, 默认例子数就是最大数量 |
kld_err | 0.01 | Maximum error between the true distribution and the estimated distribution |
kld_z | 0.99 | Upper standard normal quantile for (1 - p), where p is the probability that the error on the estimated distrubition will be less than kld_err |
update_min_d | 0.1 | Translational movement required before performing a filter update |
update_min_a | π/6.0 radians | Rotational movement required before performing a filter update. |
太大了不好, 0.2 | ||
resample_interval | 2 | Number of filter updates required before resampling. |
recovery_alpha_slow | 0.0 (disable) | Exponential decay rate for the slow average weight filter, used in deciding when to recover by adding random poses. A good value might be 0.001. |
recovery_alpha_fast | 0.0(disable) | Exponential decay rate for the fast average weight filter, used in deciding when to recover by adding random poses. A good value might be 0.1 |
selective_resampling | false | When set to true, will reduce the resampling rate when not needed and help avoid particle deprivation. The resampling will only happen if the effective number of particles (N_eff = 1/(sum(k_i^2))) is lower than half the current number of particles. Reference: Grisetti, Giorgio, Cyrill Stachniss, and Wolfram Burgard. “Improved techniques for grid mapping with rao-blackwellized particle filters.” IEEE transactions on Robotics 23.1 (2007): 34. |
laser_model | likelihood_field | 现在好像都是用的是波束似然模型 |
laser_min_range | -1 | Minimum scan range to be considered; -1.0 will cause the laser’s reported minimum range to be used. |
laser_max_range | -1 | Maximum scan range to be considered; -1.0 will cause the laser’s reported maximum range to be used. |
三角测距型最大距离最好使用稍小点值 | ||
laser_max_beams | 30 | How many evenly-spaced beams in each scan to be used when updating the filter. 均匀间隔 采30束 |
laser_z_hit | 0.95 | Mixture weight for the z_hit part of the model. |
laser_z_short | 0.1 | Mixture weight for the z_short part of the model. |
laser_z_max | 0.05 | Mixture weight for the z_max part of the model. |
laser_z_rand | 0.05 | Mixture weight for the z_rand part of the model. |
laser_sigma_hit | 0.2 | Standard deviation for Gaussian model used in z_hit part of the model. |
laser_lambda_short | 0.1 | Exponential decay parameter for z_short part of model. |
laser_likelihood_max_dist | 2.0 | Maximum distance to do obstacle inflation on map, for use in likelihood_field model. |
laser_model_type | likelihood_field | Which model to use, either beam, likelihood_field, or likelihood_field_prob (same as likelihood_field but incorporates the beamskip feature, if enabled). |
Odometry_model | ||
odom_model_type | diff | we use the sample_motion_model_odometry algorithm from Probabilistic Robotics, p136; this model uses the noise parameters odom_alpha1 through odom_alpha4, as defined in the book. |
omni | we use a custom model for an omni-directional base, which uses odom_alpha1 through odom_alpha5. The meaning of the first four parameters is similar to that for the “diff” model. The fifth parameter capture the tendency of the robot to translate (without rotating) perpendicular to the observed direction of travel | |
odom_alpha1 | 0.2 | Specifies the expected noise in odometry’s rotation estimate from the rotational component of the robot’s motion. |
odom_alpha2 | 0.2 | Specifies the expected noise in odometry’s rotation estimate from translational component of the robot’s motion. |
odom_alpha3 | 0.2 | Specifies the expected noise in odometry’s translation estimate from the translational component of the robot’s motion. |
odom_alpha4 | 0.2 | Specifies the expected noise in odometry’s translation estimate from the rotational component of the robot’s motion. |
odom_alpha5 | 0.2 | Translation-related noise parameter (only used if model is “omni”). |
注意点
diff 模型, 需要odom_alpha1 ~ odom_alpha4, 数量级0.1
diff-correct 模型, 需要 odom_alpha1 ~ odom_alpha, 数量级< 0.1, diff/diff-correct 模型 与odom_alpha5 无关
omni/omni-correct 使用odom_alpha1 ~ odom_alpha5 数据
laser_z_hit/laser_z_rand 两个加起来应该是1.0, 波束模型需要考虑其他几个, 但是似然模型只用了这两个, 0.95/0.05
SnapMapICP
深入AMCL1/2/3
深入AMCL4
RobotNik/mcl3d/icp_pose_corrector