Occupancy grid resolution trade-offs: 5cm vs 10cm vs 20cm at the edge

The resolution you need is a function of your robot's footprint, speed, and typical obstacle geometry — not a fixed engineering truth. We measured the actual cost-benefit curves.

Comparative occupancy grid images at 5cm, 10cm, and 20cm resolution

The question of what occupancy grid resolution to use is usually answered by engineers picking a number that "seems right" for their environment and then not revisiting it. 5cm for indoor warehouse. 10cm for outdoor urban. 20cm for highway. These are reasonable starting points, but they're not based on measured trade-offs — they're received wisdom from earlier robotics systems that ran on very different hardware.

This post presents measured cost-benefit data from running PathVynt's occupancy grid engine at three resolution tiers — 5cm, 10cm, and 20cm — across three hardware targets and two representative environments. The goal is to give you a framework for making this decision based on your actual robot's geometry, speed, and compute budget.

What resolution actually buys you

Higher resolution gives you finer obstacle contours — the ability to distinguish the leg of a pallet rack from the pallet on it, or to navigate a gap that is 30cm wider than your robot footprint without treating the gap as impassable. For a narrow-aisle AMR with a 600mm body width trying to navigate a 780mm gap, the difference between a 5cm and a 10cm grid is the difference between a passable path and a dead end in the planner's costmap.

But resolution is not free. Memory scales with resolution squared. A 5cm grid covering an 80m×80m area requires 2.56 million cells. At 10cm, the same area requires 640,000 cells. At 20cm, 160,000 cells. In practice, you don't maintain a full 80m×80m grid — you use a rolling window centered on the robot — but the scaling relationship is the same.

Compute also scales super-linearly with resolution. Each Raycasting operation (updating grid cells based on a LiDAR scan return) touches approximately 4× more cells at 5cm than at 10cm. On a Jetson Orin NX 16GB running a full fusion pipeline, this difference is consequential.

Measured latency and memory at 5cm / 10cm / 20cm

All measurements taken on PathVynt v1.4, Jetson AGX Orin 64GB (Full config) and Jetson Orin NX 16GB (Balanced config), with Ouster OS1-32 at 20Hz scan rate, 80m rolling window.

Resolution Hardware Grid update latency (p95) Peak memory Passable-gap threshold
5cm AGX Orin 64GB 6ms 1.8GB robot width + 10cm
10cm AGX Orin 64GB 3ms 0.5GB robot width + 20cm
20cm AGX Orin 64GB 1.5ms 0.14GB robot width + 40cm
5cm Orin NX 16GB 11ms 1.8GB robot width + 10cm
10cm Orin NX 16GB 5ms 0.5GB robot width + 20cm
20cm Orin NX 16GB 2.5ms 0.14GB robot width + 40cm

The "passable-gap threshold" column is important. At 20cm resolution, any gap narrower than your robot width plus 40cm is likely to be marked as partially occupied due to obstacle contour uncertainty — the grid cells at the gap edges may straddle the real obstacle boundary, causing the planner to see a narrower clearance than exists. This is not a bug in the grid; it's a fundamental consequence of resolution-limited representation. If your environment has gaps this tight, 20cm is the wrong resolution for that zone.

The case for zone-adaptive resolution

PathVynt's occupancy grid engine supports zone-adaptive resolution: a higher-resolution inner zone around the robot and a coarser outer zone farther away. This is the configuration most warehouse AMR teams should use. The standard profile:

  • 0–4m radius: 5cm resolution — safety-critical zone where obstacle contour precision determines whether the robot stops or navigates around
  • 4–15m radius: 10cm resolution — path planning zone where coarse passability is sufficient for trajectory selection
  • 15–40m radius: 20cm resolution — awareness zone where broad obstacle presence is tracked but fine navigation decisions aren't made

This configuration on a Jetson Orin NX 16GB consumes approximately 0.9GB of memory and runs grid updates at under 7ms p95 — meaningfully better than flat 5cm everywhere at a similar safety margin. Configure with OccupancyGridConfig.zone_resolution_profile = ZONE_ADAPTIVE_WAREHOUSE or define custom zone radii and resolutions.

When 20cm is actually sufficient

For long-haul autonomous trucks operating at highway speeds (80+ km/h), 5cm resolution is genuinely wasteful. At 80 km/h, the robot travels 22m per second. The safety margin required for emergency braking is on the order of 50–80m. Obstacle contour precision at 5cm within an 80m radius consumes enormous compute for information the planner cannot use at those speeds and distances.

For highway truck operation, 20cm resolution at 100m+ rolling radius is the correct starting point. The geometry of the relevant obstacles — other vehicles, road boundaries, debris — is resolvable at 20cm. The planning problem is lane-following and gap selection, not navigating 30cm gaps between objects. Save the compute for the fusion engine and localization, which are much more valuable at highway speed.

The rule of thumb

Resolution should be no finer than one-quarter of the tightest gap your robot navigates in normal operation. For a 600mm-wide AMR navigating 900mm gaps: 75mm maximum resolution, so 5cm is appropriate. For a 2m-wide truck navigating lane widths over 3.5m: 20cm is appropriate. For a delivery robot with a 400mm footprint on a shared sidewalk: 5cm is appropriate, but only within 5m — the outer zone can be 10cm without safety impact.

Start with zone-adaptive configuration rather than flat resolution. The compute savings are significant on constrained hardware, and the practical safety difference in the near-robot zone is negligible compared to flat 5cm everywhere.