docs: make K1 realtime map the primary lidar source
This commit is contained in:
parent
d8b7ed4526
commit
cfe17e49bb
|
|
@ -131,6 +131,14 @@ K1 `lio_pcl` remains a post-LIO vendor-map increment and is not promoted to a
|
|||
raw scan. Large dataset bytes are admitted only on the Windows/WSL worker under
|
||||
`D:\NDC_MISSIONCORE\datasets`; no archive is downloaded automatically.
|
||||
|
||||
That representation boundary does not reject K1 as the production starting
|
||||
sensor. The passively received real-time `lio_pcl` plus `lio_pose` stream is
|
||||
the primary K1 input for two separate derivatives: a short-TTL local world
|
||||
model and a persistent territory reconstruction. `RAVNOVES00` is the immutable
|
||||
private replay dataset for this work. No K1 firmware change, onboard exporter
|
||||
or new device command is part of the LiDAR roadmap, and the historical
|
||||
`1.27 m` handheld-height experiment is not a runtime constant.
|
||||
|
||||
The complete RELLIS-3D v1.1 release is now admitted there and its full
|
||||
`2,413`-frame validation split is available in **Полигон → Датасеты**. The
|
||||
sealed Current/Patchwork++ comparison rejected Patchwork++ for navigation:
|
||||
|
|
|
|||
|
|
@ -61,6 +61,22 @@ The physical Lab 002 capture now provides stronger evidence than the prior
|
|||
official-material inference: a compressed left/right preview leaves the device.
|
||||
It still does not prove a full-resolution raw panorama stream.
|
||||
|
||||
### Architecture clarification · 2026-07-25
|
||||
|
||||
The processed nature of `lio_pcl` does not make the stream non-real-time or
|
||||
unsuitable as the current K1 perception source. Mission Core received the
|
||||
point/pose reports while the rig moved; K1 had already performed onboard
|
||||
LIO/modeling before publication. The accepted roadmap therefore keeps K1 as the
|
||||
physical starting sensor and produces separate short-TTL perception and
|
||||
persistent-reconstruction derivatives from the immutable report stream.
|
||||
|
||||
Current LiDAR work is passive. Static firmware evidence may explain fields and
|
||||
processing order, but does not authorize a firmware change, onboard exporter,
|
||||
internal-topic invocation or new application command. The handheld `1.27 m`
|
||||
estimate is retained only in its historical diagnostic result; operational
|
||||
surface height is time-varying and must be estimated from pose-relative
|
||||
geometry when the selected platform profile requires ground.
|
||||
|
||||
### Still unsupported until measured
|
||||
|
||||
- Local `map.las` layout resembles the network stream.
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@ The LiDAR-native extension is governed by
|
|||
successfully is not evidence that its LiDAR assumptions are satisfied. In
|
||||
particular, the accepted E10 replay pack v1 has no intensity, and the current K1
|
||||
stream is a vendor map increment rather than an unregistered sensor sweep.
|
||||
It is nevertheless the primary passively received real-time K1 source. The
|
||||
worker must adapt to its declared representation rather than require another
|
||||
physical scanner or mutate the K1 acquisition path.
|
||||
|
||||
`missioncore.lidar-replay-pack/v2` closes the field-retention gap without
|
||||
rewriting v1. Its manifest binds exact raw/metadata evidence, logical point/pose
|
||||
|
|
@ -21,8 +24,10 @@ host latency and algorithm disagreement. The first official Patchwork++ v1.4.1
|
|||
run is diagnostic-only: current K1 evidence is a vendor-map increment, not the
|
||||
sensor-centric scan and physical-height contract Patchwork++ expects. The
|
||||
read-only `/api/v1/lidar/ground-benchmarks` surface therefore publishes
|
||||
`production_promotion=false` until an independent annotation generation or an
|
||||
admitted raw scan closes the input gate.
|
||||
`production_promotion=false`. GOOSE and full RELLIS qualification have since
|
||||
validated the benchmark harness and rejected universal Patchwork++ promotion;
|
||||
they do not change the K1 representation. Acquiring a raw K1 scan is not part
|
||||
of the current roadmap.
|
||||
|
||||
The companion read-only
|
||||
`/api/v1/lidar/ground-benchmarks/{benchmark_id}/frames/{frame_index}` endpoint
|
||||
|
|
@ -44,27 +49,29 @@ instead of synthesizing a value.
|
|||
|
||||
Static K1 3.0.2 firmware evidence confirms that the appliance internally uses
|
||||
a Livox MID-360 point/IMU path with richer timestamp/ring semantics and a
|
||||
configured MQTT point-cloud downsample factor of four. This creates a concrete
|
||||
next integration target—an admitted onboard export or bag contract—but does
|
||||
not change the authority or input acceptance of existing `lio_pcl` recordings.
|
||||
The 1.27 m operator-height profile is likewise explicit and reproducible, but
|
||||
remains `operator-estimated` rather than runtime-calibrated.
|
||||
configured MQTT point-cloud downsample factor of four. This explains the
|
||||
representation boundary but does not authorize an onboard export, firmware
|
||||
change, internal-topic invocation or new K1 command. The worker consumes only
|
||||
admitted report streams or immutable recordings made from them. The `1.27 m`
|
||||
operator-height profile remains a reproducible historical diagnostic and must
|
||||
never become a runtime ground constant.
|
||||
|
||||
## Boundary
|
||||
|
||||
```text
|
||||
K1
|
||||
-> XGRIDS device plugin / Mission Core Edge
|
||||
-> authoritative raw session on Mac
|
||||
-> authoritative lossless report-stream session on Mac
|
||||
-> bounded missioncore.compute-job/v1
|
||||
-> replaceable GPU worker / Triton
|
||||
-> content-addressed missioncore.compute-result/v1
|
||||
-> optional validated Rerun derived layer
|
||||
```
|
||||
|
||||
The GPU worker cannot discover, provision, start or stop a K1. It receives an
|
||||
observation package and returns derived observations. The Mac archive is never
|
||||
rewritten when a job is prepared or a result is received.
|
||||
The GPU worker cannot discover, provision, start or stop a K1. LiDAR perception
|
||||
experiments are subscribe/replay-only and invoke no K1 application command. The
|
||||
worker receives an observation package and returns derived observations. The
|
||||
Mac archive is never rewritten when a job is prepared or a result is received.
|
||||
|
||||
## Recorded camera job v1
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,10 @@ Status date: 2026-07-20.
|
|||
|
||||
LiDAR-native work after E26 follows
|
||||
`docs/13_LIDAR_WORKER_PRODUCT_AND_ROADMAP.md`: lossless replay and scanner
|
||||
quality first, then ground segmentation and a PointPillars baseline. Alternative
|
||||
odometry/SLAM is not admitted for the current vendor-mapped K1 stream.
|
||||
quality first, then a map-native K1 local world model over the passively
|
||||
received real-time stream. PointPillars and alternative odometry/SLAM are
|
||||
deferred because their raw-scan assumptions are not admitted for the current
|
||||
vendor-mapped K1 stream.
|
||||
|
||||
## Outcome
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Mission Core Polygon: product definition and system requirements
|
||||
|
||||
Status: canonical working SRS, 2026-07-24.
|
||||
Status: canonical working SRS, 2026-07-25.
|
||||
|
||||
Ops source of truth:
|
||||
|
||||
|
|
@ -52,6 +52,19 @@ The repository's proven vertical remains K1 observation, durable archive,
|
|||
recorded perception and diagnostic motion evidence through LAB E26. It has not
|
||||
accepted navigation behavior, safety behavior or real actuator control.
|
||||
|
||||
The physical K1 boundary is passive for current perception work:
|
||||
|
||||
- `lio_pcl` plus `lio_pose` is the primary real-time scanner source and is
|
||||
recorded without rewriting received payloads;
|
||||
- `RAVNOVES00` is an immutable private experimental dataset derived from that
|
||||
real-time session;
|
||||
- a short-TTL local world model and a persistent territory reconstruction are
|
||||
separate derivatives of the same source;
|
||||
- no K1 firmware modification, onboard exporter, internal-topic invocation or
|
||||
new K1 application command is part of the Polygon or LiDAR roadmap;
|
||||
- the historical `1.27 m` handheld estimate is not an operational mounting or
|
||||
ground-height constant.
|
||||
|
||||
Polygon is now a parallel product branch. As of this document:
|
||||
|
||||
- P0 architecture and SRS are committed on the Polygon branch;
|
||||
|
|
@ -828,6 +841,12 @@ prove a closed-loop avoidance maneuver.
|
|||
- SCAND supplies social-navigation demonstrations but remains replay evidence.
|
||||
- RAVNOVES00 first enters as canonical replay/shadow; only S5 may turn an
|
||||
attested reconstruction into a digital-twin world.
|
||||
- Replay experiments may estimate a time-varying local surface from K1 pose and
|
||||
mapped geometry. A surface-bound profile derives height, slope, roughness and
|
||||
traversability from that surface; a free-flight profile uses 3D
|
||||
occupancy/clearance and does not require a ground plane.
|
||||
- Public datasets qualify algorithms against independent labels. They are not
|
||||
visual quality references for K1 and are never mixed into K1 device evidence.
|
||||
|
||||
Unknown or unobserved space remains unknown/occupied according to the selected
|
||||
safety policy.
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
# LiDAR worker: product value, evidence boundary and implementation roadmap
|
||||
|
||||
Date: 2026-07-25
|
||||
Status: accepted architecture plan; L0/L1 implemented; L2 diagnostic A/B complete;
|
||||
Dataset Gateway first-frame Current/Patchwork++ A/B complete
|
||||
Scope: real scanner records, replay and future live shadow processing
|
||||
Explicitly out of scope: Unreal U0/U1, Gaussian assets and simulator rendering
|
||||
Status: accepted architecture plan; L0/L1 implemented; L2 diagnostic A/B
|
||||
complete; full GOOSE and RELLIS qualification complete; K1 local-world-model
|
||||
gate 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
|
||||
K1 application commands, Unreal U0/U1, Gaussian assets and simulator rendering
|
||||
|
||||
## 1. Decision
|
||||
|
||||
|
|
@ -25,6 +28,27 @@ the control and review surface. Mission Core owns immutable inputs, exact
|
|||
profiles, result identities, acceptance gates and diagnostic-only authority.
|
||||
Models do not gain scanner, navigation, command or safety authority.
|
||||
|
||||
The current physical scanner is the accepted hardware starting point. Mission
|
||||
Core does not require another LiDAR before it can qualify useful perception.
|
||||
It treats the passively received K1 `lio_pcl` plus `lio_pose` pair as one
|
||||
real-time source with two product uses:
|
||||
|
||||
1. a temporally bounded local world model for perception and later shadow
|
||||
planning;
|
||||
2. a persistent reconstruction of the territory traversed by the rig.
|
||||
|
||||
Those uses share immutable source evidence but apply different retention,
|
||||
freshness and dynamic-object policies. Perception processing must not alter the
|
||||
scanner output or overwrite the reconstruction source.
|
||||
|
||||
No operational algorithm hard-codes the distance from the LiDAR to terrain.
|
||||
For a surface-bound vehicle, Mission Core estimates a time-varying local
|
||||
surface from pose-relative geometry and derives height, slope, roughness and
|
||||
steps from that surface. A future fixed installation adds only the rigid
|
||||
`T_body_from_lidar` transform; it does not make ground height a constant. A
|
||||
free-flying platform uses full 3D occupancy and clearance and may leave ground
|
||||
unavailable when no local surface is observed.
|
||||
|
||||
## 2. What the current K1 source actually contains
|
||||
|
||||
The firmware-3 `lio_pcl` stream currently exposes:
|
||||
|
|
@ -40,6 +64,13 @@ distance diagnostics. What is not proven by that inverse transform is that the
|
|||
result is the original unregistered sweep with preserved beam origin,
|
||||
acquisition order and motion timing.
|
||||
|
||||
The stream was nevertheless received while the K1 and its operator were
|
||||
moving. `Real-time` describes when Mission Core received the product; `raw`
|
||||
describes where that product sits in the scanner pipeline. These properties
|
||||
are independent. Mission Core losslessly recorded the real-time MQTT product,
|
||||
while K1 had already registered and sampled the points onboard before
|
||||
publishing them.
|
||||
|
||||
Static, read-only analysis of the K1 3.0.2 deployment artifacts additionally
|
||||
shows that the appliance internally:
|
||||
|
||||
|
|
@ -55,6 +86,11 @@ current external MQTT contract preserves those fields, and private firmware
|
|||
artifacts remain outside Git. The redacted evidence is recorded in
|
||||
`docs/lab/005_K1_FW302_LIDAR_PIPELINE_20260725.redacted.md`.
|
||||
|
||||
The static evidence is explanatory only. The current roadmap does not authorize
|
||||
changing the K1 firmware, installing an exporter, invoking an internal raw
|
||||
topic or sending a new device command. All K1 perception experiments consume
|
||||
only already admitted report streams or immutable recordings made from them.
|
||||
|
||||
The external contract does not currently expose an admitted:
|
||||
|
||||
- raw sensor-frame sweep;
|
||||
|
|
@ -71,14 +107,18 @@ be silently mutated because E10–E26 results are content-bound to that schema.
|
|||
|
||||
These facts have architectural consequences:
|
||||
|
||||
- current K1 points can support display, calibrated projection, persistent
|
||||
support and bounded geometric analysis;
|
||||
- the live stream can be converted back to a pose-relative sensor XYZI tensor;
|
||||
- current K1 points are the primary real-sensor input and can support display,
|
||||
reconstruction, calibrated projection, persistent support, pose-relative
|
||||
distances and bounded geometric analysis;
|
||||
- `T_map_from_lidar` permits a current pose-relative XYZI view, but that view
|
||||
does not recreate the firing pose and time of every point;
|
||||
- the same immutable stream must produce separate short-TTL perception and
|
||||
persistent reconstruction derivatives;
|
||||
- the v1 replay pack cannot feed the admitted NVIDIA PointPillars baseline;
|
||||
- KISS-ICP, KISS-SLAM, FAST-LIO2, LIO-SAM or GLIM cannot honestly rebuild K1
|
||||
odometry from points that are already vendor-mapped;
|
||||
- deskew and LiDAR-inertial SLAM are blocked until the scanner or a future
|
||||
vehicle LiDAR driver supplies raw scans, timing and IMU evidence.
|
||||
- raw-scan-only algorithms remain deferred rather than becoming a reason to
|
||||
reject or replace the current scanner.
|
||||
|
||||
The executable truth is
|
||||
`missioncore.lidar-evidence-profile/v1` in
|
||||
|
|
@ -109,10 +149,12 @@ camera parallax, but it is not planner-ready: most camera observations remain
|
|||
unknown, camera-only velocity is not metric, 374 conflicts remain, and the
|
||||
benchmark is not independent ground truth.
|
||||
|
||||
The next work must therefore improve the LiDAR-native input and evaluation
|
||||
surface, not add another visual smoothing pass. Mission Core will use
|
||||
independently labeled public datasets before requesting any new manual K1
|
||||
annotation. The current K1 evidence stays an unlabeled out-of-domain smoke test.
|
||||
The next work must therefore improve the map-native interpretation of the
|
||||
actual K1 stream, not add another visual smoothing pass and not wait for a
|
||||
different scanner. `RAVNOVES00` is an immutable private field dataset for
|
||||
replay experiments over the accepted real-time contract. GOOSE and RELLIS
|
||||
remain independent algorithm-qualification sources; they are not visual
|
||||
quality references and are not mixed into K1 device evidence.
|
||||
|
||||
## 4. Market and stack assessment
|
||||
|
||||
|
|
@ -157,8 +199,9 @@ The worker exposes provider-neutral jobs rather than one growing camera script:
|
|||
| --- | --- | --- | --- |
|
||||
| `lidar-quality/v1` | immutable LiDAR evidence | field/timing/density/intensity report | diagnostic |
|
||||
| `lidar-ground/v1` | sensor-frame XYZI + pose | ground/non-ground points and metrics | diagnostic |
|
||||
| `lidar-local-surface/v1` | mapped increments + pose | local surface, height, slope, roughness, step and confidence | shadow |
|
||||
| `lidar-3d-detection/v1` | sensor-frame XYZI | classified 3D observations + uncertainty | shadow |
|
||||
| `lidar-local-map/v1` | scans + synchronized pose | occupancy/TSDF/ESDF artifacts | shadow |
|
||||
| `lidar-local-map/v1` | mapped increments + pose | short-TTL occupied/unknown, persistence and dynamic evidence | shadow |
|
||||
| `lidar-mapping-benchmark/v1` | raw scans + optional IMU | trajectory/map comparison | offline diagnostic |
|
||||
|
||||
Every result is content-addressed and binds:
|
||||
|
|
@ -238,9 +281,9 @@ quality line. It is not repaired or hidden by replay.
|
|||
distributions in `missioncore.lidar-ground-benchmark/v1`.
|
||||
- [x] Create an immutable eight-frame annotation template in which every point
|
||||
starts as `ignore-unreviewed`; it is explicitly not ground truth.
|
||||
- [ ] Keep the K1 annotation template frozen as an optional later
|
||||
- [x] Keep the K1 annotation template frozen as an optional later
|
||||
domain-adaptation asset; do not make manual review the current critical path.
|
||||
- [ ] Measure accepted ground IoU and obstacle recall first against an admitted
|
||||
- [x] Measure accepted ground IoU and obstacle recall first against an admitted
|
||||
GOOSE native scan and its published point-wise labels.
|
||||
|
||||
The real diagnostic run is
|
||||
|
|
@ -259,6 +302,12 @@ latency remains 0.42 ms. Algorithm IoU is 4.07% p50 and disagreement is 19.13%
|
|||
p50. The run is useful for visual review, but its evidence class is
|
||||
`operator-estimated`, so input acceptance and production promotion stay false.
|
||||
|
||||
The `1.27 m` value is retained only because it explains this historical
|
||||
experiment. It is not a K1 profile default, a vehicle mounting parameter or an
|
||||
operational ground reference. A moving or flying rig requires a time-varying
|
||||
surface estimate; if the geometry does not support one, the result is
|
||||
`unknown`, not a substituted constant.
|
||||
|
||||
The operator-facing field generation is
|
||||
`lidar-field-review-57f359dae336f06962e3a29e69e2da1bb8365f9af46d5d3173609f92d43db1ef`.
|
||||
It uses the immutable RAVNOVES00 E10 derivative
|
||||
|
|
@ -293,7 +342,7 @@ path. K1 manual review or a new real vehicle dataset is reserved for later
|
|||
domain adaptation after a public baseline proves that the pipeline and metric
|
||||
harness work.
|
||||
|
||||
### L2.5 — Dataset Gateway — GOOSE qualification and RELLIS S0 complete
|
||||
### L2.5 — Dataset Gateway — GOOSE and full RELLIS qualification complete
|
||||
|
||||
- [x] Define separate `native-scan`, `normalized-scan` and
|
||||
`rolling-local-map` representations.
|
||||
|
|
@ -323,17 +372,45 @@ harness work.
|
|||
`131,072` point/label alignment and publish a bounded semantic viewer.
|
||||
- [x] Version the RELLIS `ground / non-ground / ignore` mapping and expose
|
||||
licensing as research-only evidence.
|
||||
- [ ] Admit the full RELLIS Ouster SemanticKITTI scans, labels and poses on
|
||||
worker D, then run the same Current/Patchwork++ harness.
|
||||
- [x] Admit the full RELLIS Ouster SemanticKITTI scans, labels and poses on
|
||||
worker D and run the same Current/Patchwork++ harness over all `2,413`
|
||||
validation frames.
|
||||
|
||||
The architectural contract and run sequence are fixed in
|
||||
`docs/14_LIDAR_DATASET_GATEWAY.md` and ADR 0021. GOOSE is first because its
|
||||
published 3D format is one LiDAR revolution with point-wise semantic and
|
||||
instance labels in off-road environments. The RELLIS-3D compatibility smoke is
|
||||
now complete against official frame `000104`; the full second-source algorithm
|
||||
cross-check remains the next gate.
|
||||
instance labels in off-road environments. Full RELLIS qualification then
|
||||
showed that Patchwork++ slightly improved Ground IoU while reducing obstacle
|
||||
non-ground recall from `80.46%` to `69.70%`; the candidate was rejected.
|
||||
Dataset expansion is no longer the next gate.
|
||||
|
||||
### L3 — LiDAR-native 3D detection
|
||||
### L2.6 — K1 local world model — next
|
||||
|
||||
- [ ] Bind the immutable `RAVNOVES00` source and replay-pack-v2 evidence without
|
||||
rewriting either generation.
|
||||
- [ ] Transform each admitted map increment through the nearest compatible
|
||||
`T_map_from_lidar` and publish pose-binding age explicitly.
|
||||
- [ ] Estimate a time-varying local surface for ground-vehicle profiles using
|
||||
robust spatial cells and temporal support; do not use the historical
|
||||
`1.27 m` value.
|
||||
- [ ] Publish surface height, slope, roughness, step/curb candidates and
|
||||
confidence separately from semantic classes.
|
||||
- [ ] Produce short-TTL `occupied` and `unknown` layers from current evidence.
|
||||
Do not infer `free` merely because a mapped point is absent.
|
||||
- [ ] Keep persistent reconstruction, recent collision evidence and dynamic
|
||||
observations as separate derivatives of the same source.
|
||||
- [ ] Reuse the accepted camera-to-LiDAR projection as an optional semantic
|
||||
layer with source, confidence, freshness and conflict fields.
|
||||
- [ ] Measure latency, point age, pose-binding age, temporal stability, obstacle
|
||||
preservation and memory growth over the complete recording.
|
||||
- [ ] Replay the same profiles through a bounded latest-wins live-shadow queue;
|
||||
no K1 command, navigation or safety authority is added.
|
||||
|
||||
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.
|
||||
|
||||
### L3 — LiDAR-native 3D detection — deferred behind L2.6
|
||||
|
||||
- [ ] Establish the public-dataset baseline first; freeze K1-specific 3D
|
||||
annotations only when a measured domain gap justifies them.
|
||||
|
|
@ -351,8 +428,9 @@ independent gate without increasing unsafe false-free or false-dynamic output.
|
|||
### L4 — live shadow integration
|
||||
|
||||
- [ ] Add a bounded LiDAR queue independent of camera cadence.
|
||||
- [ ] Run the accepted detector profile on the NVIDIA worker.
|
||||
- [ ] Fuse LiDAR-native objects with E26 camera evidence as independent sources.
|
||||
- [ ] Run the accepted K1 local-surface/local-map profile on the NVIDIA worker.
|
||||
- [ ] 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
|
||||
occupied.
|
||||
- [ ] Measure sensor-to-result latency, deadline misses, drops, memory and GPU
|
||||
|
|
@ -363,13 +441,14 @@ false.
|
|||
|
||||
### L5 — local occupancy and Nav2
|
||||
|
||||
- [ ] Obtain and validate the K1/future vehicle LiDAR scan model, or use a
|
||||
different admitted source that supplies it.
|
||||
- [ ] Prove pose and time behavior required by nvblox.
|
||||
- [ ] Benchmark static occupancy/TSDF and ESDF output on real replay.
|
||||
- [ ] Qualify conservative hit-based occupied/unknown output from the existing
|
||||
K1 mapped stream first.
|
||||
- [ ] Keep dynamic observations in a separate decaying layer.
|
||||
- [ ] Connect the accepted 2D slice to Nav2 through the existing world-state
|
||||
boundary.
|
||||
- [ ] Keep ray-cleared free space, TSDF and ESDF unavailable unless a future
|
||||
admitted source contract actually supplies the required beam origin/timing
|
||||
evidence. Do not modify K1 firmware to close this optional gate.
|
||||
|
||||
Exit: local collision-space quality and deadline gates pass in replay and
|
||||
shadow. This still does not authorize control.
|
||||
|
|
@ -388,6 +467,8 @@ The current K1 `lio_pcl` stream cannot satisfy this gate.
|
|||
|
||||
The near-term value is not a prettier point cloud:
|
||||
|
||||
- one physical K1 stream supports both real-time local-world interpretation
|
||||
and persistent territory reconstruction;
|
||||
- a trustworthy observation tells the operator whether the scanner, transport,
|
||||
pose, calibration or model failed;
|
||||
- lossless replay makes model and worker upgrades repeatable;
|
||||
|
|
@ -397,16 +478,16 @@ The near-term value is not a prettier point cloud:
|
|||
to route validation and later collision checking;
|
||||
- the same job/result contracts accept real, replayed or simulated sources
|
||||
without moving heavy compute into React;
|
||||
- hardware selection becomes evidence-driven: a future vehicle LiDAR is
|
||||
accepted by its timing/fields/profile, not by vendor marketing.
|
||||
- the current scanner is improved through replaceable software derivatives
|
||||
without changing its acquisition behavior or firmware.
|
||||
|
||||
The GOOSE validation-split and deterministic degradation gates are complete:
|
||||
pinned Patchwork++ improves micro Ground IoU from `47.42%` to `66.40%`, raises
|
||||
natural-ground recall from `51.76%` to `76.22%` and stays below `23.41 ms` p95
|
||||
across 961 frames. RELLIS S0 proves that the shared reader, axes, ontology and
|
||||
ground-target mapping work on a different Ouster off-road domain; it does not
|
||||
yet score an algorithm. The decision remains shadow-only. The highest-value
|
||||
immediate work is full RELLIS ground qualification, followed by the real
|
||||
sensor input contract and LiDAR-native detection on the same gateway. Nvblox
|
||||
and alternative SLAM remain later because their timing, pose and scan-geometry
|
||||
gates are not yet satisfied.
|
||||
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 highest-value immediate work is the K1
|
||||
local world model over `RAVNOVES00`, followed by bounded live shadow. Nvblox,
|
||||
raw-scan detectors and alternative SLAM remain optional later gates because the
|
||||
current report contract does not carry their required ray/timing semantics.
|
||||
|
|
|
|||
|
|
@ -15,6 +15,19 @@ This prevents tuning an algorithm until a visually dense vendor map merely
|
|||
looks plausible. It also keeps work reusable across Gazebo, Unreal, public
|
||||
datasets and future real onboard sensors.
|
||||
|
||||
`Dataset` names an immutable experiment input, not one universal point-cloud
|
||||
representation. Mission Core keeps two evidence classes:
|
||||
|
||||
- public labeled native-scan datasets such as GOOSE and RELLIS qualify
|
||||
algorithms against independent answers;
|
||||
- private real-sensor datasets such as `RAVNOVES00` replay the exact K1
|
||||
`lio_pcl`/`lio_pose` representation received during a physical session.
|
||||
|
||||
`RAVNOVES00` is therefore a dataset for K1 local-world-model experiments even
|
||||
though it must never be relabeled as a native scan. Jobs bind its existing
|
||||
session/replay identity and create replaceable derivatives; they do not copy,
|
||||
rewrite or mix public points into the K1 source.
|
||||
|
||||
## Current admitted slice
|
||||
|
||||
Implemented now:
|
||||
|
|
|
|||
|
|
@ -71,6 +71,30 @@ define the normalization.
|
|||
- The 1.27 m run makes the effect of the operator estimate visible and
|
||||
repeatable, but remains diagnostic-only.
|
||||
|
||||
## Architecture clarification — 2026-07-25
|
||||
|
||||
This ADR rejects one algorithm/input pairing. It does not reject K1 as the
|
||||
physical LiDAR, downgrade its real-time report stream to an offline-only source
|
||||
or require replacement hardware.
|
||||
|
||||
- `lio_pcl` and `lio_pose` were received while the handheld rig moved and are
|
||||
admitted as the primary real-sensor replay/shadow source.
|
||||
- The pose permits points to be expressed relative to the current pivot. It
|
||||
does not prove the original firing pose/time of every already mapped point.
|
||||
- The historical `1.27 m` value is never an operational constant. It remains
|
||||
only in the immutable Patchwork++ diagnostic identity.
|
||||
- A ground-vehicle profile estimates the local surface over time and derives
|
||||
sensor-to-surface height, slope and roughness from that surface. A free-flight
|
||||
profile uses 3D occupancy/clearance and may publish ground as unavailable.
|
||||
- A future fixed rig contributes `T_body_from_lidar`; it does not make height
|
||||
above terrain constant.
|
||||
- Persistent reconstruction and short-TTL perception are separate derivatives
|
||||
of the same immutable K1 evidence. Neither derivative rewrites the source.
|
||||
- Current work is passive: no K1 firmware change, onboard exporter, internal
|
||||
topic invocation or new application command is authorized.
|
||||
- `RAVNOVES00` is retained as an immutable private experimental dataset. All
|
||||
prior benchmark artifacts remain valid records of the investigated approach.
|
||||
|
||||
## Real diagnostic evidence
|
||||
|
||||
Benchmark
|
||||
|
|
|
|||
Loading…
Reference in New Issue