摘要
本篇博客用于记录个人学习相关,内容涉及积分滑模及其抖振抑制。阅读该博客需具有基本的线性滑模及一阶常微分方程相关知识。
引言
积分滑模是在基本线性滑模基础上的一个新形式,目前能找到最早的记录是由滑模创始人Utkin在1996年的CDC会议论文[1]中提出,该论文所阐述积分滑模相对于基本的线性滑模有以下两个改进,一是初始时刻状态便在滑模面上,省去了基本线性滑模中状态趋向于滑模面的这一个过程,保证了全过程的鲁棒性,二是积分滑模可以削减抖振。
问题
对于一个理想的无扰动及不确定性的非线性自治系统(本文均考虑自治系统)
x˙=f(x)+B(x)u\begin{equation} \dot x=f(x)+B(x)u
\end{equation}x˙=f(x)+B(x)u其中f(x)∈Rnf(x)\in \R^nf(x)∈Rn,B(x)∈Rn×nB(x)\in \R^{n \times n}B(x)∈Rn×n为非奇异矩阵,且都是已知的,我们可以找到一个u=u0∈Rnu=u_0 \in \R^nu=u0∈Rn,使得该系统稳定,比如:u0=−B−1(f(x)+x)u_0=-B^{-1}(f(x)+x)u0=−B−1(f(x)+x),则有
x˙=−x\begin{equation}\dot x=-x \end{equation}x˙=−x此时通过Lyapunov定理或直接求解常微分方程即可得到该系统是渐近稳定的。
然而实际系统中扰动和不确定性是不可避免的,其一般的系统方程表示为:
x˙=f(x)+B(x)u+h(x,t)\begin{equation}\dot x=f(x)+B(x)u+h(x,t)\end{equation}x˙=f(x)+B(x)u+h(x,t) 其中h(x,t)为匹配扰动(本文只考虑匹配扰动),也就是说该扰动在控制矩阵张成的子空间中:h(x,t)∈span{B(x)}h(x,t)\in span \{B(x)\}h(x,t)∈span{B(x)},或者说能表示为:h(x,t)=B(x)uhh(x,t)=B(x)u_hh(x,t)=B(x)uh。
对于含扰动及不确定性的系统,显然上述的u0u_0u0不能使其稳定。目前存在很多相关的控制器能使其稳定,本文考虑使用积分滑模控制器。
假设一:扰动有上界,即∣∣uh∣∣<D||u_h||<D∣∣uh∣∣<D,D为一大于零的常数D为一大于零的常数D为一大于零的常数。
积分滑模控制器
积分滑模的滑模函数设计如下:s=s0(x)+z,z˙=−∂s0∂x(f(x)+B(x)u0(x)),z(0)=−s0(x(0))\begin{align}s=&s_0(x)+z,\notag \\
\dot z=&-\frac{\partial s_0}{\partial x}\left(f(x)+B(x) u_0(x)\right),\quad z(0)=-s_0(x(0))
\end{align}
s=z˙=s0(x)+z,−∂x∂s0(f(x)+B(x)u0(x)),z(0)=−s0(x(0))
式(4)的等价形式:s=s0(x)−∫0t∂s0∂x(f(x)+B(x)u0(x))−s0(x(0))\begin{equation}s=s_0(x)-\int_0^t{\frac{\partial s_0}{\partial x}\left(f(x)+B(x) u_0(x)\right)}-s_0(x(0))\end{equation}s=s0(x)−∫0t∂x∂s0(f(x)+B(x)u0(x))−s0(x(0))
其中s0(x)s_0(x)s0(x)可设计为,s0(x)=B−1xs_0(x)=B^{-1}xs0(x)=B−1x,∂s0∂x=B−1\frac {\partial {s_0}}{\partial {x}}=B^{-1}∂x∂s0=B−1。
显然有s(0)=0。
设计u=u0+uI∈Rnu=u_0+u_I \in \R^nu=u0+uI∈Rn,其中uI=−(D+η)sign(s)u_{I}=-(D+\eta)\rm \bold {sign}(s)uI=−(D+η)sign(s),sign(s)=[sign(s1),sign(s2),…sign(sn)]T\rm {\bold {sign(s)}}=[\rm {sign(s_1), sign(s_2), \ldots sign(s_n)}]^Tsign(s)=[sign(s1),sign(s2),…sign(sn)]T,η\etaη为一大于零的常数。
稳定性证明
设计候选Lyapunov函数为:V=12sTsV=\frac{1}{2}s^TsV=21sTs,其对时间导数为:
V˙=sTs˙=sT(s˙0+z˙)=sTB−1(f(x)+B(x)(u0+uI+uh)−f(x)−B(x)u0)=sT(uh−(D+η)sign(s))<−ηsTsign(s)<0\begin{align}
\dot V=&s^T \dot s \notag \\
=&s^T(\dot s_0+ \dot z) \notag \\
=&s^TB^{-1}\left(f(x)+B(x)(u_0+u_I+u_h)-f(x)-B(x)u_0\right) \notag \\
=&s^T(u_h-(D+\eta)\rm{\bold {sign}}(s)) \notag \\
<&-\eta s^T \rm{\bold {sign}}(s)<0
\end{align}V˙====<sTs˙sT(s˙0+z˙)sTB−1(f(x)+B(x)(u0+uI+uh)−f(x)−B(x)u0)sT(uh−(D+η)sign(s))−ηsTsign(s)<0
因此s是渐近稳定的,满足可达性要求。
对于s=0s=0s=0有,s˙=0\dot s=0s˙=0,对式(4)求导有
x˙=f(x)+B(x)u0
\begin{equation} \dot x=f(x)+B(x)u_0 \end{equation}
x˙=f(x)+B(x)u0
根据式(2),系统是渐近稳定的。
抖振抑制
抖振抑制的方法比较多,像饱和函数边界层、观测器、以及这里提到的积分滑模。使用饱和函数构建边界层会使得滑模变量只能收敛到边界层内,而不是真的等于0,损失了鲁棒性及精度,观测器一般就是构造扰动观测器去估计扰动并进行补偿,进而切换项只需抵抗估计误差即可,相对来说比较有效果。
Utkin在该论文中虽然说的是积分滑模抑制抖振,但实际上是用的一阶滤波器做等效控制的方法,一阶滤波器设计为:
μu˙eq+ueq=uI\begin{equation}\mu \dot u_{eq}+u_{eq}=u_I\end{equation}μu˙eq+ueq=uI然后直接设计u=u0+uequ=u_0+u_{eq}u=u0+ueq即可,此时滑模面设计为s=s0(x)−∫0t∂s0∂x(f(x)+B(x)(u−uI))−s0(x(0))\begin{equation}s=s_0(x)-\int_0^t{\frac{\partial s_0}{\partial x}\left(f(x)+B(x)(u-u_I)\right)}-s_0(x(0))\end{equation}s=s0(x)−∫0t∂x∂s0(f(x)+B(x)(u−uI))−s0(x(0))为啥要改成这样,其实还是稳定性证明的需要,设计候选Lyapunov函数V=12sTsV=\frac{1}{2}s^TsV=21sTs,求导有:
V˙=sTs˙=sT(s˙0+z˙)=sTB−1(f(x)+B(x)(u0+ueq+uh)−f(x)−B(x)(u0+ueq−uI))=sT(uh−(D+η)sign(s))<−ηsTsign(s)<0\begin{align}
\dot V=&s^T \dot s \notag \\
=&s^T(\dot s_0+ \dot z) \notag \\
=&s^TB^{-1}\left(f(x)+B(x)(u_0+u_{eq}+u_h)-f(x)-B(x)(u_0+u_{eq}-u_I)\right) \notag \\
=&s^T(u_h-(D+\eta)\rm{\bold {sign}}(s)) \notag \\
<&-\eta s^T \rm{\bold {sign}}(s)<0
\end{align}V˙====<sTs˙sT(s˙0+z˙)sTB−1(f(x)+B(x)(u0+ueq+uh)−f(x)−B(x)(u0+ueq−uI))sT(uh−(D+η)sign(s))−ηsTsign(s)<0
系统渐近稳定。
讨论
积分滑模相对于基本的线性滑模有两个优点,一个是初始时刻状态便在滑模面上,从而保证了整个过程的鲁棒性;另一个就是抑制抖振,虽然积分滑模不直接用于设计无抖振的控制器,而是通过一阶低通滤波器设计的,但是通过积分滑模可以证明该控制器的稳定性。
举个简单例子,对于系统x˙1=x2x˙2=u+d\begin{align}\dot x_1=&x_2 \notag \\
\dot x_2=&u+d
\end{align}x˙1=x˙2=x2u+d如果是使用线性滑模,设计滑模函数s=x1+x2s=x_1+x_2s=x1+x2,u=−x2+usmcu=-x_2+u_{smc}u=−x2+usmc,usmc=−(D+η)sign(s)u_{smc}=-(D+\eta)\rm sign(s)usmc=−(D+η)sign(s)。此时能使得系统稳定,但是抖振比较大。
如果直接使用一阶滤波器(8),那么构造候选Lyapunov函数V=12s2V=\frac{1}{2}s^2V=21s2,求导:
V˙=s(x2+u+d)=s(ueq+d)\begin{align}
\dot V=&s(x_2+u+d)\notag \\
=&s(u_{eq}+d)
\end{align}V˙==s(x2+u+d)s(ueq+d)会发现此时是无法证明V˙\dot VV˙小于零的。
总结
积分滑模通过使用一阶滤波器抑制抖振,同时初始时刻状态在滑模面上,保证了全过程的鲁棒性,具体可参考[1]。一阶滤波器后的uequ_{eq}ueq和uIu_IuI其实是有误差的,但是误差有界,比较小,可参考[2]的第二十三和二十四页,大致证明如下:



参考文献
[1] V. I. Utkin and J. Shi, “Integral sliding mode in systems operating under uncertainty conditions,” in Proc. 35th IEEE Conf. Decis. Control, vol. 4, Kobe, Japan, Dec. 1996, pp. 4591–4596.
[2]V. Utkin, Sliding Modes inControl and Optimization (Ser.Communication and Control Engineering). Berlin, Germany: Springer-Verlag, 1992.
9955





