feat(lab): add bounded local SLAM surface

This commit is contained in:
DCCONSTRUCTIONS
2026-08-06 09:41:25 +03:00
parent b8fb4ebcba
commit b7a51e26e6
10 changed files with 369 additions and 8 deletions
+24
View File
@@ -35,6 +35,10 @@ RECORDED_SPATIAL_CHUNK_SCHEMA: Final = "missioncore.recorded-spatial-evidence-ch
RECORDED_SPATIAL_FRAME_SCHEMA: Final = "missioncore.recorded-spatial-evidence-frame/v1"
RECORDED_SPATIAL_POINT_LIMIT: Final = 4_096
RECORDED_SPATIAL_MAX_CHUNK_FRAMES: Final = 24
RECORDED_LOCAL_SURFACE_WINDOW_SECONDS: Final = 2.0
RECORDED_LOCAL_SURFACE_VOXEL_SIZE_M: Final = 0.10
RECORDED_LOCAL_SURFACE_RADIUS_M: Final = 12.0
RECORDED_LOCAL_SURFACE_POINT_LIMIT: Final = 20_000
_EXPECTED_FRAME_COUNT: Final = 4_489
_SOURCE_TIME = re.compile(rb'"source_time_ns":([0-9]+)')
@@ -117,6 +121,14 @@ class RecordedThreatTimeline:
"point_sample_limit": RECORDED_SPATIAL_POINT_LIMIT,
"point_delivery": "exact-current-increment",
"maximum_source_points_per_frame": self.store.maximum_current_point_count,
"local_surface_visualization": {
"derivation": "bounded-registered-increment-accumulation",
"window_seconds": RECORDED_LOCAL_SURFACE_WINDOW_SECONDS,
"voxel_size_m": RECORDED_LOCAL_SURFACE_VOXEL_SIZE_M,
"radius_m": RECORDED_LOCAL_SURFACE_RADIUS_M,
"point_limit": RECORDED_LOCAL_SURFACE_POINT_LIMIT,
"authority": "visual-derived",
},
"image_width": 800,
"image_height": 600,
"rig": {
@@ -203,6 +215,14 @@ class RecordedThreatTimeline:
"session_seconds": self.index.source_times_ns[sequence] / 1_000_000_000,
"source_available": source_available,
"spatial_available": body_frame is not None,
"body_frame": None
if body_frame is None
else {
"origin_map_xyz_m": list(body_frame.origin_map_xyz_m),
"basis_map_from_body": [
list(row) for row in body_frame.basis_map_from_body
],
},
"point_cloud_body_xyz_m": point_cloud,
"point_cloud_source_count": point_source_count,
"point_cloud_sample_count": len(point_cloud),
@@ -285,6 +305,10 @@ def _decision_counts(assessments: list[dict[str, object]]) -> dict[str, int]:
__all__ = [
"RECORDED_SPATIAL_CHUNK_SCHEMA",
"RECORDED_SPATIAL_FRAME_SCHEMA",
"RECORDED_LOCAL_SURFACE_POINT_LIMIT",
"RECORDED_LOCAL_SURFACE_RADIUS_M",
"RECORDED_LOCAL_SURFACE_VOXEL_SIZE_M",
"RECORDED_LOCAL_SURFACE_WINDOW_SECONDS",
"RECORDED_SPATIAL_MAX_CHUNK_FRAMES",
"RECORDED_SPATIAL_POINT_LIMIT",
"RECORDED_SPATIAL_TIMELINE_SCHEMA",