ezekielamitchell/project-aegis

GitHub: ezekielamitchell/project-aegis

AEGIS是一个基于边缘计算的自主巡逻机器人系统,通过时间验证层有效降低威胁检测的误报率。

Stars: 0 | Forks: 0

# AEGIS **自主边缘地面智能系统** Ezekiel A. Mitchell 2026年5月

AEGIS Robot

## 摘要 AEGIS是一个用于自主边界巡逻和设备端威胁检测的地面机器人平台。该系统完全在嵌入式硬件上运行,不依赖云服务,采用时间验证层在触发任何行为响应之前降低误报率。主要的研究问题是:一个低成本、基于单板计算机的平台,能否在真实世界条件下,以可接受的低误报率维持一个可靠的从感知到行动的流水线。 ## 硬件 | 组件 | 规格 | |---|---| | 计算单元 | Raspberry Pi 5, 4GB RAM | | 存储 | 64GB microSD | | 底盘 | 两轮差速驱动 | | 感知 | Raspberry Pi 相机模块 | | I/O | GPIO 扩展帽,带螺丝接线端子排 | ## 软件栈 | 层级 | 技术 | |---|---| | 操作系统 | Ubuntu Server 24.04 LTS (64-bit) | | 编程语言 | Python 3.11+ | | 检测 | YOLOv8n (Ultralytics) | | 视觉处理 | OpenCV | | 遥测 | MQTT (可选), 本地 JSON 日志 | | 测试 | pytest | ## 系统架构 ``` Camera Input ↓ Perception Module ↓ Temporal Verification Layer ↓ Behavior Planner ↓ Motor Control ↓ Telemetry + Logs ``` 时间验证层是本系统的核心贡献。单个检测帧不会触发行为响应。确认需要在可配置的时间窗口内,拥有稳定的边界框几何形状的N次有效检测。这种方法旨在抑制瞬时误报,同时不会引入不可接受的响应延迟。 ## 检测状态 | 状态 | 描述 | |---|---| | `NO_TARGET` | 未检测到目标 | | `CANDIDATE` | 检测到目标,等待验证 | | `CONFIRMED` | 目标在所需帧数内已通过验证 | | `LOST` | 之前已确认的目标不再被检测到 | ## 巡逻行为 | 行为 | 描述 | |---|---| | `patrol` | 执行航点循环 | | `scan` | 原地旋转,观察环境 | | `orient_toward_target` | 旋转以将已确认目标居中于画面 | | `stop` | 停止所有电机输出 | | `emergency_stop` | 立即完全停止,禁用电机驱动器 | ## 仓库结构 ``` project-aegis/ ├── src/aegis/ │ ├── main.py │ ├── config.py │ ├── perception/ # camera, detector, tracker │ ├── verification/ # temporal filter │ ├── control/ # motor driver, behaviors │ └── telemetry/ # logger, mqtt client ├── configs/ │ └── default.yaml ├── tests/ ├── scripts/ ├── systemd/ └── docs/ ``` ## 设置 **1. 刷写操作系统** 通过 Raspberry Pi Imager 刷写 Ubuntu Server 24.04 LTS (64-bit)。 **2. 安装依赖** ``` bash scripts/install_pi_dependencies.sh ``` **3. 配置** 编辑 `configs/default.yaml`。在硬件验证之前,将 `simulation_mode` 设置为 `true`。 **4. 运行** ``` bash scripts/run_aegis.sh ``` ## 配置 `configs/default.yaml` 中的关键参数: ``` simulation_mode: true camera_index: 0 target_class: person confidence_threshold: 0.55 required_consecutive_frames: 4 max_missed_frames: 8 motor_speed_default: 0.4 telemetry_enabled: true mqtt_enabled: false debug: false ``` ## 指标 每次会话将跟踪以下指标: - 检测置信度分布 - 误报率(未验证的候选数 / 总检测数) - 平均确认时间(帧数) - 推理延迟(毫秒/帧) - 负载下的 CPU 温度 - 行为状态转换日志 ## 里程碑 - [ ] Ubuntu 24.04 及依赖项已安装在 Pi 5 上 - [ ] 相机能够发布稳定帧 - [ ] 检测器能够达到目标帧率 - [ ] 时间验证滤波器已测试和调优 - [ ] 硬件上的电机控制已验证 - [ ] 巡逻 + 定向行为已集成 - [ ] 完整流水线演示已录制 - [ ] 遥测日志分析完成 ## 安全 电机默认处于禁用状态。在启用任何电机输出之前,必须在配置中显式地将 `simulation_mode` 标志设置为 `false`。紧急停止在任何时候都可用,并优先于所有其他行为状态。在物理引脚映射确认之前,硬件 GPIO 调用存根实现。 ## 路线图 - ROS2 Jazzy 集成 (Nav2, ros2_control) - ONNX Runtime 优化推理 - 通过轮式里程计实现 GPS 拒止环境下的航位推算 - 多目标跟踪 - MQTT 命令与控制桥接 - 车载 rosbag 等效日志记录,用于任务后回放 ## 许可证 MIT
标签:AMSI绕过, OpenCV, pytest, Python, Ubuntu Server, YOLOv8n, 低功耗, 减少误报, 单板计算机, 威胁检测, 威胁检测系统, 实时检测, 嵌入式系统, 无云依赖, 无后门, 时间验证, 智能监控, 机器人, 树莓派5, 模块化平台, 模块化设计, 自主巡逻, 自主机器人, 自主系统, 自动化修复, 计算机视觉, 设备端推理, 轻量级机器人平台, 边缘AI, 边缘计算, 逆向工具