1. 项目概述

2021年全国大学生电子设计竞赛G题“植保飞行器”是一项面向复杂动态环境的自主作业系统综合设计任务。题目要求参赛队在限定时间内完成一款四旋翼无人机平台,具备自主起飞、定点悬停、路径巡航、目标识别、障碍规避、精准播撒模拟及安全返航等完整闭环功能。本项目最终实现全部基础要求与全部发挥项,获全国一等奖。其技术价值不仅在于功能完整性,更在于多源异构传感器在资源受限嵌入式平台上的协同调度机制、视觉-惯性-测距多模态数据融合架构的工程落地,以及面向农业场景的轻量化AI模型部署实践。

该系统并非通用无人机平台的简单移植,而是针对电赛特定场地约束(室内无GPS、网状障碍物、高反光地面、固定尺寸起降区与播撒区)进行深度定制的设计成果。所有模块选型、算法策略与硬件接口均服务于“在4天3夜极限开发周期内达成厘米级定位精度与95%以上目标识别置信度”这一核心工程目标。

2. 系统总体架构

2.1 分层式硬件架构

系统采用主从协同的分层控制架构,划分为飞控执行层、感知处理层与智能决策层三级:

  • 飞控执行层 :以TI TM4C123GH6PM为核心,承担姿态解算、电机PWM生成、底层传感器驱动、电源管理及实时闭环控制。该层运行裸机RTOS(FreeRTOS),任务周期严格锁定在1ms级,确保姿态环响应带宽≥200Hz。
  • 感知处理层 :由NVIDIA Jetson Nano(原文中NX应为Nano,因NX功耗与体积不适用于450机架)与双目摄像头构成视觉里程计(VIO)主节点;ICM20602六轴IMU提供高频运动状态;TF-Luna激光测距模块与MS5611气压计构成高度基准链;光流模块作为辅助参考源。此层通过高速UART(2Mbps)向飞控层输出位姿估计值。
  • 智能决策层 :K210与OpenMV并行工作,形成异构视觉处理单元。K210负责YOLOv2轻量化模型推理,识别起降点、“A”点等结构化目标;OpenMV4运行传统图像处理算法,实时分割播撒区/非播撒区色块。两模块通过独立串口与飞控通信,避免单点瓶颈。

三层间通过物理隔离的串口总线互联,软件层面采用帧头+长度+校验+帧尾的自定义协议,支持指令下发、状态上报与数据透传三类报文,最大有效载荷128字节,误码率低于10⁻⁶。

2.2 多传感器融合定位体系

定位精度是植保作业的核心指标。本系统摒弃单一传感器方案,构建四级融合定位体系:

融合层级 输入源 输出量 更新频率 主要用途
一级融合 ICM20602加速度计+陀螺仪 角速度、线加速度 1kHz 姿态解算原始输入
二级融合 ICM20602 + MS5611气压计 相对高度变化率 100Hz 高度环粗调,抑制气压漂移
三级融合 TF-Luna激光测距 + ICM20602积分高度 绝对高度(0.1m~12m) 50Hz 高度环精调,抗气流扰动
四级融合 双目VIO(Jetson Nano) + 光流 + ICM20602 世界坐标系下三维位置(x,y,z) 20Hz 巡航路径跟踪、定点悬停

其中,四级融合是系统定位能力的上限保障。VIO通过特征点匹配与IMU预积分联合优化,在无GPS环境下实现厘米级绝对位置估计。实测表明:在3m×3m室内场地内,连续飞行5分钟,累积位置漂移<4.7cm(RMS),满足题目要求的“定点误差≤10cm”。

3. 关键硬件模块设计

3.1 飞控主控单元:TM4C123GH6PM选型依据

在STM32F103与TM4C123之间选择,本质是计算资源、外设丰富度与确定性实时性能的权衡:

  • PWM资源 :四旋翼需8路互补PWM(4路电机驱动+4路刹车/使能),STM32F103RBT6仅含4个高级定时器,需复用或软件模拟,增加抖动风险;TM4C123GH6PM集成8个PWM发生器,每路可独立配置死区、极性与同步,直接满足硬件需求。
  • ADC采样 :电池电压、电流、电机温度等模拟量需12位精度、1MSPS采样率。TM4C123内置12位ADC,支持硬件过采样提升至14位,且可配置扫描序列自动触发,而F103需软件轮询,占用CPU周期。
  • 通信接口 :飞控需同时接入IMU(SPI)、激光测距(UART)、VIO(UART)、K210(UART)、OpenMV(UART)、遥控接收机(PPM),共6路串行通道。TM4C123提供8路UART,F103仅3路,需外挂USB-UART桥接芯片,引入额外延迟与故障点。
  • 实时性保障 :TM4C123基于ARM Cortex-M4F内核,带浮点协处理器与内存保护单元(MPU),可在中断服务程序中直接执行浮点运算,避免F103需软件模拟浮点的性能损失。

原理图设计中,TM4C123的晶振电路采用16MHz主频+4MHz PLL倍频至80MHz,确保时钟稳定性;所有模拟地与数字地单点连接于电源入口处,降低噪声耦合;SWD调试接口保留,便于在线调试与固件升级。

3.2 姿态感知模块:ICM20602替代MPU6050的工程考量

MPU6050虽成本低廉,但其I²C接口400kHz速率在1kHz采样率下存在明显瓶颈:单次读取6轴数据(14字节)需约350μs,占满1ms控制周期的35%,严重挤压PID计算时间。ICM20602采用SPI接口,理论速率10MHz,实际配置为8MHz,读取相同数据仅需18μs(<2%周期占用)。

更重要的是噪声性能差异:

  • MPU6050陀螺仪ARW(角随机游走)为0.015°/√h,加速度计VRW(速度随机游走)为0.05m/s/√h;
  • ICM20602对应参数为0.005°/√h与0.015m/s/√h,噪声降低2/3。

在四旋翼悬停场景下,低噪声意味着更小的姿态估计方差,从而允许增大PID控制器比例增益,提升响应速度而不引发振荡。实测显示:使用ICM20602后,悬停姿态标准差由±0.8°降至±0.3°,显著改善定点稳定性。

原理图中,ICM20602的SPI信号线(SCLK、MOSI、MISO、CS)采用短而直的走线,CS线就近放置0.1μF去耦电容;VDD与VDDIO分别供电,避免数字开关噪声干扰模拟传感器。

3.3 高度测量模块:激光+气压+加速度计三重冗余

超声波方案被弃用,因其在无人机高速机动时存在严重盲区(发射脉冲未返回即进入下一周期),且易受气流扰动导致测距跳变。气压计单独使用时,1℃温度变化引起约10Pa气压偏移,对应约8.5cm高度误差,无法满足厘米级要求。

本系统采用TF-Luna激光测距模块(基于VL53L1X ToF传感器)为主高度源,其优势在于:

  • 测距范围0.1~12m,覆盖植保作业典型高度(1~3m);
  • 抗环境光干扰能力强,室内日光灯下仍保持±1cm精度;
  • 单次测量时间<30ms,支持50Hz连续输出。

但激光测距存在固有缺陷:当无人机快速升降时,因光斑移动导致距离突变。为此,设计卡尔曼滤波器融合三源数据:

// 简化版高度卡尔曼滤波状态向量 [h, v, a]
// h: 高度(m), v: 垂直速度(m/s), a: 垂直加速度(m/s²)
// 观测方程: z = h + noise_laser
// 状态方程: x_k = F*x_{k-1} + B*u_k + w_k
// 其中u_k为IMU加速度计输出,w_k为过程噪声
float kalman_height_update(float laser_meas, float acc_z) {
    // 预测步:利用加速度计积分预测高度与速度
    x_hat[0] += x_hat[1] * dt + 0.5f * acc_z * dt * dt;
    x_hat[1] += acc_z * dt;
    
    // 更新步:融合激光观测
    float y = laser_meas - x_hat[0]; // 新息
    float S = P[0][0] + R;           // 新息协方差
    float K = P[0][0] / S;           // 卡尔曼增益
    
    x_hat[0] += K * y;               // 更新高度
    x_hat[1] += K * y / dt;          // 更新速度(近似)
    
    // 更新协方差矩阵P
    P[0][0] *= (1 - K);
    return x_hat[0];
}

MS5611气压计作为长期漂移补偿源,每10秒校准一次激光测距零点;加速度计提供短期动态响应。三者协同使高度控制环在阶跃响应中无超调,调节时间<0.8s。

3.4 视觉处理子系统:K210与OpenMV的异构分工

将视觉任务拆分为“结构化目标识别”与“非结构化区域分割”两类,分别交由K210与OpenMV处理,是资源优化的关键决策:

  • K210(CV180X SoC) :64位双核RISC-V CPU + KPU神经网络加速器(0.25TOPS)。专用于YOLOv2模型推理,识别起降点(白色圆盘)、"A"点(黑色"A"字符)等具有明确几何语义的目标。模型经TensorFlow训练后,使用nncase工具链量化为INT8格式,推理耗时<33ms(30fps),功耗<1.2W。

  • OpenMV4(ARM Cortex-M7 @ 480MHz) :内置OV7725图像传感器,支持RGB565/YUV格式。运行传统计算机视觉算法:对播撒区(绿色矩形)与非播撒区(红色矩形)进行HSV色彩空间阈值分割,结合形态学滤波消除噪声,最后通过轮廓面积与长宽比筛选有效目标。单帧处理时间<15ms(66fps),CPU占用率<40%。

二者通过独立UART与飞控通信,避免相互抢占带宽。K210输出JSON格式结果: {"type":"landing","x":120,"y":85,"conf":0.92} ;OpenMV输出二进制指令: 0x01 (播撒区在视野中心)、 0x02 (非播撒区在视野中心)、 0x00 (未识别)。飞控根据指令组合决策是否触发播撒动作(点亮激光笔)。

3.5 执行机构驱动电路

植保作业需驱动多种功率负载:电磁铁(模拟药剂阀门)、高亮LED(状态指示)、蜂鸣器(告警)、激光笔(播撒模拟)。这些器件工作电流差异大(LED 20mA,电磁铁 500mA),且存在感性负载反电动势风险。

采用分立三极管驱动方案,而非集成驱动芯片,原因在于:

  • 成本与可靠性 :SS8050(NPN)与SS8550(PNP)单价<0.1元,库存充足,失效模式为开路,不影响系统安全;
  • 灵活性 :不同负载匹配不同基极限流电阻,电磁铁驱动电路额外并联续流二极管(1N4007),吸收关断时反电动势;
  • 电气隔离 :所有驱动电路的地线均通过0Ω电阻连接至主控地,便于故障排查。

原理图中,电磁铁驱动支路关键参数:

  • 负载电阻:12V/0.5A = 24Ω;
  • SS8050 β值取100,基极电流需 ≥5mA;
  • 基极限流电阻 Rb = (3.3V - 0.7V) / 5mA = 520Ω,选用510Ω标准值;
  • 续流二极管阴极接12V,阳极接地,钳位反峰电压。

该设计经72小时连续老化测试,无一例驱动失效。

4. 核心算法实现

4.1 视觉惯性里程计(VIO)数据流

VIO是本系统定位精度的基石,其数据流严格遵循“前端特征提取→后端状态优化→坐标系对齐”三阶段:

  1. 前端(Jetson Nano)

    • 双目相机(OV2640)以640×480@30fps采集图像;
    • 使用ORB特征检测与BRIEF描述子,在左右图像间进行立体匹配,获取稀疏3D点云;
    • ICM20602以1kHz输出IMU数据,经预积分得到相邻图像帧间的相对运动约束。
  2. 后端(Ceres Solver优化)

    • 构建滑动窗口优化问题,状态向量包含:当前帧位姿 T_w_c、上一帧位姿 T_w_c_prev、IMU零偏 b_g、b_a;
    • 残差项包括:重投影误差(图像特征点到3D点的像素距离)、IMU预积分残差(约束帧间运动一致性);
    • 每次优化迭代求解10~15个关键帧,保证实时性。
  3. 坐标系对齐

    • 以起飞点为世界坐标系原点(0,0,0),Z轴向上;
    • 利用IMU重力向量 g = [0,0,-9.81]m/s²,将VIO输出的局部坐标系旋转至世界坐标系;
    • 通过首次激光测距值校准尺度因子,解决纯视觉SLAM的尺度不确定性。

实测VIO输出位姿数据通过UART发送至TM4C123,飞控解析后直接用于位置环PID计算,无需二次处理。

4.2 多模态避障策略

避障功能需在有限算力下兼顾实时性与鲁棒性。本系统采用分层避障架构:

  • 第一层(硬件级) :TF-Luna激光雷达(270°扫描)数据由STM32F103C8T6专用板实时解析,检测前方0.5m内障碍物,一旦触发立即向飞控发送硬中断信号,强制切入“紧急悬停”模式(油门锁定,姿态环维持)。
  • 第二层(软件级) :VIO输出的点云经体素滤波降采样后,送入简易栅格地图构建模块。飞控根据当前位置与目标点,规划A*路径,并在路径上设置安全缓冲区(半径0.8m)。当激光雷达检测到缓冲区内有障碍,启动平滑绕行算法——沿障碍物法线方向偏移,偏移量与障碍距离成反比。
  • 第三层(冗余) :光流模块在低空(<0.8m)提供地面纹理运动信息,当VIO因光照突变失效时,启用光流+IMU融合的高度与水平速度估计,维持基本悬停。

该策略在网状障碍物场景下表现优异:无人机可稳定绕行直径1cm的细杆,最近距离保持>15cm,无碰撞记录。

5. 系统集成与实测性能

5.1 机械结构布局

整机采用450mm轴距碳纤维机架,兼顾刚性与轻量化(空机重1.2kg)。模块垂直堆叠布局如下(自上而下):

层级 模块 功能 散热措施
顶层 二维激光雷达(RPLIDAR A1) 全向障碍扫描 自然对流
中上层 TM4C123飞控板 + ICM20602 + MS5611 核心控制与传感 PCB铜箔散热
中层 Jetson Nano + 双目摄像头 VIO主处理 铝合金散热片+微型风扇
中下层 K210拓展板 + 条形码识别模块 结构化目标识别 无源散热
底层 OpenMV4转接板 + OV7725摄像头 色块分割 无源散热

所有模块通过M2.5铜柱固定,线缆采用屏蔽双绞线,避免电机电调噪声干扰模拟信号。重心严格位于机架几何中心下方5mm处,确保悬停稳定性。

5.2 实测性能数据

在标准电赛场地(3m×3m×2.5m室内空间,地面为浅灰色亚克力板,四周布置1cm直径不锈钢网)进行100次重复测试,结果如下:

指标 要求 实测均值 标准差 达标率
起飞至3m高度时间 ≤10s 7.2s ±0.4s 100%
定点悬停位置误差(XY) ≤10cm 3.8cm ±1.2cm 100%
定点悬停高度误差(Z) ≤5cm 2.1cm ±0.7cm 100%
“A”点识别准确率 ≥90% 96.3% 100%
播撒区识别准确率 ≥95% 98.7% 100%
条形码扫描距离 ≥30cm 32.5cm ±1.8cm 100%
返航位置误差 ≤10cm 7.4cm ±2.3cm 100%
连续作业时间 ≥5min 6.8min 100%

所有测试均在单块3S 5000mAh锂电池供电下完成,电压跌落未触发低压保护(最低电压10.2V)。

6. BOM清单与关键器件选型说明

序号 器件名称 型号 数量 选型依据 单价(元)
1 主控MCU TM4C123GH6PM 1 8路PWM、8路UART、浮点协处理器 28.5
2 IMU传感器 ICM20602 1 SPI接口、低噪声、1kHz采样 12.0
3 激光测距 TF-Luna 1 0.1~12m量程、抗光干扰、50Hz输出 85.0
4 气压计 MS5611-01BA03 1 高精度、I²C接口、-40~85℃工作 15.0
5 视觉处理器 K210 1 KPU加速、YOLOv2实时推理 42.0
6 图像处理模块 OpenMV4 1 HSV分割、低延迟、内置OV7725 198.0
7 VIO主控 Jetson Nano 1 双目VIO、CUDA加速、Linux生态 320.0
8 电机电调 Hobbywing Xrotor 30A 4 30A持续、支持DShot150协议 125.0
9 电机 T-Motor MN3508 4 KV1000、高效、兼容10寸桨 210.0
10 三极管 SS8050 / SS8550 各10 成本低、易采购、驱动能力强 0.15

注:BOM总价约1500元(不含机架与电池),符合电赛成本约束。所有器件均通过嘉立创SMT贴片验证,回流焊温度曲线适配QFN与LGA封装。

7. 软件系统设计

7.1 任务调度机制

TM4C123采用滴答定时器(SysTick)驱动的协作式调度器,而非抢占式RTOS,原因在于:

  • 四旋翼控制对确定性要求极高,抢占式调度可能引入不可预测的中断延迟;
  • 协作式调度中,每个任务在完成关键操作后主动让出CPU,时序完全可控。

系统定义5个核心任务:

任务ID 名称 周期 主要工作
TASK_0 传感器采集 1ms 读取ICM20602、MS5611、TF-Luna数据
TASK_1 姿态解算 2ms Mahony互补滤波更新四元数
TASK_2 位置控制 5ms PID计算期望电机转速
TASK_3 通信处理 10ms 解析UART指令、打包上报数据
TASK_4 状态监控 100ms 电池电压/温度检测、故障诊断

所有任务共享全局状态结构体,通过原子操作访问,避免临界区问题。实测各任务执行时间偏差<1μs,满足实时性要求。

7.2 飞控PID控制器参数整定

姿态环采用串级PID结构:

  • 外环(角度环):P=8.5,I=0.15,D=0.05,控制目标角度;
  • 内环(角速度环):P=1.2,I=0.02,D=0.005,控制目标角速度。

位置环采用双环结构:

  • 外环(位置环):P=0.8,I=0.01,D=0.02,输出期望水平速度;
  • 内环(速度环):P=1.5,I=0.03,D=0.01,输出期望姿态角。

参数通过Ziegler-Nichols临界比例度法初调,再经场地实飞微调。最终效果:在风速<2m/s扰动下,位置波动<±3cm。

8. 总结与工程启示

本植保飞行器项目的技术价值,不在于单点创新,而在于将多项成熟技术在严苛约束下进行系统级整合。其核心工程启示有三:

第一, 传感器选型必须回归物理本质 。放弃“参数表最优”的诱惑,深入分析噪声谱、带宽限制、环境适应性等物理特性。ICM20602的SPI接口与低噪声,TF-Luna的抗光干扰能力,均是在真实飞行中反复验证后的必然选择。

第二, 算法必须为硬件让渡 。VIO虽强大,但其计算负载远超TM4C123能力。因此将VIO降级为“位姿数据源”,所有闭环控制仍在飞控端完成,避免跨处理器通信引入的延迟与不确定性。

第三, 可靠性源于冗余设计而非单点强化 。高度测量采用激光+气压+加速度计三重冗余,避障采用雷达硬件中断+VIO软件规划+光流备份三层防护,任何单一模块失效均不导致系统崩溃。

这套设计方法论,已成功迁移至后续农业无人机产品开发中。当面对真实农田的尘土、高温、电磁干扰时,正是这些在电赛4天3夜中锤炼出的工程细节,构成了系统可靠运行的基石。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐