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