amcl-tuning

Tune AMCL particle filter parameters for ROS2 Nav2 robot localization.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/three1324/yeonjinautomotive --skill amcl-tuning-three1324
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: amcl-tuning
Source: https://github.com/three1324/yeonjinautomotive/tree/main/.claude/skills/amcl-tuning
Command: npx skills add https://github.com/three1324/yeonjinautomotive --skill amcl-tuning-three1324

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AMCL localization fails or drifts when motion model noise, laser model weights, and particle filter parameters do not match the robot's actual odometry and sensor behavior, causing lost position estimates and navigation failures. ## Core Features & Use Cases - Motion Model Tuning: Explains alpha1–alpha5 noise parameters and how to adjust them when particles diverge during turns or straight-line driving. - Laser and Particle Filter Configuration: Covers likelihood_field vs beam models, z_hit/z_rand mixture weights, max_beams, and KLD-adaptive particle counts. - Recovery and Troubleshooting: Documents recovery_alpha parameters, beam skip optimization, and a symptom-to-fix table for common localization failures. - Use Case: A robot's pose estimate jumps erratically in a symmetric hallway; use this guide to increase min_particles, adjust transform_tolerance, and set an accurate initial pose. ## Quick Start Ask the assistant to tune the AMCL configuration for a differential drive robot whose particles diverge after turns.

Frequently Asked Questions about amcl-tuning

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I tune AMCL alpha parameters for a differential drive robot?

Start all alpha values at 0.2 and adjust based on symptoms. Increase alpha1 and alpha4 if particles diverge during turns, and increase alpha2 and alpha3 if divergence happens during straight-line driving. Alpha5 only applies to omnidirectional robots.

What is the difference between likelihood_field and beam laser models in AMCL?

The likelihood_field model is fast and recommended for most cases but ignores max-range and short readings. The beam model is physically accurate and models all phenomena but is slow because it ray-casts at every update.

Why does AMCL lose localization in featureless corridors?

Corridors lack unique scan features to disambiguate particle poses, so the filter cannot determine position along the corridor axis. Add distinctive environmental features, increase max_particles, or set an accurate initial pose to mitigate this.

How do I reduce AMCL CPU usage on a constrained system?

Reduce max_beams from 60 to 30 and lower max_particles from 2000. Also check update_min_d and update_min_a, since overly small values trigger constant filter updates even for minor robot jitter.

When should I enable beam skip in AMCL?

Enable beam skip in dense, cluttered environments with many dynamic obstacles where single bad scan rays corrupt the measurement update. Set do_beamskip to true with beam_skip_distance of 0.5 and beam_skip_threshold of 0.3.