AMCL converges to wrong pose and is unable to recover
Hi,
I am working with AMCL together with laserscanmatcher (as odometry source) for my simulated laser-only based virtual robot. I have a prior map and want to do localization only, without updating the map. I always call the global_localization service and avoid providing an initial pose to AMCL.
In most of my experiments, AMCL does manage to converge to the correct pose. However, during long walks it diverges at some point (probably due to bad odometry from the laserscanmatcher). Since at that point the particle cloud is already dense, AMCL will persist its wrong pose and won't recover.
I played a little with AMCL parameters but couldn't find something which helped. I'm basically after a parameter which tells AMCL at what rate to expand its particle cloud when sensorial information doesn't not correspond with the map.
Thanks!
Asked by Omer on 2018-08-04 08:23:22 UTC
Comments
How did you vary AMCL parameters? Let's assume bad odometry of laser_scan_matcher causing the divergence. I would suggest to increase values of odom_alphaX. Raising these values means broadening the distribution of particles during propagation step of MCL algorithm. This may increase successful rate
Asked by chung on 2018-08-05 03:28:55 UTC
Thanks chung, seems like it really helped! For future readers of this post, I'm putting here my previous values and the new ones: odom_alpha1: 0.005 -> 0.05 odom_alpha2: 0.005 -> 0.05 odom_alpha3: 0.010 -> 0.10 odom_alpha4: 0.005 -> 0.05 odom_alpha5: 0.003 -> 0.03 with odom_model_type=omni-corrected
Asked by Omer on 2018-08-05 14:47:46 UTC