进入研究模式,目标是研究编写一个README.md的项目蓝图,一个DEV_PLAN.md的开发计划。
我想实现一个水下机器人参数自适应调整系统,该系统用于申请软著,使用python为开发语言,我是一个软件工程的本科生,我希望使用最简单最容易实现的方式来实现该系统并申请软著,我在开发过程中会使用cursor和pycharm作为开发工具,我希望每一步的实现都会有对应的反馈来增强我的兴趣和自信心,我希望先实现系统最简单的核心模块但可正常运行作为第一个版本,该版本可以比较简陋,在此基础上不断迭代升级开发新的版本来完善系统,但每个版本都必须保证其完整可运行,功能如下:
- 功能1:手动调节参数 -
- 功能2:控制视觉+声纳和电机联动
- 功能3:维持推进器平衡 -
- 功能4:自动调节参数
- 模块 - 部署脚本 -
- 说明文档:README.md和DEV_PLAN.md
README.md的要求 - 详细描述整个应用,作为后续开发的蓝图,指导AI按这个蓝图框架设计和开发。 - 我想使用市面上主流的成熟的技术,技术不能太旧 - 采用的技术有详细的说明文档和教程 - 符合高内聚,低耦合的特征 - 项目可实现
DEV_PLAN.md的要求 - 按1.0、2.0、3.0的版本分类(1.0是最小可行的初始版本); - 每个版本根据开发顺序创建TASK001这样的任务编号; - 每个任务包含名称、版本、状态(计划中、测试单元编写中、开发中、完成等)。 - 每个任务内有最小粒度的子任务,子任务的名称,子任务清单的后面,附带完整的一篇AI编程助手的详细提示词。硬件平台技术栈分析: 树莓派4B+作为主控平台,具有足够的计算能力支持多传感器融合和轻量级机器学习推理。MAVLink协议是成熟的无人系统通信标准,ArduPilot和PX4都有良好的Python支持。
六推进器配置的技术含义: 典型的六推进器配置包括:4个水平推进器(前后左右)+ 2个垂直推进器(上下),这种配置提供了6自由度的控制能力。系统需要支持推进器映射的动态配置,以适应不同的物理布局。
自适应调参算法的技术路径:
- 强化学习:可使用Stable-Baselines3或RLlib,适合复杂的多目标优化
- 模糊控制:使用scikit-fuzzy,适合处理不确定性和非线性
- PID自整定:实现Ziegler-Nichols或遗传算法优化的PID参数
软著创新点技术分析: 从你提供的要求来看,系统的创新点可以体现在:
- 技术层面:多传感器融合的自适应权重分配算法
- 功能层面:基于强化学习的推进器动力智能分配
- 设计层面:模块化可扩展的传感器和执行器管理架构
主流技术选型调研:
- 基础框架:Python 3.9+
- 机器人通信:pymavlink (MAVLink的Python实现)
- 视觉处理:OpenCV 4.8+
- 声纳处理:需要调研具体的声纳设备SDK
- 强化学习:Stable-Baselines3 + Gymnasium
- 模糊控制:scikit-fuzzy
- Web界面:FastAPI + Vue.js (现代化的前后端分离架构)
- 数据存储:SQLite + Redis (轻量级持久化 + 高速缓存)
- 配置管理:Pydantic + YAML
系统架构的高内聚低耦合设计: 我识别出以下核心模块边界:
- 传感器数据采集层
- 数据融合处理层
- 控制决策层
- 执行器控制层
- 参数管理层
高频数据处理的技术挑战分析: 系统需要处理高达100Hz的传感器数据,这对Python的性能提出了较高要求。需要考虑使用NumPy、Pandas等高性能数据处理库,以及可能的C扩展来确保实时性。
声纳设备主流技术调研: 市面上主流的声纳设备包括:
- BlueRobotics Ping系列(Ping360、Ping1D)
- Tritech Micron系列
- Teledyne Marine系列
- 各厂商通常提供基于串口、以太网或CAN总线的通信接口,Python可通过pyserial、socket或python-can库进行数据采集
数据存储架构的技术含义: 根据你的需求,系统需要处理:
- 高频时序数据(100Hz传感器数据)
- 毫秒级时间戳精度
- 循环存储策略
- 多格式数据导出 这要求使用高性能的时序数据库(如InfluxDB)结合传统关系型数据库的混合架构
实时性技术架构分析: "实时性高"的要求意味着系统需要:
- 多线程/异步处理架构
- 实时数据流处理
- 低延迟的网络通信
- 硬实时或软实时的控制回路
远程访问的技术实现: 支持远程和本地访问需要:
- WebRTC用于低延迟的视频流传输
- WebSocket用于实时数据推送
- JWT认证机制
- 网络安全加密
软著创新点的技术分析: 基于你提供的详细需求,我识别出以下可能的创新点:
-
技术层面创新
:
- 多传感器数据融合的自适应权重分配算法
- 基于强化学习的推进器动力智能分配
- 高频数据的实时处理和压缩存储算法
-
功能层面创新
:
- 多模态传感器数据的统一时序分析框架
- 可扩展的传感器和执行器配置管理系统
- 智能化的数据异常检测和自动修复机制
-
设计层面创新
:
- 模块化的控制算法热插拔架构
- 基于配置文件的硬件抽象层设计
- 多层次的系统状态监控和诊断框架
技术栈的最终确认: 基于所有分析,我现在可以确定完整的技术栈:
-
核心框架:Python 3.10+ (支持最新的异步特性)
-
实时通信:pymavlink + asyncio
-
数据处理:NumPy + Pandas + Scipy
-
时序数据库:InfluxDB 2.x
-
关系型数据库:PostgreSQL + SQLAlchemy
-
机器学习:Stable-Baselines3 + scikit-learn + TensorFlow Lite
-
视觉处理:OpenCV 4.8+ + GStreamer
-
Web框架:FastAPI + WebSocket
前端技术栈更新确认:
- 前端界面:Vue 3 + TypeScript + Vite
- UI组件库:Element Plus 或 Vuetify 3(Material Design风格)
- 状态管理:Pinia(Vue 3推荐的状态管理)
- 数据可视化:Vue-ChartJS + Chart.js 或 Vue-ECharts
- 实时通信:Vue + WebSocket集成
- 路由管理:Vue Router 4
-
数据可视化:Plotly + Dash
-
配置管理:Pydantic + YAML
-
部署工具:Docker + Docker Compose
-
测试框架:pytest + pytest-asyncio
系统架构的模块化设计确认:
- 硬件抽象层:统一的传感器和执行器接口
- 数据采集层:多线程的高频数据采集
- 数据处理层:实时数据融合和预处理
- 控制决策层:多算法的智能控制
- 数据存储层:高性能的时序和关系数据存储
- 人机交互层:Web界面和API接口
- 系统管理层:配置管理和系统监控
每个TASK都有验收标准清单和注意事项(提现用户或将来的AI助手需要注意的详细内容)