| Assets/Scripts | ||
| config | ||
| docs | ||
| include/core | ||
| src | ||
| tests | ||
| tools | ||
| .clangd | ||
| .cursorignore | ||
| .cursorrules | ||
| .gitignore | ||
| CMakeLists.txt | ||
| compile_commands.json | ||
| README.md | ||
机场地面碰撞预警系统
项目简介
该系统用于监测和预警机场地面航空器与车辆之间的潜在碰撞风险。通过实时采集和分析位置数据,为机场运营提供安全保障。
功能特性
- 实时数据采集:获取航空器和车辆的位置信息
- 碰撞风险检测:基于安全距离进行碰撞风险评估
- 运动参数计算:自动计算速度和航向信息
- 坐标转换:支持地理坐标和平面坐标转换
- 日志记录:详细的运行日志和警告信息
系统架构
- 数据采集模块:从数据源获取位置信息
- 碰撞检测模块:分析潜在的碰撞风险
- 坐标转换模块:处理不同坐标系统
- 核心数据类型:定义基础的数据结构
- 性能测试模块:使用 Google Benchmark 进行性能评估
开发环境
- C++17
- CMake 3.14+
- Boost 1.86.0
- nlohmann_json 3.11.3
- Google Test
- Google Mock
- Google Benchmark
构建说明
# 创建构建目录
mkdir build && cd build
# 配置项目(启用测试)
cmake -DBUILD_TESTING=ON ..
# 编译
cmake --build .
# 运行单元测试
ctest --output-on-failure
# 运行性能测试
./bin/benchmark_tests
测试框架
- 单元测试:使用 Google Test 框架
- Mock 测试:使用 Google Mock 进行模拟
- 性能测试:使用 Google Benchmark
- 测试覆盖:
- 基础数据类型
- 碰撞检测逻辑
- 数据采集功能
- HTTP 数据源
- 性能基准测试
目录结构
graph TD
A[ObstacleAvoidance] --> B[src]
A --> C[tests]
A --> D[tools]
A --> E[docs]
A --> F[build]
A --> G[benchmarks]
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]
G --> GA[CollisionDetectorBenchmark.cpp]
G --> GB[CoordinateConverterBenchmark.cpp]
D --> DA[mock_server.py]
依赖管理
项目使用 CMake 的 FetchContent 模块管理第三方依赖:
include(FetchContent)
FetchContent_Declare(
json
URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz
)
FetchContent_MakeAvailable(json)
配置说明
-
数据源配置:
- 主机:localhost
- 端口:8080
- API路径:
- /api/getCurrentFlightPositions
- /api/getCurrentVehiclePositions
-
安全参数:
- 水平安全距离:50米
- 垂直安全距离:50米
- 最大速度限制:
- 航空器:100米/秒
- 车辆:30米/秒
开发团队
- 项目负责人:[田建勇]
- 开发人员:[赵豪、陈横、刘青宇]
许可证
[License Type]
版本历史
-
v1.1.0 (2024-03-20)
- 添加 Google Benchmark 性能测试
- 升级 CMake 最低版本至 3.14
- 规范化第三方库版本管理
- 添加 FetchContent 依赖管理
-
v1.0.0 (2024-11-15)
- 初始版本发布
- 基本功能实现
- 单元测试框架搭建