meob/HornetHive

GitHub: meob/HornetHive

基于MQTT协议的自主无人机蜂群C4I指挥站,集成AI视觉与LLM指挥官,支持高保真仿真及真实硬件接入。

Stars: 0 | Forks: 0

# 🐝 HORNET HIVE | 战术蜂群 C4I 站 (v0.0.1) 一个用于自主无人机蜂群的 **指挥、控制、通信、计算机和情报 (C4I)** 站。 HORNET HIVE (HH) 利用 MQTT 这一物联网 (IoT) 中使用最广泛的通信协议, 将真实或模拟设备连接到控制中心。 它还在多个组件中集成了人工智能 (AI),以检测威胁并与操作员交互。 HORNET HIVE User Interface HORNET HIVE 可用作各种战术场景(例如 SAR —— 搜救)下的模拟游戏, 或连接到现实世界的组件,如摄像头、传感器和无人机。 无人机模拟组件在各个方面都是完整的:飞行物理、电池管理、卫星视图和控制。与外部组件(如 RTSP 摄像头、目标检测、传感器和 Telegram 报警)的集成也已完成,但需要特定的定制和配置。无人机机群管理和 AI 辅助飞行控制是概念验证 (POC),可以在各个方向上进行扩展。 ## 🚀 执行(游戏场景) 该项目包含预配置的 Docker 场景,可快速启动模拟: ### 1. 训练模式 (Hornet Nest) ``` docker-compose -f docker-compose.HH.yml up --build ``` 这是练习 HH (Hornet Hive) CC (控制中心) 的初始场景。目标是找到一匹在乡村走失的马。无人机可以飞越整个区域并访问操作员指示的地点。 ### 2. 海上搜救 (Bonifacio Strait) ``` docker-compose -f docker-compose.SAR_bonifacio.yml up --build ``` 博尼法乔海峡是帆船运动的绝佳场所。目标是找到一艘遇险船只并发射救生筏。 有几架无人机需要协调以加快搜索速度,但只有一架可以发射救生筏。 ### 3. 设施防御 (Fukushima) ``` docker-compose -f docker-compose.DEF_fukushima.yml up --build ``` 福岛是一座因严重核事故而闻名的日本核电站。在这种情况下,无人机有多重目标,例如检查反应堆泄漏、跟踪入侵者以及向遇险工人派遣紧急服务。 ### 4. 战术打击 (Erbil) ``` docker-compose -f docker-compose.MIL_erbil.yml up --build ``` 这是一个假设但不幸的是非常现实的场景,其中无人机承担防御和反击任务。 访问 UI (用户界面) 位于:**http://localhost:3000** ### 🛸 无人机 游戏场景只是初始示例!您可以使用任何无人机配置任何场景。 有几架模拟无人机(例如 DJI Mini4, AR5 life ray, R18, MQ9 Reaper) 可用,可以在不同场景中运行 具有不同的目标(例如训练、SAR、监视、军事), 有关完整列表,请参阅 **[无人机](DRONES.md)** 和 **[场景](SCENARIOS.md)**。 有关战术术语的完整列表(SAR, C4I, WRA, RTL 等),请参阅 **[术语表](GLOSSARY.md)** 📖。 ## 🛰️ 战术功能 - **逼真的无人机物理特性**:模拟了广泛的无人机系列,考虑了它们的特性和局限性。特别是,飞行物理考虑了旋翼与固定翼模型、每种模型的最大速度以及电池消耗。 无人机只能在基地充电。基地外的滞留资产会在 120 秒后自动关闭。 - **行动循环 (OODA)**:完整的任务生命周期:**搜索** (盘旋)、**检测** (ISR) 和 **行动** (救援/打击)。 - **任务能力**:无人机按有效载荷分类:📷 (传感器)、🛟 (救生筏)、⛑️ (急救包)、🔥 (打击)。 - **战术雷达模拟**:在圆形扫描界面上实时可视化蜂群和潜在目标的接近度。 - **气象站模拟**:风力和气象信息的在线信息。 - **武器释放授权 (WRA)**:关键命令 (STRIKE/ACTION) 需要 30 秒的确认窗口以及操作员通过 **授权桥** 做出的 "竖起大拇指" 手势。 - **空间上下文与 POI**:在场景中定义关键战术位置(例如 "Reactor_1"、"Main_Gate")。AI 指挥官使用这些位置通过自然语言命令为蜂群规划路线。 - **多线程边缘 AI**:高性能摄像头桥接,具有丢帧功能以处理实时 RTSP 流。 摄像头使用 YOLOv8 目标识别来检测入侵。 - **报警 (Telegram/UI)**:实时移动通知。 ## 🏗️ 系统架构 1. **后端 (Node.js/Express)**:场景授权与编排器。管理全局状态、WRA 逻辑和分层日志记录。 2. **前端 (Vanilla JS/Socket.io)**:动态蜂巢 HUD。实时遥测、GIS 映射以及基于无人机能力的动态操作按钮。 3. **无人机模拟器 (Python)**:高保真无人机模拟,基于图像。 4. **目标模拟器 (Python)**:带有 MAYDAY 信号和漂移物理特性的动态/静态目标模拟。 5. **授权层 (Python/MediaPipe)**:用于操作员手势确认 (WRA) 的专用 HMI 桥接。 6. **智能层 (Python/YOLOv8)**:用于威胁检测 (ISR) 的 AI 视觉模块,可连接到任何 RTSP 标准摄像头。 7. **AI 指挥官 (Python/Ollama)**:由 LLM 驱动的 "战术大脑",用于自动任务规划。 8. **资产层 (Python)**:物理 (Tello, MAVLink) 无人机支持。 ## ⚙️ 安装与设置 ### 1. 前置条件 - **Node.js** (v18+) - **Python** (v3.12+) - **Docker & Docker Compose**(用于场景部署) - **MQTT Broker**(例如 Mosquitto) - **Ollama**(用于 AI 指挥官) ### 2. Python 环境 强烈建议使用虚拟环境来管理依赖项: ``` # 创建并激活 venv python3 -m venv .venv source .venv/bin/activate # 安装 dependencies pip install -r requirements.txt ``` ### 3. Node.js 环境 ``` npm install ``` ### 4. 🧠 AI 模型(必需) 大型二进制文件已从此存储库中排除。您必须手动下载它们并将其放置在项目根目录中: - **YOLOv8n (目标检测)**:[下载 yolov8n.pt](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n.pt) - **MediaPipe Hand Landmarker (手势认证)**:[下载 hand_landmarker.task](https://storage.googleapis.com/mediapipe-models/hand_landmarker/hand_landmarker/float16/1/hand_landmarker.task) ## 📂 项目结构 ``` . ├── server.js # C2 Orchestrator & Scenario Authority ├── public/ │ └── index.html # Tactical Dashboard (Honeycomb OSD) ├── assets/ │ ├── scenarios.json # Theater of Operations │ ├── drone_models.json # Drone physics, behavior & capabilities │ ├── drone_mock.py # High-fidelity Drone Simulator (Physics & Energy) │ ├── target_mock.py # Dynamic Objective Simulator (Mayday & Actions) │ ├── camera_bridge.py # AI Vision Bridge (Threat Detection / ISR) │ ├── authority_bridge.py# Operator HMI (Gesture Auth / WRA) │ ├── commander_ai.py # LLM-powered Mission Orchestrator │ ├── tactical_rules.json# Operational Doctrine & Mission Rules (AI context) │ ├── radar_mock.py # Tactical Proximity Radar Simulation │ ├── tello_bridge.py # [POC] DJI Tello Hardware Integration │ └── mavlink_bridge.py # [POC] Industrial MAVLink Integration ├── logs/ # Tiered Log Storage (Standardized) ├── yolov8n.pt # AI Model: YOLOv8 (Object Detection) ├── hand_landmarker.task # AI Model: MediaPipe (Gesture Auth) ├── docker-compose.*.yml # Scenario-specific Docker deployments ├── mosquitto.conf # Mosquitto MQTT configuration ├── README.md # Project Documentation ├── GLOSSARY.md # Tactical Terminology └── TODO.md # Project Roadmap ``` ## 💻 高级配置与原生执行 虽然 Docker 更易于模拟和无头安全运行,但某些功能最好在本地运行以利用特定硬件 (例如 Apple GPU)或低延迟网络访问。在本地运行 Hornet Hive 允许您更改任何配置 ### 1. 🏞️ 场景 HH 附带了一些已配置的 [场景](SCENARIOS.md) 但可以在 ```assets/scenarios.json``` 文件中轻松添加新场景。 ### 2. 🛸 无人机 HH 附带了几架已配置的 [无人机](DRONES.md) 但可以在 ```assets/drone_models.json``` 文件中轻松添加新无人机。 ### 3. 🎯 目标模拟器 (target_mock.py) 目标模拟器模拟必须被发现和服务的目标。 python assets/target_mock.py --id VESSEL_01 --type ⛵️ --action RESCUE_TUBE --offset 1000,-500 --area 500 HH 中的每个命令都有详细的帮助: ``` usage: target_mock.py [-h] [--type TYPE] [--action ACTION] [--radius RADIUS] [--drift DRIFT] [--area AREA] [--pos POS] [--offset OFFSET] [--max-alt MAX_ALT] [--delay DELAY] [--mqtt-host MQTT_HOST] [--log] [--debug] [id] positional arguments: id Target ID options: -h, --help show this help message and exit --type TYPE Target Icon (⛵️, ⛑️, 🪖, 📡, ☢︎) --action ACTION Required action (SENSOR, RESCUE_TUBE, MEDKIT, STRIKE) --radius RADIUS Detection radius in meters --drift DRIFT Drift speed in m/s --area AREA Search area radius in meters --pos POS Fixed starting position as X,Y (e.g. 500,-200) --offset OFFSET Center of the random search area as X,Y (default 0,0) --max-alt MAX_ALT Max altitude for detection (meters) --delay DELAY Mean initial delay for activation (seconds) --mqtt-host MQTT_HOST MQTT Broker Host --log Enable file logging --debug Enable verbose debug output ``` ### 4. 🧠 AI 指挥官与 Ollama 为了在 Apple Silicon 上获得最佳性能(使用 Metal/MPS),将 Ollama 作为本地服务运行,并原生运行 AI 指挥官。 推荐模型:`qwen2.5-coder:7b` 或 `llama3.1:8b`。 python assets/commander_ai.py --model qwen2.5-coder:7b --debug AI 指挥官使用不同的上下文在每个场景中正确行动,如 ```tactical_rules.json``` 文件中所述。 ### 5. 🛡️ AI 安全与报警系统 Hornet Hive 可以使用 YOLOv8 和 Telegram 部署为独立的入侵检测系统。 有一个完全容器化的示例,便于在 Raspberry Pi 或专用服务器等边缘设备上部署。 #### 5.1 配置环境 设置您的 Telegram Bot 凭据和(可选)摄像头 RTSP 流: ``` export TG_TOKEN="your_bot_token" export TG_CHAT="your_chat_id" export CAM_01_URL="rtsp://..." # Optional, defaults to local webcam 0 export CAM_02_URL="rtsp://..." # Optional, defaults to local webcam 1 ``` #### 5.2 启动报警堆栈 docker-compose -f docker-compose.ALARM.yml up --build ### 6. 📷 真实摄像头和 🌡️ DIY 传感器 Hornet Hive 指挥中心可用于真实世界的摄像头和传感器。 RTSP 摄像头、ESP-32、Raspberry 和 Arduino One 套件已成功测试 并且可以使用提供的模拟或通过发送提供的 MQTT 消息轻松集成到 HH 中。 一些连接外部设备的提示和技巧收集在此文档中:**[集成](REAL.md)** 📖。 ### 7. 🛸 真实无人机 (Tello / MAVLink) 为了避免 Docker 网络开销和延迟,请在本地 Python 环境中直接运行硬件桥接: python assets/tello_bridge.py 最好使用专用的 WiFi 网络或无人机的网络。 ## ⚖️ 许可证 根据 Apache License 2.0 分发。有关更多信息,请参阅 `LICENSE`。 *专为高性能战术模拟和 AI 蜂群研究而开发。*
标签:AI集成, AI风险缓解, AMSI绕过, C4I系统, DNS解析, Docker, MITM代理, RTSP, Telegram, 仿真游戏, 传感器, 威胁检测, 安全防御评估, 开源项目, 战术场景, 指挥控制, 搜救, 无人机蜂群, 海难搜救, 物联网, 目标检测, 自主飞行, 蜂群管理, 设施防御, 请求拦截, 边缘计算, 逆向工具, 通信协议, 飞行模拟