基于Kalman滤波与滑模控制的倒立摆控制器设计
2021-07-27韩治国陈能祥
韩治国, 许 锦, 陈能祥
(1.西北工业大学航天学院,西安710072;2.深圳前海格致科技有限公司,广东深圳518052)
0 引 言
倒立摆实验系统具有结构简单、成本低等诸多优点,是进行经典控制理论与现代控制理论教学及开展各种控制实验的理想实验教学与科研平台[1-2]。倒立摆实验系统具有非线性、强耦合等工程中十分普遍的特性,因模型本身具有右半平面极点,是一个天然不稳定系统,控制难度较大。在控制领域中,为了解决许多典型问题而提出的控制策略均可通过倒立摆实验系统进行验证,并且其控制效果可以通过摆杆和小车的稳定性很直观地体现出来。因此,对该实验系统的深入研究具有重要的理论及实际意义[3]。
针对倒立摆系统,目前已有较多成熟控制方法实现了对倒立摆的良好控制,如PD控制[4]、线性二次型最优控制[5-7]、输出反馈控制[8]等,这些方法均在实验条件下得到了较好的实验效果。但是,这些方法在进行控制器设计时均假设系统状态全部可测,或通过微分环节、高通滤波器获取系统不可测状态信息,这些方法要么不符合工程实际,要么会对噪声进行放大,影响控制效果。针对该问题,文献[7]中通过Kalman滤波降低噪声对控制器设计带来的影响。
本文在上述研究的基础上,根据建立的直线一级倒立摆数学模型,基于连续时间Kalman滤波方程,实现对系统全部状态的有效估计,并降低噪声对系统状态的影响。在此基础上,基于滑模变结构控制理论进行了控制器设计。利用Matlab工具进行了仿真分析,并利用倒立摆实验装置成功验证了本文设计的控制器。
1 直线一级倒立摆模型建立
直线一级倒立摆模型如图1所示,在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统。图中,l为摆杆转动轴心到摆杆质心的长度;F为加在小车上的力;x为小车位置;φ为摆杆与垂直向上方向的夹角。
图1 直线一级倒立摆模型
本文采用深圳前海格致科技有限公司(原深圳市元创兴科技有限公司)的倒立摆实验装置进行实验验证,该倒立摆的控制模式为采用电动机加速度作为控制输入。因此,根据公开文献,可建立如下式所示的以电动机加速度为输入,小车位置、速度、摆杆角度和角速度为系统状态、小车位置和摆杆角度为输出的状态空间模型:
式中:
u(t)为电动机加速度,也即本文的设计变量,m/s2;g=9.81 m/s2为重力加速度,l=0.152 5 m。
注释1 本文未给出详细建模过程,详细过程读者可查阅文献[1-7]以及相关公开文献。
式(1)所示系统模型是一个确定性的线性方程。但是,现实世界总是存在各种不确定性,如采集小车位置以及摆杆角度的编码器,总是存在测量噪声等。因此,需要在上述模型中考虑噪声影响,因此,完整的数学模型如下式所示:
式中:G=I4×4;w(t)、v(t)分别为过程噪声和测量噪声,并且满足:
式中:q(t)是非负定对称阵;r(t)是正定对称阵。
从式(1)或(2)可以看出,该实验系统能够采集的信息为小车位置和摆杆角度,对于小车速度与摆杆角速度是不可测量的。因此,在进行控制器设计时,能够利用的测量信息只有小车位置和摆杆角度。
2 连续时间Kalman滤波方程
由式(2)可知,实际系统模型包含过程噪声和测量噪声,因此,为了降低噪声对系统状态的影响,采用Kalman滤波理论对系统模型式(2)进行滤波。对于倒立摆系统,基于现代控制理论进行控制器设计时,需要利用系统的所有状态信息进行控制律设计。但是,对于本文采用的倒立摆实验装置,只能测量小车的位移与摆杆的角度,采用现代控制理论进行控制器设计存在困难。因此,针对上述问题,本文采用连续时间系统Kalman滤波方法(系统模型为连续模型)降低噪声对系统状态的影响,同时获取系统的全部状态信息,方便控制器设计。连续时间Kalman滤波算法如下[9]:
式中:K(t)为Kalman滤波增益矩阵;P(t)为协方差矩阵。连续时间Kalman滤波状态估计框图如图2所示[9]。
图2 连续时间Kalman滤波状态估计框图
根据连续Kalman滤波原理及状态估计框图可以看出,通过Kalman滤波不仅可以降低噪声对系统状态的影响,而且可以对系统状态进行估计。因此,通过Kalman滤波为后续基于现代控制理论进行控制器设计提供了便利。
3 滑模控制器设计
3.1 控制器设计
滑模变结构控制的运动过程可由两个阶段组成:第1阶段是趋近阶段,它完全位于滑模面之外,或者有限次地穿过滑模面;第2阶段是滑动模态阶段,完全位于滑模面上的滑动模态区[10-12]。因此,可将滑模变结构控制分为切换控制与等效控制:即
本文针对模型式(5),采用线性滑模面[13-14]:
为使系统能快速接近切换面,并且改善其抖振现象,采用如下新型趋近律[15-16]:
式中,
式中:arsh为反双曲正弦函数;0<δ<1,η>0,ε>0;δ为fal(s,η,δ)在原点附近正负对称线性段的区间长度,并且fal(s,η,δ)为非连续函数。
针对本文设计的滑模面(7)与趋近律(8),设计的控制律如下式所示:
3.2 稳定性证明
证明 选择如下的Lyapunov函数:
求导可得:
将设计的控制律式(10)~(12)代入式(14),可得:
因此,本文设计的控制律渐进稳定。
4 仿真分析
4.1 计算机仿真
本文针对系统模型式(2),采用本文设计的控制律式(10)进行仿真验证。滑模面参数:δ=0.02,k=6,η=0.5,ε=0.01。设定小车跟踪位置x=0 m,摆杆角度φ=0°。噪声方差:
根据上述仿真参数,仿真结果如图3~7所示。
图3 小车位移随时间的变化曲线
图4 小车速度随时间的变化曲线
图3 ~6(图中,红色曲线为实际值,绿色曲线为理论值,蓝色曲线为滤波值)分别为小车位移、速度、摆杆角度、角速度曲线。从图中可以看出,在系统含有噪声情况下,通过Kalman滤波,能够获得对系统状态的高精度估计(蓝色曲线几乎与绿色曲线重合,只是小车位移略有偏差,但是偏差在5 mm范围内)。同时,能够降低噪声对系统状态的影响(见图5和图6中蓝色曲线低于红色曲线)。
图5 摆杆角度随时间的变化曲线
图6 摆杆角速度随时间的变化曲线
图7 为系统控制量曲线,可以看出,在系统稳定过程中,系统控制量均很小,最大约2.3 m/s2。另外,从图中可以看出,3 s后,系统趋于稳定,但是受噪声影响,系统控制量在微小范围内存在波动现象。
图8 为系统理论控制量变化曲线。对比图7和图8可以看出,采用Kalman滤波估计的系统状态进行控制器设计所得结果与采用理论状态进行控制器设计所得结果几乎完全相同,只是在系统稳定后,系统噪声依然对控制性能具有一定的影响。
图7 控制量随时间的变化曲线
图8 系统理论控制量变化曲线
图9 采用微分方式获取系统状态仿真结果
作为对比,本文给出部分文献采用du/dt方式获取小车速度与摆杆角速度后进行控制实验,仿真结果如图8所示。从图中可以看出,利用微分方式获取的系统状态,采用同样的控制方法,无法实现对倒立摆系统的有效控制。
4.2 实验验证
根据本文设计的控制器,采用倒立摆实验装置进一步验证本文所设计的控制器的有效性,实验控制程序界面如图10所示(目前已实现的算法有10余种),实验结果如图11~13所示(设定小车跟踪位置为0.1 m,摆杆跟踪角度为0°)。图11为实验效果图,可以看出,利用本文设计的控制器,倒立摆摆杆稳定性很好。图12为倒立摆实验小车位移曲线,可以看出,在实际实验时,小车不可能完全静止,会在较小的范围(0.02 m)内来回波动。图13为倒立摆实验摆杆角度曲线,可以看出,摆杆控制精度非常高。
图10 实验控制程序界面
图11 运行中的倒立摆实验系统
图12 倒立摆实验小车位移曲线
图13 倒立摆实验摆杆角度曲线
注释2 因本文没有给出倒立摆起摆过程,实验时用手旋转倒立摆至竖直状态,故实验开始时,输出曲线不是期望值,采集帧数约为1 000次后,系统进行稳定状态。
5 结 语
本文针对倒立摆控制器设计中存在的测量噪声与系统状态不完全可测的问题,基于Kalman滤波与滑模变结构控制理论进行了控制器设计。基于Kalman滤波理论,降低噪声对系统状态的影响,同时能够获取系统所有状态信息。根据获取的系统全部状态信息,基于滑模变结构控制理论进行了控制器设计。通过理论分析、计算机仿真验证与实验验证,验证了本文设计的控制器的有效性,解决了工程应用中噪声的影响以及系统状态不完全可测的应用难题。