消息topic格式规范
Vehicle
对于车辆自身基本数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
VehicleInfo |
车辆信息 |

消息格式中部分参数为必选,如使用该数据类型,则不可缺少该参数字段,否则会导致数据上传Octopus平台失败。
/*********************************** content: Octopus 输入数据格式 version: 0.1 ************************************/ syntax = "proto3"; package Octopusdata; message VehicleFrame { uint64 stamp_secs = 1; #必选。时间戳,单位:秒 uint64 stamp_nsecs = 2; #必选。时间戳,单位:纳秒 uint32 autonomy_status = 3; #非必选。自动驾驶状态 sint32 gear_value = 4; #必选。只应从枚举常量中赋值 float vehicle_speed = 5; #必选。行驶速度,如果齿轮是倒挡,值为负。 float steering_angle = 6; #必选。转向,以角度表示。顺时针或向右为正,0为垂直或直角。 float yaw_rate = 7; #Unit: deg/s float interior_temperature = 8; #Unit: Celsius float outside_temperature = 9; #Unit: Celsius float brake = 10; #必选。刹车制动按压百分比 (0代表不按,1代表完全按下)。 uint64 timestamp = 11; #必选。时间戳。 int32 turn_left_light=12; #必选。左转灯。 int32 turn_right_light=13; #必选。右转灯。 float longitude_acc=14; #必选。纵向加速度。 float lateral_acc=15; #必选。横向加速度。 } message VehicleInfo { repeated VehicleFrame vehicle_info = 1; }
Gnss
对于卫星导航系统数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
GnssPoints |
gps点 |

消息格式中部分字段为必选,如使用该数据类型,则不可缺少该参数字段,否则会导致数据上传Octopus平台失败。
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message GnssPoint { uint64 stamp_secs = 1; #必选。时间戳,单位:秒 uint64 stamp_nsecs = 2; #必选。时间戳,单位:纳秒 float latitude = 3; #必选。纬度 float longitude = 4; #必选。经度 float elevation = 5; #必选。海拔高度,单位:米 uint64 timestamp = 6; #必选。时间戳 } message GnssPoints { repeated GnssPoint gnss_points = 1; }
Ego_tf
对于自车角度位置数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
LocalizationInfo |
主车信息 |

消息格式中部分字段为必选,如使用该数据类型,则不可缺少该参数字段,否则会导致数据上传Octopus平台失败。
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message LocalizationInfoFrame { uint64 timestamp = 1; #必选。时间戳。 uint64 stamp_secs = 2; #必选。时间戳,单位:秒 uint64 stamp_nsecs = 3; #必选。时间戳,单位:纳秒 float pose_position_x = 4; #必选。自车x轴坐标 float pose_position_y = 5; #必选。自车y轴坐标 float pose_position_z = 6; #必选。自车z轴坐标 float pose_orientation_x = 7; #必选。自车四元数x值 float pose_orientation_y = 8; #必选。自车四元数y值 float pose_orientation_z = 9; #必选。自车四元数z值 float pose_orientation_w = 10; #必选。自车四元数w值 float pose_orientation_yaw=11; #必选。朝向角,单位:rad float velocity_linear=12; #必选。速度,单位:m/s float velocity_angular=13; #必选。角速度,单位:rad/s float acceleration_linear=14; #必选。加速度,单位:m^2/s float acceleration_angular=15; #必选。角加速度,单位:rad^2/s } message LocalizationInfo { repeated LocalizationInfoFrame localization_info = 1; }
Object_array_vision
对于目标推理数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
TrackedObject |
感知目标 |

消息格式中部分字段为必选,如使用该数据类型,则不可缺少该参数字段,否则会导致数据上传Octopus平台失败。
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message Object { uint64 id = 1; #必选。目标推理数据object数组id string label = 2; #必选。标记物体类型 float pose_position_x = 3; #必选。目标物x轴坐标 float pose_position_y = 4; #必选。目标物y轴坐标 float pose_position_z = 5; #必选。目标物z轴坐标 float pose_orientation_x = 6; #必选。目标物四元数x值 float pose_orientation_y = 7; #必选。目标物四元数y值 float pose_orientation_z = 8; #必选。目标物四元数z值 float pose_orientation_w = 9; #必选。目标物四元数w值 float pose_orientation_yaw = 10; #必选。朝向角,单位:rad float dimensions_x = 11; #必选。目标物x方向尺寸(长) float dimensions_y = 12; #必选。目标物y方向尺寸(宽) float dimensions_z = 13; #必选。目标物z方向尺寸(高) float speed_vector_linear_x = 14; #必选。目标物x方向速度 float speed_vector_linear_y = 15; #必选。目标物y方向速度 float speed_vector_linear_z = 16; #必选。目标物z方向速度 float relative_position_x = 17; #必选。目标物相对于主车x方向位置 float relative_position_y = 18; #必选。目标物相对于主车y方向位置 float relative_position_z = 19; #必选。目标物相对于主车z方向位置 } message TrackedObjectFrame { uint64 timestamp = 1; #必选。时间戳 uint64 stamp_secs = 2; #必选。时间戳,单位:秒 uint64 stamp_nsecs = 3; #必选。时间戳,单位:纳秒 repeated Object objects = 4; #必选。object数组 } message TrackedObject { repeated TrackedObjectFrame tracked_object = 1; }
Tag_record
对于标签记录数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
ScenarioSegments |
场景片段 |
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message ScenarioSegment { uint32 scenario_id = 1; #必选。场景id string source = 2; #必选。片段的来源 uint64 start = 3; #必选。片段的开始时间(时间戳) uint64 end = 4; #必选。片段的结束时间(时间戳) } message ScenarioSegments { repeated ScenarioSegment segments = 1; }
Control
对于控制数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
ControlCommand |
控制命令 |
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message CommandFrame { uint64 stamp_secs = 1; uint64 stamp_nsecs = 2; uint64 timestamp = 3; #必选,时间戳 float acceleration=4; #必选,加速度值 float front_wheel_angle=5; #必选,方向盘转角 int32 gear=6; } message ControlCommand { repeated CommandFrame command_frame = 1; }
Predicted_objects
对于预测路径数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
PredictionObstacles |
预测障碍物 |
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message PathPoint { float x = 1; #必选,预测轨迹点x坐标 float y = 2; #必选,预测轨迹点y坐标 float z = 3; #必选,预测轨迹点z坐标 float theta = 4; float kappa = 5; int32 lane_id= 6; float v=7; float a=8; float relative_time=9; } message PredictionTrajectory { repeated PathPoint path_point = 1; #必选,预测轨迹多个点 } message Obstacle { uint64 obstacle_timestamp = 1; int32 id=2; #必选,预测目标的id float x = 3; #非必选,预测目标的x坐标 float y = 4; #非必选,预测目标的y坐标 float z = 5; #非必选,预测目标的z坐标 repeated PredictionTrajectory prediction_trajectory = 6; #必选,预测目标的多条轨迹 } message PerceptionObstacle { uint64 stamp_secs = 1; uint64 stamp_nsecs = 2; uint64 timestamp = 3; #必选,预测目标的时间戳 repeated Obstacle obstacle_info= 4; #必选,多个目标的预测信息 } message PredictionObstacles { repeated PerceptionObstacle perception_obstacle= 4; #必选,多条帧数据 }
Planning_trajectory
对于规划路径数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
PlanTrajectory |
规划路径 |
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message TrajectoryPoint { float x = 1; #必选,轨迹点x坐标 float y = 2; #必选,轨迹点y坐标 float z = 3; #必选,轨迹点z坐标 float theta = 4; float kappa = 5; int32 lane_id=6; float v=7; #必选,速度 float a=8; #必选,加速度 float relative_time=9; #必选,相对时间 } message Trajectory { uint64 stamp_secs = 1; uint64 stamp_nsecs = 2; uint64 timestamp = 3; #必选,时间戳 float total_path_length = 4; float total_path_time=5; int32 gear=6; #非必选,档位 int32 trajectory_type=7; int32 vehicle_signal=8; repeated TrajectoryPoint trajectory_points = 9; #必选,轨迹 } message PlanTrajectory { repeated Trajectory trajectory_info= 1; }
Routing_path
对于全局规划路径数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
RoutingFrames |
规划路径 |
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; message Point{ float x = 1; float y = 2; float z = 3; } message Path{ uint64 id = 1; repeated Point path_point = 2; } message RoutingPath{ uint64 timestamp = 1; uint64 stamp_secs = 2; uint64 stamp_nsecs = 3; repeated Path routing_path_info = 4; } message RoutingFrames{ repeated RoutingPath routing_frame = 4; }
Traffic_light_info
对于交通灯数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。
格式名称 |
说明 |
---|---|
TrafficLightInfo |
交通灯 |
/*********************************** content: Octopus 输入数据格式 version: 1.0 ************************************/ syntax = "proto3"; package Octopusdata; message Light { uint64 id = 1; uint64 color = 2; uint64 state = 3; uint64 type = 4; float location_x = 5; float location_y = 6; float location_z = 7; } message Lights { uint64 timestamp = 1; uint64 stamp_secs = 2; uint64 stamp_nsecs = 3; repeated Light lights = 4; } message TrafficLightInfo { repeated Lights trafficlight_info = 1; }