更新时间:2024-04-10 GMT+08:00
分享

消息topic格式规范

Vehicle

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

表1 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。
}

Camera

采集的camera数据通过转换工具可以保存为”.jpg”图片数据。

Lidar

采集的点云数据通过转换工具可以保存为标准的pcd格式数据。

Gnss

对于卫星导航系统数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表2 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。
}

Radar

雷达采集的点云数据通过转换工具可以保存为标准的pcd格式数据。

Ego_tf

对于自车角度位置数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表3 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

对于目标推理数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表4 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

对于标签记录数据录制的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表5 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

对于控制数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表6 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

对于预测路径数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表7 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

对于规划路径数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表8 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

对于全局规划路径数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表9 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

对于交通灯数据的消息格式,需遵循一定规范,其中部分字段为必选,其他请根据实际需要自由选取。

表10 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。
}
分享:

平台对接数据格式有哪些要求? 所有常见问题

more