../_config.adoc = MCAP Format
-
Must comply with the MCAP format specification version
0x30 -
Must allow other non-OSI data to be present in the MCAP file
-
Message records must be written into
chunk recordsfor indexed files -
Only OSI top-level messages containing a timestamp field are permitted to be directly stored in MCAP channels
-
Must contain only a single scenario with a unique global time
-
An MCAP file is considered a single dataset
-
namefield: Full message type name, including package (e.g.,osi3.SensorData) -
encodingfield: Must beprotobuf -
datafield: String-encodedgoogle::protobuf::FileDescriptorSetfor the OSI top-level message
-
message_encodingfield: Must beprotobuf` -
metadatafield:-
Must include an
osi_versionkey, specifying the OSI SemVer version of the OSI top-level message contained within the channel -
Must include a
protobufkey, specifying the protobuf SemVer version used to create the OSI top-level message contained within the channel -
Should include a
descriptionkey, explaining the data’s origin and purpose in natural language.
-
-
publish_timefield:-
Must reflect the timestamp of the stored OSI top-level message
-
Must be in nanoseconds
-
-
log_timefield: Must reflect the time when the message was enqueued for MCAP file addition-
Must reflect the timestamp of the stored OSI top-level message
-
Must be in nanoseconds
-
-
Must include metadata with the name
versionscontaining at least the following key-value pair:-
osi: SemVer version of the minimum required OSI version
-
-
Must include metadata with the name
asam_osicontaining at least the following key-value pairs:-
zero_time: ISO 8601 YYYYMMDDThhmmss.f formatted point in time representing the zero time of the scenario -
timestamp: ISO 8601 YYYYMMDDThhmmss.f formatted creation time of the file
-
-
It is strongly recommended to include metadata with the name
asam_osicontaining the following key-value pairs:-
description: Short human-readable scenario description -
creator: csv of person or company (not tool) creating the file -
license`csv of spdx identifiers -
data_sourcescsv of model, scenario player, etc.
-
-
Additional custom metadata may be added, but it is recommended to add a category with the name
contextwhere the key represents a prefix and the value pointing to the specification of the metadata. This allows to add other (channel-wise) metadata with the stated prefix. Thus, it becomes clear what a metadata is about and where it is specified. The following examples are given:-
GAIA-X4PLC-AAD SHACL Shape
-
Assume you want to embed the hdmap of a scenario in the MCAP file.
-
The
contextcategory contains the keyGAIA-X4PLC-AAD-hdmapwith the valuehttps://github.com/GAIA-X4PLC-AAD/ontology-management-base/blob/main/hdmap/hdmap_shacl.ttl -
A channel metadata contains the key
GAIA-X4PLC-AAD-hdmapwith the value of the hdmap data in the given SHACL shape.
-
-
openDrive Reference
-
Assume you want to express that oncoming traffic passes on the right side of the road.
-
The
contextcategory contains the keyopenDrivewith the valuehttps://publications.pages.asam.net/standards/ASAM_OpenDRIVE/ASAM_OpenDRIVE_Specification/1.8.1/specification/index.html -
A file metadata in a new metadata category with the arbitrary name
specificationcontains the keyopenDrive-road-rulewith the valueRHT
-
-
Cycle time variation of a sensor
-
Assume you want to express the interface cycle time variation of a sensor.
-
The
contextcategory contains the keyiso_23150with the value` ISO 23150:2011` -
A channel containing
OSI3::SensorDatamessages has metadata with the keyiso_23150-cycle-time-variation:and the value80
-
-
<opt. prefix>_<opt. timestamp>_<type>_<opt. suffix>.mcap
When not using an optional field, the corresponding underscore delimiter must be omitted so that no double underscore is present.
| Field | Explanation |
|---|---|
opt. prefix |
An optional prefix which may be used to specify the type of scenario (e.g. |
opt. timestamp |
Defines the absolute start time for a scenario or recording. If following the recommended zero time for the timestamps of the top-level messages, this time must represent the zero time. The format must adhere to ISO 8601 [cite:iso8601]. |
type |
Specifies the type of the contained the top-level message(s) and must be one of the following values:
|
opt. suffix |
An optional suffix which may be used the same way as the optional prefix or be used to specify further details like the minimum required OSI version. May not contain any |
Examples
The following list shows examples of valid OSI MCAP file names:
-
20210818T150542Z_highway_sv.mcap -
20210818T150542Z_highway_sv_run-1.mcap -
20210818T150542Z_highway_gt_OSI-3-7.mcap -
Highway_sd_version-1.mcap -
Highway-cut-in-no-collision_sd.mcap -
Target-5m_sd_resimulated-measurement.mcap
|
Note
|
This naming convention does not apply to .osi and .txt files, they should follow the naming convention described in their section. |