Skip to content

NDT Variants and NDT Maps

Related library pages: Normal Distributions Transform, Production LiDAR Map Localization, and GICP/VGICP.

Executive Summary

The main NDT page covers the core point-to-distribution scan-matching objective used for LiDAR localization. This page covers the adjacent family that often gets hidden behind the same acronym: 3D-NDT, distribution-to-distribution NDT, NDT occupancy maps, NDT Monte Carlo localization, multi-resolution NDT maps, and production dynamic-map-loading patterns.

These variants matter because NDT is not only a registration cost. It can also be a compact map representation, a probabilistic localization likelihood, a dynamic-environment map update model, or a coarse-to-fine map pyramid. That makes it useful for industrial vehicles, warehouses, mines, parking garages, road AV localization, and mapped outdoor robots that need a compact, explainable alternative or complement to ICP/GICP/VGICP.

For airside and other open outdoor AV domains, the same caution from the core NDT page still applies: smooth likelihood is not observability. Open aprons, broad flat ground, repeated facades, wet surfaces, and changed aircraft/GSE layouts can produce plausible NDT scores while leaving lateral or yaw directions weak.

Family Map

VariantMain ideaBest use
Point-to-distribution NDTMatch live points to Gaussian cells in a target mapMature scan-to-map localization and coarse alignment.
3D-NDTExtend NDT to 3D scan registration and loop detectionMines, tunnels, industrial vehicles, and 3D LiDAR mapping.
Distribution-to-distribution NDTMatch Gaussian cells in both source and targetFaster compact registration and D2D scan-to-map matching.
NDT-OMCombine NDT cell shape with occupancy probability updatesDynamic 3D mapping and compact world models.
NDT-MCLUse NDT maps and sensor likelihoods inside particle localizationIndustrial AGV localization and global/recovery localization.
Multi-resolution NDT mapsMaintain coarse and fine NDT gridsWide convergence basin plus precision refinement.
Dynamic-loaded NDT mapsLoad local map tiles around the current poseLarge-scale AV localization without loading an entire point cloud map.

Inputs and Outputs

StageInputsOutputs
NDT map constructionStatic map cloud, voxel/cell resolution, minimum points per cellCell means, covariances, inverse covariances, occupancy/stability metadata.
D2D registrationSource NDT cells, target NDT cells, initial transformRelative pose, score, Hessian/information, convergence status.
NDT-OM updateRange measurements, sensor model, prior cellsUpdated occupancy probability plus distribution parameters.
NDT-MCLParticle set, odometry proposal, NDT sensor likelihoodWeighted pose hypotheses and posterior estimate.
Runtime localizationLive scan, local NDT tiles, estimator priorPose, covariance estimate, score, valid-cell metrics, diagnostics.

Distribution-to-Distribution Registration

Point-to-distribution NDT evaluates transformed live points under target-map Gaussian cells. Distribution-to-distribution NDT instead summarizes both clouds as local distributions and compares cell pairs.

For a source cell p and target cell q:

text
d = mu_q - (R mu_p + t)
S = Sigma_q + R Sigma_p R^T
cost = d^T S^-1 d + log |S|

The practical effect is that the registration cost uses compact cell statistics rather than every source point. It is close in spirit to GICP/VGICP, but the local distributions come from NDT cells rather than per-point neighborhoods.

Advantages:

  • Fewer primitives than raw point registration.
  • Natural map compression.
  • Smooth score landscape for coarse alignment.
  • Direct access to cell covariance and information.

Risks:

  • Cell resolution controls both accuracy and runtime.
  • Sparse cells produce unstable covariance.
  • Gaussian cells can hide multimodal local geometry.
  • Dynamic objects can become high-confidence cells if map construction is not filtered.

NDT Occupancy Maps

NDT-OM adds occupancy probability to the NDT cell representation. Instead of storing only whether a voxel is occupied, a cell stores both occupancy and a Gaussian distribution over observed points. This gives the map a compact shape model while preserving occupancy-style updates.

The representation is useful when the system needs:

  • 3D maps that are more compact than dense occupancy grids.
  • Probabilistic updates in dynamic industrial environments.
  • A shared representation for mapping and localization.
  • Multi-resolution behavior from the recursive update equations.

The key deployment concern is map semantics. Occupancy probability can update faster than the Gaussian shape estimate, so dynamic objects, parked equipment, and temporary structures must be handled deliberately. In fleet map operations, store the map version, update policy, observation counts, and decay model along with the NDT cells.

NDT-MCL

NDT-MCL replaces a conventional grid-map likelihood field with an NDT representation inside Monte Carlo localization. Each particle is scored by how well the observed scan fits the NDT map under that particle pose.

This is useful for:

  • Industrial AGV localization where repeatability matters.
  • Recovery from larger initial uncertainty than a local optimizer can tolerate.
  • Comparing particle hypotheses before committing to one scan-matching basin.
  • Warehouse or factory routes where the map is stable but repeated structures cause ambiguity.

For AV-scale use, NDT-MCL is more likely to be a startup/relocalization aid than the normal high-rate pose source. The particle set must be bounded, map lookup must be fast, and the accepted mode should still pass estimator innovation and scene-consistency checks.

Multi-Resolution and Dynamic Map Loading

Large mapped domains need more than one NDT map resolution. A typical production pipeline uses:

text
coarse NDT map:
  wider convergence basin, global startup, lower memory

medium NDT map:
  normal localization and fallback

fine NDT map or VGICP:
  final scan-to-map refinement where structure supports it

Autoware's current NDT scan matcher documentation is a useful production reference because it exposes regularization, initial-pose estimation service behavior, diagnostics, real-time covariance topics, and dynamic map loading. Dynamic map loading requests nearby pointcloud map tiles around the current pose so large maps do not have to be held in memory as one file.

For road, yard, port, airport, and campus systems, dynamic NDT map loading should be treated as part of the map product:

  • Tile size and radius must match vehicle speed and localization uncertainty.
  • The localizer should know which map version and tile set produced the pose.
  • Loading failures should degrade localization confidence, not silently reuse stale tiles.
  • Large map chunks can fail operational assumptions even if they fit on disk.
  • Tile boundaries need overlap or hysteresis to avoid score discontinuities.

Failure Modes

Failure modeWhy it mattersMitigation
Cell underpopulationCovariances become singular or overfit noiseMinimum point count, eigenvalue regularization, cell rejection.
Over-large cellsSmall structures are blurred and multiple poses look validCoarse-to-fine refinement and fine-level acceptance gates.
Repeated structureSimilar cell distributions create aliasingParticle/global hypotheses, semantic priors, route constraints, place recognition.
Dynamic map contaminationTemporary objects become strong Gaussian cellsMulti-session filtering, temporal decay, dynamic-object masks, map QA.
Degenerate open areasGround-dominant cells constrain vertical axes but not lateral/yawHessian eigenvalue checks, covariance inflation, GNSS/wheel/IMU priors.
Bad regularization priorGNSS or route prior pulls NDT into wrong basinInnovation gating, source health checks, robust prior weighting.
Tile loading gapLocal map is missing or staleMap-loader diagnostics, local fallback, conservative covariance, safe speed reduction.

Domain Fit

DomainFitNotes
Road AVStrong as runtime referenceAutoware-style NDT is a mature localization reference, especially with diagnostics and map loading.
Warehouse / AGVStrongNDT-MCL and compact maps transfer well where infrastructure-like repeatability matters.
Mining / tunnelsStrong3D-NDT has direct mining-vehicle lineage; longitudinal degeneracy still needs checks.
Outdoor campusGoodCompact maps and recovery hypotheses help long routes, but seasonal change needs map maintenance.
Ports and logistics yardsGoodUseful for mapped outdoor/indoor transitions with GNSS aids and controlled routes.
AirsideConditionalGood as coarse/fallback localization near structure; weak as sole pose source on open apron.
ConstructionConditionalMap changes quickly; NDT maps need freshness and dynamic-change handling.
AgricultureConditionalVegetation dynamics and sparse structure weaken stable Gaussian maps.

Implementation Notes

ImplementationRoleLicense / caveat
PCL NormalDistributionsTransformReference point-to-distribution NDT implementationBSD-3-Clause PCL ecosystem.
Autoware ndt_scan_matcherProduction-oriented ROS 2 NDT localization with diagnostics and map loadingApache-2.0 ecosystem; interface conventions matter.
fast_gicp NDTCudaCUDA D2D NDT-style registration pathBSD-3-Clause repository; useful for GPU comparison.
ndt_ompOpenMP accelerated NDT implementationBSD-2-Clause repository; common ROS ecosystem reference.
MOLA NDT metric mapsMetric-map representation and localization research pathCheck module license and dependencies before product use.

Implementation checklist:

  1. Define which NDT role is being used: map, local optimizer, global/localization likelihood, or fallback.
  2. Store cell resolution, covariance regularization, minimum point count, and map version in logs.
  3. Record valid-cell ratio, score, iteration count, Hessian spectrum, and prior terms with every accepted pose.
  4. Benchmark perturbation recovery separately from normal tracking accuracy.
  5. Compare NDT acceptance against VGICP/ICP or an independent odometry source on the same replay.
  6. Treat map loading and tile freshness as localization health inputs.

Practical Recommendation

Use the core NDT page when the question is "how does NDT scan matching work?" Use this page when the question is "which NDT representation or deployment variant should I evaluate?"

Recommended split:

text
Normal tracking:
  estimator prior -> local NDT or VGICP -> covariance/diagnostic gate

Startup and recovery:
  NDT-MCL or multi-hypothesis NDT -> ICP/VGICP verification -> estimator reset

Large maps:
  dynamic-loaded map tiles -> multi-resolution NDT -> map-version logging

Dynamic environments:
  NDT-OM or NDT map maintenance -> temporal filtering -> map QA before release

NDT variants remain valuable because they are compact, interpretable, mature, and easy to diagnose compared with many learned localization methods. Their main risk is overconfidence in weak or stale geometry.

Sources

Public research notes collected from public sources.