Research Robots Applications Industries Technology Contact
← Back to Technology
Robotics Core

Particle Filters

Master the standard for Autonomous Mobile Robot (AMR) localization. Particle Filters utilize Monte Carlo methods to maintain robust position estimates in noisy, dynamic environments where sensors and odometry are imperfect.

Particle Filters AGV

Core Concepts

The Particle

Each particle represents a hypothesis of the robot's state (x, y, θ). The density of particles in an area represents the probability of the robot being there.

Motion Model

As the robot moves, particles are shifted based on odometry data. Noise is added to this movement to simulate wheel slip and drift.

Sensor Model

When sensors (LiDAR/Camera) observe the world, particles are "weighed." Particles that align with the map data get a higher weight.

Resampling

A "survival of the fittest" step. Particles with low weights are discarded, and high-weight particles are cloned to focus computation on likely locations.

Convergence

Over time, the particles cluster tightly around the robot's true position, providing a precise localization estimate despite initial uncertainty.

Global Localization

Unlike Kalman filters, Particle filters can solve the "Kidnapped Robot" problem—re-localizing the AGV even if it is picked up and moved.

Mechanism

How It Works: MCL

Monte Carlo Localization (MCL) relies on the law of large numbers. Instead of tracking a single "best guess" position, the AGV maintains a probability cloud.

1. Prediction: As the robot's wheels turn, the odometry indicates movement. We move all particles in that direction, adding random Gaussian noise to simulate the inaccuracy of wheel encoders.

2. Correction: The robot scans the environment with LiDAR. If the scan matches what a particle would see at that coordinate on the map, the particle is given a high score (weight). If the scan contradicts the map at that spot, the particle gets a low score.

3. Resampling: We randomly draw a new set of particles from the old set, with probability proportional to their weights. The result is a cloud of particles concentrated where the robot most likely is.

Technical Diagram

Real-World Applications

Warehouse Logistics

In symmetrical warehouse aisles where pillars look identical, particle filters maintain multiple hypotheses until a unique landmark (like a charging station or distinct wall) resolves the ambiguity.

Hospital Delivery Robots

Hospitals have long corridors and high foot traffic. Particle filters handle dynamic occlusions (people walking by) robustly without losing the robot's position on the facility map.

Manufacturing Floors

In environments where pallets and machinery move frequently, the probabilistic nature of the filter prevents the robot from getting "lost" due to minor map discrepancies.

Last-Mile Delivery

For outdoor sidewalk robots, particle filters fuse GPS, odometry, and visual data to maintain accuracy even when GPS signals degrade in urban canyons.

Frequently Asked Questions

What is the main difference between a Kalman Filter and a Particle Filter?

Kalman Filters (EKF/UKF) assume the world is linear and errors follow a Gaussian (bell curve) distribution. Particle Filters are non-parametric and can represent arbitrary distributions, making them superior for "multi-modal" situations where the robot might be in two possible places at once.

Why are Particle Filters considered computationally expensive?

The computational cost is directly proportional to the number of particles. Simulating, weighing, and resampling thousands of particles (e.g., 2,000 to 5,000) for every sensor update cycle requires significantly more CPU power than the matrix math of a Kalman Filter.

What is the "Kidnapped Robot Problem"?

This refers to a situation where a robot is physically picked up and moved to a new location without being told. A well-tuned Particle Filter can recover from this by injecting random particles across the map and letting sensor data eventually converge on the new true location.

How many particles should I use for my AGV?

It depends on the environment size and available compute. For a small indoor room, 500-1000 particles might suffice. For a large warehouse (10,000 sq ft+), you may need 5,000+ particles. Adaptive Monte Carlo Localization (AMCL) dynamically adjusts this number based on confidence.

Does a Particle Filter require a static map?

Generally, yes. Standard MCL compares sensor data against a pre-built static occupancy grid. However, advanced implementations can handle semi-static environments by filtering out dynamic objects (like people) before the weighting step.

What represents a "Particle" in code?

Structurally, a particle is usually a simple object or struct containing: X coordinate (float), Y coordinate (float), Theta/Heading (float), and a Weight (float). The filter manages an array of these objects.

What is "Particle Depletion"?

Depletion occurs when the resampling step eliminates all particles near the true position, often because the sensor model was too aggressive or the number of particles was too low. The robot effectively becomes "delocalized" and cannot recover without re-initialization.

Can Particle Filters work with Cameras instead of LiDAR?

Yes. While LiDAR allows for direct geometry comparison, Visual Particle Filters compare camera images to a visual database or landmark map. The math remains the same; only the "Sensor Update" (weighting) function changes.

How do we handle initialization?

Usually, the user gives an initial estimate (e.g., "Robot is at the charging dock"). Particles are generated in a Gaussian cluster around that point. If the position is unknown, particles are uniformly distributed across the entire map (Global Localization).

Is AMCL the same as a Particle Filter?

Yes. AMCL (Adaptive Monte Carlo Localization) is the most popular implementation of a particle filter in ROS (Robot Operating System). The "Adaptive" part refers to its ability to dynamically increase or decrease the particle count based on sensor data match quality.

Ready to implement Particle Filters in your fleet?

Explore Our Robots