您当前的位置: 首页 > 

鱼香ROS

暂无认证

  • 0浏览

    0关注

    498博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Nav2中文网】七、配置指南(十三) AMCL(自适应蒙特卡洛定位)

鱼香ROS 发布时间:2022-04-24 09:54:10 ,浏览量:0

  • 本教程来自:Nav2中文网
  • Nav2交流社区:https://fishros.org.cn/forum
  • ROS2/Nav2千人交流群:(QQ)139707339
  • 更多精彩教程请关注微信公众号:鱼香ROS
  • 欢迎添加机器人小伊微信,解锁机器人学习特殊服务
AMCL(自适应蒙特卡洛定位)

Github 上的源代码 [校准@小鱼]

AMCL实现了接受静态地图,并使用自适应蒙特卡洛定位器在地图中定位机器人的位置。 [校准@小鱼]

参数

alpha1

类型默认值double0.2

描述从旋转角度考虑机器人里程计的旋转噪声 [校准@mzebra]

alpha2

类型默认值double0.2

描述机器人平移分量中的里程计旋转噪音,噪声在机器人左右两边分布 [校准@小鱼]

alpha3

类型默认值double0.2

描述机器人平移过程中的里程计平移噪音,沿着机器人前进方向分布 [校准@小鱼]

alpha4

类型默认值double0.2

描述机器人旋转过程中的里程计平移噪音, 斜角方向上的运动噪声 [校准@小鱼]

alpha5

类型默认值double0.2

描述仅适用于全向式(Omni): 平移噪声。 [校准@小鱼]

base_frame_id

类型默认值string“base_footprint”

描述机器人基座frame名称。 [校准@小鱼]

beam_skip_distance

类型默认值double0.5

描述设置忽略掉似然场模型中大多数粒子与地图不一致的光束,表示忽略的最大距离单位 (m) 。 [校准@小鱼]

beam_skip_error_threshold

类型默认值double0.9

描述不匹配地图后的光束百分比,由于不一致而强制完全更新。 [校准@小鱼]

beam_skip_threshold

类型默认值double0.3

描述需要跳过的光束(beams )的百分比。 [校准@小鱼]

do_beamskip

类型默认值boolFalse

描述是否在似然场模型(Likelihood field model)中进行波束(beam )跳过。 [校准@小鱼]

global_frame_id

类型默认值string“map”

描述定位系统发布的坐标系名称。 [校准@小鱼]

lambda_short

类型默认值double0.1

描述模型z_short部分的指数衰减参数。 [校准@小鱼]

laser_likihood_max_dist

类型默认值double2.0

描述在地图上进行障碍物充气的最大距离,用于likelihood_field模型。 [待校准@2457]

laser_max_range

类型默认值double100.0

描述要考虑的最大扫描范围,设为-1.0会直接使用激光报告的最大范围。 [校准@小鱼]

laser_min_range

类型默认值double-1.0

描述要考虑的最小扫描范围,-1.0将使用激光发出的的最小范围。 [校准@小鱼]

laser_model_type

类型默认值string“likelihood_field”

描述使用哪个模型,beam、likelihood_field 或 likelihood_field_prob。likelihood_field_prob 包含beamskip功能。 [校准@小鱼]

set_initial_pose

类型默认值boolFalse

描述AMCL从参数 initial_pose* 设置机器人初始姿势,而不是等待话题 initial_pose 消息。[校准@小鱼]

initial_pose

类型默认值Pose2D{0.0, 0.0, 0.0, 0.0}

描述全局坐标系中机器人底座初始位姿的X、Y、Z坐标和偏航角(单位为米和弧度)。 [校准@小鱼]

max_beams

类型默认值int60

描述更新过滤器时,设置每次扫描要使用多少个均匀间隔的光束。 [校准@小鱼]

max_particles

类型默认值int2000

描述所允许的最大粒子数。 [校准@小鱼]

min_particles

类型默认值int500

描述所允许的最小粒子数。 [校准@小鱼]

odom_frame_id

类型默认值string“odom”

描述里程计使用的frame名称。 [校准@小鱼]

pf_err

类型默认值double0.05

描述粒子过滤器总体误差。 [校准@小鱼]

pf_z

类型默认值double0.99

描述粒子过滤器总体密度。 [校准@小鱼]

recovery_alpha_fast

类型默认值double0.0

描述快速平均重量过滤器的指数衰减率,用于决定何时通过添加随机姿势来恢复。一个好的值可能是0.001。 [校准@小鱼]

recovery_alpha_slow

类型默认值double0.0

描述慢平均重量过滤器的指数衰减率,用于通过添加随机姿势来决定何时恢复。一个好的值可能是0.001。 [待校准@2494]

resample_interval

类型默认值int1

描述重新采样前所需的过滤器更新数量。 [校准@小鱼]

robot_model_type

类型默认值string“nav2_amcl::DifferentialMotionModel”

描述插件类的完全限定类型。可以值为nav2_amcl::DifferentialMotionModel和nav2_amcl::OmniMotionModel。 [校准@小鱼]

save_pose_rate

类型默认值double0.5

描述将最后估计姿态和协方差存储到参数服务器的最大速率 (Hz),在变量 ~initial_pose_* 和 ~initial_cov_* 中。此保存的姿势将在后续运行中用于初始化过滤器 (-1.0表示禁用)。 [校准@小鱼]

sigma_hit

类型默认值double0.2

描述用于设置在模型z_hit部分中使用的高斯模型的标准差。 [校准@小鱼]

tf_broadcast

类型默认值boolTrue

描述用于设置是否广播坐标变换。参数False可以以防止amcl发布全局坐标系和里程计坐标系之间的坐标变换。 [校准@小鱼]

transform_tolerance

类型默认值double1.0

描述TF转换发布后的,该转换的所维持的有效时间。 [校准@小鱼]

update_min_a

类型默认值double0.2

描述在执行过滤器更新之前需要的最小旋转角度。 [校准@小鱼]

update_min_d

类型默认值double0.25

描述在执行过滤器更新之前需要的最小平移距离。 [校准@小鱼]

z_hit

类型默认值double0.5

描述模型中z_hit部分的混合权重,所有使用的z权重之和必须为1。光束(Beam)模型使用所有共4个z_*权重,而似然模型(Likelihood)使用z_hit和z_rand权重。 [校准@小鱼]

z_max

类型默认值double0.05

描述模型中z_max部分的混合权重,所有使用的z权重之和必须为1。光束(Beam)模型使用所有共4个z_*权重,而似然模型(Likelihood)使用z_hit和z_rand权重。 [校准@小鱼]

z_rand

类型默认值double0.5

描述模型中z_rand部分的混合权重,所有使用的z权重之和必须为1。光束(Beam)模型使用所有共4个z_*权重,而似然模型(Likelihood)使用z_hit和z_rand权重。 [校准@小鱼]

z_short

类型默认值double0.005

描述模型中z_short部分的混合权重,所有使用的z权重之和必须为1。光束(Beam)模型使用所有共4个z_*权重,而似然模型(Likelihood)使用z_hit和z_rand权重。 [校准@小鱼]

always_reset_initial_pose

类型默认值boolFalse

描述充值时AMCL要求一个初始姿势,该姿态可以通过一个话题或参数initial_pose* (同时参数 set_initial_pose: true ) 获取。否则,默认AMCL将使用最后已知的姿势进行初始化。 [校准@小鱼]

scan_topic

类型默认值stringscan

描述要订阅的激光雷达话题名称。 [校准@小鱼]

map_topic

类型默认值stringmap

描述用于订阅地图的话题名称。 [校准@小鱼]

Example
amcl:
  ros__parameters:
    alpha1: 0.2
    alpha2: 0.2
    alpha3: 0.2
    alpha4: 0.2
    alpha5: 0.2
    base_frame_id: "base_footprint"
    beam_skip_distance: 0.5
    beam_skip_error_threshold: 0.9
    beam_skip_threshold: 0.3
    do_beamskip: false
    global_frame_id: "map"
    lambda_short: 0.1
    set_initial_pose: false
    laser_likelihood_max_dist: 2.0
    laser_max_range: 100.0
    laser_min_range: -1.0
    laser_model_type: "likelihood_field"
    max_beams: 60
    max_particles: 2000
    min_particles: 500
    odom_frame_id: "odom"
    pf_err: 0.05
    pf_z: 0.99
    recovery_alpha_fast: 0.0
    recovery_alpha_slow: 0.0
    resample_interval: 1
    robot_model_type: "nav2_amcl::DifferentialMotionModel"
    save_pose_rate: 0.5
    sigma_hit: 0.2
    tf_broadcast: true
    transform_tolerance: 1.0
    update_min_a: 0.2
    update_min_d: 0.25
    z_hit: 0.5
    z_max: 0.05
    z_rand: 0.5
    z_short: 0.05
    always_reset_initial_pose: false
    scan_topic: scan
    map_topic: map
  • 本文主要校准贡献:小鱼
  • 本文遵循知识共享协议,禁止未授权商用转载
关注
打赏
1666092100
查看更多评论
立即登录/注册

微信扫码登录

0.0399s