feat(lab): add bounded local SLAM surface
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user