docs(perception): record TRAVEL upstream qualification
This commit is contained in:
@@ -304,6 +304,13 @@ Candidate A receives no replay or runtime authority in this revision set.
|
|||||||
- Stop if Candidate A already passes and TRAVEL adds no measurable value that
|
- Stop if Candidate A already passes and TRAVEL adds no measurable value that
|
||||||
justifies GPL runtime implications.
|
justifies GPL runtime implications.
|
||||||
|
|
||||||
|
The upstream T3 qualification passed on `2026-08-26`: exact-source KITTI
|
||||||
|
regression was bit-identical to the committed gold result, the standalone
|
||||||
|
example produced all outputs and the ROS 2 Jazzy node was discoverable. See
|
||||||
|
[`experiments/perception/M49_T3_TRAVEL_UPSTREAM_QUALIFICATION_2026-08-26.md`](../experiments/perception/M49_T3_TRAVEL_UPSTREAM_QUALIFICATION_2026-08-26.md).
|
||||||
|
RAVNOVES00 replay remains gated on scan-model compatibility and the GPL runtime
|
||||||
|
boundary.
|
||||||
|
|
||||||
### T4 — Candidate C occupancy/ESDF probe
|
### T4 — Candidate C occupancy/ESDF probe
|
||||||
|
|
||||||
- Run nvblox separately with RF-DETR disabled for the isolated probe.
|
- Run nvblox separately with RF-DETR disabled for the isolated probe.
|
||||||
@@ -321,7 +328,9 @@ Candidate A receives no replay or runtime authority in this revision set.
|
|||||||
|
|
||||||
## Immediate next action
|
## Immediate next action
|
||||||
|
|
||||||
Run the isolated upstream qualification for Candidate B, TRAVEL. Candidate A
|
Verify TRAVEL's spinning-scan assumptions against the bounded causal
|
||||||
T2 replay is blocked by the failed unmodified T1 gate. No LOW-STEP tuning, new
|
RAVNOVES00 `lio_pcl` representation, then build the recorded-replay adapter if
|
||||||
object model, camera resize, fisheye rectification, manual dataset or parallel
|
the required information exists. Candidate A T2 replay remains blocked by the
|
||||||
heavy Worker job is authorized by this decision.
|
failed unmodified T1 gate. No LOW-STEP tuning, new object model, camera resize,
|
||||||
|
fisheye rectification, manual dataset or parallel heavy Worker job is
|
||||||
|
authorized by this decision.
|
||||||
|
|||||||
@@ -0,0 +1,99 @@
|
|||||||
|
# M4.9 T3 TRAVEL upstream qualification — 2026-08-26
|
||||||
|
|
||||||
|
Status: **upstream candidate qualified**; RAVNOVES00 quality, realtime,
|
||||||
|
navigation and actuation remain disabled
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
The frozen TRAVEL revision builds and passes its official C++ regression path
|
||||||
|
on Worker 006. The run also passes the standalone example smoke and produces a
|
||||||
|
discoverable ROS 2 Jazzy `travel_node`.
|
||||||
|
|
||||||
|
This accepts TRAVEL for the next recorded-replay compatibility gate. It does
|
||||||
|
not yet accept the RAVNOVES00 `lio_pcl` representation, Mission Core latency,
|
||||||
|
vegetation handling, obstacle quality, navigation or control.
|
||||||
|
|
||||||
|
## Frozen identity
|
||||||
|
|
||||||
|
| Item | Identity |
|
||||||
|
| --- | --- |
|
||||||
|
| TRAVEL source | `95dc2fbd66a343efd9060c45a5711b6307a950a4` |
|
||||||
|
| Mission Core qualification source | `67578f4ce16316dbaa562cba466ca9ab820fa380` |
|
||||||
|
| Deterministic Worker artifact | `01cb4954de748d2e23567734a5dc5043ebfa7d1596313c3ddba792fa94ac3cb7` |
|
||||||
|
| Worker image | `sha256:7b412020f4d8392d1d1ed1b33beadc44140f0ea8f781e62dd69796042334300f` |
|
||||||
|
| Image size | `1,030,088,960` bytes |
|
||||||
|
| KITTI fixture | `1,994,688` bytes; SHA-256 `bf272996d5b6d25cc5589e1089137cb20a98b63bd4823a7fea5631b359f6d68c` |
|
||||||
|
| Committed gold result | SHA-256 `8aaacaa57d17a8a2f043c3ea0a0c134d36a3c50da2385f2364ca4eff53ea9b9f` |
|
||||||
|
|
||||||
|
The release artifact was built twice with identical SHA-256, copied into a new
|
||||||
|
Worker release directory and verified again before extraction. The run used
|
||||||
|
the exact upstream revision and did not modify its source.
|
||||||
|
|
||||||
|
## Upstream result
|
||||||
|
|
||||||
|
- `124,668` KITTI points loaded.
|
||||||
|
- Official C++ regression output was bit-identical to the committed gold dump.
|
||||||
|
- Ground segmentation produced `70,175` ground and `54,462` non-ground points.
|
||||||
|
- Above-ground clustering received `54,462` points, projected `47,311`,
|
||||||
|
labeled `45,792` and produced `185` canonical clusters in the regression
|
||||||
|
representation.
|
||||||
|
- The standalone example wrote non-empty ground, non-ground and labeled
|
||||||
|
outputs.
|
||||||
|
- ROS 2 Jazzy discovered `travel_ros travel_node` from the isolated merged
|
||||||
|
install.
|
||||||
|
|
||||||
|
The example prints `The # of point clouds and # of labels are not same`
|
||||||
|
because the official smoke fixture intentionally contains a Velodyne frame but
|
||||||
|
no optional KITTI labels directory. The example returns success and writes all
|
||||||
|
three required outputs; the official upstream CI uses the same unlabeled smoke
|
||||||
|
shape. This diagnostic is recorded rather than hidden.
|
||||||
|
|
||||||
|
## Timing and memory
|
||||||
|
|
||||||
|
| Measurement | Observation |
|
||||||
|
| --- | ---: |
|
||||||
|
| Worker image build | `290.528115 s` |
|
||||||
|
| Worker qualification wrapper | `1.667882 s` |
|
||||||
|
| Sealed in-container qualification section | `617 ms` |
|
||||||
|
| C++ bit-regression wall time | `0.04 s` |
|
||||||
|
| C++ bit-regression maximum RSS | `39,504 KiB` |
|
||||||
|
| Reported TGS time | `11.168 ms` |
|
||||||
|
| Reported AOS range-map / clustering / post stages | `3 / 6 / 1 ms` |
|
||||||
|
|
||||||
|
These numbers are promising but are not Mission Core realtime acceptance. They
|
||||||
|
cover one native KITTI scan and include neither RAVNOVES00 causal support
|
||||||
|
assembly nor pose transforms, camera arbitration, costmap publication or full
|
||||||
|
graph load.
|
||||||
|
|
||||||
|
## Sealed evidence
|
||||||
|
|
||||||
|
Worker output root:
|
||||||
|
|
||||||
|
`D:\NDC_MISSIONCORE\runtime\results\m49-t3-travel\upstream-001`
|
||||||
|
|
||||||
|
| File | Bytes | SHA-256 |
|
||||||
|
| --- | ---: | --- |
|
||||||
|
| `result.json` | `674` | `d3fb582b96f907c92156767bf0186fa565897f593bcfd89943ad6a639c0aed38` |
|
||||||
|
| `worker-summary.json` | `824` | `baedc1b292691be50c5ef70169df1ff43f99f0e122f527a557a599a906a90d28` |
|
||||||
|
| `qualification.log` | `3,557` | `7dc5b8ecb1cb8ad91fc08edbfcc6ab818e4524e271b0524bb02914cf5f96d933` |
|
||||||
|
| `resource.txt` | `893` | `dc5638295170cb1edd9c16e2c4ae9b53a89b22b014d27a847c127d6b9afa541c` |
|
||||||
|
|
||||||
|
After capture, the candidate container and one-shot scheduled task were absent.
|
||||||
|
Canonical `ndc-mission-core-triton` remained `running/healthy`. The build and
|
||||||
|
qualification requested no CUDA, Vulkan or GPU lease; the concurrent Frigate
|
||||||
|
GPU allocation was not modified.
|
||||||
|
|
||||||
|
## Compatibility gate before RAVNOVES00 replay
|
||||||
|
|
||||||
|
TRAVEL's accepted KITTI profile assumes an organized spinning-LiDAR geometry
|
||||||
|
(`64` vertical scans, `4,500` horizontal bins and a fixed vertical angle
|
||||||
|
range). RAVNOVES00 supplies registered vendor-map increments rather than one
|
||||||
|
conventional complete raw scan per video frame. The next step must therefore
|
||||||
|
prove that a bounded causal body-frame representation preserves the angular
|
||||||
|
and temporal information TRAVEL requires. Missing returns may not be invented,
|
||||||
|
treated as free, or filled from future frames.
|
||||||
|
|
||||||
|
TRAVEL remains GPL-3.0-or-later and is evaluation-only until a separate
|
||||||
|
distribution decision. Camera semantics remain primary for material meaning;
|
||||||
|
LiDAR/TRAVEL remains metric evidence and cannot independently declare tall
|
||||||
|
vegetation traversable.
|
||||||
Reference in New Issue
Block a user