AMCL
AMCL使用自适应蒙特卡罗定位器(Adaptive Monte-Carlo Localizer)实现了基于静态地图对机器人进行定位的服务器。
参数
- alpha1
类型
默认
双精度
0.2
- 描述
来自旋转的里程计旋转估计的预期过程噪声。
- alpha2
类型
默认
双精度
0.2
- 描述
来自平移的里程计旋转估计的预期过程噪声。
- alpha3
类型
默认
双精度
0.2
- 描述
来自平移的里程计平移估计的预期过程噪声。
- alpha4
类型
默认
双精度
0.2
- 描述
来自旋转的里程计平移估计的预期过程噪声。
- alpha5
类型
默认
双精度
0.2
- 描述
仅适用于Omni模型:翻译噪声。
- base_frame_id
类型
默认
string
"base_footprint"
- 描述
机器人基准坐标系。
- beam_skip_distance
类型
默认
双精度
0.5
- 描述
在似然场模型中忽略大多数粒子不同意的射线。要考虑跳过的最大距离(米)。
- beam_skip_error_threshold
类型
默认
双精度
0.9
- 描述
未能将地图匹配到强制完全更新由于收敛性不佳的射线的百分比。
- beam_skip_threshold
类型
默认
双精度
0.3
- 描述
需要跳过的射线的百分比。
- do_beamskip
类型
默认
布尔值
False
- 描述
是否在似然场模型中进行射线跳过。
- global_frame_id
类型
默认
string
"地图"
- 描述
由定位系统发布的坐标框架的名称。
- lambda_short
类型
默认
双精度
0.1
- 描述
模型中 z_short 部分的指数衰减参数。
- laser_likelihood_max_dist
类型
默认
双精度
2.0
- 描述
地图上进行障碍物膨胀的最大距离,用于 likelihood_field 模型。
- laser_max_range
类型
默认
双精度
100.0
- 描述
要考虑的最大扫描范围,-1.0将导致使用激光报告的最大范围。
- laser_min_range
类型
默认
双精度
-1.0
- 描述
要考虑的最小扫描范围,-1.0 表示使用激光报告的最小范围。
- laser_model_type
类型
默认
string
"likelihood_field"
- 描述
要使用的模型,可以是beam、likelihood_field或likelihood_field_prob。与likelihood_field相同,但如果启用,则包含beamskip功能。
- set_initial_pose
类型
默认
布尔值
False
- 描述
使AMCL从initial_pose*参数设置初始姿态,而不是等待initial_pose消息。
- initial_pose
类型
默认
Pose2D
{x: 0.0, y: 0.0, z: 0.0, yaw: 0.0}
- 描述
机器人基座标系在全局坐标系中的初始姿态的X、Y、Z和偏航角坐标(以米和弧度表示)。
- max_beams
类型
默认
int
60
- 描述
更新滤波器时每个扫描中要使用的均匀间隔的激光束数量。
- max_particles
类型
默认
int
2000
- 描述
粒子的最大允许数量。
- min_particles
类型
默认
int
500
- 描述
粒子数的最小允许值。
- odom_frame_id
类型
默认
string
"odom"
- 描述
用于里程计的帧。
- pf_err
类型
默认
双精度
0.05
- 描述
粒子滤波器种群错误。
- pf_z
类型
默认
双精度
0.99
- 描述
粒子滤波器种群密度。
- recovery_alpha_fast
类型
默认
双精度
0.0
- 描述
快速平均权重滤波器的指数衰减率,用于决定何时通过添加随机姿势进行恢复。一个好的值可能是 0.1。
- recovery_alpha_slow
类型
默认
双精度
0.0
- 描述
慢速平均权重滤波器的指数衰减率,用于决定何时通过添加随机姿势进行恢复。一个好的值可能是 0.001。
- resample_interval
类型
默认
int
1
- 描述
重新取样前所需的滤波器更新次数。
- robot_model_type
类型
默认
string
"nav2_amcl::DifferentialMotionModel"
- 描述
插件类的完全限定类型。选项为“nav2_amcl::DifferentialMotionModel”和“nav2_amcl::OmniMotionModel”。用户还可以提供自定义的运动模型插件类型。
- 针对 Galactic 版本及更早版本的用户的注意事项。
模型可通过字符串键选择(有效选项为“differential”、“omnidirectional”),而不是插件。
- save_pose_rate
类型
默认
双精度
0.5
- 描述
以每秒存储上次估计的姿态和协方差到参数服务器的最大速率(变量为~initial_pose_*和~initial_cov_*)。此保存的姿态将在后续运行中用于初始化滤波器(-1.0为禁用)。
- sigma_hit
类型
默认
双精度
0.2
- 描述
用于模型中z_hit部分的高斯模型的标准偏差。
- tf_broadcast
类型
默认
布尔值
True
- 描述
将其设置为false可防止amcl发布全局坐标系和里程计坐标系之间的变换。
- transform_tolerance
类型
默认
双精度
1.0
- 描述
发布变换时用于后期日期的时间,以表明该变换在未来是有效的。
- update_min_a
类型
默认
双精度
0.2
- 描述
在执行滤波器更新之前需要的旋转运动。
- update_min_d
类型
默认
双精度
0.25
- 描述
在执行滤波器更新之前需要的平移运动。
- z_hit
类型
默认
双精度
0.5
- 描述
模型中z_hit部分的混合权重,所有使用的z权重之和必须为1。Beam使用全部4个,似然模型使用z_hit和z_rand。
- z_max
类型
默认
双精度
0.05
- 描述
模型中z_max部分的混合权重,所有使用的z权重之和必须为1。Beam使用全部4个权重,似然模型使用z_hit和z_rand。
- z_rand
类型
默认
双精度
0.5
- 描述
模型中z_rand部分的混合权重,所有使用的z权重之和必须为1。Beam使用全部4个权重,似然模型使用z_hit和z_rand。
- z_short
类型
默认
双精度
0.005
- 描述
z_short部分的混合权重,所有使用的z权重之和必须为1。Beam使用全部4个,似然模型使用z_hit和z_rand。
- always_reset_initial_pose
类型
默认
布尔值
False
- 描述
要求在重置时,通过话题或initial_pose*参数(设置参数set_initial_pose为true)向AMCL提供初始姿态。否则,默认情况下,AMCL将使用上次已知的姿态进行初始化。
- scan_topic
类型
默认
string
扫描
- 描述
要订阅的激光扫描话题。
- map_topic
类型
默认
string
map
- 描述
要订阅的地图话题。
- 仅第一个地图
类型
默认
布尔值
False
- 描述
允许AMCL在map_topic上接受多个地图。这在使用`map_server`中的`LoadMap`服务时特别有用。在Humble之前,该参数为`first_map_only_`。
示例
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
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
scan_topic: scan
map_topic: map
set_initial_pose: false
always_reset_initial_pose: false
first_map_only: false
initial_pose:
x: 0.0
y: 0.0
z: 0.0
yaw: 0.0