作品介绍:
MiniFly无人机地面站软件 V3 — 基于Python PyQt5 + PyOpenGL + pyqtgraph
开发的专业四轴飞行器地面控制系统。核心功能包括:基于OpenGL的实时3D姿态可视化(渲染精细四轴飞行器三维模型,红色机臂标识
机头方向,支持动态螺旋桨转速动画和机体投影);pyqtgraph多通道实时波形图(Roll/Pitch/Yaw/高度/电压5条曲线,每条可独立开
关,支持500点滚动缓冲区);键盘飞行操控(WASD油门偏航 + 方向键俯仰横滚,油门持续保持,姿态通道松手自动回中);解锁/锁
定/急停安全控制机制;深色科技风UI(卡片式数据面板、LED状态指示灯、全局暗色调色板)。
通信层面,基于ATKP协议(兼容匿名科创地面站协议),通过USB虚拟串口(115200bps)与遥控器通信,遥控器再通过2.4G无线链路控
制无人机。数据帧采用AA
AA帧头+msgID+dataLen+checksum的自定义格式,上行(无人机→PC)和下行(PC→无人机)通过不同帧头字节(AA/AA vs
AA/AF)区分。下行RC数据以20ms周期、大端序UINT16格式发送油门/偏航/横滚/俯仰四通道标准RC值(1000-2000)。
架构上采用多线程设计:串口读线程运行状态机协议解析,独立RC发送线程维持20ms控制帧周期,主线程负责PyQt5界面渲染和50ms定
时器驱动的键盘输入处理。全程线程安全(data_lock保护飞行状态,ctrl_lock保护控制输出)。支持串口热插拔刷新、调试原始数据
输出。
我在该项目中承担了全部软件架构设计、协议实现、3D渲染模块编写和UI美化工作,从V1 tkinter简化版逐步迭代至当前V3.5
PyQt5完整版。