应用于共轴双旋翼飞行器的姿态控制系统设计*

2022-01-21 00:32李普森王思孝
传感器与微系统 2022年1期
关键词:控制算法旋翼飞行器

李普森, 张 浩,2,3, 高 永, 王思孝

(1.中国海洋大学 信息科学与工程学院,山东 青岛 266100;2. 海洋短波通信开放工作室,山东 青岛 266200;3.青岛海洋科学与技术试点国家实验室,山东 青岛 266200)

0 引 言

随着计算机技术以及飞行器设计行业的发展,近年来国际范围内掀起了无人飞行器的研制热潮,目前小型无人飞行器广泛应用于各个领域。国内外研制的旋翼式飞行器主要分为单旋翼飞行器,共轴双旋翼飞行器、多旋翼飞行器,此类飞行器体积较小,灵活性较好,且能够在比较狭小的空间内长时间实现空中稳定悬停、垂直起降和多方向自由飞行[1]。其中共轴双旋翼无人飞行器和传统多旋翼无人飞行器相比,机械结构更加简单紧凑,在对旋翼进行折叠设计之后尺寸更小,更加便携[2];和单旋翼飞行器相比,悬停效率更高。综合以上的特性,共轴双旋翼无人飞行器是一种优良的飞行器配置方案。

然而,与目前研究十分成熟的多旋翼飞行器相比,国内外学者很少对共轴双旋翼飞行器进行研究。目前国内外研究工作主要有:美国 Drexel大学 Husnic Z对一种微型共轴双旋翼直升机设计了控制器,并进行了联合仿真[3];Maryland大学Lee T E对双旋翼涵道飞行器的悬停和前进飞行性能进行了研究[4];沈阳理工大学暴庆攀对共轴双旋翼飞行器在悬停状态下的姿态控制进行了研究[5];北京理工大学肖大华设计了一种微小型球形飞行器[6];陈保国等人针对共轴双旋翼飞行器设计了模糊比例—积分—微分(proportional integral differential,PID)姿态控制器[7]。

本文针对共轴双旋翼无人机的研制设计了基于STM32微处理器和姿态传感器的姿态控制系统,并针对经典PID控制算法对飞行器控制效果不理想的问题,提出了一种带积分自适应因子的串级PID控制算法,提高了PID 控制的鲁棒性和自适应性,将其应用于共轴双旋翼飞行器具有很好的控制效果。

1 系统硬件设计

姿态控制系统硬件由JY901传感器模块、主控板卡、遥控通信模块、电源模块、电机舵机执行机构五部分组成。控制系统选用STM32F405为主控芯片,通过Futaba遥控器和MFDLink 433 MHz增程模块发出遥控指令,通过nRF521822无线模块实现与地面站的数据回传,获得飞行信息,所搭载的JY901传感器模块集成了高精度的陀螺仪、加速度计和磁力计,采用高性能的微处理器和先进的动力学解算与卡尔曼动态滤波算法,能够快速求解出载体当前的运动姿态,稳定性很高[8]。

2 系统软件设计

软件采用C语言在MDK环境下使用FreeRTOS实时操作系统编写主程序和子程序。主要程序包括系统初始化、任务创建、任务调度、遥控信号捕获和处理、传感器数据处理、飞行控制等。系统上电初始化之后创建任务,然后实时操作系统根据所设定各个子任务的优先级不同进行任务调度,实现多任务的实时切换,保证程序的正常运行。

2.1 遥控信号滤波算法

在对遥控信号的解析过程中发现遥控信号会受到外界电磁环境干扰或因为通信不畅造成失真,其特点是幅度大但并不频发,主要体现在两次相邻的采样之间偶尔会有大幅的数据变化。为了去除这种突变影响,采用限幅滤波算法进行处理,其原理是先设定一个阈值,然后对每次的输入值进行一次保留,当新数据输入时,先计算与保存值的误差,若误差值(取绝对值)大于阈值,则不保存此次输入的数据,相反,则将此次输入的数据保存。

限幅滤波的优点是运算量小,需要注意的是,当实际操控输入值的采样值差大于设定阈值时,输入量会保持不变,所以限幅阈值也不易过低,以免影响正常操作。图1为设置阈值为 200 时的效果对比,通过限幅滤波处理能在不影响原输入信号情况下滤除突变干扰。

图1 限幅滤波效果对比

2.2 传感器数据读取算法

JY901姿态传感器的数据采用16 进制的方式进行传输,其通讯协议规定每个数据包以0x55开头,SUM结尾,共11个字节,格式如表1所示。

表1 数据包格式

数据包为基本传输单位,将信息以数据包的形式进行发送,以此保证数据传输的高效性和正确性。头报文和校验和作为数据包的起止位用于判断一个数据包是否接收完毕。数据包号用来判断所传输数据的类型,极大程度地提高了信息的辨识度,方便用于对不同类型的数据进行读取,更有针对性地进行处理。

数据内容中每个数据分低字节和高字节依次传送,二者组合成一个有符号的 short 类型的数据。假设 Data 为实际的数据,DataH 为其高字节部分,DataL 为其低字节部分,那么Data=(short)(DataH≪8|DataL),2个字节的16进制数的表示范围在-32 767~32 768之间,根据不同类型数据的计算方法将数据映射到对应的量程范围就可以得到使用的数据。角度和角速度的计算方法如下:

1)角速度

Wx=((wxH≪8)|wxH)/32 768×2 000((°)/s)

Wy=((wyH≪8)|wyL)/32 768×2 000((°)/s)

Wz=((wzH≪8)|wzL)/32 768×2 000((°)/s)

(1)

2)角度

Roll=((RollH≪8)|RollL)/32 768×180(°)

Pitch=((PitchH≪8)|PitchL)/32 768×180(°)

Yaw=((YawH≪8)|YawL)/32 768×180(°)

(2)

3 带积分自适应因子的串级PID控制器

PID控制算法原理简单,易于嵌入式系统实现,所以,目前大部分飞行器的姿态控制算法都是基于PID控制器设计的。由于共轴双旋翼飞行器在悬停状态下是不稳定的,而且在飞行过程中,传感器遇到磁场干扰会影响传感器的数据采集,解算出的姿态角有误差,只用经典的单级PID 控制器很难使飞行器稳定运行,所以,本文提出了带积分自适应因子的串级PID控制器。

3.1 控制器设计

与经典PID控制相比,带积分自适应因子的串级PID控制器(IAP-PID)的外环为角度环,内环为角速度,双环控制器加大了整个系统的阻尼,稳定性更高,同时加入积分自适应因子解决了PID中积分项容易引起的超调和过饱和现象,提高系统的自适应能力。

控制器外环为角度环,以遥控信号rθ(k)作为期望值,机体搭载的JY901传感器解算出的姿态角cθ(k)为反馈值,计算两者偏差为

eθ(k)=rθ(k)-cθ(k)

(3)

其控制规律为

uθ(k)=kpθeθ(k)+kiθeiθ(k)+kdθedθ(k)

(4)

(5)

edθ(k)=eθ(k)-eθ(k-1)

(6)

式中kpθ为外环比例系数,kiθ为外环积分系数,kdθ为外环微分系数。

对于内环PID来说,期望角速度为外环PID经过处理后的输出值uθ(k),反馈角速度为传感器模块测得的当前角速度cω(k),两者的偏差为

eω(k)=rω(k)-cω(k)

(7)

其控制规律为

uω(k)=kpωeω(k)+kiωeiω(k)+kdωedω(k)

(8)

(9)

edω(k)=eω(k)-eω(k-1)

(10)

式中kpω为内环比例系数,kiω为内环积分系数,kdω为内环微分系数。

PID控制器中积分项的引入减小了系统的静态误差,但是在系统遇到较大波动时,控制器由于调整误差过大容易使系统产生很大的超调或者陷入过饱和状态,影响系统稳定性。针对这一问题提出以下解决方案:

1)防止积分过饱和。在计算系统输出之前先对上一次输出量进行判断,当大于系统设定的最大值时,只对负误差进行累加;当小于系统规定的最小值时,只对正误差进行累加,避免控制器在饱和状态中的所处时间过长。此方案在程序编写中实现。

2)改变积分项的累加速度。其基本思想是在积分系数之前乘以一个自适应因子,当误差较大时,因子减小甚至为零;当误差较小时,因子适当增大。积分自适应因子的表达式如下所示

(11)

式中 Δωmax,Δωmin分别为期望值与反馈值的误差的最大值和最小值,|e(k)|为误差的绝对值。Δωmax,Δωmin的取值与系统有关,需要在调试的过程中确定。该式表示当期望值与反馈值的误差小于Δωmin时,积分项发挥正常作用;当期望值与反馈值的误差在Δωmin和Δωmax之间时,积分项根据误差大小进行自适应变化;当期望值与反馈值的误差大于Δωmax时,积分项不发挥作用,变为PD控制。

串级PID和积分自适应相结合组成带积分自适应因子的P-PID控制器(IAP-PID)原理框图如图2所示。

图2 IAP-PID控制器原理

3.2 系统仿真

为了验证IAP-PID控制算法的有效性,将共轴双旋翼飞行器的模型导入到SIMULINK中作为模块与搭建的控制器模型连接进行联合仿真。对目标姿态角施加阶跃激励,然后,将IAP-PID控制算法与PID控制算法的响应曲线进行对比,仿真结果如图3所示。

图3 各姿态角阶跃响应对比

从图3中的输出响应曲线来看,相比于经典的PID控制算法,IAP-PID控制算法的系统稳定时间更短,同时具有更小的超调量,具体的仿真结果对比如表2所示。

表2 阶跃响应仿真结果对比

由此可见, IAP-PID控制器对四旋翼飞行器姿态控制的稳定性有明显的提升,更能适应共轴双旋翼飞行器复杂飞行环境的要求。

4 飞行测试

将IAP-PID控制算法烧录到硬件系统中,进行大量的现场飞行试验和参数整定,最终得到的较为理想的PID控制参数如表3所示,此时飞行器具有稳定的飞行效果。

表3 共轴双旋翼无人机飞行PID参数

通过调用飞行日志,将飞行中的姿态角数据导入到MATLAB中描绘出飞行器在飞行过程中的姿态角变化,各姿态角的变化情况如图4所示。

图4 各姿态角飞行数据

从图4中各姿态角的变化情况可以看出:在飞行过程中,姿态角存在小幅度的振荡,这是因为基于PID的控制算法在计算姿态角时的动态误差较大;但是在IAP-PID 控制器的控制下,飞行器的姿态角变化幅度基本控制在1.5°以内,在发生较大波动时也能迅速调整回到0°左右,整体飞行过程比较平稳。可以证明IAP-PID控制器对共轴双旋翼飞行器具有良好的控制效果。

5 结 论

本文针对共轴双旋翼飞行器的研制,设计了基于STM32微处理器和姿态传感器的姿态控制系统,同时提出了带积分自适应因子的串级PID控制算法(IAP-PID)。结果表明:本姿态控制系统可应用于共轴双旋翼飞行器,相比于传统 PID 控制算法,IAP-PID控制算法具更快的响应时间和系统收敛速度,提高了系统的稳定性和自适应能力,能很好地控制飞行器的飞行姿态,保证飞行器稳定飞行。

猜你喜欢
控制算法旋翼飞行器
桨叶负扭转对旋翼性能影响的研究
高超声速飞行器
改进型自抗扰四旋翼无人机控制系统设计与实现
倾转旋翼机巡航状态旋翼滑流影响
共轴刚性旋翼悬停及高速前飞状态气动干扰特性研究
基于dSPACE和PLC的控制算法测试系统设计
基于DCS的过程实时控制平台的研究
卫星姿控系统半物理仿真中转台控制算法的实现
神秘的飞行器