129 lines
2.5 KiB
Markdown
129 lines
2.5 KiB
Markdown
# 机场地面碰撞预警系统
|
||
|
||
## 项目简介
|
||
|
||
该系统用于监测和预警机场地面航空器与车辆之间的潜在碰撞风险。通过实时采集和分析位置数据,为机场运营提供安全保障。
|
||
|
||
## 功能特性
|
||
|
||
- 实时数据采集:获取航空器和车辆的位置信息
|
||
- 碰撞风险检测:基于安全距离进行碰撞风险评估
|
||
- 运动参数计算:自动计算速度和航向信息
|
||
- 坐标转换:支持地理坐标和平面坐标转换
|
||
- 日志记录:详细的运行日志和警告信息
|
||
|
||
## 系统架构
|
||
|
||
- 数据采集模块:从数据源获取位置信息
|
||
- 碰撞检测模块:分析潜在的碰撞风险
|
||
- 坐标转换模块:处理不同坐标系统
|
||
- 核心数据类型:定义基础的数据结构
|
||
|
||
## 开发环境
|
||
|
||
- C++17
|
||
- CMake 3.10+
|
||
- Boost 1.86.0
|
||
- nlohmann_json
|
||
- Google Test
|
||
|
||
## 构建说明
|
||
|
||
```bash
|
||
# 创建构建目录
|
||
mkdir build && cd build
|
||
|
||
# 配置项目
|
||
cmake ..
|
||
|
||
# 编译
|
||
make
|
||
|
||
# 运行测试
|
||
./bin/unit_tests
|
||
```
|
||
|
||
## 测试框架
|
||
|
||
- 使用 Google Test 进行单元测试
|
||
- 测试覆盖:
|
||
- 基础数据类型
|
||
- 碰撞检测逻辑
|
||
- 数据采集功能
|
||
- HTTP 数据源
|
||
- Mock 服务器用于测试
|
||
|
||
## 目录结构
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[ObstacleAvoidance] --> B[src]
|
||
A --> C[tests]
|
||
A --> D[tools]
|
||
A --> E[docs]
|
||
A --> F[build]
|
||
|
||
B --> BA[collector]
|
||
B --> BB[detector]
|
||
B --> BC[network]
|
||
B --> BD[spatial]
|
||
B --> BE[types]
|
||
B --> BF[utils]
|
||
B --> BG[core]
|
||
|
||
BA --> BAA[DataCollector.h/cpp]
|
||
BA --> BAB[DataSource.h]
|
||
|
||
BB --> BBA[CollisionDetector.h/cpp]
|
||
|
||
BC --> BCA[HTTPDataSource.h/cpp]
|
||
BC --> BCB[ConnectionConfig.h]
|
||
|
||
BD --> BDA[CoordinateConverter.h/cpp]
|
||
|
||
BE --> BEA[BasicTypes.h/cpp]
|
||
|
||
BF --> BFA[Logger.h/cpp]
|
||
|
||
BG --> BGA[System.h/cpp]
|
||
|
||
C --> CA[BasicTypesTest.cpp]
|
||
C --> CB[CollisionDetectorTest.cpp]
|
||
C --> CC[DataCollectorTest.cpp]
|
||
C --> CD[HTTPDataSourceTest.cpp]
|
||
|
||
D --> DA[mock_server.py]
|
||
```
|
||
|
||
## 配置说明
|
||
|
||
- 数据源配置:
|
||
- 主机:localhost
|
||
- 端口:8080
|
||
- API路径:
|
||
- /api/getCurrentFlightPositions
|
||
- /api/getCurrentVehiclePositions
|
||
|
||
- 安全参数:
|
||
- 水平安全距离:50米
|
||
- 垂直安全距离:50米
|
||
- 最大速度限制:
|
||
- 航空器:100米/秒
|
||
- 车辆:30米/秒
|
||
|
||
## 开发团队
|
||
|
||
- 项目负责人:[田建勇]
|
||
- 开发人员:[赵豪、陈横、刘青宇]
|
||
|
||
## 许可证
|
||
|
||
[License Type]
|
||
|
||
## 版本历史
|
||
|
||
- v1.0.0 (2024-11-15)
|
||
- 初始版本发布
|
||
- 基本功能实现
|
||
- 单元测试框架搭建
|