AMCL (Adaptive Monte Carlo Localisation) — Complete Guide | R2BOT
314 words · 2 min read
AMCL is ROS2's standard particle-filter localiser. Given a known map, it tracks where the robot is using laser scans.
The navigation localization concept: AMCL is ROS2's standard particle-filter localiser. Given a
AMCL (Adaptive Monte Carlo Localisation) is a particle-filter algorithm that localises a robot in a previously built map using LIDAR (or sonar) data. It is the default localiser in ROS2 Nav2 and runs on thousands of mobile robots worldwide.
💡 Think of it like…
Think of it like a household object that does the same job — the underlying idea is the same, just adapted for robots.
Why it matters
Without amcl (adaptive monte carlo localisation) — complete guide | r2bot, many navigation localization systems in robotics simply couldn't work.
AMCL (Adaptive Monte Carlo Localisation)
What is AMCL (Adaptive Monte Carlo Localisation)?
AMCL (Adaptive Monte Carlo Localisation) is a particle-filter algorithm that localises a robot in a previously built map using LIDAR (or sonar) data. It is the default localiser in ROS2 Nav2 and runs on thousands of mobile robots worldwide.
How It Works
AMCL maintains a population of particle hypotheses about the robot's pose. At each control step it predicts each particle forward using odometry plus noise, then weights it by how well its predicted scan matches the actual LIDAR scan. Resampling concentrates particles on high-likelihood poses. The 'adaptive' part dynamically adjusts the number of particles based on convergence — fewer when localised, more when uncertain (e.g., after the robot is kidnapped).
Real-World Example
Almost every Nav2-based robot uses AMCL out of the box. GreyOrange Butlers, Robotis TurtleBots, hospital delivery robots, and Indian academic mobile-robotics projects all rely on it. AMCL handles minor map changes (people walking by) gracefully.
Why It Matters for Robotics
AMCL is the first localiser most ROS2 users touch. Knowing how to tune its parameters — number of particles, motion model noise, laser model — is essential for any real deployment. AMCL bugs (poor convergence, slow recovery) are a daily occurrence in production.
Try It Yourself
Launch the Nav2 TurtleBot3 demo in Gazebo. Use RViz to publish an initial pose estimate and watch the particle cloud collapse. Then teleport the robot to a random spot and use the '2D Pose Estimate' tool to recover — feel AMCL converge.
Quick Quiz
Quick Quiz
3 questions
1.AMCL is based on which underlying algorithm?
2.AMCL requires:
3.The "adaptive" in AMCL refers to:
Further Reading
Ask R2 About This
Open the R2 Co-pilot (press ⌘K anywhere on R2BOT) and ask: "Explain AMCL (Adaptive Monte Carlo Localisation) for a Class 9 student in India, with one real-world Indian example." You'll get a tailored, sourced answer in seconds.
🐍 Python Playground · runs in your browser
Editor · 15 lines
Output
Press ▶ Run to execute. First run downloads Python (~6MB) — only happens once per page.
Powered by Pyodide · Python in WebAssembly · no server required.
Ask R2 Co-pilot anything you didn't understand about AMCL (Adaptive Monte Carlo Localisation) — Complete Guide | R2BOT. It'll explain it plainly.
Keep going
LIDAR SLAM in Robotics — Complete Guide | R2BOT
LIDAR SLAM uses laser-scan data to map an environment and localise a robot. The gold standard for accuracy in …
ConceptNav2 (ROS2 Navigation Stack) — Complete Guide | R2BOT
Nav2 is the ROS2 navigation stack for mobile robots — planners, controllers, behaviour trees, recovery. Used i…
ConceptOccupancy grid
An occupancy grid is a map of the environment divided into a regular grid of cells, where each cell stores a p…
Last updated · 2026-05-21
Community discussion
0 questions & insightsLoading discussion…
Spotted something off? Report an error →