CollisionAvoidanceSystem/README.md

64 lines
4.0 KiB
Markdown
Raw Permalink 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.

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