5.2 KiB
ADR 0041: Registered map increment and rolling local occupancy
Date: 2026-08-05 Status: accepted and implemented for M4.5R/M4.6
Context
The recorded K1 topic lixel/application/report/lio_pcl is post-LIO data in the
vendor SLAM map frame. In RAVNOVES00 it behaves as a registered map increment:
one message contains points contributed at that moment, not a complete scan of
everything currently visible. Therefore a structure can remain physically
present while its points are absent from a later message.
M4.5 originally applied a 0.75 s temporal object hold directly to those
increments. M4.6 then rendered the current increment as if it were the complete
LiDAR scene. At frame 1880 the exact camera frame visibly contains two
concrete hemispheres, while the current lio_pcl increment has no corresponding
points in the corridor. The old result m4-threat-replay-78a06d... consequently
lost them from 3D. This was a representation error, not evidence that LiDAR had
measured free space.
Decision
Mission Core keeps three distinct products:
current registered increment ──> exact source context
current occupied components ───> temporal identity and motion evidence
bounded rolling occupancy ─────> conservative local obstacle presence
RollingLocalObstacleMapProvider accumulates only qualified current occupied
cells in the SLAM map frame. It never interprets missing republication as free
space. Retained cells are evicted only by explicit bounds:
- voxel size
0.45 m; - retention
3.0 s; - local radius
12.0 maround the recorded pose; - maximum
65,536active cells, with fail-closed capacity handling; - bounded component size/count and deterministic 26-neighbour connectivity.
The provider publishes only cells not present in the current increment as
TemporalState.RETAINED. Current and retained identities cannot overlap.
Retained components have ephemeral identity, carry their last-hit age and never
claim current motion. They may assert threat when their occupied cells
intersect the current virtual corridor; outside the corridor they remain
unknown, never not-threat.
The 0.75 s temporal object state remains separate. It continues to answer
whether a current component has enough bounded history for motion reasoning. It
is not a map-clearing policy.
Evidence and acceptance
The current accepted M4.5R result is
m4-temporal-replay-81e13d5654ac8d1219f6937dd425f7dbcdbacd5748d23fe653297134f0de6c22.
Its frame ledger SHA-256 is
e83b80ea06b3462c2d04c5a1b74289a0ec401596c7150ae90f5a1b748b639c3a.
Across all 4,489 source frames it records:
849,650current increment occupied cells;70,989retained component publications and1,779,135retained cell publications;- peak
907active cells and35retained components; 29,720time evictions,6,513radius evictions and zero capacity drops;- maximum retained age exactly
3.0 sand587active cells at replay end.
The current accepted M4.6 result is
m4-threat-replay-2a953c5f27f2a5b1dddc5c658c1de2c323d7796084a099c024987a1da03aa324.
All 4,489 frames completed with 28,081 current metric, 70,989 rolling-map,
38,025 stale/held and 10,158 camera-only evidence publications assessed
exactly once. Decisions are 7,606 threat, 10,769 not-threat and 128,878 unknown. All 10/10 deterministic fixtures pass with zero critical false-safe
outcomes.
Frame 1880 is a mandatory engineering visual regression. It binds two
separate body-frame regions to two retained components. The near region must
assert threat; both regions are present in the accepted result. These anchors
encode a reproducible owner-reviewed visual case, not independent object truth.
Frame 2584 is a second mandatory visual regression added after operator
review found that a compact hemisphere had six valid points in one voxel and
was discarded by a two-voxel geometry filter. The corrected geometry contract
retains the four-point minimum but permits one-voxel compact components. At
2584 the near hemisphere is a retained threat and occupied cells for the far
hemisphere are present inside a larger current component. This is still an
engineering regression window, not independent truth.
The common LAB viewer exposes CURRENT INCREMENT and ROLLING MAP as separate
layers over the same selected frame. The current point count is not relabelled
as a complete scan, and retained occupied cells remain independently hideable.
Consequences and limitations
- Missing points cannot create free-space or navigation authority.
- Short-lived obstacle disappearance caused solely by incremental publication is removed from the replay decision path.
- A moving object may leave a conservative ghost for up to
3.0 s; retained occupancy can block but cannot claim motion or clearance. - No ray-level free-space clearing is available in this recording. A future raw scan/ray provider must add explicit observation and clearing semantics rather than weakening this contract.
- The frame-1880 and frame-2584 anchors are regression evidence, not independent truth, detector accuracy or physical collision acceptance.
- Live K1, measured
T_body_from_sensor, physical body geometry, navigation, commands and actuation remain outside M4.5R/M4.6 authority.