基于ADRC迭代学习控制的四旋翼无人机姿态控制

2020-12-28 08:35王术波韩宇陈建张自超刘旭赞
航空学报 2020年12期
关键词:姿态控制观测器转角

王术波, 韩宇, 陈建,*, 张自超, 刘旭赞

1. 中国农业大学 工学院,北京 100083 2. 中国农业大学 水利与土木工程学院,北京 100083 3. 武汉大学 测绘遥感信息工程国家重点实验室,武汉 430079

农用四旋翼无人机在对作物进行表型探测及喷药时,需要超低空精准悬停[1-3]。悬停过程中无人机螺旋桨转动产生的下洗气流遇到地面及作物冠层平面会产生涡流等不规则气流扰动(称为“地效扰动”),此时如果遇到自然风叠加,会加剧该扰动对四旋翼无人机超低空精准悬停的影响。这对无人机姿态控制器提出较高要求,而构建一种可以及时观测扰动、并对控制量进行补偿的自抗扰控制方法可解决以上问题。

现阶段,四旋翼无人机姿态控制方法主要有PID控制[4-5]、滑模控制[6-7]、反步控制[8-9]、神经网络控制[10-11]等。上述方法都是基于误差从而消除误差的控制方法,当存在外界未知扰动和内部不确定性时,不能较好预测扰动来给出控制补偿量,控制效果不能达到理想控制要求。采用自抗扰控制(Active Disturbance Rejection Control, ADRC)可以克服以上困难。ADRC控制是韩京清教授提出的一种能够补偿不确定因素的控制技术[12],其中不确定因素包括内部扰动和外部扰动两种。伍咏成等[13]提出了一种基于模糊LADRC的倾转四旋翼无人机纵向姿态控制方法,设计了基于线性自抗扰控制(LADRC)的姿态控制器并采用模糊控制对其参数进行在线整定,进行了飞机纵向飞行控制仿真实验验证。

作为一种不依赖于被控对象数学模型的控制方法,ADRC控制器带宽是基于经验及参考法设置的。考虑到干扰和偏差的动态性,ADRC控制器带宽不能为定值。ADRC带宽越大,系统的输出跟随输入指令的能力就越强,系统的动态性能就越好。所以带宽越大,对控制量的补偿越大,即控制量补偿估计较大,这时称为高增益状态观测器。当外界扰动较小时,高增益观测器输出抖振较大,则控制量输出抖振会很大,被控对象输出将振荡严重[14]。选择合适的带宽,构建自适应ADRC,在大误差、大扰动时,选用大带宽;在小误差、小扰动时,选用小带宽。基于以上问题提出一种基于迭代学习控制(Iterative Learning Control,ILC)的ADRC控制策略。迭代学习控制能针对干扰和误差量在线整定ADRC带宽,构建自适应ADRC姿态控制器。迭代学习控制是一种拟人的学习过程与特性的智能控制方法。迭代学习被应用于工业机器人[15-16]、数控机床[17]、电力系统控制[18]等重复运动型轨迹跟踪领域,并因其不依赖于系统的精确数学模型即可高精度的跟踪给定的期望轨迹,被许多学者及工程人员研究与使用。

基于以上研究综述,本文提出了一种自适应ADRC姿态控制器,首先对四旋翼无人机建模,然后构建ADRC姿态控制器,提出了一种基于迭代学习控制的自适应ADRC姿态控制器,并进行了相应实验验证。

1 四旋翼无人机自抗扰控制器设计

1.1 四旋翼无人机建模与坐标系定义

四旋翼无人机拥有4个螺旋桨,呈十字或交叉型对称分布,无人机获得的动力是由4个螺旋桨转动产生。同时通过4个旋翼产生升力差来进行飞行状态的控制。交叉型四旋翼示意图如图1所示,坐标原点为无人机重心,x轴为无人机重心指向机头方向,y轴为无人机重心指向左侧,z轴由重心按右手法则指向无人机上方。产生升力时

图1 四旋翼无人机示意图Fig.1 Schematic diagram of four-rotor UAV movement

同时增加4个旋翼的转速实现上升或下降;同时差动改变1、3和2、4的转速,产生反扭力,实现绕z轴的偏航;同时差动改变2、3和1、4,机体绕x轴滚动,并沿y轴移动,实现滚转运动;同时差动改变1、2和3、4,机体绕y轴滚动,并沿x轴移动,实现俯仰运动。

四旋翼无人机姿态动力学模型为[19]

(1)

定义四旋翼无人机控制输入为U={ui},i=1,2,3,4,即

(2)

式中:u1、u2、u3和u4分别为高度、滚转、俯仰和偏航4个通道的输入。故其姿态动力学模型为

(3)

1.2 自抗扰控制器设计

在农用无人机对小型作物表型探测和喷药时,需精准定点悬停,靠控制滚转角、俯仰角、偏航角来抵抗地效扰动。所以在控制通道φ、θ、φ中分别加上w1(t)、w2(t)、w3(t)各自代表系统未知内部扰动和系统外部的地效和自然风扰动。φ、θ和φ控制通道改写为

(4)

采用欧拉近似法[20-21]将式(4)离散化为

(5)

式中:Ts为采样周期。

针对1.1节提出的四旋翼无人机运动学模型,通过设计跟踪微分器(TD)、扩张状态观测器(ESO)、非线性状态误差反馈律(NLSEF),构建自抗扰控制器。自抗扰控制将作用于被控对象的所有不确定因素都归结为未知扰动,并利用无人机姿态角的输入输出对未知风扰动进行估计并给予补偿。风扰动在影响无人机最终输出前,各个通道被自抗扰控制估计、提取并提前补偿,这将降低了未知风扰动对无人机姿态的影响。

以四旋翼无人机俯仰通道为例,其自抗扰控制器设计如下:

跟踪微分器(TD)实现了系统过渡过程的安排,得到控制信号的跟踪信号和一系列微分信号,起到滤波和降低初始误差作用。

跟踪微分器(TD)数学表达式为

(6)

式中:fhan函数为

(7)

式中:θexpect为期望的俯仰角;v1为对θexpect的估计;v2为对θexpect的微分;参数r0为快速因子,其决定了跟踪速度的快慢,越大则跟踪速度越快,但同时也放大了噪声,h0为积分步长,值越大滤波效果越好,但同时跟踪信号相位损失也随之增大。

扩张状态观测器(ESO)在线实时估计系统的总扰动,反馈系统的状态变量和扰动观测。

二阶扩张状态观测器(ESO)数学表达式为

(8)

(9)

式中:被控对象的输入u3和输出θ为ESO输入;z1、z2和z3为输出;z1、z2为对v1、v2的估计;z3为对系统总扰动的估计;β01、β02和β03为观测器反馈增益;ω0为观测器带宽;δ为函数fal(x,a,δ) 线性区间宽度;b0为增益参数。

非线性状态误差反馈律(NLSEF)利用基于误差来消除误差思想,利用非线性的高效率构建非线性误差反馈律。

非线性状态误差反馈律(NLSEF)数学表达式为

(10)

式中:c、r1和h1为非线性状态误差反馈律待调参数。

对俯仰通道设计ADRC姿态控制如图2所示。

图2 俯仰通道ADRC姿态控制器Fig.2 ADRC attitude controller of pitch channel

对俯仰通道的控制为单输入单输出系统,系统输入为期望俯仰角度,输出为对俯仰通道的控制量,无人机惯性测量单元(IMU)反馈实际俯仰角给ADRC控制器。同样,对滚转、偏航通道设计如上控制器,最终构建3输入3输出的3通道控制系统,如图3所示。

2 基于迭代学习控制的自抗扰控制器

针对3通道ADRC观测器带宽相同,采用迭代控制,根据误差和扰动在线更新ADRC带宽,实现不同风向扰动和初始误差下,ADRC实时自适应姿态控制。

2.1 迭代学习控制器

迭代学习控制是人工智能与自动控制相结合的新的学习控制技术。迭代学习控制具有拟人的学习过程与特性,模拟人的循序渐进与边干边学的方法,广泛适用于不确知、不确定的非线性复杂系统。迭代学习控制算法流程如图4所示。

记x(r)为系统的状态向量,为n维向量;u(t)为r维控制向量。当输出y(t)为状态的某种向量函数时,系统可以表示为

(11)

假设系统在有限时间区间[0,T]上重复运行。以k=0,1,2,…表示重复次数,那么可重复控制系统可以表示为

(12)

图3 三通道ADRC姿态控制器Fig.3 ADRC attitude controller of three channels

图4 迭代学习控制算法流程Fig.4 ILC algorithm flow

定义输出误差为

ek(t)=yd(t)-yk(t)

(13)

由当前控制uk(t)和输出误差ek(t)构成学习律,产生下一次迭代时的控制uk+1(t),由于四旋翼无人机抗干扰控制要求较短的调节时间,采用PD型学习律,学习律表示为

(14)

式中:Ψ、Γ为定常增益矩阵。

2.2 基于间接迭代控制ADRC姿态控制设计

目前迭代学习控制主要讨论通过改变输入达到控制效果,对于控制器的参数没有进行修正,也称为静态控制器,即在控制过程中,控制器的参数是确定不会发生变化的。间接型迭代学习控制是指系统有基本的反馈控制器,学习控制用于更新优化局部控制器的参数,也称为动态控制器,即控制器本身会随着迭代的变化而变化。

间接迭代控制在控制对象受到未知或不可预知的输入情况下,通过控制器的在线自动调整,最优实现某性能指标。间接迭代学习控制通过在线调整ADRC中扩张状态观测器中带宽ω0,实现自适应构建ADRC。俯仰通道控制系统如图5所示。图中自适应构建ADRC分为ADRC和间接ILC控制器,输入为期望俯仰角,悬停实验中为0°,输出为对无人机俯仰通道控制量,无人机反馈实际俯仰角度分别给ADRC和间接ILC控制器。间接ILC控制器根据k-1 时刻俯仰角误差和上一时刻的输出uk-1,由PD型学习律输出控制量uk,即该时刻ADRC扩张状态观测器带宽ω0;ADRC控制器结合ILC输出带宽,根据俯仰角误差,输出无人机俯仰通道控制量u3。

扩张状态观测器(7)改写成状态空间表达式为

(15)

(16)

通过输出误差估计,给出PD型学习律收敛性充分条件与证明如下。

引理当初态位于xk(0)时施加控制uk(t),若系统满足条件:

2)xk(0)=x0,y0(0)=yd(0)

则当k→∞时,yk(t)→yd(t)

证明:

第k+1次迭代的控制误差为

Δuk+1(t)=ud(t)-uk+1(t)=

(17)

式中:Δuk+1(t)为实际控制输出与期望控制输出之差;ud(t)为系统达到期望输出对应的控制信号。

输出误差表示为

ek(t)=yd(t)-yk(t)=C(zd(t)-zk(t))

(18)

(19)

两边求导可得

(20)

Δuk+1(t)=(I-ΓCB)Δuk(t)-

(21)

图5 俯仰通道基于间接迭代学习控制的ADRC姿态控制器Fig.5 Design of ADRC attitude controller based on ILC for pitch channel

两边同时取范数:

(22)

由范数定义:

(23)

式中:

(24)

ρ可取小于1,此时

(25)

由式(18)可得

(26)

因此,所设计的间接PD型学习律收敛。证毕。

3 抗扰实验和分析

本实验为模拟无规则气流扰动,摒弃风洞装置,采用自构建气流扰动装置,利用扇叶转动模拟超低空飞行的地效扰动和自然风叠加的无规则气流干扰。装置如图6所示。实验分别构建如图7所示侧向水平风、前俯向风、侧俯向风,黄色箭头为无人机机头朝向,蓝色为风场中心,图7(b)、图7(c)风场斜向上。

实验采用Tello开源无人机平台,通过Wifi通信,地面站接收无人机IMU数据,并返回控制指令。Tello无人机重量100 g,浆直径7.6 cm,机体中心长3.5 cm,宽6.5 cm,高2.5 cm。悬停实验中期望俯仰角、滚转角、偏航角都为0°。通过分别利用ADRC姿态控制器和不加ADRC姿态控制器控制,IMU输出无人机俯仰角度、滚转角度、偏航角度信息,控制周期约为0.1 s。实验过程中ADRC和ILC控制器参数如表1所示。

图6 实验环境Fig.6 Experimental environment

图7 不同风速和风向示意图Fig.7 Schematic diagram of different wind speeds and directions

表1 控制器参数Table 1 Controller parameters

3.1 不同风速风向干扰实验

实验分别在无风状态和侧向水平风、前俯向风、侧俯向风3种不同风向下进行,并对风速和风向角度调节,验证ADRC对未知扰动观测与补偿。进行了无ADRC和有ADRC实验对比,其中无ADRC直接采用Tello内置姿态控制算法。

实验首先进行无风状态下Tello内置姿态控制器、ADRC姿态控制器、ILC-ADRC姿态控制器实验,实验结果如表2所示。实验可以看出ILC-ADRC相较于ADRC和Tello内置姿态控制器,姿态角累计误差有较大程度降低。侧向水平风实验中,风速分别为0.9~1.1、1.1~1.3、1.4~1.6、2.0~2.4、2.5~2.9、3.3~3.6 m/s,风场中心与无人机飞行高度位于同一水平线,以验证四旋翼无人机对侧向水平风的抗干扰能力。表2为侧向水平风存在下的实验结果,表中θae为俯仰角累计误差,φae为滚转角累积误差,φae为偏航角累积误差。在侧向水平风干扰存在时,偏航角受影响最大。从表2看出,没有采用ADRC控制器的3种姿态角度累计误差均大于采用ADRC控制器。特别是在风速较大的情况下,未使用ADRC控制器偏航角出现较大的累计误差。实验过程中无ADRC姿态控制环节在2.5~2.9 m/s 风速时出现失控现象,有ADRC姿态控制环节在3.3~3.6 m/s风速时出现失控现象。

图8为无ADRC和有ADRC在2.0~2.4、2.5~2.9、3.3~3.6 m/s侧向水平风速下,即临界风速下,偏航角的输出曲线。从曲线中可以看出,无ADRC姿态控制环节在2.5~2.9 m/s风速时,在第75~80次控制周期过程中,无人机偏航角出现严重失控。在运动过程中出现无人机360°旋转现象,无人机顺时针旋转一周。采用ADRC姿态控制器在该风速下,仍能抵抗水平风干扰,未出现较大角度的偏差。继续加大风速在3.3~3.6 m/s时,ADRC抗干扰控制器失效,无人机在55~62次 控制周期,出现360°旋转失控现象。综上,2.0~2.4 m/s为内置姿态控制器所能承受最大水平风速,2.5~2.9 m/s为ADRC姿态控制器所能承受最大水平风速。

进一步进行了在前俯向风下无人机抗扰实验,分别在0.9~1.1 m/s(11°)、1.1~1.3 m/s(13°)、1.4~1.6 m/s(18°)、1.8~2.0 m/s(18°)、2.1~2.5 m/s(18°)风速进行。其中风场中心射线与无人机飞行水平面夹角称为前俯风角。0.9~1.1 m/s(11°)表示前俯向风速为0.9~1.1 m/s,风场中心射线与无人机飞行水平面夹角为11°。

表3为无人机在前俯向风干扰下三姿态角累积误差,从表中看出未使用ADRC控制器俯仰角累计误差均大于使用ADRC控制器。在前俯向风干扰下,无人机俯仰角受到影响最大,图9为临界风速下无人机俯仰角输出。从图中看出,1.8~2.0 m/s 风速,风场角18°时,未使用ADRC姿态控制器无人机俯仰角度在43次控制周期时出现较大的俯仰角误差,偏离程度达到10°,此时无人机偏离风扰作用时悬停点;在20~28次控制周期时,出现持续误差,无人机严重偏离风扰作用时悬停点,此时姿态控制失效。同时在该风速下,使用ADRC姿态控制器无人机姿态角控制在-4°~+4°之内,满足控制要求。继续加大风速在 2.1~2.5 m/s,前俯风角18°时,ADRC姿态控制器在20~22、103~113次 控制周期,均出现较大的持续误差,无人机偏离风扰作用时悬停点,姿态控制失效。综上,1.4~1.6 m/s (18°)为内置姿态控制器所能承受最大前俯风速和风向角,1.8~2.0 m/s (18°)为ADRC姿态控制器所能承受最大前俯风速和风向角。

表2 侧向水平风干扰下四旋翼无人机姿态角累积误差Table 2 Cumulative errors of UAV attitude angles with lateral horizontal wind disturbance

图8 临界风速下四旋翼无人机偏航角输出Fig.8 Yaw angle output of UAV at critical wind speed

同样,进一步进行了在侧俯向风下无人机抗扰实验,分别在0.9~1.1 m/s(11°)、1.1~1.3 m/s(13°)、1.4~1.6 m/s(18°)、1.8~2.0 m/s(18°)、2.1~2.5 m/s(18°)风速进行。其中风场中心射线与无人机飞行水平面称为侧俯风角。

表3 前俯向风干扰下四旋翼无人机姿态角累积误差Table 3 Cumulative errors of UAV attitude angles with forward pitch wind disturbance

图9 临界风速下四旋翼无人机俯仰角输出Fig.9 Pitch angle output of UAV at critical wind speed

表4 侧俯向风干扰下四旋翼无人机姿态角累积误差Table 4 Cumulative errors of UAV attitude angles with sideways wind disturbance

图10 临界风速下四旋翼无人机滚转角输出Fig.10 Roll angle output of UAV at critical wind speed

表4为无人机在侧俯向风干扰下三姿态角累积误差,从表中看出未使用ADRC控制器滚转角累计误差均大于使用ADRC控制器。在前俯仰风干扰下,无人机滚转角受到影响最大,图10为临界风速下无人机滚转角输出。

在1.8~2.0 m/s风速时,未使用ADRC姿态控制器无人机滚转角度在50~61、81~87次控制周期时出现持续较大滚转角误差,误差范围在-7°~6°,无人机严重偏离风扰作用时悬停点,控制失效。在该干扰风下,使用ADRC姿态控制器无人机滚转角未出现持续误差。继续加大风速2.1~2.5 m/s 时,使用ADRC姿态控制器无人机在90~106次控制周期,才出现持续较大滚转角误差,姿态控制失效。综上,1.4~1.6 m/s (18°)为内置姿态控制器所能承受最大侧俯风速和风向角,1.8~2.0 m/s (18°)为ADRC姿态控制器所能承受最大侧俯风速和风向角。

3.2 有初始误差和不同风速干扰实验

为进一步验证自适应自抗扰控制器,即基于迭代学习控制自抗扰控制(ILC-ADRC)对未知干扰观测和补偿的有效性。实验设计了基于初始误差下的干扰风实验,在本次实验中将初始误差和风扰动同时视为一种外部扰动,采用ADRC和基于ILC的自适应ADRC分别进行实验。实验分别采用迎头55°、90°、180°,水平风速1.1~1.3、1.4~ 1.6、2.0~2.4、2.5~2.9 m/s下使用ADRC和ILC-ADRC进行对比实验。

表5中A表示采用ADRC姿态控制器,IA表示采用ILC-ADRC姿态控制器,φae为偏航角累计误差,x(t)为输出峰值,Mp为超调量,ts为调节时间。通常四旋翼无人机偏航角度误差需要控制在15°以内,由表5可知除180°初始误差外,ILC-ADRC偏航角误差均小于或等于15°,即满足偏航角控制要求。调节时间方面,ILC-ADRC相较于ADRC缩短较多。定义调节时间提高率η为

(2)

相较于ADRC,采用ILC-ADRC调节时间分别缩短了40%,16.67%,12.5%,53.33%,10.34%, 13.95%,27.27%,58.66%,11.86%。

图11为临界风速和初始误差角度下无人机偏航角输出。在1.1~1.3 m/s水平风速、180°初始误差下,采用ADRC在第103~125、133~150次控制周期时,无人机偏航角误差加大,分别出现无人机360°旋转现象,无人机顺时针旋转一周,此时无人机偏航角控制失效。在该风速和初始误差下,采用ILC-ADRC姿态控制器偏航角误差在-15°~15°之间,满足控制精度要求。在2.0~2.4 m/s, 90°初始误差下,采用ADRC姿态控制器在100~115、130~140次控制周期均出现大于15°和小于-15°偏航角误差;在2.5~2.9 m/s、90°初始误差下,第25~60、79~100、120~150次控制也出现大于15°和小于-15°偏航角误差,以上2个实验ADRC控制器均失效。而采用ILC-ADRC姿态控制器,在150次控制周期内,偏航角误差均在-15°~15°之间,满足四旋翼无人机偏航角控制精度。综上,2.0~2.4 m/s、55°为ADRC控制器所能承受最大水平风速和初始偏差,2.5~2.9 m/s、90°为ILC-ADRC姿态控制器所能承受最大水平风速和初始偏差。

表5 初始误差及水平风干扰下四旋翼无人机控制结果Table 5 UAV control with initial errors and horizontal wind disturbance

图11 临界风速和初始误差下四旋翼无人机偏航角输出Fig.11 Yaw angle output of UAV at critical wind speed with initial error

4 结 论

1) 通过构建ADRC姿态控制器实现四旋翼无人机平台精准悬停,实验在0.9~1.1、1.1~1.3、1.4~1.6、2.0~2.4、2.5~2.9、3.3~3.6 m/s侧向水平风、0.9~1.1 m/s(11°)、1.1~1.3 m/s(13°)、1.4~1.6 m/s(18°)、1.8~ 2.0 m/s(18°)、2.1~2.5 m/s(18°) 前俯向风和侧俯向风下验证ADRC姿态控制器对未知干扰的补偿能力,实验结果表明,采用ADRC姿态控制器后无人机抗风扰能力有较大提升。

2) 在有初始误差和风扰下,构建自适应ADRC 姿态控制器,通过迭代学习控制在线整定ADRC 控制器带宽,并证明了ILC-ADRC控制器的稳定性。

3) 实验分别进行了机头实际方向与期望方向偏离55°、90°、180°,水平风速1.1~1.3、1.4~1.6、2.0~2.4、2.5~2.9 m/s下使用ADRC和ILC-ADRC的对比。采用ILC-ADRC姿态控制的真实四旋翼无人机平台偏航角误差均在-15°~15°之间,具备快速的暂态响应和改善的无抖振稳态性能。

猜你喜欢
姿态控制观测器转角
含干扰项的非线性广义系统执行器故障估计*
基于观测器的线性系统非脆弱鲁棒控制及仿真
基于非线性干扰观测器的航天器相对姿轨耦合控制
基于观测器的传感器故障检测方法对比分析
百花深处
一种门窗转角连接件
基于STM32的四旋翼飞行器飞行控制板设计
基于双处理器的四旋翼飞行控制系统研究
基于四元数的四轴无人机姿态的估计和控制
灰色PID控制在AUV横滚控制中应用研究