4.0 KiB
4.0 KiB
CollisionAvoidanceSystem
🎯 核心目标 (Core Goal)
本项目旨在开发一套机场地面碰撞避免系统,通过整合机场场面内各类移动目标(航空器、特勤车辆、无人车)的实时数据,实现潜在运行冲突的智能预警与告警,提升机场地面运行安全与效率。
✨ 主要功能概述 (Key Features)
- 多源数据集成: 融合来自不同系统和传感器的数据。
- 实时态势构建: 维护场面目标的实时位置、速度和状态。
- 冲突风险评估: 基于目标轨迹和运行规则,预测和识别潜在冲突。
- 规则符合性检查: 如根据道路/区域限制进行超速检测。
- 实时告警与通知: 通过 WebSocket 等机制发布告警信息。
- 静态环境建模: 支持对机场道路网络等静态环境进行配置和查询。
🏗️ 系统架构与模块 (Architecture & Modules)
系统采用模块化设计,便于开发、测试和维护。主要模块包括数据采集、数据处理、道路网络管理、API 控制器和 WebSocket 通信等。
详细的包和目录结构说明,请参见:
💡 核心概念与数据结构 (Core Concepts & Data Structures)
系统围绕"移动物体 (MovingObject)"进行建模,并处理其动态状态。同时,引入了对机场静态环境(如道路网络)的建模。
核心数据结构设计(包括移动物体模型、地理位置、速度、运动状态以及道路信息模型等)的详细说明,请参见:
⚙️ 配置概览 (Configuration Overview)
系统通过多种配置文件进行参数设置和行为调整。
- 应用核心配置:
src/main/resources/application.yml文件,用于配置服务器端口、数据库连接、消息队列、外部 API 等基础设置。 - 道路网络配置:
src/main/resources/config/airport_roads.yaml文件,用于定义机场道路的几何、限速、限制等静态信息。数据格式需遵循约定。 - 区域配置:
src/main/resources/config/airport_zones.yaml文件 (如果使用),用于定义机场功能分区。 - Java 配置类: 各模块可能包含位于
config包下的 Java 类,用于配置 Spring Beans 或加载特定配置。
关于各类配置文件的详细说明、用途以及配置加载机制,请参见:
- 配置文件说明文档 (configuration_guide.md)
- 关于如何从 CAD 生成道路网络配置,请参见 CAD 转 YAML 指南 (cad_to_yaml_guide.md)
- 道路网络配置的集成设计方案,请参见 道路网络设计方案 (road_network_design.md)
🚀 快速开始 (Quick Start)
- 环境准备: 确保已安装 Java (JDK 17+), Maven,并准备好所需的外部服务实例 (如 Redis, MongoDB, Kafka)。
- 配置检查: 根据实际环境修改
application.yml,并确保airport_roads.yaml包含有效的道路数据。 - 构建项目: 在项目根目录下运行
./mvnw clean package(或mvn clean package)。 - 运行应用: 执行
java -jar target/CollisionAvoidance-0.0.1-SNAPSHOT.jar或通过 Maven 插件spring-boot:run启动。
📚 项目文档索引 (Documentation Index)
本项目包含以下设计和说明文档,均位于 doc/ 目录下:
- 目录结构说明 (directory_structure.md)
- 数据结构设计 (design_document.md)
- 配置文件说明 (configuration_guide.md)
- CAD 转 YAML 指南 (cad_to_yaml_guide.md)
- 道路网络设计方案 (road_network_design.md)
- 需求收集与分析 (requirements.md) (如果适用)
📄 许可证 (License)
(请在此处添加项目的许可证信息,例如 MIT, Apache 2.0 等)