feat: add local surface review triage
This commit is contained in:
@@ -2,9 +2,9 @@
|
||||
|
||||
Date: 2026-07-25
|
||||
Status: accepted architecture plan; L0/L1 implemented; L2 diagnostic A/B
|
||||
complete; full GOOSE and RELLIS qualification complete; L2.6b K1 replay
|
||||
local-surface temporal qualification implemented; operator review and live
|
||||
shadow next
|
||||
complete; full GOOSE and RELLIS qualification complete; L2.6c K1 replay
|
||||
local-surface temporal qualification and operator triage implemented;
|
||||
residual explainability and live shadow next
|
||||
Scope: passively received real-time K1 point/pose evidence, immutable replay and
|
||||
future live shadow processing
|
||||
Explicitly out of scope: K1 firmware modification, a new onboard exporter, new
|
||||
@@ -411,6 +411,12 @@ Dataset expansion is no longer the next gate.
|
||||
layer with source, confidence, freshness and conflict fields.
|
||||
- [x] Qualify next-frame prediction and temporal stability with the evaluated
|
||||
frame excluded from prediction input.
|
||||
- [x] Publish a deterministic, read-only operator queue for temporal
|
||||
transitions and heavy prediction tails, with source-frame navigation and no
|
||||
safety authority.
|
||||
- [ ] Preserve the prior prediction plane and point/cell-aligned residual
|
||||
evidence so a selected tail can be explained spatially instead of only by an
|
||||
aggregate p95.
|
||||
- [ ] Complete the remaining qualification report with per-frame latency,
|
||||
point age, obstacle preservation and memory growth.
|
||||
- [ ] Replay the same profiles through a bounded latest-wins live-shadow queue;
|
||||
@@ -418,8 +424,8 @@ Dataset expansion is no longer the next gate.
|
||||
|
||||
The implemented `missioncore.k1-local-surface/v1` derivative is reproducible
|
||||
through `experiments/perception/run_k1_local_surface.py` and is exposed
|
||||
read-only through `GET /api/v1/lidar/local-surfaces` plus the bound frame
|
||||
and timeline endpoints. **Парк → Диагностика LiDAR** reuses the five
|
||||
read-only through `GET /api/v1/lidar/local-surfaces` plus the bound frame,
|
||||
timeline and review endpoints. **Парк → Диагностика LiDAR** reuses the five
|
||||
RAVNOVES00 scene selectors and also exposes a clickable timeline over the
|
||||
complete recording. The selected source frame shows observed surface, observed
|
||||
occupied-above-surface, negative outlier, unclassified evidence and yellow
|
||||
@@ -451,6 +457,26 @@ which proves that the review layer is active but also that it is broad and
|
||||
still requires independent review. Free space remains unavailable; none of
|
||||
these metrics grants navigation, command or safety authority.
|
||||
|
||||
The `missioncore.k1-local-surface-review/v1` triage contract selects a frame
|
||||
when its prediction p95 residual is at least `0.45 m`, prediction inlier
|
||||
fraction falls below `85%`, or one of the content-bound temporal thresholds is
|
||||
crossed. It groups observations separated by no more than two frames into one
|
||||
episode and ranks threshold exceedance without changing the source artifact.
|
||||
RAVNOVES00 produced `37` review frames in `21` episodes: `18` prediction-tail
|
||||
frames, `14` inlier drops and `12` height transitions. Four frames have a
|
||||
normalized attention score of at least `2.0`.
|
||||
|
||||
The four highest-priority frames are concentrated in two episodes. Source
|
||||
frame `1195` crosses height, slope and roughness thresholds together; the new
|
||||
surface regime remains on `1196`, so the evidence is a sustained transition,
|
||||
not merely a one-frame numerical spike. Source frames `1253–1254` reach
|
||||
`1.047–1.083 m` p95 residual and `68.0–63.3%` inliers while the fitted global
|
||||
surface remains stable. This separates a local prediction-tail problem from a
|
||||
global plane-transition problem. The recording has no independent ground truth
|
||||
for either episode, so the UI calls them review evidence rather than algorithm
|
||||
failures. The next replay slice must retain and display the prior-plane
|
||||
cell/point residuals before changing fit thresholds or entering live shadow.
|
||||
|
||||
Exit: one immutable K1 session yields both a persistent reconstruction and a
|
||||
bounded local world state without hard-coded terrain height or scanner-side
|
||||
changes.
|
||||
@@ -536,8 +562,9 @@ enough for the current decision. The first K1 local-surface replay slice now
|
||||
covers all available `RAVNOVES00` samples and is visible in the operator
|
||||
interface. Leave-current-frame-out temporal qualification now covers `525`
|
||||
samples: the median surface error is stable, while the p95 tail remains too
|
||||
large for a free-space claim. The highest-value immediate work is review of the
|
||||
`12` temporal jumps and worst prediction tails, then a bounded live-shadow
|
||||
queue and separate dynamic-observation layer. Nvblox, raw-scan detectors and
|
||||
alternative SLAM remain optional later gates because the current report
|
||||
contract does not carry their required ray/timing semantics.
|
||||
large for a free-space claim. Deterministic triage has reduced the first manual
|
||||
inspection set to four high-priority frames in two episodes. The highest-value
|
||||
immediate work is prior-plane residual explainability for those episodes, then
|
||||
a bounded live-shadow queue and separate dynamic-observation layer. Nvblox,
|
||||
raw-scan detectors and alternative SLAM remain optional later gates because the
|
||||
current report contract does not carry their required ray/timing semantics.
|
||||
|
||||
@@ -51,6 +51,9 @@ Implemented now:
|
||||
explicit pose-binding age and conservative observed occupied/unknown policy;
|
||||
- leave-current-frame-out next-frame qualification over `525` samples,
|
||||
temporal jump evidence and unverified local-discontinuity candidates;
|
||||
- deterministic `missioncore.k1-local-surface-review/v1` replay triage:
|
||||
`37` attention frames grouped into `21` episodes, with four
|
||||
high-priority frames and direct source-frame navigation;
|
||||
- a provider-neutral read-only local-surface view in
|
||||
**Парк → Диагностика LiDAR**, synchronized to the five existing
|
||||
RAVNOVES00 scene selectors and a clickable complete-recording timeline;
|
||||
@@ -86,6 +89,8 @@ Not implemented:
|
||||
- no RELLIS ROS bag admission, continuous synchronized playback or production
|
||||
promotion;
|
||||
- no ray-cleared free-space or planner-authoritative rolling occupancy map.
|
||||
- no point/cell-aligned prior-plane residual overlay yet; aggregate tail
|
||||
evidence is not enough to identify its physical cause.
|
||||
|
||||
## Product surface boundary
|
||||
|
||||
|
||||
Reference in New Issue
Block a user