# 机场场面告警策略文档 ## 1. 控制指令定义 系统对无人车的控制分为以下指令类型: ```cpp // 指令类型 enum class CommandType { ALERT, // 告警指令 SIGNAL, // 信号灯指令 WARNING, // 预警指令 RESUME // 恢复指令 }; // 指令原因 enum class CommandReason { TRAFFIC_LIGHT, // 红绿灯控制 AIRCRAFT_CROSSING, // 航空器交叉 SPECIAL_VEHICLE, // 特勤车辆 AIRCRAFT_PUSH, // 航空器推出 RESUME_TRAFFIC // 恢复通行 }; // 信号灯状态 enum class SignalState { RED, // 红灯 GREEN // 绿灯 }; ``` ### 1.1 信号灯指令(SIGNAL) - **目的**:响应交通信号灯 - **触发条件**:接收到红绿灯状态变化 - **执行动作**:根据信号灯状态停车或通行 - **优先级**:4(最高优先级) - **原因**:TRAFFIC_LIGHT ### 1.2 告警指令(ALERT) - **目的**:应对紧急情况 - **触发条件**:检测到直接碰撞风险 - **执行动作**:强制停车或紧急避让 - **优先级**:3 - **原因**:AIRCRAFT_CROSSING, SPECIAL_VEHICLE, AIRCRAFT_PUSH ### 1.3 预警指令(WARNING) - **目的**:提前告知可能的风险 - **触发条件**:进入监测区域但尚未到达关键区域 - **执行动作**:降低速度,提高警惕 - **优先级**:2 - **原因**:AIRCRAFT_CROSSING, SPECIAL_VEHICLE, AIRCRAFT_PUSH ### 1.4 恢复指令(RESUME) - **目的**:恢复到正常行驶状态 - **触发条件**:航空器或特勤车辆通过后,距离路口 50 m后 - **执行动作**:恢复到正常行驶状态 - **优先级**:1(最低优先级) - **原因**:RESUME_TRAFFIC ## 2. 红绿灯条件下的告警策略 ### 2.1 适用场景 - 无人车接近带有红绿灯的交叉路口时的行为控制 - 主要针对机场内各主要道路交叉口 ### 2.2 告警条件 1. **距离阈值**: - 车辆进入路口 200 米范围内开始监测 - 在距离路口 50 米处为停车点 2. **信号灯状态响应**: ```cpp struct VehicleCommand { std::string vehicleId; // 车辆ID CommandType type; // 指令类型(SIGNAL) CommandReason reason; // 指令原因(TRAFFIC_LIGHT) SignalState signalState; // 信号灯状态 std::string intersectionId; // 路口ID double latitude; // 路口纬度 double longitude; // 路口经度 }; ``` ## 3. 航空器或特勤车辆,和无人车垂直经过交叉路口的告警策略 ### 3.1 适用场景 - 滑行道与车行道的交叉路口 - 航空器或特勤车辆,和无人车垂直交叉,预判可能冲突的情况 ### 3.2 告警条件 1. **距离监测**: - 航空器或特勤车辆通过路口,无人车距离路口阈值:100 米 2. **控制策略**: ```cpp struct VehicleCommand { std::string vehicleId; // 车辆ID CommandType type; // 指令类型(WARNING/ALERT) CommandReason reason; // 指令原因(AIRCRAFT_CROSSING/SPECIAL_VEHICLE) double latitude; // 目标位置纬度 double longitude; // 目标位置经度 double relativeSpeed; // 相对速度 double relativeMotionX; // 相对运动 X 分量 double relativeMotionY; // 相对运动 Y 分量 double minDistance; // 最小距离 }; ``` ## 4. 航空器出库时的告警策略 ### 4.1 适用场景 - 航空器从机库或维修区驶出 - 与服务区道路的交叉路口 ### 4.2 告警条件 1. **距离监测**: - 航空器通过路口,无人车距离路口阈值:100 米 2. **控制策略**: ```cpp struct VehicleCommand { std::string vehicleId; // 车辆ID CommandType type; // 指令类型(WARNING/ALERT) CommandReason reason; // 指令原因(AIRCRAFT_PUSH) double latitude; // 目标位置纬度 double longitude; // 目标位置经度 double relativeSpeed; // 相对速度 double relativeMotionX; // 相对运动 X 分量 double relativeMotionY; // 相对运动 Y 分量 double minDistance; // 最小距离 }; ``` ## 5. 通用要求 ### 5.1 指令优先级处理 1. SIGNAL 指令(优先级 4) - 立即执行 - 覆盖其他所有指令 - 红绿灯控制具有最高优先级,确保交通安全 2. ALERT 指令(优先级 3) - 可被 SIGNAL 指令覆盖 - 优先于 WARNING 指令 - 用于碰撞风险等紧急情况 3. WARNING 指令(优先级 2) - 可被 SIGNAL 和 ALERT 指令覆盖 - 用于预防性控制 - 在无更高优先级指令时执行 4. RESUME 指令(优先级 1) - 可被其他指令覆盖 - 用于恢复到正常行驶状态 ### 5.2 系统响应时间 - 告警信号处理延迟 < 100ms - 控制指令执行延迟 < 200ms - 状态反馈延迟 < 300ms ### 5.3 降级处理 - 在通信中断时,无人车应自动降速或停车 - 在传感器失效时,扩大安全距离 ### 5.4 提前量 - 无人车在距离路口 110 米处开始监测,提前 10 米发送 WARNING 指令 - 无人车在距离路口 60 米处开始监测,提前 10 米发送 ALERT 指令 ### 5.5 指令格式 ```cpp struct VehicleCommand { std::string vehicleId; // 车辆ID CommandType type; // 指令类型 CommandReason reason; // 指令原因 uint64_t timestamp; // 时间戳 SignalState signalState; // 信号灯状态(仅当 type 为 SIGNAL 时有效) std::string intersectionId; // 路口ID(仅当 type 为 SIGNAL 时有效) double latitude; // 目标位置纬度(路口/航空器/特勤车) double longitude; // 目标位置经度(路口/航空器/特勤车) double relativeSpeed; // 相对速度(仅当 type 为 ALERT/WARNING 时有效) double relativeMotionX; // 相对运动 X 分量(仅当 type 为 ALERT/WARNING 时有效) double relativeMotionY; // 相对运动 Y 分量(仅当 type 为 ALERT/WARNING 时有效) double minDistance; // 最小距离(仅当 type 为 ALERT/WARNING 时有效) }; ```