消息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。 }