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 可用作各种战术场景(例如 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 蜂群研究而开发。*
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, 仿真游戏, 传感器, 威胁检测, 安全防御评估, 开源项目, 战术场景, 指挥控制, 搜救, 无人机蜂群, 海难搜救, 物联网, 目标检测, 自主飞行, 蜂群管理, 设施防御, 请求拦截, 边缘计算, 逆向工具, 通信协议, 飞行模拟