结合卡尔曼滤波和离散滑模的振镜位置跟踪研究

2022-10-18 05:47王忠华
关键词:反射镜控制算法滑模

李 聪,王忠华

(南昌航空大学信息工程学院,江西 南昌 330063)

0 引言

振镜系统是一种高精度、高速矢量的伺服控制系统,是实现激光成像的重要基础设施,主要由扫描反射镜、驱动电机和控制板组成,在工业、医疗、军事等领域中得到了广泛的应用,如激光定位、激光医疗美容、激光雷达扫描等.

在激光雷达扫描中,振镜在给定期望角位置扫描时容易受到外部扰动和噪声的影响,为了提高振镜系统的抗干扰能力和动态性能,文献[1]采用了PID控制和重复补偿策略,使振镜系统达到理想的速度和精度;文献[2]通过引入前向模型干扰观测器和基于模型的具有有限冲激响应结构的多速率采样数据预测器,提出了一种多速率反馈控制解决策略,用来抑制振镜系统中的窄带超奈奎斯特干扰;文献[3]和文献[4]通过在振镜系统PID控制器的微分部分中加入低通滤波器,对振镜反馈信号进行一部分的处理,降低了系统对外部扰动的敏感度,提升了振镜系统的抗扰性.

国内外学者针对振镜系统的控制问题,基本上是围绕传统的PID控制,而对于现代控制算法的研究相对较少.由于滑模变结构控制具有强鲁棒性和强抗扰性,并且其控制结构相对简单,因而可以将其引入到解决振镜系统的控制问题中.目前,学者们将滑模控制和其他控制策略相结合,形成了自适应滑模控制[5-6]、滑模自抗扰控制[7]、基于趋近律的滑模控制[8-9]、基于神经网络的滑模控制[10]等连续滑模控制方法,用于控制系统的运动状态,使之跟踪上一个给定的期望轨迹,但这与实际中运用离散滑模控制有较大的出入.离散滑模控制会因为外部扰动的变化大而导致切换函数的切换增益的变化较大,从而产生严重的抖振现象.卡尔曼滤波器作为最优的状态估计算法,具有较好的抗干扰和精确的估计性能[11],可以有效地抑制离散滑模控制的抖振问题.

因此,本文提出一种结合卡尔曼滤波器和离散滑模控制的振镜位置跟踪方法,通过利用卡尔曼滤波器实时估计在振镜系统中扫描反射镜的运动状态,再利用离散滑模控制进行反馈控制,能够使振镜系统的各状态量快速稳定,提升振镜系统的抗干扰能力和位置跟踪能力.

1 振镜驱动电机的离散数学模型

振镜系统的执行模块主要由驱动电机和扫描反射镜组成,扫描反射镜与驱动电机转子直接相连,因此本文将用直流驱动电机的电压平衡方程和电机转子运动方程来构造振镜系统的驱动电机离散数学模型[12].

驱动电机电压平衡方程为

(1)

其中La为电枢电感,ia为电枢电流,Ra为电枢电阻,ua为驱动电机控制电压,ue为感应电动势,ke为反电动势系数,ω为扫描反射镜的角速度.

驱动电机转子运动方程为

(2)

其中Te为电磁转矩,T为扫描反射镜的转矩,J为转动惯量,gm为驱动电机的阻尼系数,kt为转矩常数.

结合式(1)和式(2),忽略驱动电机的电枢电感的影响,可得驱动电机机械角速度与电压之间的关系表达式为

(3)

令a=kt/(JRa),b=(kekt/Ra+gm)/J,c=1/J,则式(3)化简为

(4)

由式(4)可得振镜系统的驱动电机状态方程为

(5)

为实现驱动电机连续系统转换成离散数字系统,取采样周期为Ts,将式(5)离散化可得

(6)

其中Ak、Bk、Ck、Dk分别为式(5)中系数矩阵的离散化形式,Ak=I+ATs,Bk=BTs,Ck=CTs,Dk=D,I为单位矩阵.

2 振镜的抗扰位置跟踪控制器设计

振镜系统的抗扰位置跟踪控制器主要由卡尔曼滤波器(KF,Kalman filter)和离散滑模控制器(DSMC,Discrete sliding mode controller)2个部分组成,其中这2个部分是相互解耦的;由于它们的参数设计互不影响,所以可以将KF和DSMC进行独立设计.该控制器的结构及算法实现原理如图1所示.

图1 KF-DSMC的结构及算法实现原理

2.1 KF设计

在考虑实际应用环境中存在的外部扰动和噪声的情况下,在理想状况下的振镜系统离散模型(6)可表示为

(7)

其中Wk、Vk分别为过程噪声和测量噪声,假设它们相互独立,且满足正态分布,则有

其中Q为过程噪声协方差矩阵,Rm为测量噪声协方差矩阵.

根据式(7)可以得出KF的迭代算法.

初始条件:协方差矩阵Q、Rm和系统状态xk;

(ii)计算k时刻到k+1时刻的先验估计误差协方差矩阵p′k+1:

(iii)求出最优卡尔曼增益Kk+1.求出卡尔曼增益的目的是消除噪声和外界干扰对振镜跟踪系统的影响,使得卡尔曼滤波器估计的状态与系统免受外部扰动和噪声的真实状态更为接近,从而满足均方误差最小的原则以实现实时自适应调整卡尔曼增益.其计算公式为

(v)更新k+1时刻的后验估计值协方差矩阵Pk+1:

其中I为单位矩阵.

根据均方误差最小原则,系统在外部扰动和噪声作用时能够实时自适应地调整卡尔曼增益Kk+1的值,优化控制参数,使扫描反射镜可以逼近真实的运动状态.

2.2 DSMC设计

设计以角位置误差ek为自变量的离散滑模切换函数为

sk=CeEk=Ce(Rk-xk)=hek+dek,

其中Ce=(h1)为系数矩阵,h为跟踪误差项系数.

为了保证对应的特征多项式λ+h满足Hurwitz稳定,需要特征多项式λ+h的特征值为负数,即要求跟踪误差项系数h>0.

结合振镜系统的运动状态方程(6),并由k时刻的离散滑模切换函数推导k+1时刻的切换函数为

sk+1=Ce(Rk+1-xk+1)=Ce(Rk+1-Akxk-Bkuk-CkT).

(8)

在离散滑模控制器设计中,高为炳等[13]提出的趋近律是一种简单且有效的设计方法,其核心思想是通过构造满足离散滑模到达性条件的趋近律,然后利用趋近律和所设计的切换函数求取离散滑模控制律,高为炳等[13]提出的离散指数趋近律为

sk+1=sk+Ts(-εsgn(sk)-qsk),

(9)

其中q>0,ε>0,1-qTs>0,Ts为采样时间,sgn(·)为符号函数.

通过式(9)设计的离散滑模控制器具有误差收敛快的优点,再结合所设计的卡尔曼滤波器对外部扰动的补偿作用,可以降低外部扰动的上界值,从而有效抑制在滑模控制中的抖振现象.

结合k+1时刻的离散滑模切换函数(8)和离散指数趋近律(9),得出振镜位置跟踪系统的控制律为

uk=(CeBk)-1(CeRk+1-CeAkxk-CeCkT-sk+εTssgn(sk)+qTssk).

为保证所设计的离散滑模控制律可以使整个振镜系统稳定,则趋近律(9)应满足到达条件

|sk+1|<|sk|.

证由于离散指数趋近律满足q<0,ε>0,1-qTs>0,所以有

(sk+1-sk)sgn(sk)=(-qTssk-εTssgn(sk))·sgn(sk)=-qTs|sk|-εTs|sk|<0,

(10)

又因为采样时间Ts很小,2-qTs≫0,故有

(sk+1+sk)sgn(sk)=(sk+1-sk+2sk)sgn(sk)=((2-qTs)sk-εTssgn(sk))sgn(sk)=(2-qTs)·|sk|-εTs|sk|>0.

(11)

将式(10)和式(11)相乘得

即有|sk+1|<|sk|.

所以,趋近律(9)满足滑模到达条件,能使振镜系统稳定.

3 仿真与实验

在非理想环境下,考虑振镜系统的过程噪声和测量噪声,设计瞬时和连续性2种不同类型的外部扰动,然后采用Matlab仿真实验和振镜系统平台实验来验证本文设计的结合卡尔曼滤波器和离散滑模控制的振镜位置跟踪方法的有效性.

3.1 仿真分析

振镜系统驱动电机的参数如表1所示.

表1 振镜驱动电机参数

振镜系统的设计要满足扫描反射镜在-3°~3°之间跟随给定期望角位置rk做线性往返运动,其中给定期望角位置rk是指驱动电机驱动扫描反射镜旋转的位置,给定期望角位置rk如图2所示.

3.1.1 振镜系统外加瞬时扰动 随机在0.65 s、0.96 s和1.16 s时刻上,在扫描反射镜上分别施加强度为0.5 Ngm、1.0 Ngm和5.0 Ngm的瞬时扰动,采用PID算法、KF-PID算法、DSMC算法和KF-DSMC算法进行对比仿真,仿真结果如图3所示.

在未加入瞬时扰动时,由图3(a)、图3(b)和图3(c)可知,PID算法、KF-PID算法、DSMC算法和KF-DSMC算法都可以准确、快速地跟踪上给定期望的三角波,并且其控制输入量是一个稳定的方波.但是在扫描反射镜切换方向时,这4种控制算法都会出现不同大小的跟踪误差,控制输入量也会出现短暂的波动,其中采用KF-DSMC和DSMC算法的跟踪误差比较接近,其值小于采用PID算法和KF-PID算法的跟踪误差,并且恢复稳定跟踪的调节时间也比采用PID算法和KF-PID算法短.

在加入瞬时扰动时,结合图3中局部放大部分和表2,从振镜系统的跟踪性能、控制输入量的稳定性和离散滑模抖振抑制情况3个角度来对比分析PID算法、KF-PID算法、DSMC算法和KF-DSMC算法的跟踪效果,具体如下:

(i)从振镜系统的跟踪性能角度来分析,由图3(a)、图3(b)及表2可知,KF-DSMC算法跟踪效果和抑制瞬时扰动能力最优,其次是KF-PID算法,之后是DSMC算法,最后是采用PID算法.在分别施加3种不同强度的瞬时扰动之后,采用KF-DSMC算法,扫描反射镜基本不受瞬时扰动的影响,在瞬时扰动消失后能够迅速、准确地跟踪给定期望角位置,但由于受初始状态和扫描反射镜方向状态改变的影响,所以整个2 s的实验过程仍然会产生很小的跟踪误差;而采用DSMC算法,其跟踪误差随瞬时扰动强度的增大而增大,但在瞬时扰动消失后需要约0.02 s的调节时间来恢复稳定的跟踪状态;采用KF-PID算法,扫描反射镜受瞬时扰动的影响比较小,在瞬时扰动消失后,尽管调节时间比DSMC算法长,但是产生的跟踪误差要比DSMC算法小.通过上述分析表明:加入卡尔曼滤波器可以补偿不同强度的瞬时扰动对扫描反射镜运动状态的影响,极大地减小外界扰动的幅值,使得振镜位置跟踪不受外界瞬时扰动的影响.采用PID控制算法会导致扫描反射镜在施加瞬时扰动之后的一段时间内出现震荡现象,与DSMC算法相比,需要更长的调节时间恢复稳定,约为DSMC算法的3倍,这就表明DSMC算法在动态品质上优于PID控制算法,能够使扫描反射镜的位置量快速稳定.

(a)扫描反射镜角位置跟踪信息

(b)跟踪误差

(c)控制输入量

(d)离散滑模切换函数

表2 在瞬时扰动影响下不同控制算法的位置跟踪评价表

(ii)从控制输入量的稳定性角度来分析,由图3(c)可知,在施加瞬时扰动之后,采用PID算法和DSMC算法都会使系统的控制输入量存在明显的抖动现象,并且施加的瞬时扰动强度越大,控制输入量的抖动幅度越大;而采用KF-DSMC算法和KF-PID算法可以减弱控制输入量的抖动现象,使得系统的控制输入量平稳,进而减小振镜系统驱动电机的抖动,降低驱动电机的损耗.

(iii)从离散滑模抖振抑制角度来分析,由图3(d)可知,在施加瞬时扰动之后,采用DSMC算法的切换增益值随着瞬时扰动强度的增大而增大;而采用KF-DSMC算法的切换增益几乎不受扰动强度增大的影响,这就表明在DSMC算法的基础上加入卡尔曼滤波器在很大程度上可以减小离散滑模控制算法的切换幅度,有效抑制了抖振现象.

仿真结果表明:振镜在处理应对不同强度的瞬时扰动时,采用KF-DSMC算法作给定期望角位置跟踪控制,其跟踪和抗扰效果要优于KF-PID算法、DSMC算法和PID算法,并且通过几组算法对比,还可以得知卡尔曼滤波器的加入能够大幅减弱扰动对振镜系统的影响.

3.1.2 振镜系统外加连续性振动扰动 振镜系统易受到外界环境的连续性振动扰动的影响,连续性振动扰动作用在振镜上会间接导致扫描反射镜摆角的变化,使扫描反射镜偏离给定期望角位置,从而影响振镜跟踪给定期望角位置.施加到振镜系统上的连续性振动扰动,转化成扫描反射镜的扰动角位置,其中在0~1 s内的连续性振动扰动是周期性的,在1~2 s内的连续性振动扰动是非周期性(见图4).

图4 连续性振动扰动

在连续性振动扰动的影响下,采用PID算法、KF-PID算法、DSMC算法和KF-DSMC算法进行对比仿真,结果如图5所示.

从振镜系统的跟踪性能角度来分析,由图5(a)和图5(b)可知,采用KF-DSMC算法跟踪效果最优,其次是KF-PID算法,之后是DSMC算法,最后是PID算法.在周期连续性振动扰动的作用下,与采用KF-DSMC算法和KF-PID算法相比,采用PID算法和DSMC算法对周期连续性振动扰动的抑制作用较弱,使振镜系统的跟踪误差较大,其中采用PID控制算法产生的跟踪误差约为DSMC算法产生的跟踪误差的2倍.KF-PID算法尽管对扰动有抑制,但是在扫描反射镜切换方向时,跟踪误差大,跟踪效果弱于KF-DSMC算法.在非周期连续性振动扰动作用下,与采用KF-DSMC算法和KF-PID算法相比,采用PID算法和DSMC算法对非周期连续性振动扰动的抑制作用较弱,使得振镜系统的跟踪误差较大,其中PID控制算法产生的跟踪误差比DSMC算法产生的跟踪误差大,KF-PID算法仍然在扫描反射镜切换方向时,其跟踪效果弱于KF-DSMC算法.通过图5(b)局部放大部分可知,不管是周期连续性振动扰动,还是非周期连续性振动扰动,采用KF-DSMC算法和KF-PID算法,系统的跟踪误差极小,远远小于采用PID控制算法和DSMC算法产生的跟踪误差.

(a)扫描反射镜角位置跟踪信息

(b)跟踪误差

(c)控制输入量

(d)滑模切换函数

从控制输入量的稳定性角度来分析,由图5(c)可知,采用KF-DSMC算法和KF-PID算法的控制输入稳定性最好,其次是DSMC算法,最后是基于PID控制算法.采用KF-DSMC算法和KF-PID算法,系统的控制输入量抖动幅度比采用DSMC算法和PID控制算法更小,因而采用KF-DSMC算法和KF-PID算法可以输出相对较平稳的方波,使得电机运行平稳.在采用PID控制算法作用下,系统的控制输入抖动幅度比DSMC算法的抖动幅度更大.

从离散滑模抖振抑制角度来分析,由图5(d)可知,由于连续性振动扰动的影响,DSMC算法的切换增益明显大于基于KF-DSMC算法的切换增益.从图5(c)局部放大图上可以看出,采用KF-DSMC算法的切换增益远远小于DSMC算法的切换增益,这表明卡尔曼滤波器的加入可以抑制DSMC算法带来的抖振问题.

从上述的3个角度分析,基于KF-DSMC算法下,振镜系统处理连续性振动扰动效果要优于KF-PID算法、DSMC算法和PID算法.

3.2 实验分析

在本节中,将上述提出结合卡尔曼滤波器和离散滑模的振镜位置跟踪方法在如图6所示的振镜系统实验平台上进行了验证性实验.

振镜系统实验平台的主控芯片采用的是ALTERAclone VI E系列中的EP4CE22E22I7,该芯片主要完成驱动电机中的光电编码器解码、控制算法和DA控制输出、振镜角位置串口输出等功能,各个功能模块通过采用Verilog HDL硬件描述语言在Quartus II 13.0版本的软件平台内编写,并将各个功能模块组合在一个的顶层文件中,将其综合成如图7所示的振镜系统控制器RTL视图.扫描反射镜的给定期望角位置的值是三角波计数值(02 710),其中0对应扫描反射镜的实际位置-3°, 2710对应扫描反射镜的实际位置3°,在单片机STM32F103VBT6的定时器TIM3中断服务函数内实现,并将得到的期望扫描角位置送至FPGA的ANGLE_STM32端口.驱动电机参数如表1所述.

图6 振镜系统实验平台

图7 振镜系统控制器RTL视图

在如图6所示的振镜系统平台实验中,设置计算机采样步长为0.001 s,滑模面系数h=360,指数趋近律系数q=430,ε=125,卡尔曼滤波器参数取值Qk=0.000 025,Rm=0.05.在扫描反射镜上加入阻碍其运动的力模拟瞬时扰动和连续性振动扰动,其中1 s为加入瞬时扰动的时刻,2.5~3.5 s为加入连续性振动扰动的时刻,其他时间段未加入外部扰动.

在不同扰动情况下振镜系统位置跟踪控制的实验情况(见图8)中,振镜系统在无外部扰动的情况下卡尔曼滤波器的作用不大,但在系统加入瞬时扰动和连续性振动扰动时,卡尔曼滤波器就可以较好地滤除外部扰动,反映扫描反射镜真实的扫描位置信息.由图8(a)和图8(b)曲线图可知,在加入瞬时扰动和连续性振动扰动的时刻上,基于KF-DSMC算法输出的扫描反射镜位置量比原信号输出的扫描反射镜位置量更接近给定期望值.原因是原信号输出的扫描反射镜位置量包含了干扰引起的负载摆角,而基于KF-DSMC算法输出扫描反射镜位置量是扫描反射镜运动的“真实状态”的最优估计值,滤除了大部分干扰的影响.由图8(a)中可知,无论负载受到何种干扰,受到的干扰幅值有多大,基于KF-DSMC算法都能使扫描反射镜的运动角位置快速地跟踪给定期望值.

(a)扫描反射镜的角位置信息

(b)跟踪误差

4 结论

针对振镜系统的抗扰位置跟踪控制器设计问题,结合卡离散滑模控制思想和卡尔曼滤波思想,提出了一种结合卡尔曼滤波器和离散滑模控制的振镜位置跟踪方法,能够有效应对瞬时扰动和连续性振动扰动的影响,提高振镜系统在有外部扰动环境下的跟踪精度.同时,在卡尔曼滤波器的作用下,使得不确定性外部扰动的上界减小,从而减小滑模切换增益,有效抑制了使用离散滑模控制产生抖振的现象,提高振镜系统的稳定性.仿真和实验结果都表明:本文设计的结合卡尔曼滤波器和离散滑模的振镜位置跟踪控制器,能够处理应对不同类型的外部扰动对振镜给定期望位置跟踪控制系统的影响,使得所设计的控制器具有很强的抗干扰的能力.

猜你喜欢
反射镜控制算法滑模
高发电量固定式光伏支架
水下直升机无模型参数自适应滑模控制
高速公路滑模路缘石施工技术及质量控制分析
基于模糊双线性模型的连续搅拌反应釜滑模控制
滑模施工工艺在水利施工中的优势研究
真空镀膜技术在工业上的应用及发展
基于dSPACE和PLC的控制算法测试系统设计
基于DCS的过程实时控制平台的研究
卫星姿控系统半物理仿真中转台控制算法的实现
基于有限元分析的遥感器次镜支撑设计