- the data is Foxglove well-known messages (camera images, point clouds, transforms, poses, GPS), so the same file opens in Foxglove with no conversion;
- two small Nomadic message types cover what Foxglove has no schema for:
nomadic.Signalfor time series andnomadic.Skeletonfor 3D keypoints; - one
nomadic_specoverlay, a JSON document stored in the file’s metadata, says what each channel means: which camera is the front one, which point cloud is LiDAR, a signal’s name and unit, and what body the recording comes from.
Conformance language
Versions
spec_version in the overlay is "1.0" or "1.1". Every 1.0 file remains valid. Version 1.1
adds the body model for robots and people: platform.kind, platform.body_dimensions and
platform.parts, plus nomadic.Skeleton keypoints. New converters SHOULD write "1.1".
At a glance
Reading this specification
File structure
One recording per file, channels, the overlay record and its top-level fields.
Recording and time
Recording identity, the clock, tasks and time-segmented annotations.
Frames, poses and units
Coordinate frames, transforms, the body pose, units and quaternions.
Body and parts
What the recording is of, and its arms, hands, legs, head and torso.
Signals
Any named time series: types, wire format, units and recognised names.
Cameras
Views and roles, intrinsics and accepted encodings.
Point clouds
LiDAR and radar, their frames and fields.
GPS
Geographic position as
foxglove.LocationFix.Validation
What is rejected or warned, and how to check an overlay before you upload.
Schemas
The overlay JSON Schema and the
nomadic.* protobuf definitions.