diff --git a/README.md b/README.md index 01b9890..e819168 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -# 机场地面碰撞预警系统 +# 机场地面碰撞预警系统(测试平台) ## 项目简介 该系统用于监测和预警机场地面航空器与车辆之间的潜在碰撞风险。通过实时采集和分析位置数据,为机场运营提供安全保障。 +本系统运行在机场测试平台中,用于测试和验证碰撞预警系统的功能可行性。 ## 功能特性 diff --git a/docs/configuration_guide.md b/docs/configuration_guide.md new file mode 100644 index 0000000..f1b892d --- /dev/null +++ b/docs/configuration_guide.md @@ -0,0 +1,366 @@ +# 机场无人车冲突预警系统配置指南 + +## 目录 +- [机场无人车冲突预警系统配置指南](#机场无人车冲突预警系统配置指南) + - [目录](#目录) + - [一、机场基础信息配置](#一机场基础信息配置) + - [参数说明](#参数说明) + - [配置说明](#配置说明) + - [二、区域边界配置](#二区域边界配置) + - [区域参数规范表](#区域参数规范表) + - [参数说明](#参数说明-1) + - [三、交叉路口配置](#三交叉路口配置) + - [参数说明](#参数说明-2) + - [配置原则](#配置原则) + - [四、数据接口配置](#四数据接口配置) + - [接口参数示例](#接口参数示例) + - [参数说明](#参数说明-3) + - [五、无人车配置](#五无人车配置) + - [参数说明](#参数说明-4) + - [六、预警参数配置](#六预警参数配置) + - [参数说明](#参数说明-5) + - [冲突预警和告警参数](#冲突预警和告警参数) + - [参数说明](#参数说明-6) + - [告警阈值](#告警阈值) + - [七、调试与日志](#七调试与日志) + - [参数说明](#参数说明-7) + - [八、配置验证流程](#八配置验证流程) + - [文档版本](#文档版本) + +--- + +## 一、机场基础信息配置 +文件路径:`config/system_config.json` + +```json +{ + "airport": { + "name": "青岛胶东国际机场", + "iata": "TAO", + "icao": "ZSQD", + "reference_point": { + "latitude": 36.35448347, + "longitude": 120.08502054 + }, + "coordinate_points": [ + {"point": "T1", "longitude": 120.0868853, "latitude": 36.35496367}, + {"point": "T2", "longitude": 120.08502054, "latitude": 36.35448347} + ] + } +} +``` + +### 参数说明 +- **name**:机场名称 +- **iata**:机场三字代码 +- **icao**:机场四字代码 +- **reference_point**:参考点 + - **latitude**:参考点纬度 + - **longitude**:参考点经度 +- **coordinate_points**:坐标点 + - **point**:坐标点名称 + - **longitude**:坐标点经度 + - **latitude**:坐标点纬度 + + +### 配置说明 +- **参考点设置**:选择塔台或机场中心点作为坐标系原点 +- **坐标精度**:经纬度建议保留8位小数(约1cm精度) +- **命名规范**: + - IATA代码使用3位大写字母 + - 坐标点按T1-T13顺序编号 + +--- + +## 二、区域边界配置 +文件路径:`config/airport_bounds.json` + +### 区域参数规范表 +| 区域类型 | 边界坐标x(米) | 边界坐标y(米) | 区域宽度 | 区域高度 | +| -------- | ------------- | ------------- | -------- | -------- | +| 测试区 | -100 | -200 | 800 | 400 | + + +```json + "test_zone": { + "bounds": { + "x": -100, + "y": -200, + "width": 800, + "height": 400 + } +``` + +### 参数说明 +- **bounds**:区域边界 + - **x**:区域左上角x坐标 + - **y**:区域左上角y坐标 + - **width**:区域宽度 + - **height**:区域高度 + +--- + +## 三、交叉路口配置 +文件路径:`config/intersections.json` + +```json +{ + "id": "T2路口", + "name": "无人车与特勤车交叉路口", + "trafficLightId": "TL001", + "position": { + "longitude": 120.08502054, + "latitude": 36.35448347, + "altitude": 9.543 + }, + "width": 20.0, + "safetyZone": { + "aircraftRadius": 50.0, + "vehicleRadius": 50.0 + } +} +``` + +### 参数说明 +- **id**:路口ID +- **name**:路口名称 +- **trafficLightId**:交通灯ID +- **position**:路口位置 +- **width**:路口宽度 +- **safetyZone**:安全区 +- **aircraftRadius**:飞机安全区半径 +- **vehicleRadius**:车辆安全区半径 + +### 配置原则 +1. 路口ID按"T"+数字编号(如T1-T13) +2. 安全区半径建议值: + - 飞机:翼展×1.5 + - 车辆:车长×2.0 + +--- + +## 四、数据接口配置 +文件路径:`config/system_config.json` + +### 接口参数示例 +```json +"data_source": { + "position": { + "host": "localhost", + "port": 8081, + "aircraft_path": "/openApi/getCurrentFlightPositions", + "vehicle_path": "/openApi/getCurrentVehiclePositions", + "refresh_interval_ms": 1000, + "auth": { + "username": "dianxin", + "password": "dianxin@123", + "auth_path": "/login", + "auth_required": true + }, + "timeout_ms": 5000, + "read_timeout_ms": 2000 + }, + "unmanned_vehicle": { + "host": "localhost", + "port": 8081, + "location_path": "/api/VehicleLocationInfo", + "status_path": "/api/VehicleStateInfo", + "command_path": "/api/VehicleCommandInfo", + "refresh_interval_ms": 1000, + "auth": { + "username": "dianxin", + "password": "dianxin@123", + "auth_path": "/api/login", + "auth_required": false + }, + "timeout_ms": 5000, + "read_timeout_ms": 2000 + }, + "traffic_light": { + "host": "localhost", + "port": 8081, + "signal_path": "/openApi/getTrafficLightSignals", + "refresh_interval_ms": 1000, + "auth": { + "username": "dianxin", + "password": "dianxin@123", + "auth_path": "/api/login", + "auth_required": false + }, + "timeout_ms": 5000, + "read_timeout_ms": 2000 + } + } +``` + +### 参数说明 +- **position**:位置接口 + - **host**:数据源IP地址 + - **port**:数据源端口号 + - **aircraft_path**:航空器数据接口路径 + - **vehicle_path**:车辆数据接口路径 + - **refresh_interval_ms**:数据刷新间隔时间(ms) + - **auth**:认证信息 + - **username**:用户名 + - **password**:密码 + - **auth_path**:认证路径 + - **auth_required**:是否需要认证 + - **timeout_ms**:请求超时时间(ms) + - **read_timeout_ms**:读取超时时间(ms) +- **unmanned_vehicle**:无人车接口 + - **host**:无人车IP地址 + - **port**:无人车端口号 + - **location_path**:无人车位置接口路径 + - **status_path**:无人车状态接口路径 + - **command_path**:无人车命令接口路径 + - **refresh_interval_ms**:数据刷新间隔时间(ms) + - **auth**:认证信息 + - **username**:用户名 + - **password**:密码 + - **auth_path**:认证路径 + - **auth_required**:是否需要认证 + - **timeout_ms**:请求超时时间(ms) + - **read_timeout_ms**:读取超时时间(ms) +- **traffic_light**:交通灯接口 + - **host**:交通灯IP地址 + - **port**:交通灯端口号 + - **signal_path**:交通灯信号接口路径 + - **refresh_interval_ms**:数据刷新间隔时间(ms) + - **auth**:认证信息 + - **username**:用户名 + - **password**:密码 + - **auth_path**:认证路径 + - **auth_required**:是否需要认证 + - **timeout_ms**:请求超时时间(ms) + - **read_timeout_ms**:读取超时时间(ms) + +--- + +## 五、无人车配置 +文件路径:`config/unmanned_vehicles.json` + +```json +"vehicles": [ + { + "vehicleNo": "QN001", + "type": "UNMANNED", + "ip": "localhost", + "port": 8081 + }, + { + "vehicleNo": "QN002", + "type": "UNMANNED", + "ip": "localhost", + "port": 8081 + } + ] +``` + +### 参数说明 +- **vehicleNo**:无人车编号 +- **type**:无人车类型 +- **ip**:无人车IP地址 +- **port**:无人车端口号 + +--- + +## 六、预警参数配置 + +###冲突预测和航空器和车辆尺寸: + +文件路径:`config/system_config.json` + +```json +"collision_detection": { + "update_interval_ms": 200, + "prediction": { + "time_window": 20.0, + "vehicle_size": 20.0, + "aircraft_size": 60.0, + "min_unmanned_speed": 1.0 + } + } +``` +### 参数说明 +- **update_interval_ms**:冲突检测更新间隔时间(ms) +- **prediction**:冲突预测模型参数 + - **time_window**:预测时间窗口(s) + - **vehicle_size**:车辆尺寸(m) + - **aircraft_size**:航空器尺寸(m) + - **min_unmanned_speed**:无人车最小速度(m/s) + +### 冲突预警和告警参数 + +文件路径:`config/airport_bounds.json` + +```json +"warning_zone_radius": { + "aircraft": 70.0, + "special": 30.0, + "unmanned": 30.0 + }, +"alert_zone_radius": { + "aircraft": 35.0, + "special": 15.0, + "unmanned": 15.0 + } +``` + +### 参数说明 +- **warning_zone_radius**:预警区半径 = 预警距离阈值 + 飞机尺寸/2 + 车辆尺寸/2 +- **alert_zone_radius**:告警区半径 = 告警距离阈值 + 飞机尺寸/2 + 车辆尺寸/2 + +### 告警阈值 +| 告警级别 | 飞机距离阈值(m) | 车辆距离阈值(m) | +| -------- | --------------- | --------------- | +| 预警 | 60 | 30 | +| 告警 | 30 | 15 | + +--- + +## 七、调试与日志 +文件路径:`config/logging_config.json` + +```json +"logging": { + "level": "debug", + "file": "logs/system.log", + "max_size_mb": 10, + "max_files": 5, + "console_output": true + } +``` + +### 参数说明 +- **level**:日志级别 +- **file**:日志文件路径 +- **max_size_mb**:日志文件最大大小(MB) +- **max_files**:日志文件最大数量 +- **console_output**:是否输出到控制台 + +--- + +## 八、配置验证流程 + +1. 基础配置检查 +```bash +# 检查配置文件语法 +python3 -m json.tool config/system_config.json +``` + +2. 接口连通性测试 +```bash +curl -X POST http://localhost:8081/openApi/getCurrentFlightPositions +``` + +3. 实时监控 +```bash +tail -f /opt/collision_avoidance/logs/system.log | grep "WARNING" +``` + +## 文档版本 +- 版本号:1.0.0 +- 更新日期:2025-02-06 +- 更新内容:初始版本 + + diff --git a/docs/configuration_guide.pdf b/docs/configuration_guide.pdf new file mode 100644 index 0000000..bac4e09 Binary files /dev/null and b/docs/configuration_guide.pdf differ