diff --git a/libraries/mogo-adas-data/src/main/proto/chassis.proto b/libraries/mogo-adas-data/src/main/proto/chassis.proto index b793f61a80..c0d10d8dca 100644 --- a/libraries/mogo-adas-data/src/main/proto/chassis.proto +++ b/libraries/mogo-adas-data/src/main/proto/chassis.proto @@ -24,6 +24,7 @@ enum PilotMode { MODE_STEER_ONLY = 2; MODE_SPEED_ONLY = 3; MODE_REMOTE_DRIVE = 6; + CHASSID_TELECONTROL_DRIVE = 7; } enum LongitudeDrivingMode { diff --git a/libraries/mogo-adas-data/src/main/proto/chassis_states.proto b/libraries/mogo-adas-data/src/main/proto/chassis_states.proto new file mode 100644 index 0000000000..44c2831432 --- /dev/null +++ b/libraries/mogo-adas-data/src/main/proto/chassis_states.proto @@ -0,0 +1,194 @@ +syntax = "proto2"; +package chassis; + +import "chassis.proto"; +import "header.proto"; + + +enum EPBWorkStates { + EPB_STATE_NONE = 0; + EPB_STATE_LOCKING = 1; + EPB_STATE_LOCKED = 2; + EPB_STATE_RELEASING = 3; + EPB_STATE_RELEASED = 4; + EPB_STATE_LOCKED_FAIL = 5; + EPB_STATE_RELEASE_FAIL = 6; + EPB_STATE_FAULT = 7; +} + +enum VehicleFaultLevels { + NONE_FAULT = 0; + GENERAL_FAULT = 1; + SERIOUS_FAULT = 2; + CRITICAL_FAULT = 3; +} + +message VehicleMotionStates { + optional float speed = 1 [default = 0]; // vehicle speed in m/s + optional float angular_speed = 2 [default = 0]; // vehicle angular speeed in rad/s + optional float acceleration = 3 [default = 0]; // vehicle acceleration in m/s^2 + optional float longitude_acceleration = 4 [default = 0]; // vehicle longitudinal acceleration in m/s^2 + optional float lateral_acceleration = 5 [default = 0]; // vehicle lateral acceleration in m/s^2 +} + +message DrivingSystemStates { + optional uint32 driving_enable_state = 1 [default = 0]; // vehicle driving system wirecontrol enable state + optional float throttle_response_position = 2 [default = 0]; // vehicle throttle response with control command in percentage [0, 100] + optional bool acceleration_pedal_inference_state = 3 [default = false]; // manual intervention status of acceleration pedal + optional float acceleration_pedal_inference_position = 4 [default = 0];// manual intervention opening of acceleration pedal in percentage [0, 100] +} + +message BMSSystemStates { + optional float bms_total_voltage = 1 [default = 0]; // total output voltage of power battery in V + optional float bms_total_current = 2 [default = 0]; // total output current of power battery in A + optional float bms_soc = 3 [default = 0]; // residual SOC value of power battery + optional VehicleFaultLevels bms_system_fault_state = 4 [default = NONE_FAULT]; // fault states of the power battery system +} + +message MCUSystemStates { + optional float mcu_motor_speed = 1 [default = 0]; // driving motor speed in rpm + optional float mcu_motor_torque = 2 [default = 0]; // driving motor output torque in nm + optional float mcu_motor_voltage = 3 [default = 0]; // driving motor input voltage in V + optional float mcu_motor_current = 4 [default = 0]; // driving motor output current in A + optional VehicleFaultLevels mcu_system_fault_state = 5 [default = NONE_FAULT]; // fault states of the mcu system +} + +message EngineSystemStates { + optional float engine_speed = 1 [default = 0]; // engine speed in rpm + optional float remaining_oil = 2 [default = 0]; // current actual remaining oil + optional VehicleFaultLevels engine_system_fault_state = 3 [default = NONE_FAULT]; // fault states of the engine system +} + +message BrakeSystemStates { + optional uint32 brake_enable_sts = 1 [default = 0]; // vehicle brake system wirecontrol enable state + optional bool brake_pedal_inference_state = 2 [default = false]; // manual intervention status of brake pedal + optional bool brake_pedal_state = 3 [default = false]; // the status of the brake pedal. if it is true, it means the brake pedal is depressed + optional float brake_pedal_inference_position = 4 [default = 0]; // manual intervention opening of brake pedal in percentage [0, 100] + optional float average_brake_pressure = 5 [default = 0]; // Average brake pressure feedback in kPa + optional VehicleFaultLevels brake_system_fault_state = 6 [default = NONE_FAULT]; // fault states of the brake system + optional float brake_pedal_response_position = 7 [default = 0]; // Brake pedal opening for chassis response in percentage [0, 100] +} + +message SteerSystemStates { + optional uint32 steer_enable_state = 1 [default = 0]; // vehicle steer system wirecontrol enable state + optional uint32 eps_work_mode_state = 2 [default = 0]; // eps system work mode states + optional float steering_wheel_angle = 3 [default = 0]; // steering angle in degrees + optional float steering_wheel_speed = 4 [default = 0]; // steering speed in degree/s + optional bool steering_wheel_inference_state = 5 [default = false]; // manual intervention status of steering wheel + optional float steering_wheel_inference_torque = 6 [default = 0];// manual intervention torque of steering wheel in nm + optional float front_left_wheel_angle = 7 [default = 0]; // front left wheel angle + optional float front_right_wheel_angle = 8 [default = 0]; // front right wheel angle + optional VehicleFaultLevels steer_system_fault_state = 9 [default = NONE_FAULT]; // fault states of the steer system +} + +message GearSystemStates { + optional uint32 gear_enable_state = 1 [default = 0]; // vehicle gear system wirecontrol enable state + optional GearPosition gear_position = 2 [default = GEAR_NONE]; // vehicle real gear position + optional bool gear_switch_inference_state = 3 [default = false]; // manual intervention status of gear switch + optional VehicleFaultLevels gear_system_fault_state = 4 [default = NONE_FAULT]; // fault states of the gear system +} + +message EPBSystemStates { + optional uint32 epb_enable_state = 1 [default = 0]; // vehicle EPB system wirecontrol enable state + optional EPBWorkStates epb_work_state = 2 [default = EPB_STATE_NONE]; // EPB work status + optional bool epb_switch_inference_state = 3 [default = false]; // manual intervention status of EPB switch + optional VehicleFaultLevels epb_system_fault_state = 4 [default = NONE_FAULT]; // fault states of the EPB system +} + +message BCMSystemStates { + optional LightSwitch turn_light_state = 1 [default = LIGHT_NONE]; // real turn light status + optional uint32 horn_state = 2 [default = 0]; // real horn status 0-off 1-open 2-reserved 3-reserved + optional uint32 highbeam_state = 3 [default = 0]; // real highbeam status 0-off 1-open 2-reserved 3-reserved + optional uint32 lowbeam_state = 4 [default = 0]; // real lowbeam status 0-off 1-open 2-reserved 3-reserved + optional uint32 front_foglight_state = 5 [default = 0]; // real front foglight status 0-off 1-open 2-reserved 3-reserved + optional uint32 back_foglight_state = 6 [default = 0]; // real back foglight status 0-off 1-open 2-reserved 3-reserved + optional uint32 clearance_lamps_state = 7 [default = 0]; // real clearance lamps status 0-off 1-open 2-reserved 3-reserved + optional uint32 alarm_light_state = 8 [default = 0]; // real alarm light status 0-off 1-open 2-reserved 3-reserved + optional uint32 position_light_state = 9 [default = 0]; // position light status 0-off 1-open 2-reserved 3-reserved + optional uint32 driver_door_state = 10 [default = 0]; // real driver door status 0-off 1-open 2-reserved 3-reserved + optional uint32 brake_light_state = 11 [default = 0]; // real brake light status 0-off 1-open 2-reserved 3-reserved + optional uint32 daytime_runing_light_state = 13 [default = 0]; // real daytime running light status 0-off 1-open 2-reserved 3-reserved + optional uint32 driver_safty_belt_state = 14 [default = 0]; // real driver safty belf status 0-off 1-open 2-reserved 3-reserved + optional uint32 front_hood_open_state = 15 [default = 0]; // real front hood opening status 0-off 1-open 2-reserved 3-reserved + optional uint32 wipers_work_state = 16 [default = 0]; // real wipers work status 0-off 1-open 2-reserved 3-reserved + optional uint32 wipers_work_intermittent_gear = 17 [default = 0]; // real wipers work gear +} + + +message SweeperFuTianTaskSystemStates { + optional bool secu_rem_ctrl_sts = 1 [default = false]; // 远程控制使能信号 + optional bool secu_mot_work_sts = 2 [default = false]; // 电机启停控制状态信号 + optional bool secu_dup_tail_door_open_sts = 3 [default = false]; // 垃圾箱尾门开状态信号 + optional bool secu_dup_tail_door_close_sts = 4 [default = false]; // 垃圾箱尾门关状态信号 + optional bool secu_auto_dup_tail_tip_sts = 5 [default = false]; // 垃圾箱倾翻状态信号 + optional bool secu_dup_tail_ret_sts = 6 [default = false]; // 垃圾箱回位状态信号 + optional bool secu_work_stand_sts = 7 [default = false]; // 标准作业状态信号 + optional bool secu_work_strong_sts = 8 [default = false]; // 强力作业状态信号 + optional bool secu_suctionnozzlebaffle_sts = 9 [default = false]; // 吸嘴挡板开状态信号 + optional bool secu_dusk_close_sts = 10 [default = false]; // 降尘关闭状态信号 + optional bool secu_work_left_sts = 11 [default = false]; // 左侧作业状态信号 + optional bool secu_work_on_bothsides_sts = 12 [default = false]; // 两侧作业状态信号 + optional bool secu_work_right_sts = 13 [default = false]; // 右侧作业状态信号 + optional bool secu_work_ton_sts = 14 [default = false]; // 纯吸作业状态信号 + optional bool secu_work_spray_gun_sts = 15 [default = false]; // 喷雾喷枪作业状态信号 + optional bool secu_work_enc_des_sts = 16 [default = false]; // 箱体清淤作业状态信号 + optional bool secu_mod_wash_sweep_sts = 17 [default = false]; // 洗扫模式状态信号 + optional bool secu_mod_wash_sts = 18 [default = false]; // 纯洗模式状态信号 + optional bool secu_sweepdisk_red_sts = 19 [default = false]; // 扫盘减速开关状态信号 + optional bool secu_sweepdisk_acc_sts = 20 [default = false]; // 扫盘加速开关状态信号 + optional bool secu_arrowlight_sts = 21 [default = false]; // 箭头灯开关状态信号 + optional bool secu_floodlight_sts = 22 [default = false]; // 照明灯开关状态信号 + optional bool secu_work_cleaning_sts = 23 [default = false]; // 保洁作业状态信号 + optional bool secu_clean_music_sts = 24 [default = false]; // 音乐开关状态信号 + + optional bool secu_motor_oil_com_fail = 25 [default = false]; // 油泵电机通讯失败报警 + optional bool secu_motor_water_com_fail = 26 [default = false]; // 水泵电机通讯失败报警 + optional bool secu_motor_air_com_fail = 27 [default = false]; // 风机电机通讯失败报警 + optional bool secu_fan_fault = 28 [default = false]; // 散热风扇故障报警 + optional bool secu_chassis_com_fail = 29 [default = false]; // 底盘通讯失败报警 + optional bool secu_panel_com_fail = 30 [default = false]; // 操作面板通讯失败报警 + optional bool secu_oillevel_check = 31 [default = false]; // 液压油位低请停机检查报警信号 + optional bool secu_oilstmjam_check = 32 [default = false]; // 液压油滤堵塞请停机检查报警信号 + optional bool secu_water_valve_close = 33 [default = false]; // 出水阀门关闭不能清洗作业报警信号 + optional bool secu_clean_water_tank_low = 34 [default = false]; // 清水箱水位低不能清洗作业报警信号 + optional bool secu_sewage_water_tank_full = 35 [default = false]; // 污水箱满请停止作业报警信号 + optional bool secu_coolwatertemp_high = 36 [default = false]; // 水温过高请停机检查报警信号 + optional bool secu_coolwater_less = 37 [default = false]; // 冷却液位低报警信号 + optional bool secu_tail_gate_open = 38 [default = false]; // 尾门打开接近开关 + optional bool secu_manual_intervention_sts = 39 [default = false]; // 提示是否有人为介入 + optional bool secu_ready_finish_sts = 40 [default = false]; // 上装ready完成 + optional float secu_sweepdisk_speed = 41 [default = 0]; // 扫盘转速 +} + +message TaskSystemStates { + optional SweeperFuTianTaskSystemStates sweeper_futian_task_system_states = 1; +} + +message ChassisAutopilotAssistanceInformation { + optional PilotMode chassis_pilot_mode_state = 1 [default = MODE_MANUAL]; + optional bool Emergency_Stop_Switch_state = 2 [default = false]; // 急停开关状态 + optional bool vehicle_pilot_switch_state = 3 [default = false]; // 车辆自动驾驶开关状态 + optional float vehicle_low_voltage_battery_voltage = 4; // 车辆低压蓄电池电压 + optional float vehicle_remaining_mileage = 5; // 车辆剩余续航里程 +} + +message VehicleChassisFaultInformation { + optional VehicleFaultLevels vehiclefaultlevel = 1 [default = NONE_FAULT]; // 整车故障状态 +} + +message ChassisStates { + optional common.Header header = 1; + optional VehicleMotionStates vehicle_motion_states = 2; + optional DrivingSystemStates driving_system_states = 3; + optional BrakeSystemStates brake_system_states = 4; + optional SteerSystemStates steer_system_states = 5; + optional GearSystemStates gear_system_states = 6; + optional EPBSystemStates epb_system_states = 7; + optional BCMSystemStates bcm_system_states = 8; + optional BMSSystemStates bms_system_states = 9; + optional MCUSystemStates mcu_system_states = 10; + optional EngineSystemStates engine_system_states = 11; + optional ChassisAutopilotAssistanceInformation chassis_autopilot_assistance_information = 12; + optional TaskSystemStates task_system_states = 13; + optional VehicleChassisFaultInformation vehicle_chassis_fault_information = 14; +} \ No newline at end of file diff --git a/libraries/mogo-adas-data/src/main/proto/function_states.proto b/libraries/mogo-adas-data/src/main/proto/function_states.proto new file mode 100644 index 0000000000..d8334339b1 --- /dev/null +++ b/libraries/mogo-adas-data/src/main/proto/function_states.proto @@ -0,0 +1,50 @@ +syntax = "proto2"; +package function_state_management; + +import "header.proto"; + +enum PilotDrivingFunctionState { + PILOT_DRIVING_OFF = 0; + PILOT_DRIVING_STANDBY = 1; + PILOT_DRIVING_ACTIVE = 2; + PILOT_DRIVING_LON_ACTIVE = 3; + PILOT_DRIVING_LAT_ACTIVE = 4; + PILOT_DRIVING_TAKEOVER = 5; + PILOT_DRIVING_OVERRIDE = 6; + PILOT_DRIVING_WARNING = 7; + PILOT_DRIVING_DEGRADED_RUNNING = 8; + PILOT_DRIVING_SAFTY_STOP = 9; +} + +enum ParallelDrivingFunctionState { + PARALLEL_DRIVING_OFF = 0; + PARALLEL_DRIVING_STANDBY = 1; + PARALLEL_DRIVING_ACTIVE = 2; + PARALLEL_DRIVING_LON_ACTIVE = 3; + PARALLEL_DRIVING_LAT_ACTIVE = 4; + PARALLEL_DRIVING_TAKEOVER = 5; + PARALLEL_DRIVING_OVERRIDE = 6; + PARALLEL_DRIVING_WARNING = 7; + PARALLEL_DRIVING_DEGRADED_RUNNING = 8; + PARALLEL_DRIVING_SAFTY_STOP = 9; +} + +enum TelecontrolDrivingFunctionState { + TELECONTROL_DRIVING_OFF = 0; + TELECONTROL_DRIVING_STANDBY = 1; + TELECONTROL_DRIVING_ACTIVE = 2; + TELECONTROL_DRIVING_LON_ACTIVE = 3; + TELECONTROL_DRIVING_LAT_ACTIVE = 4; + TELECONTROL_DRIVING_TAKEOVER = 5; + TELECONTROL_DRIVING_OVERRIDE = 6; + TELECONTROL_DRIVING_WARNING = 7; + TELECONTROL_DRIVING_DEGRADED_RUNNING = 8; + TELECONTROL_DRIVING_SAFTY_STOP = 9; +} + +message FSMFunctionStates { + optional common.Header header = 1; + optional PilotDrivingFunctionState pilot_driving_function_state = 2; + optional ParallelDrivingFunctionState parallel_driving_function_state = 3; + optional TelecontrolDrivingFunctionState telecontrol_driving_function_state = 4; +} \ No newline at end of file diff --git a/libraries/mogo-adas-data/src/main/proto/message_pad.proto b/libraries/mogo-adas-data/src/main/proto/message_pad.proto index 236d2fa216..91ac5b1b84 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -1,10 +1,12 @@ syntax = "proto3"; package mogo.telematics.pad; +import "geometry.proto"; + enum ProtocolVersion { Defaultver = 0; - CurrentVersion = 8; //每次修改proto文件增加1 + CurrentVersion = 9; //每次修改proto文件增加1 } enum MessageType @@ -12,6 +14,8 @@ enum MessageType MsgTypeDefault = 0; MsgTypePlanningDecisionState = 0x00001; //planning决策状态, 透传 + MsgTypeSweeperTaskIndexData = 0x00002; //清扫车指标数据 + MsgTypeObuWarningData = 0x00003; //obu预警事件 MsgTypeTrajectory = 0x10000; //局部轨迹,车前引导线 MsgTypeTrackedObjects = 0x10001; //障碍物信息 @@ -24,6 +28,8 @@ enum MessageType MsgTypePointCloud = 0x10008; //点云透传 MsgTypePlanningObjects = 0x10009; //planning障碍物 MsgTypeOBU = 0x1000a; //OBU + MsgTypeChassisStates = 0x1000b; //重构后的底盘状态, 透传 + MsgTypeFunctionStates = 0x1000c; //重构后的功能状态, 透传 MsgTypeBasicInfoReq = 0x10100; //自动驾驶设备基础信息请求 MsgTypeBasicInfoResp = 0x10101; //自动驾驶设备基础信息应答 @@ -85,13 +91,14 @@ message Trajectory // message definition for MsgTypeTrackedObjects message SubSource { - uint32 source = 1; //[default = 0] v2v_bsm = 1 v2i_rsm = 2 v2v_ssm = 3 v2n_rsm = 4 v2n_rsi = 5 - string id = 2; //HEX_string + 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 + string id = 2; //HEX_string -bsm_id } message TrackedSource { - uint32 source = 1; //lidar:1 camera:2 radar:3 v2x:4 vidar:5 falcon:6 + uint32 source = 1; // 1-car 2-v2x repeated SubSource sub_source = 2; } @@ -115,6 +122,7 @@ message TrackedObject double driverTime = 13; //驱动感知时间, abandoned repeated TrackedSource tracked_source = 14; repeated Location polygon = 15; + geometry.Point center = 16; } message TrackedObjects @@ -147,7 +155,7 @@ message AutopilotState uint32 camera = 2; //camera节点状态 1:开启,0:关闭 uint32 radar = 3; //雷达节点状态 1:开启,0:关闭 uint32 rtk = 4; //RTK节点状态 1:开启,0:关闭 - uint32 autopilotMode = 5; //自动驾驶状态 0: 非自动驾驶,1: 自动驾驶 + uint32 autopilotMode = 5; //自动驾驶状态 0: 非自动驾驶,1: 自动驾驶, 6:平行驾驶 double speed = 6; //惯导车速 m/s string reason = 7; //不可用原因(abandoned) } @@ -495,5 +503,16 @@ message TripInfoEvent 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 diff --git a/libraries/mogo-adas-data/src/main/proto/mogo_v2x.proto b/libraries/mogo-adas-data/src/main/proto/mogo_v2x.proto new file mode 100644 index 0000000000..987485620f --- /dev/null +++ b/libraries/mogo-adas-data/src/main/proto/mogo_v2x.proto @@ -0,0 +1,88 @@ +syntax = "proto2"; + +package mogo.v2x; + +message VerticalOffset_PB{ + oneof VerticalOffset{ + int32 offset1 = 1; + int32 offset2 = 2; + int32 offset3 = 3; + int32 offset4 = 4; + int32 offset5 = 5; + int32 offset6 = 6; + int32 elevation = 7; + } +} + +message VehicleSize_PB { + required int32 width = 1; + required int32 length = 2; + optional int32 height = 3; +} + +message AccelerationSet4Way_PB { + required int32 lon = 1; + required int32 lat = 2; + required int32 vert = 3; + required int32 yaw = 4; +} + +////////////////////////////////////////////////////////////////// +//经纬度偏差,来描述一个坐标点的相对位置。约定偏差值等于真实值减去参考值。 +//提供了 7 种尺度的描述方式 +message PositionOffsetLL_PB{ + oneof PositionOffsetLL{ + Position_LL_24B position_LL1 = 1; + Position_LL_28B position_LL2 = 2; + Position_LL_32B position_LL3 = 3; + Position_LL_36B position_LL4 = 4; + Position_LL_44B position_LL5 = 5; + Position_LL_48B position_LL6 = 6; + Position_LLmD_64b position_LatLon = 7; + } +} +message Position_LL_24B{ + // (-2048..2047) + required int64 lon = 1; + required int64 lat = 2; +} +message Position_LL_28B{ + // (-8192..8191) + required int64 lon = 1; + required int64 lat = 2; +} +message Position_LL_32B{ + // (-32768..32767) + required int64 lon = 1; + required int64 lat = 2; +} +message Position_LL_36B{ + // (-131072..131071) + required int64 lon = 1; + required int64 lat = 2; +} +message Position_LL_44B{ + // (-2097152..2097151) + required int64 lon = 1; + required int64 lat = 2; +} +message Position_LL_48B{ + // (-8388608..8388607) + required int64 lon = 1; + required int64 lat = 2; +} +message Position_LLmD_64b{ + // 定义经度数值。东经为正,西经为负。 + //分辨率为1e-7°。 + required int64 lon = 1; + required int64 lat = 2; +} +////////////////////////////////////////////////////////////////// + +message PositionOffsetLLV_PB{ + required PositionOffsetLL_PB offsetLL = 1; + + optional VerticalOffset_PB offsetV = 2; +} + + diff --git a/libraries/mogo-adas-data/src/main/proto/obu_warning_event.proto b/libraries/mogo-adas-data/src/main/proto/obu_warning_event.proto new file mode 100644 index 0000000000..3d3f89e613 --- /dev/null +++ b/libraries/mogo-adas-data/src/main/proto/obu_warning_event.proto @@ -0,0 +1,100 @@ +syntax = "proto3"; +package mogo.v2x.v2i; + +import "header.proto"; +import "mogo_v2x.proto"; + +message RsiWarning { + int32 unitMask = 1; /* 描述所属字段有效性 */ + int32 sceneType = 2; /* 预警类型,0:无效,1:限速信息,2:道路危险,3:车内标牌,4:前方拥堵 */ + PositionOffsetLLV_PB position = 3; /* 交通标志/事件位置信息 */ + int32 signSerialNum = 4; /* 交通标志类型序号,根据预警类型匹配,0:无效,参照国标《GB 5768.2-2009中“交通标志中文名称索引》表序号 */ + int32 eventSerialNum = 5; /* 交通事件类型序号,根据预警类型匹配,0:无效,参考国标《GB/T 29100-2012》中定义的事件分类代码 */ + int32 speedMaxLimit = 6; /* 建议最大车速,单位(0.02m/s) */ + int32 speedMinLimit = 7; /* 建议最小车速,单位(0.02m/s) */ + int32 eventRadius = 8; /* 交通事件触发半径,根据预警类型匹配,0:无效,单位(0.1m) */ + int32 warningLevel = 9; /* 预警等级,0:无效,1:DETECTED,2:INFORM,3:WARNING */ + int32 targetPosition = 10; /* 目标方位,参考mg_rti_target_position_t */ + int32 distance = 11; /* 预警触发时与自车之间的距离,单位(0.01m) */ +} + +//预警事件 RSI Warning event +message RsiWarningData { + int32 status = 1; /* 状态信息,0:更新,1:添加,2:删除 */ + //int32 warning_num = 2; /* 预警信息数量 */ + repeated RsiWarning warningMsg = 2; /* 预警信息集合 */ +} + +message participant{ + int32 ptcType = 1; /* 交通参与者类型,0:未知,1:机动车,2:非机动车,3:行人,4:OBU自身 */ + int32 ptcID = 2; /* 临时ID,取值范围(1..255) */ + int32 source = 3; /* 监测信息来源,0:未知,1:RSU自身,2:V2X广播,3:视频传感器,4:微波雷达,5:地磁线圈传感器,6:激光雷达传感器,7:两类或以上感知数据融合 */ + int64 secMark = 4; /* UTC时间,单位(ms) */ + int64 latitude = 5; /* 维度,单位(1e-7°) */ + int64 longitude = 6; /* 经度,单位(1e-7°) */ + int64 elevation = 7; /* 海拔,单位(0.1m) */ + int64 speed = 8; /* 速度,单位(0.02m/s) */ + int32 heading = 9; /* 航向角,单位(0.0125°) */ + AccelerationSet4Way_PB accFourAxes = 10; /* 四轴加速度 */ + VehicleSize_PB ptcSize = 11; /* 交通参与者尺寸信息 */ + int32 vehicleClass = 12; /* 车辆类型,参考《OBU软件SDK使用文档》附录A中的表1 */ + int32 targetPosition = 13; /* 目标方位,参考mg_veh_target_position_t */ +} + +message ParticipantWarningData{ + int32 unitMask = 1; /* 描述所属字段有效性 */ + int32 status = 2; /* 状态信息,0:更新,1:添加,2:删除 */ + int32 warningType = 3; /* 预警类型,0:前向碰撞预警,1:交叉路口碰撞预警,2:左转辅助预警,3:盲区预警,4:变道预警, + 5:逆向超车预警,6:紧急制动预警,7:异常车辆提醒,8:失控车辆预警,9:紧急车辆预警,10:弱势交通参与者碰撞预警 */ + int32 warningLevel = 4; /* 预警等级,0:无效,1:DETECTED,2:INFORM,3:WARNING */ + int32 warningPriority = 5; /* 预警优先级,默认为0,预留 */ +} + +message DateTime{ + int32 year = 1; /* 年份 */ + int32 month = 2; /* 月份 */ + int32 day = 3; /* 日期 */ + int32 hour = 4; /* 小时 */ + int32 minute = 5; /* 分钟 */ + int32 millisecond = 6; /* 毫秒 */ + int32 offset = 7; /* 定义与UTC时间的分钟差 */ +} + +message ParticipantWarning{ + int32 unitMask = 1; /* 描述所属字段有效性 */ + repeated ParticipantWarningData warningData = 2; + DateTime warningTime = 3; /* 预警触发时间 */ + int32 distance = 4; /* 预警触发时与自车之间的距离,单位(0.01m) */ +} + + +//RSM Warning Msg +message RsmWarningData{ + int32 status = 1; /* 状态信息,0:更新,1:添加,2:删除 */ + participant participantOfOne = 2; /* 弱势交通参与者信息 */ + ParticipantWarning warningMsg = 3; /* 弱势交通参与者预警信息 */ +} + +message SpatLight{ + int32 phaseID = 1; /* 信号灯相位ID */ + int32 maneuvers = 2; /* 允许转向关系,bit0:直行,bit1:左转,bit2:右转,bit3:掉头 */ + int32 light = 3; /* 灯色,0:不可用,1:黑色,2:红闪,3:红色,4:绿闪,5:permissive_green,6:protected_green,7:黄色,8:黄闪 */ + int32 countDown = 4; /* 灯色倒计时,单位(0.1s) */ + int32 suggestMaxSpeed = 5; /* 建议最大车速,单位(0.02m/s) */ + int32 suggestMinSpeed = 6; /* 建议最小车速,单位(0.02m/s) */ +} + +//SPAT Msg +message SpatWarningData{ + int32 status = 1; /* 状态信息,0:更新,1:添加,2:删除 */ + int32 warningType = 2; /* 预警类型信息 */ + repeated SpatLight lights = 3; /* 灯色信息集合 */ +} + +message ObuWarningData{ + common.Header header = 1; + int32 MsgDataType = 2; /*1:rsiEvent; 2:RsmEvent; 3:SpatEvent*/ + RsiWarningData rsiEvent = 3; + RsmWarningData RsmEvent = 4; + SpatWarningData SpatEvent = 5; +} diff --git a/libraries/mogo-adas-data/src/main/proto/robo_sweeper_task_index.proto b/libraries/mogo-adas-data/src/main/proto/robo_sweeper_task_index.proto new file mode 100644 index 0000000000..5d442b3ae6 --- /dev/null +++ b/libraries/mogo-adas-data/src/main/proto/robo_sweeper_task_index.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package planning; + +import "header.proto"; + +message RoboSweeperTaskIndex { + common.Header header = 1; + + uint32 edge_clean_state = 2; // 贴边工作状态 0--非贴边作业 1--靠右贴边作业, 2–靠左贴边作业 + uint32 edge_clean_avoid = 3; // 清扫绕障状态 0–非绕障状态 , 1–绕障状态 + double loc_utm_x = 4; // 自车RTK定位utm坐标下 x值 + double loc_utm_y = 5; // 自车RTK定位utm坐标下 y值 + double loc_lon = 6; // 自车RTK定位经度 + double loc_lat= 7; // 自车RTK定位纬度 + double ref_edge_point_x = 8; // 投影边沿点utm坐标下 x值 + double ref_edge_point_y = 9; // 投影边沿点utm坐标下 y值 + double ref_edge_point_lon = 10; // 投影边沿点经度 + double ref_edge_point_lat = 11; // 投影边沿点纬度 + double dist_to_ref_edge_point = 12; // 自车到投影边沿点的距离 正值为在投影边沿点的右边 ,负值为在投影边沿点的右边 +} \ No newline at end of file diff --git a/libraries/mogo-adas-data/src/main/proto/special_vehicle_task_cmd.proto b/libraries/mogo-adas-data/src/main/proto/special_vehicle_task_cmd.proto index 87d2f9619f..850a8ae307 100644 --- a/libraries/mogo-adas-data/src/main/proto/special_vehicle_task_cmd.proto +++ b/libraries/mogo-adas-data/src/main/proto/special_vehicle_task_cmd.proto @@ -20,7 +20,8 @@ message RoboSweeperFuTianTaskCmd { } message RoboVanSkywellTaskCmd { - + optional uint32 door_cmd = 1 [default = 0]; //1: 开门 2:关门 + optional uint32 horn_cmd = 2 [default = 0]; //1:开始鸣笛 2:停止鸣笛 } message SpecialVehicleTaskCmd { diff --git a/libraries/mogo-adas-data/src/main/proto/system_status_info.proto b/libraries/mogo-adas-data/src/main/proto/system_status_info.proto index 8e18ccceb7..58c511d8c8 100644 --- a/libraries/mogo-adas-data/src/main/proto/system_status_info.proto +++ b/libraries/mogo-adas-data/src/main/proto/system_status_info.proto @@ -41,7 +41,7 @@ message DropTopic{ message StatusInfo { required SystemState sys_state=1; // 当前消息状态 - repeated HealthInfo health_info=2; // 健康检查状态信息 + repeated HealthInfo health_info=2; // 健康检查状态信息 optional DropTopic topic_drop_info=3; // topic 掉频信息, 如有掉频添加没有不添加 optional string reserved = 4; // 预留可选字段,用于接口扩充或者,其他信息补充 } diff --git a/libraries/mogo-adas-data/src/main/proto/vehicle_state.proto b/libraries/mogo-adas-data/src/main/proto/vehicle_state.proto index b0046c2df6..ac6fbc96cc 100644 --- a/libraries/mogo-adas-data/src/main/proto/vehicle_state.proto +++ b/libraries/mogo-adas-data/src/main/proto/vehicle_state.proto @@ -95,7 +95,9 @@ message VehicleState { optional bool Emergency_Stop_Switch = 37 [default = false]; // 急停开关状态 optional chassis.VehicleFaultLevel vehiclefaultlevel = 38 [default = None_Fault]; // 整车故障状态 - reserved 39 to 199; + optional float bms_soc = 40 [default = 0]; // 电量百分比范围 0~100 + + reserved 41 to 199; optional SweeperFuTianCleanSystemState sweeper_futian_clean_system_state = 200; // 福田清扫车上装状态信息 }