CollisionAvoidance/README.md
2024-11-16 15:17:58 +08:00

129 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 机场地面碰撞预警系统
## 项目简介
该系统用于监测和预警机场地面航空器与车辆之间的潜在碰撞风险。通过实时采集和分析位置数据,为机场运营提供安全保障。
## 功能特性
- 实时数据采集:获取航空器和车辆的位置信息
- 碰撞风险检测:基于安全距离进行碰撞风险评估
- 运动参数计算:自动计算速度和航向信息
- 坐标转换:支持地理坐标和平面坐标转换
- 日志记录:详细的运行日志和警告信息
## 系统架构
- 数据采集模块:从数据源获取位置信息
- 碰撞检测模块:分析潜在的碰撞风险
- 坐标转换模块:处理不同坐标系统
- 核心数据类型:定义基础的数据结构
## 开发环境
- 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)
- 初始版本发布
- 基本功能实现
- 单元测试框架搭建