ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

amcl divergence

asked 2014-06-08 03:28:22 -0500

dalishi gravatar image

Hi all,

I am tuning the amcl with our differential robot running ros fuete. We are confronting the situation now and then when the particles all of the sudden got spread out (scattered all over the screen) and the robot got lost then. Below is my params for amcl and could anyone can advise which parameters I should adjust to prevent this from happening? Thanks. (The values in the brackets are the default)

    ~min_particles: 1000(100)
    ~max_particles: 10000(5000)
    ~kld_err: 0.05(0.01)
    ~kld_z: 0.99
    ~initial_cov_aa: 0.25((pi/12)*(pi/12)=0.06)
    ~update_min_d: 0.2
    ~update_min_a: 0.2(pi/6.0=0.52)
    ~resample_interval: 1(2)
    ~transform_tolerance: 1.0(0.1)
    ~recovery_alpha_slow: 0.001(0.0)
    ~recovery_alpha_fast: 0.1(0.0)      
    ~gui_publish_rate: 10.0(-1.0 to disable)

    ~odom_model_type: diff
    ~base_frame_id: base_footprint  
    ~odom_frame_id: odom
    ~odom_alpha1: 1(0.2)
    ~odom_alpha2: 1(0.2)
    ~odom_alpha3: 2(0.2)
    ~odom_alpha4: 5(0.2)

    ~laser_max_beams: 60(30)
    ~laser_z_hit: 0.5(0.95)
    ~laser_z_short: 0.05(0.1)
    ~laser_z_max: 0.05
    ~laser_z_rand: 0.5(0.05)
    ~laser_sigma_hit: 0.2
    ~laser_lambda_short: 0.1
    ~laser_model_type: likelihood_field
    ~laser_likelihood_max_dist: 2.0
edit retag flag offensive close merge delete


The environment, map and sensor type and robot type will be way more informative. Under normal conditions amcl works well for us with default parameters.

dornhege gravatar image dornhege  ( 2014-06-08 06:30:32 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2014-06-08 19:37:01 -0500

ahendrix gravatar image

"the particles all of the sudden got spread out (scattered all over the screen)" - this sounds like AMCL is going into an initialization state of some sort.

This doesn't just happen all by itself; there's probably something happening that triggers this behaviour. If you figure out what that is, you'll probably learn why AMCL is getting lost. Looking at the log output from AMCL is probably a good start.

A quick look at the AMCL wiki page shows two things that could be triggering this from outside of the AMCL node:

  • The initialpose topic reinitializes the particle filter with a specific mean and covariance
  • The global_localization service causes AMCL to disperse the particles in the filter throughout the map
edit flag offensive delete link more


Hi ahendrix, thanks for the answer. This getting lost does not happen all the time, but in some cases like when the robot travels in a corridor (insufficient feature?) and sometimes in a constrained narrow space.

dalishi gravatar image dalishi  ( 2014-06-08 23:50:02 -0500 )edit

Sometimes the robot was able to get back I mean the AMCL again somehow converge after a while but sometimes it was not and the robot just stopped there.

dalishi gravatar image dalishi  ( 2014-06-08 23:50:24 -0500 )edit

Should I adjust the parameters that let the AMCL relies more on the odom than the features?

dalishi gravatar image dalishi  ( 2014-06-08 23:51:29 -0500 )edit

I will look into the log files to see if there are any useful information in later testing. Thanks.

dalishi gravatar image dalishi  ( 2014-06-08 23:52:04 -0500 )edit

I'd really look at the data before fiddling with the parameters. After all parameter settings will make things only somewhat better. Maybe there is really something wrong that will be more effective as a fix.

dornhege gravatar image dornhege  ( 2014-06-09 07:08:28 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2014-06-08 03:28:22 -0500

Seen: 1,904 times

Last updated: Jun 08 '14