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