6.2 KiB
6.2 KiB
机场场面告警策略文档
1. 控制指令定义
系统对无人车的控制分为以下指令类型:
// 指令类型
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 告警条件
-
距离阈值:
- 车辆进入路口 200 米范围内开始监测
- 在距离路口 50 米处为停车点
-
信号灯状态响应:
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 告警条件
-
距离监测:
- 航空器或特勤车辆通过路口,无人车距离路口阈值:100 米
-
控制策略:
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 告警条件
-
距离监测:
- 航空器通过路口,无人车距离路口阈值:100 米
-
控制策略:
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 指令优先级处理
-
SIGNAL 指令(优先级 4)
- 立即执行
- 覆盖其他所有指令
- 红绿灯控制具有最高优先级,确保交通安全
-
ALERT 指令(优先级 3)
- 可被 SIGNAL 指令覆盖
- 优先于 WARNING 指令
- 用于碰撞风险等紧急情况
-
WARNING 指令(优先级 2)
- 可被 SIGNAL 和 ALERT 指令覆盖
- 用于预防性控制
- 在无更高优先级指令时执行
-
RESUME 指令(优先级 1)
- 可被其他指令覆盖
- 用于恢复到正常行驶状态
5.2 系统响应时间
- 告警信号处理延迟 < 100ms
- 控制指令执行延迟 < 200ms
- 状态反馈延迟 < 300ms
5.3 降级处理
- 在通信中断时,无人车应自动降速或停车
- 在传感器失效时,扩大安全距离
5.4 提前量
- 无人车在距离路口 110 米处开始监测,提前 10 米发送 WARNING 指令
- 无人车在距离路口 60 米处开始监测,提前 10 米发送 ALERT 指令
5.5 指令格式
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 时有效)
};