Metadata
Episode-level session metadata is published on a single topic. The message carries rig and capture info, global time range, optional location, task/scene identifiers, operator and collection method, and the conversion batch version when available.
Topic & Message Type
- Topic:
/session/metadata - Message type:
session.SessionMetadata - Encoding:
protobuf
Defined in session/metadata.proto; all messages include common.header.Header.
Message definition (metadata, one message per session):
syntax = "proto3";
package session;
import "common/header.proto";
message Resolution {
uint32 height = 1;
uint32 width = 2;
}
message CaptureDevice {
string cam_model = 1;
string device_type = 2;
string firmware_version = 3;
string fps = 4;
string modality = 5;
Resolution resolution = 6;
int64 unix_start_time = 7;
int64 unix_end_time = 8;
}
message GlobalTime {
string start_time_iso = 1;
string end_time_iso = 2;
string timezone = 3;
}
message Location {
string coordinate_system = 1;
optional double latitude = 2;
optional double longitude = 3;
}
message TaskInfo {
string episode_uuid = 1;
string task_name = 2;
string task_description = 3;
string environment_id = 4;
string scene_id = 5;
}
message OperatorInfo {
double arm_span = 1;
double height = 2;
double leg_length = 3;
string unit = 4;
}
message CollectionMethod {
string description = 1;
string paradigm = 2;
}
message Operator {
CollectionMethod collection_method = 1;
string operator_id = 2;
OperatorInfo operator_info = 3;
}
// Main message for topic /session/metadata
message SessionMetadata {
common.header.Header header = 1;
string batch_version = 2;
repeated CaptureDevice devices = 3;
GlobalTime global_time = 4;
Location location = 5;
TaskInfo task_info = 6;
Operator operator = 7;
}