张海洋,梁 全,王志科,徐 威
(沈阳工业大学 机械工程学院,辽宁 沈阳 110870)
阀控缸液压系统是电液伺服[1]系统的一个重要分支。因具有输出功率大、响应速度快、系统刚度大等优点,阀控缸液压系统在液压机器人、主动悬架等产品设备上得到了广泛应用[2-3]。
由于阀控缸液压系统具有非线性、时变性的特点,其中的非线性因素和参数时变性严重影响了系统的控制性能[4-5]。通常阀控缸液压系统采用PID控制[6-7],而传统PID控制无法用于实时调节参数,不能有效地对非线性系统进行位置控制。因此,研究阀控缸液压系统的非线性控制策略具有重要意义。
反步法是鲁棒性较强的一种非线性控制方法,特别适合应用在高阶参数严反馈形式的系统中[8-9]。但反步法的控制效果高度依赖系统的动态模型及参数的准确性,通常要结合自适应控制或采用系统辨识方法,才能获得系统精确的模型参数。
为此,众多学者在这些方面做了许多研究工作。LI Shu-jiang等人[10]在有无自适应律情况下,对双非对称液压缸伺服系统的控制性能进行了对比仿真,并指出,具有自适应律的控制算法鲁棒性更优;但经仿真试验得出的结果缺乏物理实验的验证。王坤等人[11]设计了一种自适应反步滑膜控制器,借此对电液力加载系统进行了仿真实验,实验结果证明,该控制器提高了力加载控制精度;但控制器未考虑实际噪声等因素,没有解决传统反步法微分难求的问题。LEE K H等人[12]提出了一种用于电液伺服系统前馈位置控制的在线辨识算法;但由于其采用线性控制方法,其实际应用范围受到了较大的限制。刘汇等人[13]为提高某重型机械臂驱动的电液系统控制精度,提出了一种采用神经网络算法辨识外部动态负载和离线辨识系统内部慢时变参数的方法,并根据辨识结果进行了反步法控制器设计,实验结果表明,反步法控制器提高了机械臂的位置跟踪精度;但采用虚拟控制器控制实物,存在较严重的软、硬件环境不匹配的问题。SHEN Jin-xing等人[14]将模糊算法引入更新带遗忘因子的RLS算法中,提出了基于Hammerstein模型的自适应辨识算法,通过对挖掘机电液伺服系统的控制试验,证明了自适应辨识算法的可行性;但由于模型忽略了关键参数的时变特性,导致控制试验仍存在较大的误差域。
然而,针对反步控制算法迭代计算产生的“微分爆炸”情况,学者们进一步提出采用动态面控制对反步法进行改进。
LIU Yong-hua等人[15]提出了一种自适应动态曲面控制方法,对每一步反步法设计都引入了一阶滑动滤波器;但对于高阶的被控系统,则需要采用真实控制器进行验证。刘荣贵等人[16]为保证多电机伺服系统同步控制误差收敛,采用了动态面控制技术以改进传统反步法,减少了微分计算复杂性,通过将其与有限时间控制结合,实现了位置和速度的同步跟踪目的;但上述同步控制的研究缺少了实物的支撑。
综上所述,采用辨识算法获得阀控缸液压系统的模型参数,并将辨识获得的模型参数应用在控制算法中,往往会获得更好的控制效果。但鉴于以上文献主要是采用仿真手段开展的研究,所以需要引进半实物仿真技术对控制算法进行试验验证。
为此,笔者推导适合阀控缸液压系统参数辨识的非线性状态空间模型,引入RLS算法对模型参数进行在线估计,提出基于RLS的反步法动态面控制策略,设计一种半实物仿真平台(基于Linux实时操作系统、工控机和研华USB-4704数据采集卡),对基于RLS反步法动态面控制策略的正确性和可行性进行验证。
笔者选定阀控非对称缸系统为研究对象。其中,位移和压力传感器可反映出系统液压缸位移、左右腔室的压力,液压缸活塞受力符合牛顿第二定律;考虑系统受到的负载由质量、弹簧和黏性阻尼所组成[17],伺服阀为理想的零开口四通滑阀,节流边口是匹配和对称的。
阀控缸系统位置控制原理如图1所示。
图1 阀控非对称缸系统位置控制图
(1)
则阀控缸液压系统状态空间模型可表示为如下形式:
(2)
其中:
(3)
(4)
式中:Ai,Aj为活塞左右腔室的有效面积;m为活塞和负载质量;b为黏性阻尼系数;kc为弹簧刚度;Ff为负载力;βe为液压油液体积弹性模量;Cd为流量系数;CL为液压缸内泄漏系数;V01,V02为液压缸左右腔室初始体积;ωn为滑阀的固有频率;ξn为滑阀的阻尼比;kv为滑阀阀芯的电流增益;u为滑阀输入信号。
由式(2)可得,阀控缸液压系统模型参数存在着时变性,这将导致许多控制策略在动态控制时存在精度较低的问题(例如非线性反步法控制)。因此,笔者将RLS算法应用于系统模型参数辨识研究中,将RLS辨识获得的参数应用于反步法控制,以期获得更好的系统控制效果。
RLS算法主要利用递推公式对系统模型参数进行在线修正[18]。笔者将式(2)转化为最小二乘矩阵形式表示如下:
Y=Ψθ
(5)
其中:
(6)
(7)
θ=[θ21-θ22-θ23-θ24-θ25θ31-θ32-θ33-θ41θ42θ43]T
(8)
对式(5)进行N次观测,并整理成为:
YN=ΨNθ
(9)
其中:
YN=[Y(1)Y(2) …Y(N)]T
(10)
ΨN=[Ψ(1)Ψ(2) …Ψ(N)]T
(11)
定义残差向量εN,即:
εN=YN-ΨNθ
(12)
最小二乘估计就是使残差量的平方和最小,求解参数估计值,即:
(13)
在式(13)基础上,建立RLS递推公式为:
(14)
根据文献[19],笔者对式(2)定义新的状态变量,表示如下:
(15)
式中:n为液压缸左右腔有效面积比,n=θ22/θ21。
因此,基于参数辨识的阀控非对称缸系统控制模型方程可简化表示如下:
(16)
其中:
(17)
(18)
由于反步法使用李雅普诺夫稳定性理论作为控制器的设计准则,因此,阀控非对称缸系统反步法控制器具有较强的鲁棒性[20]。其设计原理可归结为:将具有参数严反馈形式的高阶非线性系统简化为几个子系统,通过构建子系统的李雅普诺夫函数,实现整个系统的渐近稳定性目的。但在控制律设计过程中,会进行反复求导,系统阶次越高,微分越难求,此时就会产生“微分爆炸”现象。
为此,笔者将动态面技术引入反步法控制器的设计中。
定义子系统x1的误差量为:
e1=x1-x1,d
(19)
式中:x1,d为系统期望位移。
对式(19)求导,即:
(20)
定义李雅普诺夫函数为:
(21)
虚拟控制量为:
(22)
笔者采用一阶低通滤波器对式(22)进行滤波处理,并将误差表示如下:
(23)
式中:τ2为滤波器时间常数;x2f为滤波器输出;r2为滤波器误差。
对式(21)求导,即:
(24)
根据式(19)~式(24)的推导过程,以此类推,整个系统进行李雅普诺夫函数求导,可得:
(25)
式中:ki为大于零的正数。
最终,笔者设计得到的阀控非对称缸系统反步法动态面控制器表示如下:
(26)
半实物仿真是控制算法在调试验证时,通过仿真接口将虚拟的被控对象和部分外部真实硬件设备连接在一起,进行试验[21]。
为此,笔者采用在芯盛美工控机中建立的阀控缸液压系统仿真模型替换真实被控对象,选取3张研华USB-4704数据采集卡作为数据传输接口和真实物理控制器;以Linux系统加PREEMPT_RT实时补丁为软件环境,搭建了半实物仿真实时控制平台。
具体的半实物仿真试验平台如图2所示。
图2 半实物仿真试验平台
半实物仿真平台的具体工作过程为:在芯盛美工控机上调用四阶龙格-库塔算法,对状态空间方程描述的阀控缸液压系统微分方程组进行数值求解,求解结果由编号为2和3的研华USB-4704数据采集卡的模拟量输出端口输出;在实时定时器的控制作用下,物理控制器读取动态求解部分的状态变量,进行非线性实时控制。编号为4的研华USB-4704数据采集卡的模拟输入端口用于读取物理控制器的反馈控制信号,并应用于阀控缸系统的输入信号,完成一次阀控缸液压系统位置闭环控制过程,然后循环上述过程,直至试验结束。
上述物理控制器分别运行了RLS辨识算法和反步法动态面控制算法。
如果在规定的试验时间内,半实物仿真不能准确无误地完成系统微分方程解算、数模信号采集和转换任务,则半实物仿真就不能还原被控系统真实的响应状态。
因此,半实物仿真应具有高实时性的试验环境[22-23]。
笔者在Linux系统中加入PREEMPT_RT内核补丁,采用LA1010逻辑分析仪测试搭建的半实物仿真平台实时性。
试验测试环境为Windows和改造后的Linux操作系统,其中Windows操作系统采用Query Performance Counter高精度定时器,改造后的Linux操作系统采用clock_nanosleep高精度定时器,设定2种定时器的定时周期为1 ms,则方波信号周期为2 ms,观察各自的延时情况。
Windows系统定时器试验结果如图3所示。
图3 Windows系统下定时器测试图
改造后Linux系统定时器试验结果如图4所示。
图4 改造后Linux操作系统下定时器测试图
图3测试情况中,在Windows操作系统环境下,尽管绝大多数方波信号的定时周期都接近2 ms,但最大定时周期高达4.3 ms,最小定时周期为2.8 ms,即Windows发出的生成周期脉冲数据不够稳定可靠,不能用于半实物仿真试验。
图4测试情况中,在改造后的Linux操作系统环境下,生成的方波信号是十分均匀对称的,最大定时周期高达2.05 ms,延时率较Windows系统减少了112.5%,最小定时周期为2 ms,延时率较Windows系统减少了40%。
由此可以证明,打入PREEMPT_RT实时内核补丁的Linux系统是一个实时性操作系统,在该实时操作系统下得到的半实物仿真试验数据满足实时性需求。
4.3.1 参数辨识试验
在对阀控非对称缸系统模型参数辨识试验中,输入信号u=sin(2πt)V,仿真时间为t=4 s,采样周期为1 ms。
阀控非对称缸系统仿真参数如表1所示。
表1 阀控非对称缸系统基本参数
阀控非对称缸系统的主要状态变量通过研华数据采集卡的模拟量输出端口进行输出,输出的模拟量数据如图5所示。
图5 模拟量端口输出数据
根据式(3)、式(7)和图5输出的数据,笔者对式(2)中模型参数进行了辨识试验。
笔者采用RLS算法获得的待辨识参数迭代曲线,如图6所示。
图6 待辨识参数迭代曲线
从图6参数迭代曲线可知:采用RLS算法辨识系统模型参数时,参数迭代曲线迅速收敛至稳定状态。
笔者将待辨识参数收敛值与设定值进行对比,结果如表2所示。
表2 阀控非对称缸系统RLS辨识收敛值
从表2辨识的结果可知:RLS算法具有较高的辨识精度,因此,可以将辨识获得的模型参数应用于反步法动态面控制试验中。
4.3.2 反步法动态面控制试验
在对阀控非对称缸系统RLS反步法动态面控制试验中,期望位移信号为y=0.01sin(2πt)V,仿真时间为t=4 s,采样周期为1 ms;将滤波器时间常数调试为τ2=τ3=τ4=τ5=0.001,反步法控制器的5个控制系数调试为k1=600,k2=400,k3=440,k4=100,k5=100。
同时,为了验证基于RLS反步法动态面控制策略的有效性,笔者将其与常规PID控制进行了比较,PID控制器的3个控制系数分别整定为kp=4 000,ki=0,kd=10。
2种控制策略的期望位移、输出位移如图7所示。
从图7(b)位移跟踪曲线可知:RLS反步法控制的输出位移更加贴近系统预设位移信号,相较于PID控制,前者更能实现频繁往复运动的响应跟踪目的。
2种控制策略的期望位移、输出位移之间的位移误差Δy曲线如图8所示。
图8 RLS反步法控制与PID控制位移误差曲线图
从图8位移误差曲线可知:采用PID控制非对称缸时的最大位移误差为1.4 mm,很难有效地跟踪期望位移,系统响应速度缓慢;而采用基于RLS反步法控制系统时,虽然该控制算法在初始阶段位移跟踪误差略大于PID控制方式,但随着受控系统趋于稳定状态,其控制效果相比于前者有较明显的提高,最大位移误差仅为0.38 mm,控制精度提高了72.9%。
由于非对称缸左右两腔的有效面积不对称,使得液压缸正、反运动换向时,存在液压力突变的现象,尤其是液压缸反向运动切换为正向运动的过程,采用PID控制时非对称缸的最大位移误差为0.94 mm,而采用基于RLS反步法控制系统时,最大位移误差为0.75 mm,控制精度相比于前者提高了20.3%。
综上所述,无论阀控非对称缸系统处于稳定状态还是正、反运动换向的过程,基于RLS反步法控制都比PID控制具有更高的位移跟踪精度,证明基于RLS反步法动态面控制策略的正确性和可行性。
阀控缸液压系统存在建模不准确、动态控制精度较低和控制算法调试困难的问题,为此,笔者提出了一种基于递推最小二乘法(RLS)的反步法动态面控制策略,并采用半实物仿真平台对其控制算法进行了调试验证。
笔者首先推导了阀控缸液压系统非线性状态空间模型,采用RLS对模型参数进行了估计,在反步法理论基础上,引入动态面控制技术,设计了基于RLS反步法动态面控制器;搭建了系统半实物仿真平台,进行了Linux系统实时性验证、阀控非对称缸系统参数辨识、基于RLS反步法动态面控制和PID控制试验。
研究结论如下:
1)在硬件设备逻辑分析仪下,试验测得Linux系统发出的最大、最小周期控制信号的延时率都优于Windows系统,证明改造后的Linux系统可以为半实物仿真平台提供精确的定时控制需求;
2)半实物仿真的试验结果表明,RLS算法能用于实时获得系统模型参数,辨识的结果具有较高的准确性;笔者所设计的基于RLS反步法动态面控制器获得了比PID控制更好的动态运动轨迹,达到了预期的控制效果。
后续研究中,笔者将该控制算法移植到真实设备中,进一步对真实的阀控缸液压系统设备进行控制,探讨这一控制算法的实际应用性。