基于Smith预估器补偿系统控制延迟和传感器延迟(附Matlab实现)

前言

实际设计控制器时,不可避免会有延迟,包括控制延迟和传感器延迟,当延迟比较大时,可能会造成控制器失稳。因此在控制器设计时,需要考虑延迟的影响。这个问题在网络控制系统(Networked Control system)尤为普遍,相应的解决方法也有很多。文章采用一个简单经典的解决办法——Smith预估补偿,先介绍原理,再在Simulink中实现

Smith 预估补偿原理

一个典型的控制环节如图1所示,
请添加图片描述
图1: 典型控制系统

系统延迟包括控制延迟 τ c a \tau^{ca} τca和传感器延迟KaTeX parse error: Undefined control sequence: \rau at position 1: \̲r̲a̲u̲^{sc}闭环传递函数为:
Y ( s ) R ( s ) = G c ( s ) G p ( s ) e − τ c a s 1 + G c ( s ) G p ( s ) e − τ s c s e − τ c a s \frac{Y(s)}{R(s)}=\frac{G_{c}(s) G_{p}(s) \mathrm{e}^{-\tau^{c a_{s}}}}{1+G_{c}(s) G_{p}(s) \mathrm{e}^{-\tau^{sc}s} \mathrm{e}^{-\tau^{\mathrm{ca} }s}} R(s)Y(s)=1+Gc(s)Gp(s)eτscseτcasGc(s)Gp(s)eτcas
这里执行器以一阶系统为例,其传递函数为:
G p ( s ) = 1 s + 1 G_p(s)=\frac{1}{s+1} Gp(s)=s+11
采用PID算法,器传递函数为:
G c ( s ) = K p ( ( K d K p ) s 2 + s + ( K i K p ) ) s = K p ( T d s + 1 + 1 T i s ) G_{c}(s)=\frac{K_{\mathrm{p}}\left(\left(\frac{K_{\mathrm{d}}}{K_{\mathrm{p}}}\right) s^{2}+s+\left(\frac{K_{\mathrm{i}}}{K_{\mathrm{p}}}\right)\right)}{s}=K_{\mathrm{p}}\left(T_{\mathrm{d}} s+1+\frac{1}{T_{\mathrm{i}} s}\right) Gc(s)=sKp((KpKd)s2+s+(KpKi))=Kp(Tds+1+Tis1)
其中, K p , T d , T i K_p,T_d,T_i Kp,Td,Ti分别为比例增益,微分时间常数和积分时间常数。选取控制器参数为 K p = 17.2 , T d = 0 ; T i = 0.2 K_p=17.2,T_d=0;T_i=0.2 Kp=17.2,Td=0;Ti=0.2

在系统中引入Smith估计器减少延迟的影响,控制框图如图2所示:
图2
图2:Smith predictor结构

图中 τ p \tau_p τp为系统总延迟,有 τ p = τ c a + τ s c \tau_p=\tau^{ca}+\tau^{sc} τp=τca+τsc G p ′ ( s ) e − τ p ′ s G_{p}^{\prime}(s) e^{-\tau_{p}^{\prime} s} Gp(s)eτps为引入的预估补偿传递函数。该结构的系统闭环传递函数为:
Y ( s ) R ( s ) = G c ( s ) G p ( s ) e − τ c a s 1 + G c ( s ) G p ′ ( s ) + G c ( s ) ( G p ( s ) e − τ p s − G p ′ ( s ) e − τ p ′ s ) \frac{Y(s)}{R(s)}=\frac{G_{c}(s) G_{p}(s) e^{-\tau^{ca} s}}{1+G_{c}(s) G_{p}^{\prime}(s)+G_{c}(s)\left(G_{p}(s) e^{-\tau_{p} s}-G_{p}^{\prime}(s) e^{-\tau_{p}^{\prime} s}\right)} R(s)Y(s)=1+Gc(s)Gp(s)+Gc(s)(Gp(s)eτpsGp(s)eτps)Gc(s)Gp(s)eτcas
当不存在模型失配,即 G p ′ ( s ) = G p ( s ) , τ p ′ = τ p G_p^{\prime}(s)=G_{p}(s),\tau_{p}^{\prime}=\tau_{p} Gp(s)=Gp(s),τp=τp,系统闭环传递函数简化为:
Y ( s ) R ( s ) = G c ( s ) G p ( s ) 1 + G c ( s ) G p ( s ) e − τ c a s \frac{Y(s)}{R(s)}=\frac{G_{c}(s) G_{p}(s)}{1+G_{c}(s) G_{p}(s)} e^{-\tau^{ca} s} R(s)Y(s)=1+Gc(s)Gp(s)Gc(s)Gp(s)eτcas

观察可以发现,此时系统与没有延迟的系统相比,传递函数只是多乘上了 e − τ c a s e^{-\tau^{ca} s} eτcas。也就相当于闭环回路中不含滞后项,滞后环节也不会影响系统的特征方程,此时系统简化图如图3所示。也就是说经过Smith预测补偿后的系统与无延迟的系统相比,只是将控制过程推迟了时间 e − τ c a s e^{-\tau^{ca} s} eτcas
在这里插入图片描述
图3: 简化后系统模型

Matlab实现

在Simulink中把加smith补偿和没加的都搭出来方便对比。由于比较简单,就不过多赘述,直接上图。
在这里插入图片描述
图4:Simulink实现

设置控制延时和传感器延时均为0.05s,仿真结果如图5所示。可以看到未加smith补偿的控制系统(左图)已经失稳,而加上smith补偿的控制系统的响应时稳定,只是有了0.05s的滞后。
在这里插入图片描述
图5:两个模型节约二响应(左图:未加smith补偿,右图:添加smith补偿)

总结

由于上述的Smith 预估补偿器是建立在被控对象和网络延迟的精确数学模型之上,而在实际应用中,延迟有可能是随机的,并且Smith 预估模型可能存在扰动,使其不能完全和被控对象模型相匹配,因此这个方法的鲁棒性不强。改进方案也有很多,大致可以分为结构改进和参数整定两类,具体可以参考我下最后列出来的论文。

另外,除了Smith补偿控制,也有很多其他的方法,比如随机最优控制方法,增广状态确定性离散事件模型方法,缓冲队列方法等等。

参考文献

[1]张海涛,李珍.基于Smith预估补偿的网络控制系统仿真研究[J].计算机工程与应用,2012,48(08):243-245.
[1]李珍. 网络化控制系统的延迟补偿研究[D].河南科技大学,2011.

  • 23
    点赞
  • 149
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
基于Smith预估的PID控制是一种常用的控制算法,它结合了Proportional(比例)、Integral(积分)和Derivative(导数)三个控制因素,以提高系统的稳定性和响应速度。 Smith预估可以在控制系统中引入预估,通过对过程变量的预估补偿传输延迟和滞后。在PID控制中,使用Smith预估可以有效地解决传输延迟对系统稳定性和控制质量的影响。 Smith预估的核心思想是根据过程变量的历史数据进行预估,然后将预估值作为参考量进行PID控制。具体过程如下:首先,根据过程变量的历史数据利用适当的方法建立传输延迟的数学模型;然后,在传输延迟的基础上,通过预估计算出预估值,并将其与设定值进行比较得到误差;最后,将误差输入到PID控制器中,根据控制算法计算出相应的控制信号,以实现对系统的调节。 基于Smith预估的PID控制具有以下优点: 1. 提高系统的稳定性:预估可以补偿传输延迟和滞后,从而减小系统的超调和振荡,提高系统稳定性。 2. 加快系统的响应速度:预估可以及时地根据过程变量的历史数据预估未来的状态,从而提前采取控制措施,加快系统的响应速度。 3. 减小对过程变量采样频率的要求:预估可以通过利用过程变量的历史数据对未来状态进行预估,无需对过程变量进行频繁的采样,减小了采样频率的要求。 总之,基于Smith预估的PID控制是一种优化的控制算法,可以有效地解决传输延迟对控制系统稳定性和响应速度的影响,实现对系统的精确控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值