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

Occupancy Grid Mapping

Turn messy sensor data into a clear, navigable map. Occupancy Grid Mapping is the core probabilistic tool that lets autonomous mobile robots make sense of their surroundings, pinpointing free space versus obstacles with solid math.

Occupancy Grid Mapping AGV

Core Concepts

Discretized Space

The world gets sliced into a grid of same-sized cells. Each one covers a fixed patch of real estate, turning tricky shapes into an easy-to-handle grid.

Probabilistic Values

Cells aren't just on or off—they hold a probability from 0 to 1 showing how likely they are to be occupied, so the robot can deal with noisy sensors.

Binary Bayes Filter

The map updates itself step by step using Bayes' rule. Fresh sensor data rolls in, tweaking each cell's odds to build confidence in obstacles or open areas.

Log-Odds Notation

To dodge math glitches with floating-point probs, most algorithms switch to log-odds. It turns multiplications into quick additions, perfect for real-time speed.

Inverse Sensor Model

This setup takes raw range data (like LiDAR hits) and figures out which cells along the beam are clear and exactly which one has the obstacle.

Global vs. Local Maps

OGM scales beautifully. Robots often keep a big static global map for planning paths and a smaller rolling local one for dodging collisions on the fly.

How It Works

At the core of any autonomous robot's navigation is turning laser scans into real-world smarts. When LiDAR pings an object, it spits back a distance.

Occupancy Grid Mapping draws a line from the robot's heart to that hit. Every cell along the way gets marked as freer space, while the end cell spikes as an obstacle.

With thousands of scans every second, those probabilities settle in. Noise fades away, and solid stuff like walls or shelves turn into rock-solid barriers for safe path planning.

Technical Diagram

Real-World Applications

Warehouse Automation

AGVs lean on dynamic occupancy grids to handle shifting warehouse layouts with moving pallets, keeping forklifts and bots from bumping in busy aisles.

Service Robots

Hospital delivery bots use sharp grid maps to squeeze through tight halls and rooms, telling fixed walls from rolling gurneys.

Autonomous Driving

Self-driving cars might use vector maps for lanes, but they tap local occupancy grids to spot drivable areas and track obstacles in messy city streets.

Search and Rescue

In chaotic disaster areas with no map to start, robots whip up occupancy grids on the fly (via SLAM) to find safe routes through rubble.

Frequently Asked Questions

What's the real difference between an Occupancy Grid and a Feature Map?

An Occupancy Grid breaks the world into a cell matrix, each with a binary or probabilistic occupancy score. Feature Maps (or Vector Maps) capture it as key shapes like lines, corners, and points. Grids shine for planning in messy spots, while features save on memory.

How does grid resolution affect robot performance?

Grid resolution is all about balancing detail and power use. Tiny cells (say, 1cm) give pinpoint accuracy for tight spots but guzzle memory and CPU. Bigger ones (like 10cm) run faster but might blind the robot to skinny gaps.

How are moving objects handled in Occupancy Grid Mapping?

Classic OGM expects a steady world, but dynamic stuff? Quick probability tweaks or dedicated 'dynamic' layers handle it. When something moves, new scans clear its old spot back to free.

What sensors are best for generating these maps?

2D LiDAR rules the roost for its spot-on range reads. Depth cams (RGB-D) and ultrasonics work too, but sonar's wide beam needs fancier models to grid-map right.

What is the "Unknown" state?

The best grid maps track three states: Free, Occupied, Unknown. They start at 0.5 (total mystery), only shifting when sensors peek. This drives exploration to uncharted zones.

Why use Log-Odds instead of standard probability?

Bayes' updates mean multiplications that can bog down or glitch near 0/1. Log-odds flips it to add/subtract ops on a log scale for speed and stability.

Can Occupancy Grids work in 3D?

Yep, 3D grids use voxels (3D pixels) over flat cells. But they eat RAM like crazy. Smart fix: Octrees (like OctoMap) that clump empty space hierarchically, keeping detail just where obstacles live.

How does SLAM relate to Occupancy Grid Mapping?

SLAM (Simultaneous Localization and Mapping) is the big picture. The Occupancy Grid is the that SLAM spits out (think Gmapping or Cartographer). The robot localizes via the grid while building it on the go.

What is "Ray Casting" in this context?

Ray casting does the updating. For each sensor ping, trace a ray to the obstacle. Bresenham's algorithm picks every crossed cell, marks 'em free—except the last one's occupied.

How much memory does a typical map require?

It hinges on size and res. A 100x100m warehouse at 5cm res? That's 4 million cells. 8-bit ints per cell (0-255)? About 4MB RAM—easy for today's embedded gear, but it grows fast with area.

What happens if the map becomes misaligned (Drift)?

Odometry drift can smudge obstacles in wrong spots, like ghost walls. SLAM's Loop Closure spots when you're back in familiar turf and warps the grid straight.

Ready to implement Occupancy Grid Mapping in your fleet?

Explore Our Robots