Adaptive Monte Carlo Localization (AMCL) is a particle filter-based algorithm for a robot to localize itself within a known map. It works by maintaining a set of thousands of hypothetical robot poses, called particles, each with an associated weight representing its likelihood. The algorithm iteratively predicts particle motion based on a motion model, updates weights by comparing sensor observations to the map via an observation model, and resamples particles to focus computational resources on the most probable regions of the state space.
Glossary
Adaptive Monte Carlo Localization (AMCL)

What is Adaptive Monte Carlo Localization (AMCL)?
Adaptive Monte Carlo Localization (AMCL) is a probabilistic algorithm for a robot to determine its pose within a known map by matching sensor data to that map using an adaptive particle filter.
The 'adaptive' component dynamically adjusts the number of particles used during operation. This allows the algorithm to use fewer particles when the robot's pose is certain, conserving computational resources, and to increase the particle count during global localization or when uncertainty is high, such as after being 'kidnapped'. This makes AMCL highly efficient for long-term operation in heterogeneous fleets, where compute resources must be managed across many agents performing state estimation in parallel.
Key Features of AMCL
Adaptive Monte Carlo Localization (AMCL) is a probabilistic algorithm for a robot to estimate its pose within a known map. Its core features enable robust, real-time operation in dynamic environments.
Particle Filter Foundation
AMCL is built upon a particle filter, a sequential Monte Carlo method. It represents the robot's belief state—the probability distribution over possible poses—as a set of weighted samples called particles.
- Each particle is a hypothesis
(x, y, θ)for the robot's pose. - Particles are propagated through a motion model when the robot moves.
- They are then weighted by comparing actual sensor readings to an observation model of the map.
- The final pose estimate is typically the weighted average of all particles.
Adaptive Resampling
This is the 'adaptive' component. The algorithm dynamically adjusts the number of particles N based on the robot's estimated localization quality.
- When the robot is well-localized (particles are clustered),
Ndecreases to save computation. - When uncertainty is high (particles are dispersed),
Nincreases to improve the search. - This prevents particle deprivation (losing the correct hypothesis) while optimizing CPU usage, crucial for long-term operation on resource-constrained hardware.
KLD-Sampling
Kullback-Leibler Divergence (KLD) sampling is the mathematical technique used to implement adaptive resampling. It determines the minimum number of particles required to represent the belief distribution within a specified error bound.
- The algorithm measures the difference between the true posterior distribution and its particle-based approximation.
- It adds particles until the approximation error falls below a threshold.
- This provides a principled, probabilistic guarantee on representation quality, making resource allocation data-driven rather than heuristic.
Robust Sensor Fusion
AMCL fuses data from multiple, heterogeneous sensors. While often associated with laser rangefinders (LiDAR), it can integrate:
- 2D/3D LiDAR scans: Matched against an occupancy grid map.
- Odometry: From wheel encoders or Visual-Inertial Odometry (VIO) systems, used in the motion model.
- IMU Data: To improve orientation estimates.
- The observation model calculates a likelihood for each particle by simulating what the sensor should see from that particle's pose and comparing it to the actual scan.
Global Localization & Kidnapped Robot
Unlike tracking algorithms that require a near-correct initial pose, AMCL can solve the global localization problem.
- Particles are initially spread uniformly across the entire map.
- As the robot moves and senses, incorrect particles are eliminated, and the cloud converges on the true pose.
- It can also recover from the 'kidnapped robot' problem, where the robot is moved to an unknown location without its knowledge. The injection of random particles allows it to re-localize.
AMCL vs. Other Localization & State Estimation Methods
A feature and performance comparison of Adaptive Monte Carlo Localization against other core algorithms used for robot state estimation within a known map.
| Feature / Metric | Adaptive Monte Carlo Localization (AMCL) | Extended Kalman Filter (EKF) | Graph-Based SLAM (e.g., Pose Graph) |
|---|---|---|---|
Core Algorithm | Particle Filter (Sequential Monte Carlo) | Recursive Bayesian Filter (Linearized) | Nonlinear Least-Squares Optimization |
Primary Use Case | Localization within a known map | Sensor fusion & localization (known/unknown map) | Mapping & localization in unknown environments (SLAM) |
Handles Nonlinear Models | Via Linearization (EKF) | ||
Handles Non-Gaussian Noise | |||
Global Localization (Kidnapped Robot) | Yes (via loop closure) | ||
Multi-Hypothesis Tracking | |||
Computational Complexity | O(N) where N = particles | O(k²) where k = state dimension | O(n³) for full optimization, O(log n) for incremental |
Memory Overhead (Typical) | High (thousands of particles) | Low (state vector & covariance) | Medium (graph of poses & constraints) |
Output Representation | Multimodal probability distribution (particle set) | Unimodal Gaussian (mean & covariance) | Maximum likelihood estimate (optimized graph) |
Adapts to Sensor Degradation | |||
Requires Known Map | Optional | ||
Real-Time Performance (Update Rate) | 10-100 Hz (depends on particle count) |
| 1-10 Hz (optimization steps) |
Typical Sensor Inputs | Laser scans (LiDAR), depth images, odometry | Odometry, IMU, GPS, range/bearing | Laser scans, visual features, odometry, IMU |
Handles Symmetrical/Ambiguous Environments | Moderate (via multi-hypothesis) | Poor (converges to one mode) | Good (via global loop closure) |
Drift Correction Mechanism | Sensor resampling | None (inherently local) | Loop closure & global optimization |
Frequently Asked Questions
Adaptive Monte Carlo Localization (AMCL) is a cornerstone algorithm for robot self-localization within a known map. These questions address its core mechanisms, practical implementation, and role in modern fleet orchestration.
Adaptive Monte Carlo Localization (AMCL) is a probabilistic algorithm that enables a robot to estimate its pose (position and orientation) within a pre-existing map by recursively matching sensor observations against that map using a particle filter. It works by maintaining a set of thousands of hypothetical poses, called particles, each representing a possible state of the robot. The algorithm operates in a continuous cycle: 1) Prediction: Particles are moved according to a motion model based on odometry. 2) Update: Each particle is weighted based on how well its simulated sensor readings (e.g., from LiDAR) match the actual sensor data against the known map. 3) Resampling: A new set of particles is drawn from the old set, with a probability proportional to their weights, concentrating particles in high-probability regions. The 'adaptive' component dynamically adjusts the number of particles based on the robot's estimated localization quality, conserving computational resources when the pose is certain and increasing particles when lost.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Adaptive Monte Carlo Localization (AMCL) is a core algorithm within the broader field of state estimation for autonomous systems. It relies on and interacts with several other key concepts and techniques.
Particle Filter
A particle filter is a sequential Monte Carlo estimation method that represents a probability distribution using a set of random samples, or particles. Each particle is a hypothesis of the system's true state (e.g., robot pose). AMCL is a specific, adaptive implementation of a particle filter designed for robot localization. The algorithm works by:
- Prediction: Moving particles according to a motion model.
- Update: Weighting particles based on how well their simulated sensor readings match actual observations against a known map.
- Resampling: Periodically discarding low-weight particles and duplicating high-weight ones to focus computational resources on likely states.
Simultaneous Localization and Mapping (SLAM)
Simultaneous Localization and Mapping (SLAM) is the concurrent problem of building a map of an unknown environment while estimating the agent's position within it. This contrasts with AMCL, which assumes a pre-existing map is available. SLAM is a "chicken-and-egg" problem: a map is needed for localization, and an accurate pose is needed to build the map. Algorithms like GraphSLAM or FastSLAM (which also uses particle filters) solve this jointly. AMCL is typically deployed in the localization-only phase after a map has been constructed via SLAM.
Sensor Fusion
Sensor fusion is the process of combining data from multiple, often heterogeneous, sensors to produce a state estimate that is more accurate, complete, and reliable than any single sensor could provide. While a basic AMCL implementation often fuses odometry (for motion prediction) with a primary sensor like LiDAR or laser rangefinders (for measurement updates), advanced systems integrate:
- Inertial Measurement Units (IMUs) for high-frequency orientation and acceleration data.
- Cameras for visual place recognition or depth information.
- Wheel encoders for proprioceptive odometry. Fusion frameworks, such as those based on Kalman filters, can be used to pre-process sensor data before it is fed into the particle filter.
Motion Model & Observation Model
These two mathematical models are the core probabilistic engines of AMCL.
- Motion Model (Process Model): Predicts how the robot's pose changes given a control command (e.g., velocity). It accounts for odometry noise and wheel slippage. For example, a differential drive robot's motion model predicts how left and right wheel velocities translate to a new (x, y, theta) pose.
- Observation Model (Measurement Model): Predicts what sensor readings the robot should see if it were at a given hypothetical pose. In AMCL, this involves raycasting into the known map from each particle's position and comparing the simulated ranges to the actual LiDAR scan. The likelihood of a particle is calculated from this comparison, determining its weight.
Odometry
Odometry is the use of data from onboard motion sensors to estimate the change in a robot's position over time relative to a starting point. It is a form of dead reckoning. Sources include:
- Wheel Encoders: Measure wheel rotation.
- Visual Odometry (VO): Estimates motion by tracking visual features between camera frames.
- Visual-Inertial Odometry (VIO): Fuses camera and IMU data for more robust motion estimation. In AMCL, odometry provides the control input for the motion model, driving the prediction step of the particle filter. However, odometry alone suffers from unbounded drift; AMCL corrects this drift by anchoring sensor observations to a static map.
Kidnapped Robot Problem
The kidnapped robot problem is a critical test for any localization algorithm. It occurs when a robot is physically moved to a new location without its knowledge (e.g., picked up and carried). The algorithm must recover global localization without any prior hint of the displacement. Basic AMCL can struggle with this if all particles have converged to a single, wrong pose. The "adaptive" aspect of AMCL includes mechanisms like random particle injection to maintain a small population of particles exploring the entire map, providing a chance to recover if the robot is kidnapped. More robust solutions may integrate global place recognition modules.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us