feat(perception): qualify lidar evidence before models
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# ADR 0018: qualify LiDAR evidence before selecting accelerated models
|
||||
|
||||
Date: 2026-07-25
|
||||
Status: accepted
|
||||
|
||||
## Context
|
||||
|
||||
Mission Core preserves K1 point clouds, poses, cameras and factory calibration
|
||||
and already runs an external NVIDIA worker for camera perception. The next
|
||||
candidate components include PointPillars, CenterPoint, Patchwork++, nvblox and
|
||||
several LiDAR SLAM systems.
|
||||
|
||||
Those components do not share the same input assumptions. The current K1
|
||||
`lio_pcl` source is a vendor-mapped increment in the canonical `map` frame with intensity and a
|
||||
separate best-effort pose. It is not an unregistered sweep and exposes no
|
||||
admitted ring, per-point time or IMU stream. The accepted E10 replay pack also
|
||||
drops intensity.
|
||||
|
||||
Installing a component without expressing those facts would let runtime success
|
||||
be mistaken for geometric validity.
|
||||
|
||||
## Decision
|
||||
|
||||
1. Mission Core owns a versioned, provider-neutral
|
||||
`missioncore.lidar-evidence-profile/v1`.
|
||||
2. Each processing stage receives a deterministic readiness result with
|
||||
explicit blockers.
|
||||
3. Existing content-addressed replay schemas are immutable. A lossless replay
|
||||
improvement is a new version.
|
||||
4. The first detector seam consumes sensor-frame XYZI. Map-frame K1 points are
|
||||
converted only with the bound `T_map_from_lidar` pose, and verified uint8
|
||||
intensity is normalized to `[0, 1]`.
|
||||
5. Missing ring, point time, scan geometry or IMU evidence remains missing. It
|
||||
is never synthesized to satisfy a model.
|
||||
6. Accelerated models remain external worker providers. React consumes reports,
|
||||
overlays and world-state products; it does not host CUDA/TensorRT/ROS 2
|
||||
compute.
|
||||
7. All LiDAR results remain diagnostic/shadow until separate navigation and
|
||||
safety gates pass.
|
||||
|
||||
## Consequences
|
||||
|
||||
- PointPillars integration is blocked for replay pack v1 and degraded for the
|
||||
current live vendor-mapped source.
|
||||
- Nvblox is blocked until the LiDAR scan geometry and timing/pose contract are
|
||||
admitted.
|
||||
- LiDAR odometry and LiDAR-inertial SLAM are blocked for current K1 evidence.
|
||||
- L1 lossless replay and scanner-quality telemetry precede new model installs.
|
||||
- Future scanners, simulation providers and datasets can use the same
|
||||
readiness contract without being forced into K1-specific code.
|
||||
|
||||
## References
|
||||
|
||||
The detailed product rationale, market review, gates and sequence are in
|
||||
`docs/13_LIDAR_WORKER_PRODUCT_AND_ROADMAP.md`.
|
||||
Reference in New Issue
Block a user