Bang-bang控制(普通滑模)#
uBB=−K,sgn(s)={−K +Ks>0(全力反向输出,最大负向力矩)s<0(全力正向输出,最大正向力矩)
Bang-Bang 控制是最原始的开关控制形式。因此有明显的高频抖振。于是有两种改进方法:滞环控制和SMC。
滞环控制#
将传统的 Bang-bang控制引入滞环宽度 2Δ 后,控制量分成两种状态(设误差 e = r - y):
uhys={Umax Umine>+Δ(误差偏大时,全力正向输出)e<−Δ(误差偏小时,全力反向输出)
而在−Δ≤e≤+Δ区间内,控制量保持上一次的输出状态不变
滞环控制本质上是用一个“死区”宽度 2Δ 把纯符号函数控制变得不再那么敏感。在滞环带(-Δ 到 +Δ)内部,系统靠惯性继续运行,从而减少开关频率。
Δ 的设置参考噪声水平和稳态误差带:Δ 越大,开关次数越少,系统越平稳,但跟踪精度会下降;Δ 取得越小,控制越精准,但开关频率会显著升高,容易产生高频抖振甚至烧毁功率器件。
滞环控制适合对响应速度要求高、对精确平稳性要求不高的场合。
SMC(带边界层滑模)#
将传统的uPD=−(Kpe+Kde˙)控制引入边界层 Φ 后,控制分成两部分(设滑模面 s=ce+e˙):
uSMC=−Ksat(s/Φ)={−Ksgn(s)−(ΦKce+ΦKe˙)∣s∣>Φ(外部:非线性满载输出)∣s∣≤Φ(内部:超大增益 PD 控制)
可以看出,SMC控制相当于用最大控制量K截断了∣s∣>Φ,防止偏移过大时控制量过大烧毁电机,在s=Φ时上下两个分段函数值相同,函数还是连续的。K的设置参考 K>|外部扰动| + |模型不确定性|,因此SMC最后调好后会很“硬”。
调参时,很多工程中会先按扰动上界设一个较大的 K,再通过 Φ 来“软化”边界层内的行为。Φ 越大抖振越小,但进入边界层后控制变软,抗扰动能力下降,稳态误差增大,Φ 越小控制越硬,跟踪越精准,但抖振会重新变严重(接近普通滑模)。c 越大,滑模面越陡,系统响应越快,但对噪声越敏感。
当Φ=0时,退化为Bangbang控制。
由于是PD控制没有I,如果系统存在持续的外部恒定扰动,在边界层内就会产生稳态误差。系统最终会在−Φ<s′=s<Φ 的地方平衡。于是 ISMC 加入积分项:−(ΦKce+ΦKe˙+ΦKKi∫edt) 进行改进。2
除此之外SMC还有4个针对问题的改进:
-
TSMC终端滑模控制#
滑模面 s=ce+e˙=0 是一阶线性微分方程 e˙=−ce, e 以指数形式收敛到 0 ,越接近 0 速度越慢。引入非线性的分数次幂s=e˙+βeq/p来改变滑模面的形状, 使系统在接近原点时,导数项急剧增大。
-
STA超螺旋算法#
边界层(饱和函数法)虽然缓解了抖振,但它是以牺牲一定的抗扰动精度为代价的(变软了)。把分为两部分:
⎩⎨⎧u=u1+u2u1=−k1∣s∣ sgn(s)u˙2=−k2 sgn(s)
积分项 u2 把高频的符号函数 sgn(s) 给“积分”了一次,输出变成了一个连续的折线信号;而 u1 项包含 ∣s∣,在 s→0 时增益趋于无穷,保证了极强的鲁棒性。
结果: 输出的控制量 u 是连续的! 它在理论上彻底消除了(或者说极大平滑了)抖振,同时依然保持了滑模对匹配扰动的绝对鲁棒性。
-
ASMC自适应滑模控制#
系统扰动时大时小,K一直太大浪费能量,把K^˙=γ∣s∣变成动态的,当系统偏离滑模面(∣s∣ 变大),干扰变大就把增益 K 调高。
-
GSMC全局滑模控制#
滑模控制只有在状态到达滑模面(s=0)后,才具有抗干扰能力。从初始状态向滑模面运动的这段时间(到达阶段),系统容易受扰动影响。设计滑模面时加入一个随时间衰减的初始误差项s(t)=ce(t)+e˙(t)−(ce(0)+e˙(0))e−αt. 当 t=0 时,s(0)=0。系统一开始就在滑模面,后面新加的项随时间衰减。