基于卡尔曼滤波的迭代学习控制方法研究
2022-05-09栾欣雨
栾欣雨 樊 铀 陈 娟
(北京化工大学 信息科学与技术学院,北京 100029)
引 言
欠驱动系统是指控制输入自由度小于被控输出自由度的一类系统,如柔性机械臂的设计是通过一个伺服电机驱动机械臂产生位移,并抑制机械臂在移动过程中的弹性形变。欠驱动机械系统在机器人、航空航天、船舶等工业领域具有重要的研究意义和广泛的工程应用前景。针对欠驱动机械系统的控制,目前学者们已经提出了许多基于模型的设计方法,如反馈线性化、反演控制、内模控制、滑模控制等,以这类方法设计控制器时需要掌握被控系统的准确的数学模型[1]。常用的建模方法往往基于一定的假设或在对系统部分次要模态的忽略下进行;同时,当被控系统具有模型不确定、未建模动态或随机环境干扰时,一些传统方法会出现控制性能和鲁棒性变差等现象。为解决此类问题,数据驱动控制方法被提出并得到推广。数据驱动控制理论利用大量的数据和知识,在难于建立受控系统较准确机理模型的条件下, 实现对生产过程和设备的优化控制、预报和评价,具有重要的理论与现实意义[2]。
迭代学习控制是一种基于数据驱动的无模型控制方法,通过上一次迭代时的控制输入及本次(或上一次系统)的真实输出与参考轨迹的偏差信号,来提前修正学习下一次迭代的控制输入信号,使得系统在同一重复任务中的控制输入不断趋近于最优控制输入,最终使系统的输出收敛到参考轨迹上,实现系统的准确跟踪。由于其控制结构简单清晰,在重复性运动控制中性能高效精准,从而得到了广泛的研究与应用。傅勤[3]采用适用于非正则系统的微分型学习律设计优化的迭代学习控制器,借助泛函分析理论证明了闭环系统的收敛性;Liu等[4]针对柔性机械臂系统,利用比例-微分(proportional-derivative,PD)的反馈结构和迭代项构造自适应方案,进行轨迹跟踪并抑制扰动;王晶等[5]研究了对批次长度随机变化的反馈辅助比例-微分型量化迭代学习控制问题,量化了跟踪误差信号和控制输入信号,放宽了经典迭代学习控制中的限制要求。
然而,经典的迭代学习控制往往需要进行多次学习与迭代,迭代速率较低,并且对于重复性干扰的抑制能力较弱。Arimoto等[6]提出一种带有自适应性因子即遗忘因子的新型迭代学习控制律,研究表明遗忘因子的加入可以有效提高系统的抗干扰能力,并且在一定程度上增加收敛速度。戴宝林等[7]提出了基于最优增益方法的遗忘因子迭代学习控制算法,提高了系统的鲁棒性并改善了系统的输出性能。万鹏等[8]使用遗忘因子自适应性迭代学习控制器,实现了混联机械臂系统的角同步控制,提高了同步精度并加快了动态响应。李佳伟等[9]提出一种基于遗忘因子的数据驱动最优迭代学习控制算法,并应用于重复运动的非线性非仿射系统,提高了控制的灵活性。上述研究表明遗忘因子的加入可抑制系统中出现的重复性干扰,但当环境中出现的干扰具有非重复特性时,系统的控制性能会大大降低。
本文针对非线性欠驱动机械系统,设计了一种基于卡尔曼滤波器的遗忘因子迭代学习控制律。在迭代学习控制律中引入自适应性遗忘因子,以降低重复性干扰在迭代过程中的累加,增强系统在重复干扰信号下的鲁棒性。卡尔曼观测器通过比较滤波器输出和实际输出的残差,计算得到最小方差指标下的最优状态估计值,以减小非重复性高斯噪声干扰对系统状态的影响。
1 柔性尺动力学模型
本文研究了一类由一个控制输入控制两个被控输出的欠驱动机械系统。作为典型的非线性欠驱动控制研究对象,柔性尺常用来进行柔性环节的理论研究和非线性控制的方法验证。以Quanser公司生产的柔性尺平台为实际研究对象,其组成结构如图1所示。
图1 柔性尺连杆结构模型
如图1所示,柔性尺由轻质不锈钢连杆、旋转伺服直流电动机、光电编码器等组成。其中,连杆上的应变片用来测量柔性尺偏转角,伺服电机驱动柔性连杆转动,光电编码器测量角度信号值。
对柔性尺进行动力学分析,其物理模型如图2所示。
图2 柔性尺运动原理
柔性尺的控制目标是伺服角θ,其随伺服电机驱动而逆时针转动。在给定参考轨迹下,伺服电机的负载齿轮上产生一个扭矩τ,驱动柔性尺追踪目标角度θr,同时应保持柔性尺的弹性形变角α趋近于0(理想状况下为0),允许其在微小范围内波动,使弹性形变对伺服角追踪效果的影响降至最低。
通过牛顿-拉格朗日方法对柔性尺系统建模,得到柔性尺非线性动力学模型为[10]
(1)
α3=0
(2)
由此可以得到柔性尺的近似线性化数学模型,控制输入为u,整理可得系统对应的状态空间方程为
(3)
其模型参数为
采用线性化后的近似模型便于卡尔曼观测器的设计,从而计算卡尔曼增益。
Quanser柔性尺动力学模型参数如表1所示。
表1 柔性尺模型参数
2 基于卡尔曼滤波器的遗忘因子迭代学习控制律设计
2.1 卡尔曼观测器
在随机噪声或不确定干扰环境下,卡尔曼观测器可以实现对系统真实状态的最优估计。卡尔曼观测包括预测与更新两步:预测是指通过模型参数与当前时刻的测量数据对下一时刻进行先验估计,并进行不确定性的传递,以估计先验误差协方差;更新则是对状态进行修正,更新误差,结合先验估计值进行后验估计,得到最优状态估计值。
考虑线性化后受扰动的柔性尺系统
yk(t)=Crulerxk(t)+ok(t)
(4)
式中,xk(t)是系统的状态,u是控制输入,yk(t)是系统输出,pk(t)是系统的过程噪声,ok(t)是系统的观测噪声。假设pk(t)和ok(t)是高斯分布的白噪声且不相关
Qp=E[p,pT]
Ro=E[o,oT]
E[p,oT]=0
(5)
其中E为期望算子。
2.1.1状态预测
首先根据系统的状态空间得到预估状态
(6)
根据定义得到状态估计误差
(7)
由式(7)得到误差协方差
(8)
根据式(5)和式(8)得到误差协方差
(9)
2.1.2状态更新
在卡尔曼滤波中关键参数为卡尔曼增益K,卡尔曼增益起到校正的作用。卡尔曼增益的含义在于利用相关性在系统执行控制的过程中根据误差动态调整预测模型和观测模型的权重,来决定更偏向于选择估计值还是观测值,从而起到关键滤波抗噪的作用。根据迹的定义可得
(10)
利用误差协方差的迹对卡尔曼增益求导即
(11)
根据式(10)和式(11)可得卡尔曼增益表达式
(12)
将先验估计值和卡尔曼增益下的残差作为修正项对先验估计进行修正,得到后验估计值
(13)
将式(13)代入式(8)对误差进行更新得到
(14)
其中I为单位矩阵。由以上推导可知采用卡尔曼滤波递推算法可以不断修正观测值和实际值之间的残差,从而得到最优估计状态值。当存在高斯噪声时,可以通过这种方法对噪声进行平滑滤波,增强系统的鲁棒性。
2.2 基于卡尔曼滤波器的遗忘因子迭代学习
利用所设计的卡尔曼观测器,可以得到系统实时最优状态预测数据。通过被控系统的实时输出数据,参考其与目标轨迹的误差,设计基于卡尔曼观测器的遗忘因子比例-积分-微分(proportional-integral-derivative,PID)型迭代学习控制器,简称为遗忘因子型迭代学习控制,其控制结构如图3所示。
图3 控制系统结构
PID型迭代学习控制律设计如下。
(15)
式中,zk+1为第k+1时刻参考轨迹与输出状态的追踪误差,ff∈[0,1)为自适应项即遗忘因子,在迭代过程中动态变化,u0为初始控制值,ffu0为初始修正项。
遗忘因子型迭代学习控制在迭代初期通过初始修正项快速达到要求的参考值,增大收敛速度,并避免系统出现大幅度的超调及不必要的摆动;在迭代过程中动态减小遗忘因子的值直至0,使系统受初始修正项的影响逐渐减小,而更多依赖于前次迭代时的控制输入信号,最终获得准确的控制输入信号序列。
3 数值仿真
3.1 理想环境中的迭代学习控制
针对柔性尺非线性模型(式(1)),在Matlab2016 simulink上进行数值仿真。设定参考轨迹为yd=0.017 5sin(3πt),设置仿真时间为4 s,迭代次数为68次,初始控制输入u0=0.6,PID型学习律参数设置为KP=0.2,KI=0,KD=0.15。
设计两个性能指标,即运行时间内控制消耗J(式(16))以及误差绝对值的积分I(IAE)(式(17)),来定量衡量控制方法对应的系统性能。在本文中,需要分别讨论伺服角和形变角的性能指标IAEθ和IAEα。
(16)
(17)
将含遗忘因子的PID型迭代学习控制与传统PID型迭代学习控制进行对比,设定遗忘因子ff=0.95,随着迭代次数的增加,遗忘因子在每次迭代时自动减去0.05直至减为0。设定参考轨迹yd=0.017 5sin(3πt),所得结果如图4所示。
图4 控制效果对比
从图4可以看出两种迭代学习控制下,伺服角的性能表现总体相差不大,但PID型迭代学习控制前期的波动大于遗忘因子迭代学习控制。而在追踪误差分析上,传统PID型迭代学习控制的伺服角误差大于基于遗忘因子迭代学习控制的伺服角误差。对于形变角,PID型迭代学习控制的输出振荡剧烈,且偏差较大,而遗忘因子迭代学习控制器明显抑制了系统形变角的输出振荡,初始偏差也更小,收敛更快。同时,遗忘因子迭代学习控制比传统PID型迭代学习控制有更强的抑制形变的能力。
通过表2的3个性能指标进行定量分析,对比得出遗忘因子迭代学习控制的控制消耗、伺服角及形变角的误差绝对值积分都更小,具有更加稳定、精准的控制性能。
表2 不同迭代学习控制效果对比
综上,遗忘因子的加入增强了系统的自适应性,并且可以加大收敛速度,抑制形变,优于传统PID型迭代学习控制效果。
3.2 随机噪声环境中的迭代学习控制
图5 基于两种观测器的控制系统性能对比
从图5可见,在伺服角追踪过程中,基于两种观测器的控制设计的系统输出均能迅速逼近目标值,追踪性能良好。其中,在基于高增益观测器的控制设计下,噪声干扰仍会对系统伺服角产生一定程度的影响,系统输出与目标值之间的误差相对较大;而卡尔曼滤波器最大限度地降低了噪声影响,闭环系统伺服角的追踪性能良好。对于形变角,在基于高增益观测器的控制设计下,噪声干扰影响明显,形变角输出波动较大,柔性尺抖动剧烈,严重影响了闭环系统性能;而基于卡尔曼滤波器的控制设计有效抑制了噪声干扰,基于最小方差准则可得到系统最优估计状态,使形变角输出逼近理想状态,其值在0附近小范围波动。对于控制输入u,由图5可知,基于高增益观测器的控制方法由于仅依据数学模型进行状态观测,缺少有效的噪声抑制设计,因而严重影响了控制输入和闭环系统性能;而基于卡尔曼滤波器的设计得到的状态数据保证了控制输入中的噪声影响最小,闭环系统整体稳定,且稳态误差较小。
通过表3中的3个性能指标进行定量对比分析,可以得出卡尔曼滤波器下,本文提出的遗忘因子型迭代学习控制的控制消耗、伺服角及形变角的误差绝对值积分都更小,说明其控制性能更好。
表3 两种观测器下遗忘因子型迭代学习控制效果对比
由以上分析可知,卡尔曼滤波器作为观测器可有效减小高斯噪声对系统的影响,使输出值更接近真实值,误差更小,具有更好的鲁棒性。
4 实物实验
4.1 实验平台
为验证本文所设计方案的可行性,在Quanser公司设计的柔性尺系统实物平台(图6)上进行实验验证。该平台由轻质不锈钢连杆、旋转伺服单元、旋转伺服直流电动机、光电编码器等组成。所有实物实验均在图6所示的环境中进行。
图6 柔性尺平台实物图
4.2 实验结果与分析
在图6所示的柔性尺平台上进行实物实验验证,参考轨迹设定为正弦曲线,频率为0.5 Hz,幅值为0.523 6 rad。迭代次数设定为60次,PID型学习参数设定为KP=8.5,KI=0,KD=0.07;初始控制输入u0=0.2,遗忘因子ff=0.95。
在实物仿真环境中加入幅值为0.1的输入高斯白噪声,分别对比基于高增益观测器的传统PID型迭代学习控制、基于高增益观测器的遗忘因子迭代学习控制和基于卡尔曼观测器的遗忘因子迭代学习控制的效果,结果如图7~9所示。
从图7~9中伺服角的实际输出控制效果可以看出,基于高增益观测器的迭代学习控制在高斯白噪声的干扰下输出波形有明显失真,而基于卡尔曼观测器的遗忘因子迭代学习控制的跟踪效果更强且估计值更接近实际输出,噪声对系统的影响明显小于高增益观测器下的系统。从图7~9中的形变角变化可知,基于卡尔曼观测器的遗忘因子迭代学习控制相比于其他两种迭代学习控制形变角更小,柔性尺抖振现象得到改善。
图7 基于高增益观测器的PID型迭代学习控制效果
图8 基于高增益观测器的遗忘因子迭代学习控制效果
图9 基于卡尔曼滤波器的遗忘因子迭代学习控制效果
为了对比不同观测器下的迭代学习控制效果,对高增益观测器-PID迭代学习控制、高增益观测器-遗忘因子迭代学习控制和卡尔曼滤波器-遗忘因子迭代学习控制这3种设计分别进行了性能指标的定量分析,结果见表4。可以看出遗忘因子的加入可以减小控制消耗、伺服角及形变角的误差绝对值积分,而卡尔曼滤波器可以更好地抑制形变角及伺服角的误差绝对值指标,控制性能更好。
表4 两种观测器下的迭代学习控制效果对比
上述物理实验验证及性能定量分析的结果表明,在随机噪声环境下,相比于无遗忘因子、基于普通高增益观测器的控制设计,本文所提的基于卡尔曼滤波器的遗忘因子迭代学习控制设计在柔性尺平台上具有更强的鲁棒性和抗噪能力。
5 结论
本文针对一类欠驱动机械系统设计了一种基于卡尔曼滤波器的遗忘因子PID型迭代学习控制策略,数值仿真实验验证了该方法对于欠驱动机械系统(柔性尺)可以获得稳定的控制。与无遗忘因子的普通高增益观测器的迭代学习控制方法相比,本文所提方法的控制性能更好,鲁棒性更强。同时,在实物上的实际控制实验也验证了本文所提方法的有效性;在重复性干扰和随机噪声等非重复性干扰的环境下,本文方法具有更强的鲁棒性。