🚎D.15 AMCL
သူကတော့ အားလုံးသိကြပြီးတဲ့အတိုင်း static map ကိုယူပြီး robot ကို localizing လုပ်ပေးတဲ့ ဆာဗာပါ။ Adaptive Monte-Carlo Localizer ကို သုံးပါပတယ်။
alpha1
Expected process noise in odometry’s rotation estimate from rotation.
double
0.2
alpha2
Expected process noise in odometry’s rotation estimate from translation.
double
0.2
alpha3
Expected process noise in odometry’s translation estimate from translation.
double
0.2
alpha4
Expected process noise in odometry’s translation estimate from rotation.
double
0.2
alpha5
For Omni models only: translation noise.
double
0.2
base_frame_id
Robot base frame.
string
“base_footprint”
beam_skip_distance
Ignore beams that most particles disagree with in Likelihood field model. Maximum distance to consider skipping for (m).
double
0.5
beam_skip_error_threshold
Percentage of beams after not matching map to force full update due to bad convergance.
double
0.9
beam_skip_threshold
Percentage of beams required to skip.
double
0.3
do_beamskip
Whether to do beam skipping in Likelihood field model.
bool
False
global_frame_id
The name of the coordinate frame published by the localization system.
string
“map”
lambda_short
Exponential decay parameter for z_short part of model.
double
0.1
laser_likelihood_max_dist
Maximum distance to do obstacle inflation on map, for use in likelihood_field model.
double
2
laser_max_range
Maximum scan range to be considered, -1.0 will cause the laser’s reported maximum range to be used.
double
100.0
laser_min_range
Minimum scan range to be considered, -1.0 will cause the laser’s reported minimum range to be used.
double
-1.0
laser_model_type
Which model to use, either beam, likelihood_field, or likelihood_field_prob. Same as likelihood_field but incorporates the beamskip feature, if enabled.
string
“likelihood_field”
set_initial_pose
Causes AMCL to set initial pose from the initial_pose* parameters instead of waiting for the initial_pose message.
bool
FALSE
initial_pose
X, Y, Z, and yaw coordinates of initial pose (meters and radians) of robot base frame in global frame.
Pose2D
{x: 0.0, y: 0.0, z: 0.0, yaw: 0.0}
max_beams
How many evenly-spaced beams in each scan to be used when updating the filter.
int
60
max_particles
Maximum allowed number of particles.
int
2000
min_particles
Minimum allowed number of particles.
int
500
odom_frame_id
Which frame to use for odometry.
string
“odom”
pf_err
Particle Filter population error.
double
0.05
pf_z
Particle filter population density.
double
0.99
recovery_alpha_fast
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.
double
0.0
recovery_alpha_slow
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.
double
0
resample_interval
Number of filter updates required before resampling.
int
1
robot_model_type
The fully-qualified type of the plugin class. Options are “nav2_amcl::DifferentialMotionModel” and “nav2_amcl::OmniMotionModel”. Users can also provide their own custom motion model plugin type. Note for users of galactic and earlier The models are selectable by string key (valid options: “differential”, “omnidirectional”) rather than plugins.
string
“nav2_amcl::DifferentialMotionModel”
save_pose_rate
Maximum rate (Hz) at which to store the last estimated pose and covariance to the parameter server, in the variables ~initial_pose_* and ~initial_cov_*. This saved pose will be used on subsequent runs to initialize the filter (-1.0 to disable).
double
0.5
sigma_hit
Standard deviation for Gaussian model used in z_hit part of the model.
double
0.2
tf_broadcast
Set this to false to prevent amcl from publishing the transform between the global frame and the odometry frame.
bool
True
transform_tolerance
Time with which to post-date the transform that is published, to indicate that this transform is valid into the future.
double
1
update_min_a
Rotational movement required before performing a filter update.
double
0.2
update_min_d
Translational movement required before performing a filter update.
double
0.25
z_hit
Mixture weight for z_hit part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand..
double
0.5
z_max
Mixture weight for z_max part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand.
double
0.05
z_rand
Mixture weight for z_rand part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand..
double
0.5
z_short
Mixture weight for z_short part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand.
double
0.005
always_reset_initial_pose
Requires that AMCL is provided an initial pose either via topic or initial_pose* parameter (with parameter set_initial_pose: true) when reset. Otherwise, by default AMCL will use the last known pose to initialize.
bool
FALSE
scan_topic
Laser scan topic to subscribe to.
string
scan
map_topic
Map topic to subscribe to.
string
map
first_map_only
Allows AMCL to accept maps more than once on the map_topic. This is especially useful when you’re using the LoadMap service in map_server. Prior to Humble, this is first_map_only_.
bool
FALSE
နမူနာ
odom_frame_id
Which frame to use for odometry.
string
“odom”
pf_err
Particle Filter population error.
double
0.05
pf_z
Particle filter population density.
double
0.99
recovery_alpha_fast
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.
double
0.0
recovery_alpha_slow
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.
double
0
resample_interval
Number of filter updates required before resampling.
int
1
robot_model_type
The fully-qualified type of the plugin class. Options are “nav2_amcl::DifferentialMotionModel” and “nav2_amcl::OmniMotionModel”. Users can also provide their own custom motion model plugin type. Note for users of galactic and earlier The models are selectable by string key (valid options: “differential”, “omnidirectional”) rather than plugins.
string
“nav2_amcl::DifferentialMotionModel”
save_pose_rate
Maximum rate (Hz) at which to store the last estimated pose and covariance to the parameter server, in the variables ~initial_pose_* and ~initial_cov_*. This saved pose will be used on subsequent runs to initialize the filter (-1.0 to disable).
double
0.5
sigma_hit
Standard deviation for Gaussian model used in z_hit part of the model.
double
0.2
tf_broadcast
Set this to false to prevent amcl from publishing the transform between the global frame and the odometry frame.
bool
True
transform_tolerance
Time with which to post-date the transform that is published, to indicate that this transform is valid into the future.
double
1
update_min_a
Rotational movement required before performing a filter update.
double
0.2
update_min_d
Translational movement required before performing a filter update.
double
0.25
z_hit
Mixture weight for z_hit part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand..
double
0.5
z_max
Mixture weight for z_max part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand.
double
0.05
z_rand
Mixture weight for z_rand part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand..
double
0.5
z_short
Mixture weight for z_short part of model, sum of all used z weight must be 1. Beam uses all 4, likelihood model uses z_hit and z_rand.
double
0.005
always_reset_initial_pose
Requires that AMCL is provided an initial pose either via topic or initial_pose* parameter (with parameter set_initial_pose: true) when reset. Otherwise, by default AMCL will use the last known pose to initialize.
bool
FALSE
scan_topic
Laser scan topic to subscribe to.
string
scan
map_topic
Map topic to subscribe to.
string
map
first_map_only
Allows AMCL to accept maps more than once on the map_topic. This is especially useful when you’re using the LoadMap service in map_server. Prior to Humble, this is first_map_only_.
bool
FALSE
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
Last updated