基于分层架构的光遇自动收集蜡烛程序,采用 YOLOv8 视觉识别 + PPO 强化学习决策,
┌─────────────────────────────────────────────────────────┐
│ 策略层 │
│ - 策略机:探索 → 导航 → 收集 → 返回 │
│ - 目标选择:最近蜡烛/最高价值 │
└─────────────────┬───────────────────────────────────────┘
│
┌─────────────────┼───────────────────────────────────────┐
│ 行为层 │
│ - 导航行为:PPO 学习路径规划 │
│ - 收集行为:规则控制精细移动 |
│ - 飞行行为:高度/能量管理 │
└─────────────────┬───────────────────────────────────────┘
│
┌─────────────────┼───────────────────────────────────────┐
│ 执行层 |
│ - 行走控制器:虚拟输入 PID 控制 │
│ - 飞行控制器:起飞/降落/滑翔 │
└─────────────────┬───────────────────────────────────────┘
│
┌─────────────────┼───────────────────────────────────────┐
│ 感知层 │
│ - YOLOv8:蜡烛检测 │
│ - 深度估计:单目距离估算 (未来) │
│ - 地图构建:位置记忆,里程计,地图解包(也许?) (未来) │
└─────────────────────────────────────────────────────────┘
| 功能 | 状态 | 说明 |
|---|---|---|
| 📸 蜡烛检测 | ✅ 已完成 | 持续采集训练数据中 |
| ⌨️ 键鼠控制 | ❌ 待开发 | 参考国服电脑键位 |
| 🎮 屏幕捕获 | ✅ 已完成 | mss + win32gui |
| 📹 数据录制 | ✅ 已完成 | 30FPS 视频 + 键鼠同步录制 |
| 🧠 RL 环境 | Gymnasium 封装 | |
| 🧠 策略机 | ❌ 待开发 | 状态机/行为树 |
| 🛸 飞行支持 | ❌ 待开发 | 高度/能量管理 |
| ⚡ 性能优化 | ❌ 待开发 | C++ 关键模块 |
- 蜡烛检测模型训练
- 键鼠控制实现
- 录制工具开发
- PPO 导航训练
- 简单状态机实现
- 飞行控制器
- 高度感知
- 能量管理系统
- 3D 路径规划
- C++ 关键模块
- DirectX 捕获优化
- 实时性提升
src/
├── capture.py # 屏幕捕获
├── detect.py # YOLOv8 检测
├── control.py # 键盘控制
├── env.py # RL 环境
└── agent.py # PPO Agent
tools/
├── collect.py # 图片采集
├── label.py # 标注工具
├── split_dataset.py # 数据集划分
└── record.py # 键鼠录制
data/
├── images/ # 原始图片
├── labels/ # YOLO 标注
└── candles/ # 训练格式数据
pip install -r requirements.txt欢迎提交 Issue 和 Pull Request!
MIT