Questions related to currently usage of AMCL's parameters

I don’t think we should know every parameter related to AMCL. Some parameters seem related to the Algorithm. I think I should read the associated paper before I use the AMCL to design a robot. However, for now, I am worried about the following parameters that are related to properly implementing the algalgorithm in Gazebo.

transform_tolerance (double, default: 1.0 seconds)

Time with which to post-date the transform that is published, to indicate that this transform is valid into the future.

What’s this ???

The ‘beamskip’ feature and the related parameters:

What is ‘beamskip’ feature? It seems like an outlier escaping technology.

beam_skip_distance(double, default: 0.5)

Ignore beams that most particles disagree within the Likelihood field model. Maximum distance to consider skipping for (m).

beam_skip_error_threshold(double, default: 0.9)

Percentage of beams after not matching map to force full update due to bad convergence.

beam_skip_threshold(double, default: 0.3)

Percentage of beams required to skip.

What’s the difference between beam_skip_error_threshold and beam_skip_threshold?

do_beamskip(bool, default: False)

Whether to do beam skipping in the Likelihood field model.

At last,why is there a ‘ros__parameters’ below the 'amcl:’?

Hello @bluebird,

Let me start by saying that this will not fully answer all your questions. Why? AMCL is a big topic on ist own and providing an in-depth explanation of all it’s parameters requires some theoretical discussion that probably contains enough material to write a full course about it. Nevertheless I will do my best to answer a few of your doubts in a compact way.

As you probaby know TF’s (short for transforms) help to keep track of different coordinate frames, such as the transforms from odometry and map. What transform_tolerance does is to tell amcl how many seconds it should wait for receiving an updated transform form TF. If you are not getting an tf extrapolation error you don’t need to change that parameter.

The ‘beamskip ’ feature and the related parameters

AMCL gives you the option to use different laser models such as beam or likelihood_field or likelihood field algorithm with beam skipping. Please be aware that these are advanced parameters and normally not necessary to tune unless you are optimizing your system because you need to get a performance gain.

do_beamskip only applies if laser_model_type is set to likelihood_field_prob. It is used to ignore beams that do not agree with th map for many particles’ poses this helps to improve localization when unexpected obstacles apear. All the other parameters that start with beam_skip_ are related to this feature.

At last,why is there a ‘ros__parameters ’ below the 'amcl:’ ?

In ROS2 parameters are associated with individual nodes, the key ros__parameters is required to signal the start of parameters for the node.

Hope I could help a little bit,


This topic was automatically closed after 22 hours. New replies are no longer allowed.