基于MATLAB的四旋翼无人机飞控PID仿真设计*
2021-10-26邵霖文丁黎明何志谦
邵霖文,廖 芳,丁黎明,舒 薇,何志谦
(怀化学院电气与信息工程学院,湖南 怀化 418000)
0 引言
四旋翼无人机在较好的环境中飞行具有较好的稳定性,但是对于较为复杂的飞行环境,往往难以达到用户的需求,特别是在农业植保无人机方面。因此,对四旋翼无人机的控制研究具有重要的意义和应用前景。
四旋翼无人机核心设计包括无人机的姿态控制器设计,姿态控制器将决定无人机的运行稳定性和灵敏性,本文将阐述一种通过四旋翼无人机的姿态数据解算与融合滤波算法而设计的双闭环级联PID控制器,并利用MATLAB开展软件的仿真实验,从而验证无人机控制器的稳定性。
1 四旋翼飞控姿态解算
在无人机控制系统中,主要采用捷联惯性导航的基本思想,结合其他定位方式对其在捷联惯性导航中的误差进行修正[1]。处理器读取每个传感器的原始测量数据,使用四元数方法更新姿态,然后将四元数转化为欧拉角,通过互补滤波器执行姿态校正,最后将校正后的欧拉角转换为四元数并对其进行归一化后执行下一个姿势更新,以便获得实际角度值[2]。
四元数的定义式如下:
i2=j2=k2=ijk=-1.
(1)
式中i、j、k分别为空间直角坐标系中x、y、z轴正方向上的单位向量。
变化公式如下:
Q=
T.
(2)
|Q|2=w2+x2+y2+z2=1.
(3)
使用旋转轴和围绕旋转轴的旋转角度来构建四元数:
(4)
式中w为四元数的标量部分的系数;xyz表示四元数的矢量部分的系数[3];α是绕旋转轴旋转的角度;cos(βx)、cos(βy)、cos(βz)分别为旋转轴在x、y、z方向上的分量。
根据四元数的定义,可以得到欧拉角对四元数的算法:
(5)
由此可以得出四元数和欧拉角的转换方法:
(6)
由公式(5)和公式(6),可以建立四元数与欧拉角的关系。陀螺仪的输出可以转换为四元数,并在前一时刻与四元数相乘,以执行姿态递归,然后将四元数转换为欧拉角以进行输出[4],这就是姿态更新。
2 互补滤波
在四旋翼无人机上安装陀螺仪可以用来测得四旋翼无人机的角速率,通过积分得到角度,如果角速率信号略有偏差,则在积分操作后,随着时间的流逝,该误差将逐渐增加,并最终导致电路饱和,无法形成正确的角度信号[5]。
加速率传感器和电子罗盘在测量姿态上没有累积误差,但是它们的动态响应很差。因此,这三个传感器在频域具有互补特性,并且它们的数据可以通过互补滤波器融合,可以对其数据进行校正以消除此累积误差,从而提高了测量精度和系统的动态性能[2]。
《河北省天然气发展“十三五”规划》提出,到2020年力争天然气发电装机比例达到5%以上,装机折合150万千瓦。目前河北已有华电石家庄、国电投廊坊等在建项目。建议结合地方政府能源政策调整以及在建项目投产后相关配套政策和运行情况,在有供热需求的城市和工业园区加快前期布局并适时稳妥推进。
=R(s)+GL(s)uH(s)+GH(s)uL(s)
≈R(s).
(7)
所以,互补滤波算法能同时滤除低频和高频干扰,方便实现传感器数据融合[2]。
图1是互补滤波器的结构图,图中分别是GH(s)高通滤波器和GL(s)低通滤波器,分别针对陀螺仪和加速率计进行滤波处理。
图1 互补滤波器的结构图
3 双闭环级联PID控制
3.1 双闭环级联PID控制原理
在本文中,四旋翼无人机控制分为两个环路控制。一个环路控制是内环控制,也称为姿态控制;另一个环路是外环控制,也称为位置控制,它是一个双闭环控制结构。因此,本文中将使用双闭环串级PID控制器来增强系统的鲁棒性。系统框图如图2。
图2 系统框图
从图2中可以看出,内环PD控制器对无人机的角速率输出进行积分,角速率由陀螺仪直接输出;外环PID控制器对无人机的角度输出进行积分,该角度由加速率计和电磁罗盘确定,该数据用于姿态计算。外圈P的作用是将无人机校正到所需角度,I的作用是消除稳态误差,D的作用是减少过冲;内圈P的作用是将角速率偏差校正为所需的角速率,D作用是抑制和调整系统的冲击和波动[7]。这样,当外环的输出急剧变化时,内环也可以用作调节缓冲器,不会以相同的方式引起较大的波动,提高了调节效率。双闭环串级PID算法同时控制角速率和角度两个变量,提高了四旋翼无人机飞行控制系统的鲁棒性[8]。
3.2 双闭环级联PID控制流程设计
控制系统软件的主要功能为对传感器中测得数据进行读取,然后对姿态和位置进行解算并控制。软件流程如图3所示。
图3 软件流程
当控制系统启动时,它首先初始化控制系统的所有设备,然后依次读取每个传感器的数据以计算位置和姿态,融合计算出四元数的姿态和位置,并根据误差使用双闭环串级PID算法,求出控制量和输出,从而调节四旋翼电机的转速,以达到快速调节的目的。
3.3 双闭环级联PID控制MATLAB仿真
在MATLAB软件的SIMULINK工具模块中,结合线性模型的传递函数,以构建双闭环串级PID控制器的仿真模型。在仿真模型中,选择0-1的阶跃信号作为信号发生器。被控制对象的外环是角度变换的传递函数,内环是角速率变换的传递函数。
姿态角度的双闭环串级PID控制器的内外环P、I、D参数如表1、表2所示。
表1 双闭环串级PID控制器外环控制参数
表2 双闭环串级PID控制器内环控制参数
在验证双闭环串级PID控制器对内环姿态角速率和外环位置跟随的控制效果时设置四旋翼无人机初始状态为:俯仰、横滚和偏航,姿态角速率全部为0 rad/s。初始位置设置为:x、y和z全部为0 m。运行仿真模型,分别得到三个姿态角速率的仿真结果图和位置的仿真结果图,如图4和图5所示。
图4 四旋翼无人机双闭环串级PID控制器三个姿态角速率仿真结果图
图5 双闭环串级PID控制器位置控制仿真结果图
从姿态角速率仿真结果可以看出,经过双闭环串级PID控制器的调整,俯仰角速率、横滚角速率和偏航角速率均达到了预期的稳态值,证明双闭环串级PID控制器对四旋翼无人机的姿态角速率具有良好的控制能力。
从位置控制仿真结果可以看出,在双闭环串级PID控制器对位置跟随控制的仿真过程中,x、y和z轴方向均达到了预期的稳态值。但z轴方向达到稳定状态需要的时间较长,通过对参数的调节图像可以更加快速的趋于稳定。该双闭环串级PID控制器基本实现了位置跟随的目标。
4 结语
本文设计了一种基于四旋翼无人机的姿态数据解算与融合滤波算法的双闭环级联PID控制器。通过对控制器模型的理论分析,设计出了基于双闭环的PID控制器,并通过MATLAB仿真平台进行了仿真,试验结果表明,双闭环串级PID控制器使四旋翼无人机飞行控制系统具有良好的鲁棒性。