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
|
||||
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
|
||||
|
||||
- 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
|
||||
|
||||
Run the isolated upstream qualification for Candidate B, TRAVEL. Candidate A
|
||||
T2 replay is blocked by the 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.
|
||||
Verify TRAVEL's spinning-scan assumptions against the bounded causal
|
||||
RAVNOVES00 `lio_pcl` representation, then build the recorded-replay adapter if
|
||||
the required information exists. Candidate A T2 replay remains blocked by the
|
||||
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