feat: qualify complete K1 replay on worker
This commit is contained in:
@@ -5,7 +5,7 @@ Status: accepted architecture plan; L0/L1 implemented; L2 diagnostic A/B
|
||||
complete; full GOOSE and RELLIS qualification complete; L2.6d K1 replay
|
||||
local-surface temporal qualification, operator triage and prior-plane residual
|
||||
explainability implemented; L2.6e recorded-source-paced bounded shadow
|
||||
qualified; physical K1 shadow next
|
||||
qualified; E28 complete worker replay accepted; dynamic-observation layer 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
|
||||
@@ -423,8 +423,10 @@ Dataset expansion is no longer the next gate.
|
||||
- [x] Replay the same profile through a bounded latest-wins shadow queue at the
|
||||
recorded 1× source rate; no K1 command, navigation or safety authority is
|
||||
added.
|
||||
- [ ] Bind that runtime to physical live K1 point/pose evidence through the
|
||||
existing authenticated external-worker seam.
|
||||
- [x] Bind the complete raw replay to the normalizer, point/pose binder and
|
||||
bounded estimator through the authenticated external-worker seam.
|
||||
- [ ] Commission the same seam against physical live K1 evidence only when
|
||||
hardware/network behavior becomes the test subject.
|
||||
|
||||
The implemented `missioncore.k1-local-surface/v1` derivative is reproducible
|
||||
through `experiments/perception/run_k1_local_surface.py` and is exposed
|
||||
@@ -437,36 +439,40 @@ local-discontinuity candidates. The candidates are not semantic curb
|
||||
recognition or ground truth. The React contract is provider-neutral; K1 remains
|
||||
a bound backend source rather than UI implementation knowledge.
|
||||
|
||||
The complete RAVNOVES00 run covered all `526/526` available LiDAR samples.
|
||||
There were zero stale-pose, insufficient-surface or failed-fit frames. Observed
|
||||
diagnostic distributions are: derived sensor-to-surface height `1.295 m` p50,
|
||||
roughness `0.054 m` p95, slope `3.172°` p95 and pose-binding age `19.113 ms`
|
||||
p95. These values describe this recording only; they are not calibration,
|
||||
ground truth or a navigation gate.
|
||||
The complete RAVNOVES00 pack contains `4,489` timeline frames and `9,207,270`
|
||||
points. `3,928` frames carry available LiDAR evidence and all `3,928` produced
|
||||
a valid result; `561` timeline frames are explicitly unavailable. There were
|
||||
zero stale-pose, insufficient-surface or failed-fit frames. Observed diagnostic
|
||||
distributions are: derived sensor-to-surface height `1.2816 m` p50, roughness
|
||||
`0.06736 m` p95, slope `4.1895°` p95 and pose-binding age `21.8545 ms` p95.
|
||||
These values describe this recording only; they are not calibration, ground
|
||||
truth or a navigation gate.
|
||||
|
||||
The L2.6b qualification scores each available frame against a local plane built
|
||||
only from the preceding TTL window; the frame being scored is excluded from
|
||||
the prediction input. It produced `525` independent next-frame samples. The
|
||||
distribution of per-frame median absolute residual has `0.038543 m` p50 and
|
||||
`0.050398 m` p95. Prediction inlier fraction has `0.96354` p50 and `0.95133`
|
||||
mean. The temporal comparison detected `12/525` strict-threshold jumps; height
|
||||
delta is `0.022887 m` p95, slope delta `0.09572°` p95 and roughness delta
|
||||
`0.003317 m` p95.
|
||||
the prediction input. It produced `3,927` independent next-frame samples. The
|
||||
distribution of per-frame median absolute residual has `0.04065 m` p50 and
|
||||
`0.07304 m` p95. Prediction inlier fraction has `0.94643` p50 and `0.91937`
|
||||
mean. The temporal comparison detected `205/3,927` strict-threshold jumps;
|
||||
height delta is `0.02891 m` p95, slope delta `0.12410°` p95 and roughness
|
||||
delta `0.00520 m` p95.
|
||||
|
||||
The central surface is therefore repeatable at roughly four-centimetre median
|
||||
error on this replay. The tail is not yet planner evidence: the distribution
|
||||
of per-frame p95 residual has `0.41496 m` p95 and reaches `1.083 m`. Step/curb
|
||||
candidates occur in every available frame (`68.5` cells and `83` points p50),
|
||||
of per-frame p95 residual has `0.66193 m` p95 and reaches `1.735 m`. Step/curb
|
||||
candidates occur in every available frame (`75` cells and `99` points p50),
|
||||
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
|
||||
The earlier content-bound `526`-frame review generation is retained for
|
||||
operator evidence and regression history. Its
|
||||
`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
|
||||
That reviewed slice 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`.
|
||||
|
||||
@@ -517,7 +523,7 @@ immutable replay derivative: zero state, point-class or step-candidate
|
||||
mismatches and zero scalar delta. The accepted result is
|
||||
`k1-local-surface-shadow-04f14d8c580f74cbd5b0a452867563ebc6b3ef93d872129e4918680932253ab7`.
|
||||
|
||||
The authenticated external worker now contains the next bounded seam.
|
||||
The authenticated external worker now contains the accepted bounded seam.
|
||||
`missioncore.k1-local-surface-pose-binder/v1` accepts decoded map-frame
|
||||
`lio_pcl` and `lio_pose` in either arrival order, binds by bounded worker
|
||||
host-arrival time, and publishes only matched pairs to the capacity-two
|
||||
@@ -527,18 +533,28 @@ counts every point frame; the final report records pose-binding misses,
|
||||
binder/runtime overflow, exact queue accounting, processing failures and p95
|
||||
result age.
|
||||
|
||||
The pinned physical profile is
|
||||
`experiments/perception/worker/e28_physical_k1_local_surface_profile.json`.
|
||||
It requires at least `100` bound frames, at most `5%` pose misses, `1%` binder
|
||||
point replacement, `1%` runtime replacement and `80 ms` p95 worker-local
|
||||
result age. The existing D-only PowerShell worker launcher accepts this
|
||||
physical profile and verifies that the minimal hash-addressed package contains
|
||||
the local-surface geometry, binder/runtime and ground primitives.
|
||||
The pinned profile is
|
||||
`experiments/perception/worker/e28_worker_replay_local_surface_profile.json`.
|
||||
It separates a lossless depth-eight authenticated LiDAR ingress from the
|
||||
freshness-first capacity-two estimator. The acceptance gate requires at least
|
||||
`9 Hz`, no more than `100 ms` p95 result age, at most `8%` explicitly
|
||||
superseded estimator inputs, at most `5%` pose misses, at most `1%` binder
|
||||
replacement, exact queue accounting and shadow-only authority.
|
||||
|
||||
This is implementation readiness, not a physical result. The next gate is to
|
||||
build and stage the new content-addressed worker package on D, execute the
|
||||
profile against an attached K1 and retain the generated report. Commands,
|
||||
free-space, navigation and safety authority remain disabled.
|
||||
LAB E28 executed the complete recording on `mission-gpu` through the normal
|
||||
authenticated wire. All `4,570` LiDAR and `4,598` pose events arrived with
|
||||
zero sequence gaps; all `4,570` point frames bound with no miss or binder
|
||||
replacement. The worker persisted `4,206` results, explicitly superseded
|
||||
`364/4,570` inputs (`7.965%`), delivered `9.1945 Hz`, and measured
|
||||
`89.530 ms` full p95 result age. Processing p95 was `45.470 ms`; failures were
|
||||
zero. The accepted result is
|
||||
`e28-local-surface-wire-e1b0902d502267aff5f0bf78365b24967f98c83d7c1e6bb0f9dc2934c0684ceb`.
|
||||
|
||||
This is a worker replay result, not a physical acquisition result. The next
|
||||
gate is a separate dynamic-observation layer plus explicit staleness/deadline
|
||||
health. Physical K1 execution is deferred until hardware-clock, field-network
|
||||
or acquisition behavior is the test subject. Commands, free-space, navigation
|
||||
and safety authority remain disabled.
|
||||
|
||||
Exit: one immutable K1 session yields both a persistent reconstruction and a
|
||||
bounded local world state without hard-coded terrain height or scanner-side
|
||||
@@ -563,10 +579,12 @@ independent gate without increasing unsafe false-free or false-dynamic output.
|
||||
|
||||
- [x] Add a provider-neutral bounded LiDAR local-surface queue independent of
|
||||
camera cadence and qualify it at recorded 1× source pace.
|
||||
- [x] Bind authenticated decoded physical `lio_pcl + lio_pose` to that queue
|
||||
with bounded buffers, exact accounting and a pinned physical acceptance
|
||||
- [x] Bind authenticated decoded replay `lio_pcl + lio_pose` to that queue
|
||||
with bounded buffers, exact accounting and a pinned worker acceptance
|
||||
profile.
|
||||
- [ ] Run the accepted K1 local-surface/local-map profile on the NVIDIA worker.
|
||||
- [x] Run the complete accepted K1 local-surface profile on the NVIDIA worker.
|
||||
- [ ] Commission physical K1 acquisition separately; do not block replay
|
||||
development on device presence.
|
||||
- [ ] Fuse K1 geometric evidence with E26 camera evidence as independent
|
||||
sources; a LiDAR-native detector remains optional.
|
||||
- [ ] Publish `agree`, `single-source`, `conflict` and `unknown`; unknown remains
|
||||
@@ -625,15 +643,18 @@ natural-ground recall from `51.76%` to `76.22%` and stays below `23.41 ms` p95
|
||||
across 961 frames. Full RELLIS qualification covers `2,413` validation frames
|
||||
and rejects Patchwork++ because the small Ground-IoU gain came with unacceptable
|
||||
obstacle loss. Public-dataset ground qualification is therefore complete
|
||||
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. Deterministic triage has reduced the first manual
|
||||
inspection set to four high-priority frames in two episodes. Prior-plane
|
||||
residual explainability now shows that episode `09` is a localized positive
|
||||
structure rather than symmetric plane drift. The highest-value immediate work
|
||||
is therefore the physical K1 run through the now-implemented bounded
|
||||
live-shadow seam, followed by a separate dynamic-observation layer. Nvblox,
|
||||
enough for the current decision. The complete K1 local-surface derivative now
|
||||
covers `4,489` timeline frames, including `3,928` available LiDAR frames, and
|
||||
is visible in the operator interface. Leave-current-frame-out temporal
|
||||
qualification covers `3,927` samples: the median surface error is stable,
|
||||
while the p95 tail remains too large for a free-space claim. The retained
|
||||
review generation reduces its first manual inspection set to four
|
||||
high-priority frames in two episodes. Prior-plane residual explainability
|
||||
shows that episode `09` is a localized positive structure rather than
|
||||
symmetric plane drift. The complete worker replay proves the bounded
|
||||
live-shadow seam at `9.1945 Hz` and `89.530 ms` p95 result age without a
|
||||
connected scanner. The highest-value immediate work is therefore the separate
|
||||
dynamic-observation and staleness-health layer. Physical K1 commissioning
|
||||
follows only when hardware behavior is in scope. Nvblox,
|
||||
raw-scan detectors and alternative SLAM remain optional later gates because the
|
||||
current report contract does not carry their required ray/timing semantics.
|
||||
|
||||
@@ -49,11 +49,13 @@ Implemented now:
|
||||
- a content-addressed `missioncore.k1-local-surface/v1` replay derivative over
|
||||
immutable `RAVNOVES00`, with dynamic height/slope/roughness/confidence,
|
||||
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;
|
||||
- a complete `4,489`-frame timeline derivative with `3,928` valid LiDAR
|
||||
results, `9,207,270` points and leave-current-frame-out qualification over
|
||||
`3,927` samples;
|
||||
- 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;
|
||||
the retained `526`-frame review generation has `37` attention frames grouped
|
||||
into `21` episodes, with four high-priority frames and direct source-frame
|
||||
navigation;
|
||||
- point/cell-aligned prediction evidence in
|
||||
`missioncore.k1-local-surface-frame/v2`: the prior-only plane, current
|
||||
lower-cell coordinates, signed residual and derived inlier mask are
|
||||
@@ -61,6 +63,9 @@ Implemented now:
|
||||
- a provider-neutral read-only local-surface view in
|
||||
**Парк → Диагностика LiDAR**, synchronized to the five existing
|
||||
RAVNOVES00 scene selectors and a clickable complete-recording timeline;
|
||||
- a complete recorded-host-paced 1× worker replay through authenticated
|
||||
ingress, K1 normalization, point/pose binding and a bounded latest-wins
|
||||
surface estimator: `4,206` results at `9.1945 Hz` and `89.530 ms` p95 age;
|
||||
- worker storage admission for `D:\NDC_MISSIONCORE\datasets` and
|
||||
`/mnt/d/NDC_MISSIONCORE/datasets`;
|
||||
- a dedicated, honest dataset catalog in **Полигон → Датасеты**;
|
||||
@@ -93,11 +98,11 @@ Not implemented:
|
||||
- no RELLIS ROS bag admission, continuous synchronized playback or production
|
||||
promotion;
|
||||
- no ray-cleared free-space or planner-authoritative rolling occupancy map;
|
||||
- the accepted K1 local-surface profile now passes a 15-second
|
||||
recorded-source-paced bounded shadow gate; authenticated physical
|
||||
`lio_pcl + lio_pose` binding and its pinned acceptance profile are
|
||||
implemented, but no attached-K1 run has qualified them yet. The residual
|
||||
overlay remains non-authoritative.
|
||||
- the accepted K1 local-surface profile now passes both the historical
|
||||
15-second equivalence gate and the complete external-worker replay gate.
|
||||
Physical K1 acquisition, hardware-clock and field-network commissioning
|
||||
remain separate and intentionally unqualified. The residual overlay remains
|
||||
non-authoritative.
|
||||
|
||||
## Product surface boundary
|
||||
|
||||
|
||||
Reference in New Issue
Block a user