Files
MoGoEagleEye/libraries/mogo-adas-data/src/main/proto/message_pad.proto

943 lines
39 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
syntax = "proto3";
package mogo.telematics.pad;
import "geometry.proto";
enum ProtocolVersion
{
Defaultver = 0;
CurrentVersion = 10; //每次修改proto文件增加1
}
enum MessageType
{
MsgTypeDefault = 0;
//透传消息列表,不需要明确消息定义, 仅作记录,供鹰眼使用
MsgTypePlanningDecisionState = 0x00001; //planning决策状态, 透传 定频10hz
MsgTypeSweeperTaskIndexData = 0x00002; //清扫车指标数据 定频10hz
MsgTypeObuWarningData = 0x00003; //obu预警事件 不定频
MsgTypeCameraCalibCheckData30 = 0x01001; //相机标定检查视频, 10hz, jpeg. image_raw_30
MsgTypeCameraCalibCheckData60 = 0x01002; //相机标定检查视频, 10hz, jpeg. image_raw_60
MsgTypeCameraCalibCheckData120Front = 0x01003; //相机标定检查视频, 10hz, jpeg. image_raw_120
MsgTypeCameraCalibCheckData120Back = 0x01004; //相机标定检查视频, 10hz, jpeg. image_raw_back
MsgTypeCameraCalibCheckData120Left = 0x01005; //相机标定检查视频, 10hz, jpeg. image_raw_left
MsgTypeCameraCalibCheckData120Right = 0x01006; //相机标定检查视频, 10hz, jpeg. image_raw_right
MsgTypeTrajectory = 0x10000; //局部轨迹,车前引导线 定频10hz
MsgTypeTrackedObjects = 0x10001; //障碍物信息 定频10hz
MsgTypeGnssInfo = 0x10002; //惯导信息 定频20hz
MsgTypeVehicleState = 0x10003; //底盘信息, 透传底盘状态pb参考底盘 定频20hz
MsgTypeAutopilotState = 0x10004; //自动驾驶状态 定频20hz
MsgTypeReportMessage = 0x10005; //系统事件 不定频
MsgTypePerceptionTrafficLight = 0x10006; //融合感知红绿灯 定频10hz
MsgTypePredictionObstacleTrajectory = 0x10007; //他车轨迹预测 定频10hz
MsgTypePointCloud = 0x10008; //点云透传 定频1hz
MsgTypePlanningObjects = 0x10009; //planning障碍物 定频10hz
MsgTypeOBU = 0x1000a; //OBU红绿灯, 宜宾df专用, 非常态, 有则定频10hz
MsgTypeChassisStates = 0x1000b; //重构后的底盘状态, 透传 定频20hz
MsgTypeFunctionStates = 0x1000c; //重构后的功能状态, 透传 定频1hz
MsgTypeBackCameraVideo = 0x1000d; //清扫车后部摄像头视频 定频10hz
MsgTypeM1StitchedVideo = 0x1000e; //m1拼接视频 定频10hz
MsgTypeSSMState = 0x1000f; //ssm 系统状态 定频1hz hq m1 MAP350开始支持其他车型MAP360开始支持
MsgTypeFMState = 0x10010; //FM状态 定频1hz bus和清扫车是MAP370开始支持其他车型MAP360开始支持
MsgTypeFSM2024State = 0x10011; //20240531 FSM状态 定频10hz telematics做状态变化判断无变化10hz上报有变化立即上报 BUS MAP440开始支持其他车型暂未支持
MsgTypeLocState = 0x10012; //定位呈现状态透传 用于pad图标显示 1hz 所有车型MAP440开始支持
MsgTypeCloudRegulatoryWarning = 0x10013; //云控监管预警信息上报
//### 以下消息全部不定频 ###
MsgTypeBasicInfoReq = 0x10100; //自动驾驶设备基础信息请求
MsgTypeBasicInfoResp = 0x10101; //自动驾驶设备基础信息应答
MsgTypeSetAutopilotModeReq = 0x10102; //设置自动驾驶模式
MsgTypeSetDemoModeReq = 0x10103; //设置演示模式
MsgTypeCarConfigReq = 0x10104; //车机基础信息请求
MsgTypeCarConfigResp = 0x10105; //车机基础信息应答
MsgTypeRecordCause = 0x10106; //记录人工接管原因
MsgTypeRecordData = 0x10107; //数据采集请求
MsgTypeRecordResult = 0x10108; //数据采集结果
MsgTypeSetAutopilotSpeedReq = 0x10109; //设置自动驾驶最大速度
MsgTypeGlobalPathReq = 0x1010a; //自动驾驶路径请求
MsgTypeGlobalPathResp = 0x1010b; //自动驾驶路径应答
MsgTypeTrafficLightData = 0x1010c; //发送红绿灯数据到工控机 废弃
MsgTypeWarn = 0x1010d; //预警数据 废弃
MsgTypeArrivalNotification = 0x1010e; //到站提醒
MsgTypeSystemCmdReq = 0x1010f; //系统命令请求, 比如系统重启,启用新镜像
MsgTypeTrajectoryDownloadReq = 0x10110; //轨迹下载请求
MsgTypeStatusQueryReq = 0x10111; //状态查询请求
MsgTypeStatusQueryResp = 0x10112; //状态查询应答
MsgTypeSetRainModeReq = 0x10113; //设置雨天模式
MsgTypeRecordDataConfigReq = 0x10114; //数据采集配置查询请求
MsgTypeRecordDataConfigResp = 0x10115; //数据采集配置查询应答
MsgTypeOperatorCmdReq = 0x10116; //操控指令
MsgTypeSubscribeDataReq = 0x10117; //数据订阅、取消订阅请求
MsgTypeSpecialVehicleTaskCmd = 0x10118; //特种车辆命令
MsgTypeSetParamReq = 0x10119; //设置参数命令
MsgTypeTripInfoEvent = 0x1011a; //行程信息
MsgTypeBagManagerCmd = 0x1011b; //bag管理
MsgTypePlanningCmd = 0x1011c; //给planning的指令
MsgTypeSetParamReqV2 = 0x1011d; //设置参数命令V2
MsgTypeV2nCongestionEvent = 0x1011e; //主车附近拥堵事件推送, 透传
MsgTypeV2nGlobalPathEvents = 0x1011f; //主车路径全局事件推送, 透传
MsgTypeGetParamReq = 0x10120; //参数获取请求
MsgTypeGetParamResp = 0x10121; //参数获取应答
MsgTypeTaskCmd = 0x10122; //云控任务指令, 云控<->鹰眼双向透传
MsgTypeFSMStatusReasonQueryReq = 0x10123; //fsm状态原因查询
MsgTypeFSMStatusReasonQueryResp = 0x10124; //fsm状态原因查询应答
MsgTypeGetDebugInfo = 0x10125; //debug信息查询 pad->telematics
MsgTypeParallelDrivingCmd = 0x10126; //无人化场景,平行驾驶请求相关指令及状态反馈, 云控<->鹰眼双向透传
MsgTypeReceivedAck = 0x10127; //消息接收ack, 表示消息已接收到
MsgTypeV2nNioGreenWavePassageEvent = 0x10128; //绿波通行(单路口)事件推送, 透传
MsgTypeV2nNioCrossoverEvent = 0x10129; //行人横穿(路侧)事件推送, 透传
MsgTypeV2nNioOtherRetrogradeEvent = 0x1012a; //他车逆行(路侧)事件推送, 透传
MsgTypeV2nNioCongestionEvent = 0x1012b; //拥堵事件推送, 透传
MsgTypeLaneMarksTran = 0x1012c;//车道线上传
MsgTypeCollisionReport = 0x1012d;//碰撞上报
MsgTypePowerUnit = 0x1012e;//电源模块通信
MsgTypeSSMFuncMsg = 0x1012f;//SSM功能(上下行)
MsgTypeSSMFuncStatusQuery = 0x10130;//SSM功能状态查询及返回(上下行)
}
message Header
{
uint64 msgID = 1; //消息唯一id自增
MessageType msgType = 2; //消息类型
double timestamp = 3; //消息发送时间, 单位:秒
double sourceTimestamp = 4; //数据源消息发送时间, 单位:秒
uint32 needAck = 5; //是否需要接收回执,仅重要消息使用 0: 不需要 1: 需要
}
// message definition for MsgTypeReceivedAck
message ReceivedAck
{
repeated uint64 msgids = 1; //确认收到的msgid列表
}
// message definition for MsgTypeV2nNioGreenWavePassageEvent
message V2nCrossSpeed
{
//直行
uint32 speed_straight_min = 1;
uint32 speed_straight_max = 2;
//左转
uint32 speed_left_min = 3;
uint32 speed_left_max = 4;
//右转
uint32 speed_right_min = 5;
uint32 speed_right_max = 6;
//车道限速
uint32 max_speed = 7;
//限速来源 0融合 1默认
uint32 max_status = 8;
//路口经度
double lng = 9;
//路口纬度
double lat = 10;
}
// message definition for MsgTypeV2nNioCongestionEvent
message V2nCongestion
{
// 消息时间,发送消息时间戳,单位毫秒
uint64 msg_time = 1;
// 消息名称
string msg_name = 2;
// 数据源0:路侧设备、1:人工上报、2:地图、3:三方数据源
uint32 data_source = 3;
// 路段拥堵详情
repeated CongestionInfo infos = 4;
}
message Geo{
// 经度
double lon = 1;
// 维度
double lat = 2;
}
message EventLocationGeo{
//开始经度--队头
double startLng = 1;
//开始纬度--队头
double startLat = 2;
//结束经度 -- 队尾
double endLng = 3;
//结束纬度 --队尾
double endLat =4;
// 事件区域--- 车道中心线的坐标
repeated Geo regions = 5;
}
message TimePeriod{
// 事件开始时间UTC+0 时间戳,精确到毫秒
uint64 start_time = 1;
// 事件结束时间UTC+0 时间戳,精确到毫秒,没有传 0
uint64 end_time = 2;
// 事件更新时间UTC+0 时间戳,精确到毫秒,没有传 0
uint64 update_time = 3;
// 事件确认时间UTC+0 时间戳,精确到毫秒,没有传 0
uint64 confirm_time = 4;
}
message CongestionInfo
{
// 事件状态0:消散、1:生成
uint32 data_status = 1;
// 事件时间相关信息
TimePeriod time_period = 2;
// 事件发生位置的经纬度信息
EventLocationGeo event_location_geo = 3;
//事件发生的原始照片
repeated string img_file_key = 4;
// 事件类型, 101 施工、 102 三角牌, 103 静止车,104 拥堵
uint32 event_type = 5;
// 事件唯一性
string msg_uuid = 6;
// 拥堵等级 1畅通2缓行3拥堵4严重拥堵
uint32 congestion_level = 7;
// 车道号
uint32 lane_no = 8;
// 拥堵细类 0路段拥堵1 路口拥堵
uint32 congestion_type = 9;
// 车道方向正北是0顺时针方向
double bearing = 10;
// 如果拥堵细类是路口,则有该路口中心点坐标
double lon = 11;
double lat = 12;
// 视频地址 2024-06-03新增字段
string video_url = 13;
// 来源ip 2024-06-03 新增字段
string camera_ip = 14;
}
enum EventType
{
CONVERSE_RUNNING = 0;//逆行/倒车
SLOW_RUNNING = 1;//慢行
SPEEDING_RUNNING = 2;//快行
EMERGENCY_BRAKING = 3;//紧急制动
ABNORMAL_PARKING = 4;//异常停车
NON_VEHICLE_INTRUSION = 5;//行人/非机动车闯入
}
// message definition for MsgTypeV2nNioCrossoverEvent / MsgTypeV2nNioOtherRetrogradeEvent
message Event
{
uint32 channelId = 1; //渠道来源mogo默认10
uint64 rcuId = 2; //平台未维护,暂用基站号
EventType eventType = 3; //事件类别
uint32 confidence = 4; //事件置信度
uint32 gnssType = 5; //坐标系类型, 0:GCJ02坐标系2:WGS84坐标系
double longitude = 6;
double latitude = 7;
uint64 timestamp = 8; //时间戳
string eventId = 9; // 事件id
string exts = 10; //扩展字段传递相机ip{"cameraIp":"172.18.7.40"}
uint32 targetIdsLen = 11; //事件关联的目标对象uuid个数
repeated string targetIds = 12; //事件关联的目标对象uuid列表
}
// message definition for MsgTypeTrajectory
message TrajectoryPoint
{
double longitude = 1;
double latitude = 2;
double altitude = 3;
double time = 4; //时间, 单位:秒
double velocity = 5; //速度, m/s
double acceleration = 6; //加速度, m/s^2
double theta = 7; //速度方向
double kappa = 8; //曲率
double accumulatedDis = 9; //从起点到目前的总距离
double reversedAccumulatedDis = 10; //从当前到终点的距离
}
// message definition for MsgTypeCloudRegulatoryWarning
message CloudRegulatoryWarning
{
repeated CloudRegulatoryWarningInner cloudRegulatoryWarnings = 1;
}
message CloudRegulatoryWarningInner
{
uint32 type = 1; //0:车辆位置异常 1:自动驾驶脱离 2:超速行驶 3:非机动车逆行
string desc = 2;
}
message Trajectory
{
repeated TrajectoryPoint points = 1;
}
enum AdditionalAttribute
{
ATTR_UNKNOWN = 0;
ATTR_ZOMBIE = 1; // 僵尸车
ATTR_ROAD_CONSTRUCTION = 2; // 道路施工区域
ATTR_STATIC = 3; // 静止障碍物
ATTR_ACCIDENT = 4; // 事故车
ATTR_ROAD_CONGESTION = 5; // 车辆拥堵
}
// message definition for MsgTypeTrackedObjects
message SubSource
{
uint32 source = 1; // TrackedSource=1:1-lidar 2-camera 3-radar 4-vidar 5-falcon
// TrackedSource=2:1-v2v_bsm 2-v2i_rsm 3-v2v_ssm 4-v2n_rsm 5-v2n_rsi 6-v2i_ssm 7-v2i_rsi 8-v2n_rsm_2
string id = 2; //HEX_string -bsm_id
}
message TrackedSource
{
uint32 source = 1; // 1-car 2-v2x
repeated SubSource sub_source = 2;
}
message TrackedObject
{
uint32 type = 1; //物体类型, 0:Background, 1:Person, 2:Bicycle, 3:Car, 4:MotorCycle,
//5:TrafficSign, 6:Bus, 7:CellPhone, 8:Truck, 9:Bottle, 10:TrafficLight,
//11:Rider, 12:TriangleRoadblock, 13:WarningTriangle, 100:Unknown,
//447:TAILBACK 501:RoadWork_occupy_0501, 502:RoadWork_break_0502,
//707:ROAD_CONGESTION
double longitude = 2; //经度
double latitude = 3; //纬度
double altitude = 4; //海拔
double systemTime = 5; //系统时间 单位秒s
double satelliteTime = 6; //gps时间 单位秒s
uint32 uuid = 7; //车辆id
string carID = 8; //车牌id
string color = 9; //车辆颜色
double heading = 10; //车辆朝向
double speed = 11; //车辆速度
uint32 drawLevel = 12; //危险等级 1 绿,2 黄,3 红
double driverTime = 13; //驱动感知时间, abandoned
repeated TrackedSource tracked_source = 14;
repeated Location polygon = 15;
geometry.Point center = 16;
AdditionalAttribute add_attribute = 17; //事件类型
double angle = 18; //相对于自车x轴的角度左正右负
repeated string image_url = 19; //事件发生的原始照片
string video_url = 20; //事件发生的原始视频
string camera_ip = 21; //来源IP
uint64 detect_start_time = 22; //V2N事件生成UTC时间单位毫秒
string v2x_uuid = 23; //V2X目标uuid
reserved 24 to 100;
string strUuid = 101;//String类型车辆ID
}
message LocalizationInfo
{
double stamp = 1; //seconds
float longitude = 2;
float latitude = 3;
float alt = 4;
float heading = 5;
}
message BlindAreaData
{
float angleResolution = 1; //degrees
repeated int32 distances = 2; //unit: cm
LocalizationInfo localizationInfo = 3;
float maxRange = 4; //unit: m
}
message TrackedObjects
{
repeated TrackedObject objs = 1;
BlindAreaData blindAreaData = 2;
uint32 collision_risk = 3; //0: no risk 1: risk with a < -5m/s2 2: collision detected
}
// message definition for MsgTypeGnssInfo
message GnssInfo
{
double longitude = 1; //经度
double latitude = 2; //纬度
double altitude = 3; //海拔
double heading = 4; //航向角
double acceleration = 5; //加速度
double yawRate = 6; //曲率
double gnssSpeed = 7; //惯导车速 m/s
double vehicleSpeed = 8; //车辆车速 m/s
double satelliteTime = 9; //gps时间 单位秒s
double systemTime = 10; //系统时间 单位秒s
}
// message definition for MessageType: MsgTypeVehicleState
// refer to VehicleState in vehicle_state.proto
// message definition for MessageType: MsgTypeAutopilotState
message AutopilotState
{
uint32 state = 1; //0: 不可用(abandoned), 1:ready, 2:自动驾驶中, 7:平行驾驶中
uint32 camera = 2; //camera节点状态 1:开启0:关闭
uint32 radar = 3; //雷达节点状态 1:开启0:关闭
uint32 rtk = 4; //RTK节点状态 1:开启0:关闭
uint32 autopilotMode = 5; //自动驾驶状态 0: 非自动驾驶1: 自动驾驶, 6:平行驾驶
double speed = 6; //惯导车速 m/s
string reason = 7; //不可用原因(abandoned)
}
// message definition for MessageType: MsgTypeReportMessage
// refer to mogo_report_msg.proto
// message definition for MessageType: MsgTypePerceptionTrafficLight
// refer to fusion_traffic_light.proto
// message definition for MessageType: MsgTypePredictionObstacleTrajectory
// refer to prediction.proto
// message definition for MessageType: MsgTypePointCloud
// refer to mogo_point_cloud.proto
// message definition for MessageType: MsgTypePlanningObjects
message PlanningObject
{
uint32 uuid = 1;
uint32 type = 2; //影响自车决策的类型, 和感知的障碍物类型不是一回事 0是leading障碍物1是避障和择机的障碍物
}
message PlanningObjects
{
repeated PlanningObject objs = 1;
}
// message definition for MessageType: MsgTypeOBU
// refer to obu.proto
// message definition for MsgTypeTrajectoryDownloadReq
message Line
{
uint64 lineId = 1; //路线id默认-1
string trajUrl = 2; //轨迹文件下载的cos url默认“”
string trajMd5 = 3; //轨迹文件md5默认“”
string stopUrl = 4; //打点文件下载的cos url默认“”
string stopMd5 = 5; //轨迹文件md5默认“”
uint64 timestamp = 6; //上传轨迹完成时间戳(ms)用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖
string vehicleModel = 7; //车型号如红旗H9默认“”暂不加入校验逻辑、用于人工排查问题
string trajUrl_dpqp = 8; //轨迹文件下载的cos url默认“”
string trajMd5_dpqp = 9; //轨迹文件md5默认“”
string stopUrl_dpqp = 10; //打点文件下载的cos url默认“”
string stopMd5_dpqp = 11; //轨迹文件md5默认“”
uint64 timestamp_dpqp = 12; //上传轨迹完成时间戳(ms)用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖
string lineName = 13; //路线名
}
message TrajectoryDownloadReq
{
Line line = 1; //路线
uint32 source = 2; //指令来源: 0: default, 1:pad, 2:aicloud
uint32 downloadType = 3; //下载类型: 0:正常下载 1:预下载
RouteInfo routeInfo = 4; //20240523 进行自动算路务必下单时候携带自动驾驶路径信息否则可不填Line信息重复
}
// message definition for MessageType: MsgTypeBasicInfoReq
message BasicInfoReq
{
bytes certification = 1;//域控ssl证书
}
// message definition for MessageType: MsgTypeBasicInfoResp
message BasicInfoResp
{
string sn = 1;
uint32 environment = 2; //1: 研发环境, 2:测试环境, 3:生产环境 4:演示环境
uint32 role = 3; //客户端角色0: 司机屏1: 乘客屏2: 调试屏
string version = 4; //鹰眼版本
bytes certification = 5; //鹰眼ssl证书
}
// message definition for MsgTypeSetAutopilotModeReq
message Location
{
double longitude = 1;
double latitude = 2;
double altitude = 3;
double heading = 4;
bool station = 5; //20240523 判断此点是中间站点还是途径点 ------- true站点 false简单的途径点
}
message RouteInfo
{
Location startLocation = 1;
string startName = 2;
Location endLocation = 3;
string endName = 4;
repeated Location wayPoints = 5;
double speedLimit = 6; //单位: km/h
uint32 vehicleType = 7;
bool isSpeakVoice = 8; //abandoned
uint32 routeID = 9;
string routeName = 10;
Line line = 11; //路线信息,原有轨迹线路信息
repeated Location blackPoints = 12; //20240523 不让走的道路,异常线路点
bool isStation = 13; //20240523 用于表示判断是否是站点下单。默认false起点下单接管下单 true: 中间站点下单
}
message CmdInfo {
bool first_autopilot_flag = 1; // 是否首次进自驾
string order_id = 2; // 订单号
}
message SetAutopilotModeReq
{
uint32 mode = 1; //1: enter autopilot mode, 0: quit autopilot mode
uint32 source = 2; //命令来源: 0: pad模拟, 1: pad业务, 2:aicloud, 3:魔方(清扫车MAP Version==332以及MAP Version>=350其他车型目前未上线)
RouteInfo routeInfo = 3; //自动驾驶路径信息
uint64 sessionId = 4; //autopilot cmd session ID
CmdInfo cmd_info = 5; //自驾命令信息
}
// message definition for MsgTypeSetDemoModeReq
message SetDemoModeReq
{
uint32 enable = 1; //1: enable, 0: disable
}
// message definition for MsgTypeCarConfigReq
message CarConfigReq
{
}
// message definition for MsgTypeCarConfigResp
message CarConfigResp
{
string dockVersion = 1;
string plateNumber = 2; //车牌
string macAddress = 3;
ProtocolVersion protocolVersion = 4; //通信协议版本
double speedLimit = 5; //自动驾驶限速, 单位m/s
double maxSpeedLimit = 6; //最大自动驾驶限速, 单位m/s
double minAcceleration = 7; //最小加速度, 单位m/s²
double maxAcceleration = 8; //最大加速度, 单位m/s²
string carType = 9; //车辆类型
string subCarType = 10; //车辆子类型
string vinCode = 11;//车辆vin码 taxi: 420 bus: 440
reserved 12 to 100;
int32 mapVersion = 101;//dockVersion解析出版本号仅用于版本对比解析失败为-1。例如"MAP-taxi_RoboTaxi_df_2.8.0.3_20220928_test" 解析结果为20800
bool isDF = 102;//车型是否是东风
bool isHQ = 103;//车型是否是红旗
bool isJinlv = 104;//车型是否是金旅小巴
bool isJinlvM1 = 105;//车型是否是金旅M1
bool isJinlvM2 = 106;//车型是否是金旅M2
bool isFutianSweeper = 107;//车型是否是福田清扫车
bool isKaiwo = 108;//车型是否是开沃
}
// message definition for MsgTypeRecordCause
message RecordCause
{
uint64 key = 1; //bag key 唯一标识
string filename = 2; //文件路径
string reason = 3; //接管原因
string reasonID = 4; //接管原因id
}
// message definition for MsgTypeRecordData
message RecordData
{
uint32 id = 1; //采集id
uint32 duration = 2; //采集时间长
uint32 type = 3; //采集类型, 1:badcase, 2: map; 3: rests
bool isRecord = 4; //采集指令, true: 采集, false: 停止采集
bool sustain = 5; //是否持续采集
uint32 bduration = 6; //前溯时长
repeated string topics = 7; //topic列表
}
// message definition for MsgTypeRecordResult
// refer to RecordPanel in record_panel.proto
// message definition for MsgTypeSetAutopilotSpeedReq
message SetAutopilotSpeedReq
{
double speedLimit = 1; //最大车辆速度, 单位m/s
}
// message definition for MsgTypeGlobalPathReq
message GlobalPathReq
{
}
// message definition for MsgTypeGlobalPathResp
message GlobalPathResp
{
repeated Location wayPoints = 1;
uint64 lineId = 2; //路线id
}
// message definition for MsgTypeTrafficLightData
message TrafficLightStatus
{
string phaseNo = 1; //相位编号
string color = 2; //灯态: 红灯-R绿灯-G绿闪-FG黄-YB-黑
int32 remain = 3; //倒计时-秒
}
message TrafficLightDetail
{
TrafficLightStatus left = 1; //左灯
TrafficLightStatus mid = 2; //中间灯
TrafficLightStatus right = 3; //右灯
}
message TrafficLightData
{
string crossID = 1; //roadID
double latitude = 2;
double longitude = 3;
string heading = 4; //红绿灯方向
string direction = 5; //路的航向角
int32 lightId = 6; //红绿灯ID
int32 laneNo = 7; //车道号
int32 arrowNo = 8; //当前车道对应地面要素转向
int32 flashYellow = 9; //黄灯总时间
TrafficLightDetail laneDetail = 10; //灯态具体信息
uint64 timestamp = 11;//当前卫星时间, 单位: ms
}
// message definition for MsgTypeWarn
message Warn
{
uint32 type = 1; //16: 小心行人, 17: 前车起步, 18: 左车道偏离, 19: 右车道偏离
//20: 保持车距/小心前车, 23:摩托车碰撞
//40: 禁止掉头, 41: 禁止左转, 42: 禁止右转, 43: 禁止鸣喇叭, 44: 禁止通行, 45: 限速%d
string content = 2; //words describe type
uint32 level = 3; //1:low 2:high
string value = 4; //reserved
}
// message definition for MsgTypeArrivalNotification
message ArrivalNotification
{
uint32 carType = 1; //abandoned
Location endLocation = 2;
}
// message definition for MsgTypeSystemCmdReq
enum SystemCmdType
{
SYSTEMCMD_NONE = 0;
SYSTEMCMD_REBOOT = 1;
SYSTEMCMD_START_NODE = 2;
SYSTEMCMD_STOP_NODE = 3;
SYSTEMCMD_POWER_OFF = 4;//MAP 410上线
}
message SystemCmdReq
{
SystemCmdType cmdType = 1;
uint32 node = 2; //0: default, 1: 前向camera 30 2: lidar 3: 左前radar 4: calib_check nodeMAP 410上线
}
// message definition for MsgTypeStatusQueryReq
message StatusQueryReq
{
}
// message definition for MsgTypeStatusQueryResp
// refer to system_status_info.proto
// message definition for MsgTypeSetRainModeReq
message SetRainModeReq
{
uint32 enable = 1; //1: enable, 0: disable
}
// message definition for MsgTypeRecordDataConfigReq
message RecordDataConfigReq
{
uint32 reqType = 1; // 0: all, 1:获取当前所有topic列表, 2:配置需要预加载的topic组合
uint32 recordType = 2; // 0:不需要修改内置类型的topic组合, 1:需要修改内置类型的topic组合
repeated string topicsNeedToCache = 3;
}
// message definition for MsgTypeRecordDataConfigResp
message RecordDataType
{
uint32 id = 1; //采集类型id
string desc = 2; //采集类型描述
repeated string topics = 3; //采集类型必须采集的topic列表
}
message RecordDataConfig
{
repeated RecordDataType recordTypes = 1;
repeated string allTopics = 2; //当前所有topic列表
}
// message definition for MsgTypeSubscribeDataReq
message SubscribeDataReq
{
uint32 role = 1; //客户端角色0: 司机屏1: 乘客屏2: 调试屏
uint32 reqType = 2; //1:订阅, 2:取消订阅
repeated uint32 dataTypes = 3; //订阅/取消订阅的消息类型列表, 透传的消息类型参考配置列表其他消息类型见MsgType
}
// message definition for MsgTypeOperatorCmdReq
enum OperatorCmdType
{
OPERATOR_CMD_NONE = 0;
OPERATOR_CMD_CHANGE_LANE = 1;
OPERATOR_CMD_SET_ACCELERATED_SPEED = 2;
OPERATOR_CMD_SET_HORN = 3;
OPERATOR_CMD_SEND_LANE_MARKS = 4;
}
message OperatorCmdReq
{
OperatorCmdType cmdType = 1;
double value = 2; //OPERATOR_CMD_CHANGE_LANE: 1: left 2: right
//OPERATOR_CMD_SET_ACCELERATED_SPEED: accelerated speed
//OPERATOR_CMD_SET_HORN: 1: honk 2: stop honking
//OPERATOR_CMD_SEND_LANE_MARKS 0: 开始发送车道线 1:结束发送车道线
}
//message definition for MsgTypePlanningDecisionState
enum DrivingState
{
NO_AUTODRIVING = 0; //不在自动驾驶状态
LANKE_KEEP = 1; //车道保持状态
TRAFFIC_LIGHT = 2; //红绿灯通行状态: driving_action1 表示停止动作driving_action:2 表示通行动作
FOLLOW_LANE_CHANGE_LEFT = 3; //follow全局择机向左变道状态: driving_action1 表示触发变道driving_action:2 表示择机保持driving_action:3 表示变道完成
FOLLOW_LANE_CHANGE_RIGHT = 4; //follow全局择机向右变道状态: driving_action1 表示触发变道driving_action:2 表示择机保持driving_action:3 表示变道完成
AUTO_LANE_CHANGE_LEFT = 5; //主动向左变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
AUTO_LANE_CHANGE_RIGHT = 6; //主动向左变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
LANE_AVOID_LEFT = 7; //主动向左绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
LANE_AVOID_RIGHT = 8; //主动向右绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
START_UP = 9; //起步状态: driving_action1 表示正常启动driving_action:2 表示择机起步
PULL_OVER = 10; //靠边停车状态: driving_action1 表示正常靠边停车driving_action:2 表示择机靠边停车
UN_PROTECTED_INTERSECTION = 11; //路口预测响应状态: driving_action1 表示触发了预测响应
AUTO_LANE_CHANGE_LEFT_V2N = 12; //V2N主动向左变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
AUTO_LANE_CHANGE_RIGHT_V2N = 13; //V2N主动向右变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
LANE_AVOID_LEFT_V2N = 14; //V2N主动向左绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
LANE_AVOID_RIGHT_V2N = 15; //V2N主动向右绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
WAITING_V2N = 16; //V2N正在等待变道避让施工场景/静止障碍物: driving_action1 表示正在等待driving_action:2 表示等待超时请求平行驾驶;
AUTO_LANE_CHANGE_LEFT_RSI = 17; //V2N RSI主动向左变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
AUTO_LANE_CHANGE_RIGHT_RSI = 18; //V2N RSI主动向右变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
LANE_AVOID_LEFT_RSI = 19; //V2N RSI主动向左绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
LANE_AVOID_RIGHT_RSI = 20; //V2N RSI主动向右绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
WAITING_RSI = 21; //V2N RSI正在等待变道避让施工场景/静止障碍物: driving_action1 表示正在等待driving_action:2 表示等待超时请求平行驾驶;
AUTO_LANE_CHANGE_LEFT_RSM = 22; //V2N RSM主动向左变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
AUTO_LANE_CHANGE_RIGHT_RSM = 23; //V2N RSM主动向右变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
LANE_AVOID_LEFT_RSM = 24; //V2N RSM主动向左绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
LANE_AVOID_RIGHT_RSM = 25; //V2N RSM主动向右绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
WAITING_RSM = 26; //V2N RSM正在等待变道避让施工场景/静止障碍物: driving_action1 表示正在等待driving_action:2 表示等待超时请求平行驾驶;
AUTO_LANE_CHANGE_LEFT_RSI_TRIANGLE = 27; //V2N 三角锥主动向左变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
AUTO_LANE_CHANGE_RIGHT_RSI_TRIANGLE = 28; //V2N 三角锥主动向右变道状态: driving_action1 表示触发变道driving_action:2 表示执行变道driving_action:3 表示变道取消driving_action:4 表示变道完成
LANE_AVOID_LEFT_RSI_TRIANGLE = 29; //V2N 三角锥主动向左绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
LANE_AVOID_RIGHT_RSI_TRIANGLE = 30; //V2N 三角锥主动向右绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
WAITING_RSI_TRIANGLE = 31; //V2N 三角锥正在等待变道避让施工场景/静止障碍物: driving_action1 表示正在等待driving_action:2 表示等待超时请求平行驾驶
OUT_OF_ODD = 32; //超出设计运行范围(北京牌照考试): driving_action:1 表示红灯ODD快速路信号灯和绕障ODD静止车占用部分车道对向车辆借道行驶
YIELD_TO_VEHICLE_COMING_FROM_BEHIND = 33; //正在给后方驶来的机动车让行: driving_action:1 表示触发让行后方机动车
}
enum DrivingAction
{
DRIVING_Action_STATE_NONE = 0;
DRIVING_ACTION_STATE_ONE = 1;
DRIVING_ACTION_STATE_TWO = 2;
DRIVING_ACTION_STATE_THREE = 3;
DRIVING_ACTION_STATE_FOUR = 4;
DRIVING_ACTION_STATE_FIVE = 5;
DRIVING_ACTION_STATE_SIX = 6;
DRIVING_ACTION_STATE_SEVEN = 7;
DRIVING_ACTION_STATE_EIGHT = 8;
DRIVING_ACTION_STATE_NINE = 9;
}
message DrivingActionMsg
{
DrivingState driving_state = 1;
DrivingAction driving_action = 2;
}
enum ParkScenarioDrivingState
{
PARK_SENARIO_NO_AUTODRIVING = 0; //不在自动驾驶状态
PARK_SENARIO_LANKE_KEEP = 1; //车道保持状态
PARK_SENARIO_LANE_AVOID_LEFT = 2; //主动向左绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
PARK_SENARIO_LANE_AVOID_RIGHT = 3; //主动向右绕行状态: driving_action1 表示触发绕行driving_action:2 表示执行绕行driving_action:3 表示绕行取消driving_action:4 表示绕行完成
PARK_SENARIO_START_UP = 4; //起步状态: driving_action1 表示正常启动driving_action:2 表示择机起步;
PARK_SENARIO_PULL_OVER = 5; //站点停车状态: driving_action1 表示正常站点停车driving_action:2 表示择机站点停车;
PARK_SENARIO_FORCE_PULL_OVER_ON = 6; //响应触发靠边停车状态: driving_action1 表示开始靠边停车driving_action:2 表示靠边停车成功3靠边停车失败;
PARK_SENARIO_FORCE_PULL_OVER_OFF = 7; //不响应触发靠边停车状态: driving_action1 表示距离前方站点100mdriving_action:2 表示距离路口100m3 正在变道 。。。
}
message ParkScenarioDrivingAction
{
ParkScenarioDrivingState driving_state = 1; //决策场景
DrivingAction driving_action = 2; //决策场景状态
}
message ParkScenarioPlanningAction
{
ParkScenarioDrivingAction action_msg = 1; //决策场景(包含场景以及响应状态)
double destination_acc = 2; //驾驶的意图(规划期望的加速或者减速值)
}
message PlanningActionMsg
{
DrivingActionMsg action_msg = 1;
double destination_acc = 2; //驾驶的意图(规划期望的加速或者减速值)
ParkScenarioPlanningAction park_scenario_action = 3;
}
//message definition for MsgTypeSpecialVehicleTaskCmd
//refer to special_vehicle_task_cmd.proto for details
//message definition for MsgTypeSetParamReq
message SetOneParam
{
uint32 type = 1; // 0:default 1:绕障类功能开关(bool) 2:变道绕障的目标障碍物速度阈值(double, m/s),针对低速绕行功能的
// 3:AEB开关(bool) 0:关闭自动紧急制动功能 1:启用自动紧急制动功能
// 4:限制绕障开关(bool) 0:正常绕障 1限制绕障 默认0
// 5:停车让行线前避让等待开关(bool) 0:停车让行线前无需等待 1:停车让行线前需要等待 默认0
// 6:地图限速功能开关(bool) 0:不使用地图限速功能 1:使用地图限速功能 默认0
// 7:环岛模式开关(bool) 0:普通模式 1:环岛模式 默认0
// 8:弱网减速停车策略开关(bool) 0:关闭弱网减速停车策略 1:使用弱网减速停车策略 默认1
// 9:m1拼接视频自车位置参数(string), 格式:x,y,width,height
// 10:故障减速停车策略开关(bool) 0:关闭故障减速停车策略 1:使用故障减速停车策略 默认1
// 11: 盲区开关(bool) 0: off 1:on /telematics/sensor/blindarea_flag
// 12: 融合v2n开关(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
// 13: 融合v2i开关(bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼默认0 /telematics/fusion/v2i_flag
// 14: 融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式默认1 /telematics/fusion/fusion_mode
// 15座椅状态(int) 0:表示仅主驾位有人,1:表示仅副驾位有人,2:表示主驾和副驾同时有人,3:表示仅后排有人,4:表示主驾有人+后排有人,5:表示副驾有人+后排有人,6:表示主驾和副驾同时有人+后排有人,7: 所有座位都无人, 255:缺省
// 16: 超车的最大速度阈值(double, m/s) T1/T2: 范围[3, 12.5], 默认值10
// 17: 故障模拟指令(int) default:0, 1:线控失效
// 18: 碰撞上报(null) TODO 废弃使用message CollisionReport
// 19: 会车开关(bool) 0: off 1:on 默认0
// 20: 超车开关(bool) 0: off 1:on 默认0
string value = 2; // 转成字符串的值
}
message SetParamReq
{
repeated SetOneParam reqs = 1;
}
//message definition for MsgTypeTripInfoEvent
message TripInfoEvent
{
uint32 type = 1; //事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警
string lineName = 2; //路线名
string departureStopName = 3; //出站站点名
string arrivalStopName = 4; //下一站到达站点名
bool isLastStop = 5; //下一站到达站是否最终站
}
//message definition for MsgTypeChassisStates
//refer to chassis_states.proto for details
//message definition for MsgTypeFunctionStates
//refer to function_states.proto for details
//message definition for MsgTypeSweeperTaskIndexData
//refer to robo_sweeper_task_index.proto for details
//message definition for MsgTypeObuWarningData
//refer to obu_warning_event.proto for details
//message definition for MsgTypeBagManagerCmd
//refer to bag_manager.proto for details
//message definition for MsgTypePlanningCmd
message PullOverCmd
{
uint32 cmd = 1; //0: default 1: 靠边停车 2:重新起步 3:紧急停车
}
message LaneChangeCmd
{
uint32 cmd = 1; //0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策
}
message PlanningCmd
{
PullOverCmd pullOverCmd = 1;
LaneChangeCmd laneChangeCmd = 2;
}
//message definition for MsgTypeSetParamReqV2
//refer to param_set_cmd.proto for details
//message definition for MsgTypeBackCameraVideo
//payload:jpeg data
//message definition for MsgTypeV2nCongestionEvent
//refer to RSI_PB in mogo_v2x.proto for details
//message definition for MsgTypeV2nGlobalPathEvents
//refer to road_overview_events.proto for details
//message definition for MsgTypeGetParamReq
//复用 SetParamReq
//message definition for MsgTypeGetParamResp
//复用 SetParamReq
//message definition for MsgTypeTaskCmd
//查看云端和鹰眼的接口
//message definition for MsgTypeFSMStatusReasonQueryReq
//refer to FSMStatusReasonQuery.proto for details
//message definition for MsgTypeFSMStatusReasonQueryResp
//refer to FSMStatusReasonQuery.proto for details
//message definition for MsgTypeM1StitchedVideo
//payload:jpeg data
//message definition for MsgTypeGetDebugInfo
message DebugInfo
{
uint32 seq = 1; //seq num
repeated SessionInfo sessions = 2; //有效session信息
}
message SessionInfo
{
uint32 sessionID = 1;
uint32 role = 2;
string sn = 3;
uint64 connectedTimeStamp = 4;
string version = 5;
}
//message definition for MsgTypeSSMState
//refer to ssm_info.proto for details
//message definition for MsgTypeParallelDrivingCmd
//查看云端和鹰眼的接口
//message definition for MsgTypeFMState
//refer to fm_info.proto for details
//message definition for MsgTypeFSM2024State
//refer to fsm2024.proto
//message definition for MsgTypeLocState
//refer to loc_state.proto
//message definition for MsgTypeCollisionReport
message CollisionReport
{
double longitude = 1;
double latitude = 2;
double timestamp = 3;//时间, 单位:秒
}