四旋翼飞行器(Ouadrotor,Four-rotor,4 rotors helicopter,X4-flver等)是一种特殊构型的电动可遥控微型飞行器,它是由4个螺旋桨驱动,通过4个螺旋桨的差速来完成姿态控制。四旋翼飞行器与其他类型的无人机相比具有许多优点,其中主要是其可垂直起降及机动性强等性能,能够适应各种复杂环境。因此四旋翼飞行器在民用产品、军事武器等各方面有着广泛的应用前景。文中将介绍四旋翼飞行器控制系统的软硬件设计方案与实现。
1 飞行控制系统总体设计
四旋翼飞行器控制系统的设计主要包括主飞行控制板和相关外围电路,结合惯性传感器、超声波传感器、GPS接收机、无线数传模块,并配套自行开发的地面站软件设计实现一套完整的四旋翼飞行器自主飞行控制系统。
四旋翼飞行器飞行控制系统的开发内容主要包括:飞控板及外围电路设计,传感器底层驱动开发,PWM控制信号的混控输出,飞行控制律程序设计以及地面站软件的设计与开发。
飞控系统的总体设计方案如图1所示。系统核心控制器为一款基于ARM cortex—M3内核的单片机;惯性测量元件(IMU)主要提供解算飞行器姿态的数据等信息;高度传感器采用超声波传感器,输出相对地面的高度信息;接收机接收遥控器发出的杆量信号,这些信号将用于控制器的输入;GPS接收机输出飞行器的位置信息;无线数据传输模块用于飞行器与地面站的数据通信。传感器信息经过飞行控制律的运算处理,最终通过PWM信号输出至电子调速器,用来控制四个电机的转速,以实现姿态、位置与高度的控制。地面通过无线数传实时传回飞行器信息用以检测飞行器飞行状态,同时地面站也可以向飞行器发送控制指令。
四旋翼飞行器的机架选用了市面上做工比较好的Xaircraft-650,其优点是各个组件采用模块化设计,方便拆卸和损耗更换,同时较高的起落架设计方便在飞行器底部搭载相关传感器设备。四旋翼飞行器的机架如图2所示。
2 飞控系统硬件设计
2.1 飞控核心板设计
飞控板的主控芯片选用意法半导体公司的ARM Cortex—M3内核的单片机STM32。其功耗低,最高工作频率72 MHz,拥有512K字节的闪存程序存储器和高达64K字节的SRAM,最多可达112个快速I/O端口,多达4个16位定时器,5个USRAT、3个SPI、2个I2C、1个CAN、1个USB2.0全速接口。具有优异的实时性能,同时拥有丰富而规范的固件库,适合飞控板的开发。
飞控板采用最小系统加全部接口引出的设计,即保证系统能够正常工作的前提下,引出所有扩展接口以方便后续实验开发的功能扩展。主控芯片STM32F103的最小系统原理电路设计框图如图3所示,由于主芯片需要3.3 V电压供电,所以采用稳压芯片产生3.3 V电压,还需加电容对稳压后的电压进行滤波。在保证正确供电和正确接地的同时,需外加两个晶振电路。其中8M晶振作为系统外部时钟,起振后为系统提供时钟信号:32.768K晶振主要用于系统的实时时钟RTC电路;引出所有引脚以供扩展之用,同时设计了外部复位电路。
2.2 传感器数据采集及通信接口设计
2.2.1 组合导航系统数据采集
组合导航系统采用了惯性导航与全球卫星定位系统(GPS)相结合的方案,二者能够弥补相互的不足,为无人机提供可靠性好,自主性和精确度高的导航信息。其中惯性导航系统选择了基于MEMS技术的惯性传感器,结合卡尔曼滤波算法和四元数法及三轴磁力计温度补偿进行姿态解算和估计。传感器的输出为数字信号,通过串口发送数据。由于STM32片内集成串口,因此设计RS232电平与TTL电平转换电路以实现数据通信。电平转换电路采用MAX232芯片,电路如图4所示。
2.2.2 超声波传感器
用于测量高度的超声波传感器采用SensComp公司的615088传感器,它具有两种模式:触发测距模式和5 Hz自动测距模式。测量范围:0.15~10.7 m,测量精度:0.1%。
STM32采用捕获中断方式测得超声波发送的边沿跳变信号与经障碍物反射回来的超声波边沿跳变信号,做差换算得到超声波模块与障碍物的距离。实测在0.2~10 m范围内的距离,其测距误差不超过0.1%,满足四旋翼飞行器飞行的精度要求。
2.2.3 无线数传模块
本设计方案所选用的无线数据传输模块有TTL、RS232、RS485 3种接口,同时配有USB转,TTL模块,在开阔地的传输距离可达800 m。飞控系统主控芯片通过无线数据传输模块与上位PC机进行通信,传送由传感器获得的飞行数据到上位PC机以实时监测飞行状态,同时上位PC机也可以向飞行器传送飞行控制指令及相关参数。
2.2.4 PWM信号的采集与输出
由于四旋翼飞行器的飞行完全依靠四个电机的转速变化来控制,其不同于固定翼飞机的是滚转、俯仰、偏航以及油门通道均需要通过4个电机联动才能实现对四旋翼飞行器的控制。因此,需要在油门通道控制信号的基础上叠加其余3个通道信号,混控合成之后的四路信号分别输出至4个电子调速器对各个电机加以控制。
根据四旋翼姿态控制的原理,定义4个电机序号以及机体轴系如图5所示。
根据上述分析,电机控制信号混控公式如式(1)所示:
其中△φ=φ-φmid,△θ=θ-θmid,△ψ=ψ-ψmid。M1,M2,M3,M4分别表示电机1~电机4的控制信号,T表示油门通道控制信号,φ表示滚转通道控制信号,θ表示俯仰通道控制信号,ψ表示偏航通道控制信号,φmid、θmid、ψmid分别表示滚转、俯仰、偏航通道控制信号的中立值。
3 飞控系统软件设计
3.1 地面站软件设计
为方便监测四旋翼飞行状态,利用CVI软件设计开发了地面PC机惯导数据采集界面,如图6所示。地面PC机通过无线数据传输模块实时接收四旋翼飞行数据,通过该界面显示四旋翼三轴姿态角,加速度,角速率,经纬度及GPS速度等信息,并实时绘制出三轴姿态角曲线。
3.2 控制律软件设计
由于PID控制算法成熟稳定,易于实现,因此本方案飞行控制器的设计采用PID算法。由于飞控系统为数字系统,因此采取数字PID算法。数字PID算法如式(2)所示。程序的实现在此就不赘述。
式中T表示控制器的控制周期,ek表示四旋翼飞控指令与反馈信号的差值,uk表示PID的输出信号,k表示控制节拍序号,Kp、Ki、Kd分别表示PID控制器的比例、积分、微分项系数。采用上述算法分别设计飞行器的滚转、俯仰、偏航、定高以及GPS定点的PID控制器。
4 系统实现与飞行试验
依据上述的各个部分完成了飞行器硬件平台的搭建和控制算法程序的编写和调试,并反复进行了试飞调参,最终达到了比较理想的效果,实现了飞行器的全自主GPS定点定高定航向悬停,并且在外界强干扰的情况下能够很好地稳定姿态。飞行器全自主GPS定点定高定航向悬停飞行如图7所示。
5 结论
文中所设计的四旋翼飞行控制软硬件系统对四旋翼飞行器的飞行控制取得了比较好的效果,通过试飞实验表明,在本飞控系统的控制下,四旋翼具有较好的稳定性,基本达到了设计目标。同时本设计充分利用了STM32单片机丰富的片内资源,程序均采用模块化设计,稍作修改即可很容易地移植到其他飞行器上,具有较好的可移植性,缩短了系统软硬件的开发周期,为下一步搭载实验各类任务设备奠定了基础。