Files

2.1 KiB

Contract: Geometry And Time Sync Helpers

Component: shared/geo_geometry, shared/time_sync Producer task: AZ-221 — AZ-221_shared_geometry_time_sync.md Consumer tasks: AZ-223, AZ-225, AZ-226, AZ-228, AZ-230, AZ-231, AZ-232 Version: 1.0.0 Status: draft Last Updated: 2026-05-03

Purpose

Defines shared geospatial and timestamp helper behavior used by runtime components to avoid duplicated math and inconsistent frame/IMU alignment.

Shape

API Area Shape Errors
Coordinate conversion WGS84/local tangent conversions and distance calculations invalid CRS, missing origin
Camera footprint intrinsics/extrinsics/attitude/altitude to footprint and GSD invalid calibration, missing altitude
Homography metrics homography/covariance conversions and MRE support invalid geometry
Time sync monotonic checks, frame-to-IMU window selection, replay ordering timestamp mismatch, gap/jitter exceeded

Invariants

  • Helpers are deterministic for the same calibration, pose, and timestamp inputs.
  • Time helpers report gaps/jitter instead of silently dropping samples.
  • Geometry helpers do not decide safety policy; callers decide degrade/reject behavior.

Non-Goals

  • No VIO state estimation.
  • No MAVLink parsing beyond normalized timestamp fields.
  • No tile freshness or cache policy decisions.

Versioning Rules

  • Breaking changes to units, coordinate frames, or timestamp semantics require a major version bump.
  • New helper outputs may be added as optional fields in minor versions.

Test Cases

Case Input Expected Notes
valid-wgs84-local known WGS84 point and origin round-trip within tolerance Uses representative coordinates
frame-imu-window frame timestamp plus IMU samples correct aligned window Includes gap metrics
invalid-calibration missing intrinsics/extrinsics explicit error No silent fallback

Change Log

Version Date Change Author
1.0.0 2026-05-03 Initial contract autodev