Skip to content

双轴小云台

当前状态:俯仰、航向双轴原型已完成闭环增稳与视觉跟踪,供电系统、整机优化及第三轴闭环仍在推进。

基本信息

项目详情
项目名称双轴小云台
小组名称猪猪侠大战 GG bond
项目方向实现小型云台姿态稳定与目标自动跟踪
项目周期2026 年 7 月—2026 年 8 月
当前阶段双轴功能联调完成,三轴扩展与整机优化进行中

小组成员

姓名角色GitHub
王俊桦组长@WJH-123gif
尹盛云组员@yunnuy123
郑小春组员@shishuishuia
邱明俊组员@Q1uQ
刘志超组员@J4SoN666
王伟组员@GCopilot2026
盛彦斌组员@3229923971

项目简介

随着无人机航拍、手持摄影、影视制作及内容创作等领域的发展,拍摄设备在运动过程中产生的振动和姿态变化会直接造成画面抖动与成像模糊。三轴增稳云台通过实时感知载体姿态,并驱动电机进行反向补偿,使相机等负载尽可能保持稳定。

本项目面向小型化、低成本和可扩展的应用场景,基于 ESP32-P4、MPU6500、AS5600、OV5647 与 SimpleFOC Mini 搭建云台原型。系统在主控端完成图像采集、红色目标检测、姿态解算、串级 PID 和无刷电机 FOC 控制,无需依赖上位机即可实现目标跟踪。

项目规划目标为三轴云台。当前仓库代码实际控制两路电机和两只 AS5600,已实现俯仰轴(Pitch)与航向轴(Yaw)的闭环增稳和视觉联动;滚转轴(Roll)执行机构及其闭环控制尚未接入。

三轴小云台 Logo

项目进展

阶段结果说明
一、电机开环运行与 AS5600 初始化已完成两路独立 I²C 读取 12 位机械角度,完成双电机三相 PWM 输出
二、电机位置闭环已完成1 kHz 位置 PID 内环结合编码器反馈控制电机目标角度
三、MPU6500 初始化与电机联动已完成完成静态零偏校准、互补滤波及姿态外环控制
四、摄像头初始化与几何中心确立已完成OV5647 输出 1280 × 960 图像,画面中心为 (640, 480)
五、MPU6500、摄像头与电机联动跟踪已完成视觉坐标转换为视线角误差,驱动俯仰、航向两轴跟随
六、供电系统与整体优化进行中待完成整机供电、布线、散热、结构和参数整定
七、第三轴闭环扩展待完成待增加滚转轴电机、驱动、编码器及对应控制通道

技术栈

硬件

模块选型或配置用途
主控板ESP32-P4 Pico图像处理、姿态解算与实时控制
摄像头OV5647,双通道 MIPI-CSI采集 1280 × 960 RAW10 图像
姿态传感器MPU6500三轴加速度与三轴角速度采集
磁编码器AS5600 × 2俯仰、航向电机机械角度反馈
电机驱动SimpleFOC Mini两路无刷云台电机三相驱动
电机两路无刷云台电机当前代码按 7 极对配置
电源12 V(当前控制参数)电机与系统供电,驱动输出限压 6 V

软件与算法

  • C、ESP-IDF 与 FreeRTOS
  • ESP32-P4 MCPWM、MIPI-CSI、ISP、I²C 与高精度定时器驱动
  • AS5600 位置反馈与双电机 FOC
  • MPU6500 零偏校准、互补滤波、低通滤波与静止零偏跟踪
  • LAB 色彩空间查表、ROI 搜索与网格聚类
  • 姿态外环 PID + 电机位置内环 PID 的串级控制
  • FreeRTOS 单元素覆盖队列,保证控制环优先使用最新视觉结果

核心功能

  1. 红色目标检测 — 将 OV5647 的 RAW10 图像经 ISP 转换为 RGB565,使用预计算的 LAB 查找表筛选红色像素,再通过网格聚类得到目标中心。
  2. 目标持续跟随 — 依据目标中心与画面中心的偏差估算俯仰、航向视线角,通过坐标低通、15 像素死区、单帧修正限幅和短时丢失消抖降低抖动与误动作。
  3. 姿态增稳 — MPU6500 对 X/Y 倾角进行加速度计与陀螺仪互补融合,对 Z 轴角速度进行低通、死区和静态零偏修正,并由 200 Hz 姿态外环生成补偿量。
  4. 双电机位置闭环 — 两只 AS5600 提供 12 位绝对角度反馈,1 kHz 位置内环计算交轴电压,经过反 Park/Clarke 变换输出三相 20 kHz PWM。
  5. 自动标定与保护 — 上电时执行电机电角度对齐和 MPU6500 零点校准,并通过积分限幅、驱动电压限幅与角度归一化提高运行安全性。

关键参数

参数当前代码配置
图像分辨率1280 × 960
摄像头输出模式RAW10、双通道 MIPI、标称 45 fps
视觉处理周期约 40 ms(约 25 Hz)
姿态控制周期5 ms(200 Hz)
电机位置控制周期1 ms(1 kHz)
三相 PWM 频率20 kHz
编码器分辨率4096 CPR(12 位)
默认电机极对数7
水平/垂直视场角初值约 62° / 48°,后续需实机标定

系统架构

mermaid
flowchart LR
    CAM["OV5647 摄像头"] --> CSI["MIPI-CSI + ISP<br/>RAW10 → RGB565"]
    CSI --> VISION["LAB 查表 + ROI<br/>网格聚类"]
    VISION --> QUEUE["最新目标坐标队列"]

    IMU["MPU6500"] --> FUSION["零偏校准<br/>互补/低通滤波"]
    QUEUE --> OUTER["姿态外环 PID<br/>200 Hz"]
    FUSION --> OUTER
    OUTER --> TARGET["俯仰/航向目标角"]

    ENC["AS5600 × 2"] --> INNER["位置内环 PID<br/>1 kHz"]
    TARGET --> INNER
    INNER --> FOC["FOC 反 Park/Clarke 变换"]
    FOC --> PWM["MCPWM<br/>三相 20 kHz"]
    PWM --> DRIVER["SimpleFOC Mini"]
    DRIVER --> MOTOR["俯仰/航向电机"]
    MOTOR -.姿态反馈.-> IMU
    MOTOR -.位置反馈.-> ENC

控制流程

  1. 系统初始化两路 AS5600 I²C、MPU6500、OV5647、MCPWM 和 FreeRTOS 任务。
  2. 电机转子与编码器完成电角度对齐,云台保持静止约 2 秒完成 400 次 MPU6500 零偏采样。
  3. 视觉任务识别红色目标并将最新中心坐标写入队列;目标短暂丢失时由状态机抑制输出跳变。
  4. 姿态任务将像素误差转换为视线角,结合当前 IMU 姿态更新目标角度。
  5. 姿态外环生成电机目标角增量,位置内环结合 AS5600 反馈计算 FOC 电压并驱动电机。

代码结构

路径说明
main/main.c外设初始化、任务创建与系统入口
components/AS5600/双路 AS5600 I²C 驱动
components/FOC/双电机 MCPWM、传感器对齐、FOC 与位置闭环
components/mpu6500/MPU6500 驱动、校准与三轴姿态解算
components/VISION_TASK/OV5647/CSI/ISP 初始化与红色目标识别
components/GLOBAL_CONTROL/视觉、姿态与电机的串级控制

项目截图与演示

本项目为嵌入式硬件项目,不包含 Web 端或移动端界面。仓库当前尚未收录整机实物图片和演示视频;待供电系统与整机装配完成后,将补充实物图、上电过程和目标跟随演示。

代码仓库

项目亮点

  • 端侧完整闭环:图像处理、姿态解算与电机控制均运行在 ESP32-P4 上,不依赖云端或上位机。
  • 多频率串级控制:约 25 Hz 视觉跟踪、200 Hz 姿态外环和 1 kHz 电机位置内环分层协作,兼顾计算量与实时性。
  • 轻量视觉算法:使用 64 KB LAB 查找表、局部 ROI 与网格聚类,降低逐像素颜色换算和全画幅搜索的开销。
  • 抗抖与抗漂移设计:包含目标丢失消抖、坐标低通、中心死区、积分限幅、Yaw 低通死区和静止零偏跟踪。
  • 模块化结构:编码器、FOC、IMU、视觉和全局控制拆分为独立组件,便于调试以及后续扩展第三轴。

已知限制与后续计划

  • 当前执行机构只有俯仰、航向两轴,需补充滚转轴硬件与第三套位置闭环。
  • MPU6500 不含磁力计,Yaw 由陀螺仪积分得到,长时间运行仍可能产生漂移。
  • 当前目标检测针对红色物体,LAB 阈值、镜头焦距、轴向符号和 PID 参数需按现场光照及机械结构重新标定。
  • 完成独立供电、布线、散热、机械限位与急停保护,并开展稳定精度、响应时间、功耗和温升测试。
  • 补充顶层 ESP-IDF 工程配置、接线图、实物图片、演示视频与复现实验步骤。

项目总结

本项目完成了从传感器读取、姿态估计、图像目标定位到无刷电机闭环控制的完整链路。实践过程中,小组不仅掌握了 ESP32-P4 多外设协同、FreeRTOS 实时任务组织、MPU6500 姿态融合和 AS5600 编码器反馈,也认识到云台效果取决于算法、机械结构、供电质量和参数标定的共同配合。

当前原型验证了双轴增稳与红色目标跟随方案的可行性。下一阶段将重点完成第三轴、供电与整机结构,建立可量化的稳定性测试方法,并通过长期运行数据继续优化漂移、抖动和跟随响应。

西安电子科技大学广州研究院