Sensor Schema
The sensor_schema module defines OceanSim’s professional sensor envelope. It preserves sensor-specific payload fields while adding stable metadata required by downstream robotics, mapping, dataset, and replay tools.
Schema fields
Field |
Required |
Description |
|---|---|---|
|
yes |
Whether the sensor is enabled. |
|
yes |
Status string, usually |
|
yes |
Must be |
|
yes |
Current minimum schema version is |
|
yes |
Sensor family name. |
|
yes |
Timing metadata. |
|
yes |
Frame or scan sequence number. |
|
yes |
Coordinate-frame metadata. |
|
yes |
Deterministic seed used for noise metadata. |
|
yes |
Sensor extrinsics. |
|
yes |
Uncertainty metadata mapping. |
Functions
- normalize_sensor_payload(payload, sensor_type='unknown')
Return a copy of a sensor payload with missing envelope fields filled in. This is tolerant for compact payloads that do not yet include the full envelope.
- Returns:
normalized payload dictionary.
- validate_sensor_payload(payload, name='sensor')
Normalize then validate the payload. It checks required fields, schema name/version, timestamps, frame identifiers, extrinsic vector lengths, and covariance shape.
- Raises:
SensorSchemaError – when validation fails.
- validate_sensor_set(sensors, required=())
Validate every payload in a sensor dictionary and optionally check that required sensor keys are present.
- Returns:
normalized payloads keyed by sensor name.
Point-cloud access
3D lidar and RGB-D modules expose structured cloud payloads. Use point_cloud.py helpers instead of manual list indexing.
Function |
Purpose |
|---|---|
|
Convert |
|
Return local or world Nx3 coordinates from structured or compact payloads. |
|
Return per-point intensity or zeros for compact xyz-only clouds. |
|
Return an organized range image as |
|
Filter point arrays by Euclidean range. |