当前位置: 首页 > news >正文

FPV 四轴飞行器 3D 仿真器(Vibe coding 记录)

这是我在大一阶段第一次尝试Vibe coding的一份记录,目的是熟悉从想法到可运行代码的完整流程。我负责提出需求、设计框架、管理整个项目、测试和反馈等。AI agent 负责编写基础代码,debug等。实际测试使用的是 CH32V307 赤菟开发板,QMI8658 IMU芯片,这篇博客的主要目的是记录我的学习经历,代码还有很多不完善的地方,非常欢迎大家的指点和交流。

这是什么

一个用 Python 写的 FPV 四轴飞行器 3D 仿真器。可以用键盘操控屏幕里的无人机飞行,也可以接上真实的 IMU 传感器,手持传感器倾斜——屏幕里的飞机就会跟着动。

主要功能

  • 键盘模式:W/S 俯仰、A/D 横滚、Q/E 偏航、空格油门,上位机同步发送指令到MCU,用于控制电机
  • 手控 IMU 模式:按M切换,通过串口连接开发板,手持开发板倾斜,屏幕里的飞机实时跟随,电机同步转动
  • 串口模式:按2切换,纯显示,把姿态数据通过串口传给电脑看
  • FPV 视角:按 V 切换到第一人称,体验穿越机视角
  • 互补滤波演示:可视化展示加速度计和陀螺仪如何融合解算姿态
    初始界面-键盘模式
    video_20260524_100257

开发经过

  1. 向AI提出项目构思,与AI讨论实现环境和整体功能框架,确定实施步骤。
  2. AI首先实现FPV模型的静态模型和场景展示,并根据我的需求进行修改。确定整体风格。
  3. 实现键盘->仿真器控制,可用键盘控制模型姿态,面板HUD同步显示。同时加入了切换第一视角功能。
  4. 加入串口功能,手控IMU模式可以读取串口数据作为输入,控制FPV模型运动。这一步出现了许多bug:串口数据解析不正确、IMU实际运动方向与仿真器显示方向相反、零漂严重等等。解决这些问题颇费了一番心思。
  5. 与AI讨论进一步优化方向,经AI提议增加了串口模式互补滤波演示两个新模式。
  6. 增加高度判断,可以实时显示高度变化(相对)。

经验总结

第一次Vibe coding比较磕磕绊绊,但总的来说最后的效果还算满意。总结下来有以下几点值得留意:

  1. 一定让AI先写好计划再干活,明确告诉AI遇到需求没有提及或不清晰的地方直接向用户提问,不要自顾自生成。
  2. 命令完整清晰
  3. skill中强调AI生成好代码后要完完整整检查一遍(我的skill中写明了项目整体写好后用subagent从安全质量性能三方面检查)
  4. 遇到AI在执行过程中调用命令等操作反复失败的情况,立即叫停并让它分析原因
  5. 每次完成一个阶段任务,让AI总结在该任务中做了什么,遇到了什么困难,有没有在后续工作汇中提高效率、节省token的方法,并让它把泛化性好的方法写入skills或脚本。这一点非常重要。通过这个步骤,该项目完成后我电脑上的AI agent已经积累了代码生成规范、检查规范、工具调用规范等等一系列与我的开发环境高度适配的skills和脚本,在我的第二个项目中极大地提高了效率,并(大概)帮我省了不少token
    项目开源在 GitHub,代码还有很多不完善的地方,非常欢迎指点和交流。
    https://github.com/hu-led/fpv-drone-simulator.git

详细的技术文档(串口协议、坐标映射、混控公式等)见仓库中的 README。

http://www.rkmt.cn/news/1367275.html

相关文章:

  • 动力系统与机器学习融合:破解Sabra壳模型自相似爆破的非唯一性
  • 低代码平台表单设计器 unione-form-editor 组件 —— 扫码输入组件
  • 3分钟掌握MD-Editor-V3隐藏的查找替换神器,让Markdown编辑效率翻倍!
  • Poppins字体终极指南:免费获取9种字重+天城文支持的多语言解决方案
  • PCL2启动器微软账户登录皮肤显示问题完整解决指南
  • 解决英雄联盟玩家核心痛点:基于LCU API的智能自动化工具集
  • iOS激活锁终极破解指南:Applera1n免费开源工具完整使用教程
  • 宁波黄金回收指南,福运来全城上门变现更省心 - 黄金回收
  • Xournal++终极指南:免费开源的手写笔记与PDF批注神器
  • 如何在3分钟内完成Windows与Office批量激活:开源KMS工具完整指南
  • CoolProp热物理计算库:工程热力学计算的免费开源解决方案
  • 线段树入门:建立线段树
  • 2026西安黄金回收门店推荐榜TOP7:从资质到价格,挑出真正能放心卖金的店 - 西安闲转记
  • ChatGPT桌面版下载安装全攻略:3步完成免浏览器启动,5类常见报错(SSL/代理/权限)100%解决率实测
  • UnityExplorer自由视角相机终极指南:突破游戏视角限制的完整方案
  • 构建多Agent系统时利用Taotoken作为统一的模型调度中间层
  • VMware Workstation Pro 17免费许可证密钥完整指南:快速激活专业虚拟化环境
  • 暗黑破坏神2存档编辑器终极指南:5分钟掌握角色与物品自定义
  • 青岛黄金回收人气TOP6 2026年首选福运来实力领跑 - 黄金回收
  • 第40天:SQL详解之DCL
  • 可折叠无人机MorphoCopter:机械结构与自适应控制技术解析
  • 深度解析:Calibre-Web豆瓣API插件技术实现与扩展开发指南
  • 5分钟终极指南:如何快速找回Navicat遗忘的数据库密码
  • 告别滚挂!从Manjaro迁移到EndeavourOS的完整避坑指南(含移动硬盘安装方案)
  • UnityExplorer终极调试指南:如何用游戏内UI工具提升开发效率
  • 创新方案:DouZero_For_HappyDouDiZhu - AI智能斗地主实战指南
  • Calibre-Web豆瓣插件终极配置指南:恢复元数据获取的完整解决方案
  • MemTestCL深度解析:OpenCL GPU内存检测实战指南
  • 京东自动化脚本完整指南:5个步骤搭建你的智能京豆管家
  • BiliBiliCCSubtitle:5分钟掌握B站字幕下载的完整解决方案