利用李雅普诺夫稳定性理论设计模型参考自适应系统(2.0)

上一篇介绍了利用李雅普诺夫稳定性理论设计模型参考自适应系统,通过在被控对象前面添加一个可调增益k_c,然后利用李雅普诺夫稳定性理论设计增益k_c的自适应率\dot{k_c},使得被控对象输出与参考模型输出一致。本文将介绍在系统结构中引入前馈和反馈的结构,然后利用李雅普诺夫稳定性理论设计MRACS。

1、系统介绍

根据被控对象和参考模型的表示形式不同,可以分为利用系统状态变量设计自适应率利用控制对象的输入输出设计自适应率状态变量系统框图如下(其实,不管被控对象和参考模型是状态变量形式还是微分方程或者传递函数形式,其本质都是一样的。):

这里以状态变量形式的自适应系统结构框图来解释一下:为什么利用李雅普诺夫稳定性理论设计MRACS,系统结构框图是在被控对象前面增加一个前馈和反馈

因为被控对象参数A_p,B_p是不能直接调整的,要想改变被控对象的动态特性,只能引入前馈和反馈,其中前馈K影响输入矩阵B_p,反馈F影响系统矩阵A_p(至于为什么,见第二节自适应率设计)。

2、自适应率设计

2.1 状态方程形式

2.1.1 理论推导

自适应系统结构框图如上,不管系统引入什么框架,记住核心目标就是,使得广义误差e (这里是广义状态误差)为0

被控对象的输入u

u=Kr+F x_p

被控对象状态方程:

 \dot{x_p}=A_px_p+B_p u \\ =A_px_p+B_p (Kr+Fx_p)\\ =(A_p+B_pF)x_p+B_pKr

从这里可以看出,引入反馈F影响系统矩阵A_p,引入前馈K影响输入矩阵B_p(这里的A_pB_p和原来的不一样)。

广义状态误差:

e=x_m-x_p

求导可得, 

\dot{e}=\dot{x}_m-\dot{x}_p\\ =A_m x_m+B_m r - \left \{ (A_p+B_p F)x_p+B_p K r \right \}\\ =A_m \left \{ x_m-x_p \right \}+\left \{ A_m-A_p-B_p F \right \} x_p+\left \{ B_m-B_p K \right \}r\\ =A_m e+\left \{ A_m-A_p-B_p F \right \} x_p+\left \{ B_m-B_p K \right \}r

在理想情况下,广义状态误差e满足\dot{e}=A_m e,只有满足这样的线性模型,根据李雅普诺夫稳定性理论才能得到广义状态误差在原点渐近稳定。

设前馈K和反馈F的理想值分别为\bar{K},\bar{F},使得:

A_p+B_p \bar{F}=A_m\\ B_p\bar{K}=B_m 

可得,

A_m-A_p=B_p\bar{F}\\ B_p=B_m\bar{K}^{-1} 

带入误差导数方程可得,

\dot{e}=A_m e+\left \{ A_m-A_p-B_p F \right \} x_p+\left \{ B_m-B_p K \right \}r\\ =A_me + B_p\left ( \bar{F}-F \right ) x_p+B_p\left(\bar{K}-K \right )r\\ =A_me + B_m\bar{K}^{-1}\left ( \bar{F}-F \right ) x_p+B_m\bar{K}^{-1}\left(\bar{K}-K \right )r\\ =A_me + B_m\bar{K}^{-1}\Phi x_p+B_m\bar{K}^{-1}\Psi r

其中,\Phi =\bar{F}-F,\Psi =\bar{K}-K,称为可调参数误差矩阵。

构造李雅普诺夫函数:

这里和利用李雅普诺夫稳定性理论设计模型参考自适应系统选取准则一样,想要广义状态误差e趋于0的同时,还希望反馈矩阵F和前馈矩阵K与它们的理想值越接近越好,即\Phi, \Psi趋于0

那么可以构建李雅普诺夫函数:

V=\frac{1}{2}\left[ e^TPe + tr\left( \Phi ^T \Gamma _1^{-1} \Phi + \Psi ^T \Gamma _2^{-1} \Psi \right ) \right ]

其中,P,\Gamma _1, \Gamma _2 为对称正定矩阵。

求导可得,

\dot{V}=\frac{1}{2}\left[ \dot{e}Pe + e^TP\dot{e} +tr\left(\dot{ \Phi} ^T \Gamma _1^{-1} \Phi + \Phi ^T \Gamma _1^{-1} \dot{ \Phi} + \dot{\Psi} ^T \Gamma _2^{-1} \Psi + \Psi ^T \Gamma _2^{-1} \dot{\Psi} \right ) \right ]

\dot{e}=A_me + B_m\bar{K}^{-1}\Phi x_p+B_m\bar{K}^{-1}\Psi r

先计算前两项,

\frac{1}{2}\left[\dot{e}^TPe + e^TP\dot{e} \right ]=\frac{1}{2}\left[ \left( A_me + B_m\bar{K}^{-1}\Phi x_p+B_m\bar{K}^{-1}\Psi r \right )^T Pe + e^TP \left( A_me + B_m\bar{K}^{-1}\Phi x_p+B_m\bar{K}^{-1}\Psi r \right ) \right ]\\ =\frac{1}{2}e^T\left(PA_m+A_m^T P \right )e+e^TPB_m\bar{K}^{-1}\Phi x_p + e^TPB_m\bar{K}^{-1}\Psi r

根据迹的性质,

trA=trA^T\\ x^TAx=tr(xx^TA)

 可得,

tr(\dot{ \Phi} ^T \Gamma _1^{-1} \Phi )=tr( \Phi ^T \Gamma _1^{-1} \dot{ \Phi})\\ tr(\dot{\Psi} ^T \Gamma _2^{-1} \Psi )=tr( \Psi ^T \Gamma _2^{-1} \dot{ \Psi})\\ e^TPB_m\bar{K}^{-1}\Phi x_p = tr(x_p e^TPB_m\bar{K}^{-1}\Phi)\\ e^TPB_m\bar{K}^{-1}\Psi r = tr(r e^TPB_m\bar{K}^{-1}\Psi)

带入\dot{V}可得,

\dot{V}=\frac{1}{2}\left[ \dot{e}Pe + e^TP\dot{e} +tr\left(\dot{ \Phi} ^T \Gamma _1^{-1} \Phi + \Phi ^T \Gamma _1^{-1} \dot{ \Phi} + \dot{\Psi} ^T \Gamma _2^{-1} \Psi + \Psi ^T \Gamma _2^{-1} \dot{\Psi} \right ) \right ]\\ =\frac{1}{2}e^T\left(PA_m+A_m^T P \right )e+e^TPB_m\bar{K}^{-1}\Phi x_p + e^TPB_m\bar{K}^{-1}\Psi r + tr\left(\dot{ \Phi} ^T \Gamma _1^{-1} \Phi + \Phi ^T \Gamma _1^{-1} \dot{ \Phi} + \dot{\Psi} ^T \Gamma _2^{-1} \Psi + \Psi ^T \Gamma _2^{-1} \dot{\Psi} \right )\\ =\frac{1}{2}e^T\left(PA_m+A_m^T P \right )e + tr(x_p e^TPB_m\bar{K}^{-1}\Phi) + tr(r e^TPB_m\bar{K}^{-1}\Psi) + \frac{1}{2}tr(2 \dot{ \Phi} ^T \Gamma _1^{-1} \Phi + 2\dot{ \Psi} ^T \Gamma _1^{-1} \Psi )\\ =\frac{1}{2}e^T\left(PA_m+A_m^T P \right )e + tr(\dot{ \Phi} ^T \Gamma _1^{-1} \Phi + x_p e^TPB_m\bar{K}^{-1}\Phi) + tr(\dot{\Psi} ^T \Gamma _2^{-1} \Psi + r e^TPB_m\bar{K}^{-1}\Psi)

 要使\dot{V}<0,令

PA_m+A_m^TP=-Q\\ \dot{ \Phi} ^T \Gamma _1^{-1} \Phi + x_p e^TPB_m\bar{K}^{-1}\Phi = 0\\ \dot{\Psi} ^T \Gamma _2^{-1} \Psi + r e^TPB_m\bar{K}^{-1}\Psi =0

根据第一个式子可以求得矩阵P,再判断其是否正定;

根据第二个式子可得,

 \dot{ \Phi} = - \left ( \Gamma _1 x_p e^TPB_m\bar{K}^{-1} \right ) ^T =-\Gamma _1 \left(B_m\bar{K}^{-1} \right )^T P e x_p^T

根据第三个式子可得,

 \dot{ \Psi} = - \left ( \Gamma _2 r e^TPB_m\bar{K}^{-1} \right ) ^T =-\Gamma _2 \left(B_m\bar{K}^{-1} \right )^T P e r^T

\Phi =\bar{F}-F,\Psi =\bar{K}-K,可得

 \dot \Phi =-\dot F,\dot \Psi =-\dot K

可得,

 \dot{F}=\Gamma _1 \left(B_m\bar{K}^{-1} \right )^T P e x_p^T\\ \dot{K}=\Gamma _2 \left(B_m\bar{K}^{-1} \right )^T P e r^T

最后F(t),K(t)变化规律为

F(t)=\int_{0}^{t} \Gamma _1 \left(B_m\bar{K}^{-1} \right )^T P e(\tau) x_p^T(\tau)d\tau + F(0)\\ K(t)=\int_{0}^{t} \Gamma _2 \left(B_m\bar{K}^{-1} \right )^T P e(\tau) r^T(\tau)d\tau + K(0)

2.1.2 例题

引入前馈增益矩阵K和反馈增益矩阵F可得被控对象的输入u

u=Kr+F x_p

被控对象状态方程:

 \dot{x_p}=A_px_p+B_p u \\ =A_px_p+B_p (Kr+Fx_p)\\ =(A_p+B_pF)x_p+B_pKr

由等式

B_p=B_m\bar{K}^{-1}

 可得,

B_m\bar{K}^{-1}=B_p=\begin{bmatrix} 2\\ 4 \end{bmatrix}

 设P=\begin{bmatrix} p_{11} &p_{12} \\ p_{21}& p_{22} \end{bmatrix},p_{12}=p_{21},由

PA_m+A_m^TP=-Q

可得,

\begin{bmatrix} p_{11} &p_{12} \\ p_{21}& p_{22} \end{bmatrix} \begin{bmatrix} 0 &1 \\ -10 & -5 \end{bmatrix}+\begin{bmatrix} 0 &1 \\ -10 & -5 \end{bmatrix}^T\begin{bmatrix} p_{11} &p_{12} \\ p_{21}& p_{22} \end{bmatrix}=-\begin{bmatrix}1 &0 \\ 0&1 \end{bmatrix} 

解得,

P=\begin{bmatrix} 1.3500 &0.0500 \\ 0.0500 & 0.1100 \end{bmatrix} 

可得P正定,系统渐近稳定。 

由题可得,系统输入r维数为1,可设\Gamma _1 =\lambda_1,\Gamma _2 =\lambda_2

根据公式

 F(t)=\int_{0}^{t} \Gamma _1 \left(B_m\bar{K}^{-1} \right )^T P e(\tau) x_p^T(\tau)d\tau + F(0)\\ K(t)=\int_{0}^{t} \Gamma _2 \left(B_m\bar{K}^{-1} \right )^T P e(\tau) r^T(\tau)d\tau + K(0)

可得,

 F(t)=\lambda_1\int_{0}^{t} \begin{bmatrix} 2\\4 \end{bmatrix} ^T\begin{bmatrix} 1.3500 &0.0500 \\ 0.0500 & 0.1100 \end{bmatrix} \begin{bmatrix} e_1 \\ e_2 \end{bmatrix} \begin{bmatrix} x_{p1} & x_{p2} \end{bmatrix} d\tau + F(0)\\ = \lambda_1\int_{0}^{t} \begin{bmatrix} (2.9e_1+0.54e_2)x_{p1} & (2.9e_1+0.54e_2)x_{p2} \end{bmatrix}d\tau + F(0)

K(t)=\lambda_2\int_{0}^{t} \begin{bmatrix} 2\\4 \end{bmatrix} ^T\begin{bmatrix} 1.3500 &0.0500 \\ 0.0500 & 0.1100 \end{bmatrix} \begin{bmatrix} e_1 \\ e_2 \end{bmatrix} rd\tau + K(0)\\ =\lambda_2\int_{0}^{t}(2.9e_1+0.54e_2)rd\tau + K(0) 

 其中,e_1=x_{m1}-x_{p1},e_2=x_{m2}-x_{p2}

搭建simulink仿真模型为

\lambda_1=1,\lambda_2=1时,看一下跟踪效果

 可以看到箭头所指的两条误差曲线并没有收敛到0。

此时,对应的输入为

下面将探讨是哪一个因素影响误差: 

我们来调整一下\lambda_1=10,\lambda_2=10

 可以看到误差最后收敛的数值没有改变。

可以看到,改变\lambda_1,\lambda_2并不能使误差收敛到0,反而误差收敛到具体的数值与其无关,这两个参数只会影响到系统的输入,即影响系统收敛的速度。

我们从前馈矩阵和反馈矩阵的自适应率来看:

F(t)=\int_{0}^{t} \Gamma _1 \left(B_m\bar{K}^{-1} \right )^T P e(\tau) x_p^T(\tau)d\tau + F(0)\\ K(t)=\int_{0}^{t} \Gamma _2 \left(B_m\bar{K}^{-1} \right )^T P e(\tau) r^T(\tau)d\tau + K(0)

除了\Gamma _1,\Gamma _2两个参数外(B_m\bar{K}^{-1}已经是固定的),还应该注意到矩阵P和初值。

(1)我们前面在求解时,是令Q=E,然后求解得到P

在该题中,即对应到数字2.9和0.54

F(t)= \lambda_1\int_{0}^{t} \begin{bmatrix} (2.9e_1+0.54e_2)x_{p1} & (2.9e_1+0.54e_2)x_{p2} \end{bmatrix}d\tau + F(0)\\ K(t)=\lambda_2\int_{0}^{t}(2.9e_1+0.54e_2)rd\tau + K(0)

这里不再重新取Q的值,求P,然后重新计算一遍,这里直接更改两个数字,为了方便起见,令两个数字分别为m_1,m_2

F(t)= \lambda_1\int_{0}^{t} \begin{bmatrix} (m_1e_1+m_2e_2)x_{p1} & (m_1e_1+m_2e_2)x_{p2} \end{bmatrix}d\tau + F(0)\\ K(t)=\lambda_2\int_{0}^{t}(m_1e_1+m_2e_2)rd\tau + K(0)

 当m_1=2.9,m_2=0.1时,

可以看到误差e_1已经趋近于0, 误差e_2也有所减小。

m_1=2.9,m_2=0.8时,

 可以看到两个误差反而增大了。可以得到,合理的选择矩阵P可以使系统误差稳态值变小

(2)在m_1=2.9,m_2=0.1前提下,改变初值为10,如图

 误差波形为:

改变初值为K_0=0,F_0=10

 发现,在这个自适应率调节下,初值K(0),F(0)不影响误差的收敛值,但会影响到系统最初的输入u

总结:从上可以看出,基于李雅普诺夫稳定性设计的MRACS收敛速度与权重\Gamma_1,\Gamma_2有关,但最终误差收敛到多少与其无关。其次,矩阵P影响到误差最终的稳态值,要想误差趋于0,需要合理选择矩阵Q

2.2 输入输出形式

2.2.1 理论推导

这里以微分方程为例(但面对传递函数时,可以将传递函数转为微分方程),设被控对象于与参考模型的微分方程分别为

y_p^{(n)}+\sum_{i=0}^{n-1}\alpha_{pi}y_p^{(i)}=r^{(m)}+\sum_{j=0}^{m-1}b_{pj}r^{(j)}\\y_m^{(n)}+\sum_{i=0}^{n-1}a_{mi} y_m^{(i)}=r^{(m)}+\sum_{j=0}^{m-1}b_{mj}r^{(j)}

定义广义误差

e=y_m-y_p  

可得误差的微分方程为

 e^{n}+\sum_{i=0}^{n-1}a_{mi} y_m^{(i)}- \sum_{i=0}^{n-1}\alpha_{pi}y_p^{(i)} = \sum_{j=0}^{m-1}b_{mj}r^{(j)} - \sum_{j=0}^{m-1}b_{pj}r^{(j)}\\ e^{n}+\sum_{i=0}^{n-1}a_{mi} (y_m^{(i)}-y_p^{(i)})+\sum_{i=0}^{n-1}(a_{mi}-\alpha_{pi})y_p^{(i)} = \sum_{j=0}^{m-1}(b_{mj}-b_{pj})r^{(j)}\\ e^{n}+\sum_{i=0}^{n-1}a_{mi} e^{(i)}=\sum_{i=0}^{n-1}(\alpha_{mi}-a_{pi})y_p^{(i)} + \sum_{j=0}^{m-1}(b_{mj}-b_{pj})r^{(j)}\\ e^{n}+\sum_{i=0}^{n-1}a_{mi} e^{(i)}=\sum_{i=0}^{n-1}\delta _iy_p^{(i)} + \sum_{j=0}^{m-1}\sigma _jr^{(j)}\\

其中, 

\delta _i = a_{mi}-\alpha_{pi},\sigma_j=b_{mj}-b_{pj}

根据误差的微分方程

e^{n}+\sum_{i=0}^{n-1}a_{mi} e^{(i)}=\sum_{i=0}^{n-1}\delta _iy_p^{(i)} + \sum_{j=0}^{m-1}\sigma _jr^{(j)}\\

\mathbf{\theta}= [\delta_0\quad\delta_1\quad...\quad\delta_{n-1}\quad\sigma_0\quad\sigma_1\quad...\quad\sigma_{m-1}]^T\\ \mathbf{\varepsilon}= [e_1\quad e_2\quad...\quad e_n]^T

其中,e_1= e,e_2=\dot{e},e_3=e^{(2)},\cdots, e_n=e^{(n-1)}

 将误差的微分方程写为状态方程为

\dot{\varepsilon}=A\varepsilon+\Delta

其中,

A= \begin{bmatrix} 0 & 1 & 0 & 0 \\ ... & ... & ... & ... \\ 0 & 0 & ... & 1 \\ -a_0 & -a_1 & ... & -a_{n-1} \end{bmatrix}, \Delta= \begin{bmatrix} 0 \\ ... \\ 0 \\ \sum_{i=0}^{n-1}\delta_iy_p^{(i)}+\sum_{j=0}^{m-1}\sigma_jr^{(j)} \end{bmatrix} 

 选取李雅普诺夫函数,

这里与前面选取准则一样,想要广义状态误差e趋于0的同时,还希望被控对象的参数与参考模型的参数尽量一致,即\delta _i,\sigma _j趋于0

这里对于李雅普诺夫函数也可以用前一节的李雅普诺夫函数形式,即

 V=\frac{1}{2}[\varepsilon^TP\varepsilon+tr(\theta^T\Gamma ^{-1}\theta)]

然后利用前一节推导的结论。

这里采用下列的形式就行推导,李雅普诺夫函数为

V=\frac{1}{2}[\varepsilon^TP\varepsilon+\theta^T\Lambda\theta]

其中,P为对称正定矩阵, \Lambda为对角正定矩阵,即

\Lambda=diag[\lambda_0\quad\lambda_1\quad...\quad\lambda_{n-1}\quad\mu_0\quad\mu_1\quad...\quad\mu_{m-1}]

求导可得, 

\dot{V}=\frac{1}{2}\varepsilon^{T}(PA+A^{T}P)\varepsilon+\frac{1}{2}(\varepsilon^{T}P\Delta+\Delta^{T}P\varepsilon)+\frac{1}{2}(\dot{\theta}^{T}\Lambda\theta+\theta^{T}\Lambda\dot{\theta}) \\ =\frac{1}{2}\varepsilon^{T}(PA+A^{T}P)\varepsilon+\varepsilon^{T}P\Delta+\dot{\theta}^{T}\Lambda\theta \\ =\frac{1}{2}\varepsilon^T(PA+A^TP)\varepsilon+\sum_{i=0}^{n-1}\delta_i[\lambda_i\dot{\delta}_i+(\sum_{k=1}^ne_kP_{kn})y_p^{(i)}]+\sum_{j=0}^{m-1}\sigma_j[\mu_j\dot{\sigma}_j+(\sum_{k=1}^ne_kP_{kn})r^{(j)}] 

PA+A^TP = -Q\\ \lambda_i\dot{\delta}_i+(\sum_{k=1}^ne_kP_{kn})y_p^{(i)} = 0\\\mu_j\dot{\sigma}_j+(\sum_{k=1}^ne_kP_{kn})r^{(j)} = 0

可得,

 \dot{\delta}_i = -\frac{1}{\lambda_i}(\sum_{k=1}^ne_kP_{kn})y_p^{(i)} ,i=0,1,\cdots,n-1\\ \dot{\sigma}_j=-\frac{1}{\mu_j}(\sum_{k=1}^ne_kP_{kn})r^{(j)} ,j=0,1,\cdots,m-1

 2.2.2 例题

这里以二阶系统为例,

参考模型微分方程为:

\ddot{y}_\mathrm{m}+a_1\dot{y}_\mathrm{m}+a_0y_\mathrm{m}=br

被控对象微分方程为:

\ddot{y}+\alpha_1\dot{y}_\mathrm{p}+\alpha_0y_\mathrm{p}=\beta u 

其中,输入为

 u=kr+f_0y_p+f_1\dot{y}_p

将其带入被控对象微分方程为

 \ddot{y}_p+(\alpha_1-\beta f_1)\dot{y}_p+(\alpha_0-\beta f_0)y_p=k\beta r 

\bar{\alpha}_1=\alpha_1-\beta f_1,\bar{\alpha}_0=\alpha_0-\beta f_0,\bar{\beta}=k\beta可得,

 \ddot{y}_p+\bar{\alpha}_1\dot{y}_p+\bar{\alpha}_0 y_p=\bar{\beta} r\\

定义广义误差

e=y_m-y_p  

 可得,

\ddot{e}+a_1\dot{e}+a_0e=(\bar{\alpha}_1-a_1)\dot{y}_p+(\bar{\alpha}_0-a_0)y_p+(b-\bar{\beta})r

 令\delta_1=\bar{\alpha}_1-a_1,\delta_0=\bar{\alpha}_0-a_0,\sigma=b-\bar{\beta},可得

\ddot{e}+a_1\dot{e}+a_0e=\delta_1\dot{y}_\mathrm{p}+\delta_0y_\mathrm{p}+\sigma r

\mathbf{\theta}= [\delta_0\quad\delta_1\quad\sigma]^T\\ \mathbf{\varepsilon}= [e\quad \dot{e}]^T

将误差的微分方程写为状态方程为

\dot{\varepsilon}=A\varepsilon+\Delta

其中,

A= \begin{bmatrix} 0 & 1 \\ -a_0 & -a_1\end{bmatrix}, \Delta= \begin{bmatrix}0 \\ \delta_0y_p+\delta_1\dot{y_p} + \sigma r \end{bmatrix} 

 选取李雅普诺夫函数,

李雅普诺夫函数为

V=\frac{1}{2}[\varepsilon^TP\varepsilon+\theta^T\Lambda\theta]

其中,P为对称正定矩阵, \Lambda为对角正定矩阵,即

\Lambda=diag[\lambda_0\quad\lambda_1\quad\mu]

 

求导可得, 

\dot{V}=\frac{1}{2}\varepsilon^{T}(PA+A^{T}P)\varepsilon+\frac{1}{2}(\varepsilon^{T}P\Delta+\Delta^{T}P\varepsilon)+\frac{1}{2}(\dot{\theta}^{T}\Lambda\theta+\theta^{T}\Lambda\dot{\theta}) \\ =\frac{1}{2}\varepsilon^T(PA+A^TP)\varepsilon + \delta_0[\lambda_0\dot{\delta}_0+(ep_{12}+\dot{e}p_{22})y_p] + \delta_1[\lambda_1\dot{\delta}_1+(ep_{12}+\dot{e}p_{22})y_p] + \sigma[\mu \dot{\sigma}+(ep_{12}+\dot{e}p_{22})r]

 PA+A^{T}P=-Q\\ \lambda_0\dot{\delta}_0+(ep_{12}+\dot{e}p_{22})y_p =0\\ \lambda_1\dot{\delta}_1+(ep_{12}+\dot{e}p_{22})y_p = 0\\ \mu \dot{\sigma}+(ep_{12}+\dot{e}p_{22})r = 0

可得自适应率为,

 \begin{gathered} \dot{\delta}_0=-\frac{(ep_{12}+\dot ep_{22})y_{\mathrm{p}}}{\lambda_{0}} \\ \dot{\delta_{1}}=-\frac{(ep_{12}+\dot{e}p_{22})\dot{y}_{\mathrm{p}}}{\lambda_{1}} \\ \dot{\sigma}=-\frac{(ep_{12}+\dot ep_{22})r}{\mu} \end{gathered}

\delta_1=\bar{\alpha}_1-a_1,\delta_0=\bar{\alpha}_0-a_0,\sigma=b-\bar{\beta}可得

 \dot\delta_1=\dot{\bar{\alpha}}_1,\dot\delta_0=\dot{\bar{\alpha}}_0,\dot\sigma=-\dot{\bar{\beta}}

\bar{\alpha}_1=\alpha_1-\beta f_1,\bar{\alpha}_0=\alpha_0-\beta f_0,\bar{\beta}=k\beta可得

\dot{\bar{\alpha}}_1=-\beta \dot f_1\\ \dot{\bar{\alpha}}_0=-\beta \dot f_0\\ \dot{\bar{\beta}}=\dot k \beta

其中,当对象参数缓慢变化时,\dot{\alpha}_0\approx 0,\dot{\alpha}_1\approx 0,\dot{\beta}\approx 0

可得,

\dot f_0 = -\frac{\dot{\bar{\alpha}}_0}{\beta}= -\frac{\dot\delta_0}{\beta} =\frac{(ep_{12}+\dot ep_{22})y_{\mathrm{p}}}{\beta\lambda_{0} } \\ \dot f_1 = -\frac{\dot{\bar{\alpha}}_1}{\beta}=-\frac{\dot\delta_1}{\beta} = \frac{(ep_{12}+\dot ep_{22}) \dot y_{\mathrm{p}}}{\beta\lambda_{1} } \\ \dot k = \frac{\dot{\bar{\beta}}}{\beta} = - \frac{\dot\sigma}{\beta} = \frac{(ep_{12}+\dot ep_{22})r}{\mu \beta} \\

可得自适应规律为

 f_0(t) = \int_{0}^{t} \frac{(ep_{12}+\dot ep_{22})y_{\mathrm{p}}}{\beta\lambda_{0} } d\tau + f_0(0)\\ f_1(t) = \int_{0}^{t} \frac{(ep_{12}+\dot ep_{22})y_{\mathrm{p}}}{\beta\lambda_{1} } d\tau + f_1(0)\\ k(t)=\int_{0}^{t} \frac{(ep_{12}+\dot ep_{22})r}{\mu \beta} d\tau + k(0)\\

 假设参考对象模型为

W(s)=\frac{1}{s^2+8s+20}

被控对象模型为

 W(s)=\frac{2}{s^2+10s+15}

引入前馈k和反馈f_0+f_1s,由对象模型可得,

a_1=8,a_0=20,b=1,\alpha_1=10,\alpha_0=15,\beta=2 

系统矩阵 A= \begin{bmatrix} 0 & 1 \\ -20 & -8\end{bmatrix},由PA+A^{T}P=-Q=-E,可得

P= \begin{bmatrix} 1.5125 & 0.025 \\ 0.025 & 0.0656 \end{bmatrix}

带入自适应规律可得,

 f_0(t) = \int_{0}^{t} \frac{(0.025e+0.0656\dot e)y_{\mathrm{p}}}{2\lambda_{0} } d\tau + f_0(0) \\ f_1(t) = \int_{0}^{t} \frac{(0.025e+0.0656\dot e)y_{\mathrm{p}}}{2\lambda_{1} } d\tau + f_1(0)\\ k(t)=\int_{0}^{t} \frac{(0.025e+0.0656\dot e)r}{2\mu } d\tau + k(0)\\

\lambda_0=\lambda_1=\mu=1f_0(0)=0,f_1(0)=0,k(0)=0,r=10

搭建simulink如下,

结果如下

 可以看到误差最终趋于0,但是收敛速度太慢。

调整权重\lambda_0=\lambda_1=\mu=10,误差收敛更慢,这是因为其在自适应率中处于分母上,故权重越大,效果越不明显。

调整权重为 \lambda_0=\lambda_1=\mu=0.1

可以看到系统收敛速度变快。

 在权重为\lambda_0=\lambda_1=\mu=0.1的前提下,调整f_0(0)=1,f_1(0)=1,k(0)=1

可以看到,通过给定一个适当的初值,可以使得系统有更快的响应速度。 

3、总结

通过上面两个例题,可以看到,选择不同的李雅普诺夫函数得到的自适应率是不同的,且其中的参数发挥的作用也是不一样的,有的参数影响收敛速度,有的影响最终误差的稳态值。

从基于输入输出形式的自适应率设计(例题2)可以看到,自适应率与误差的导数有关,这就导致自适应系统的抗干扰能力降低,为了避免这一缺点,Narendra提出了稳定自适应控制器方案。下一篇将介绍Narendra稳定自适应控制器方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端封装WebSocket工具n

Web API 提供的 WebSocket 类&#xff0c;封装一个 Socket 类 // socket.js import modal from /plugins/modal const baseURL import.meta.env.VITE_APP_BASE_WS; const EventTypes [open, close, message, error, reconnect]; const DEFAULT_CHECK_TIME 55 * 1000; // 心…

TCP和UDP传输层协议

TCP&#xff08;Transmission Control Protocol&#xff09;和 UDP&#xff08;User Datagram Protocol&#xff09;是两种常见的传输层协议&#xff0c;它们在网络通信中发挥着不同的作用。二者在连接建立、可靠性、传输效率等方面存在显著差异&#xff0c;适用于不同的应用场…

空域伦理与AI自主边界的系统建构

在AI无人系统逐步参与城市空域治理的过程中&#xff0c;系统的“自主性”已不再仅是技术指标&#xff0c;而是直接影响合规性、安全性与社会接受度的伦理边界议题。AI决策系统是否拥有“强干预能力”&#xff1f;行为触发责任应归属何方&#xff1f;算法可否调优至“自我纠偏”…

在原生代码(非webpack)里使用iview的注意事项

最近公司在做一个项目&#xff0c;使用的框架是iview,使用过程中同事遇到一些问题&#xff0c;这些问题对于有些同学来说根本就不是问题&#xff0c;但总会有同学需要&#xff0c;为了帮助不太会用的同学快速找到问题&#xff0c;做了如下整理&#xff1a; 下载vue,iview.min.j…

java代码混淆

生成jar的时候混淆 目前最常用的Proguard,网上有很多介绍的文章&#xff0c;这种安全性较低 对已经生成的jar进行加密 加密库:https://github.com/li571312729/classfinal 测试对jar进行加密 加密后如果正常调用的话会失败 加密后jar反编译查看不到代码 使用密码才能调用机…

【Linux】第十三章 访问Linux文件系统

目录 1. 存储设备是什么&#xff1f;怎么理解分区和格式化&#xff1f; 2. 文件系统是什么&#xff1f; 3. 挂载是什么&#xff1f;挂载点是什么&#xff1f; 4. 怎么理解块设备&#xff1f; 5. 在SATA附加存储中&#xff0c;第一磁盘上的第一个分区和第二磁盘的第二个分区…

MCP 服务器搭建【stdio 类型】实现上市公司年报查询总结,配合 Cherry Studio使用简单

代码解释 这段 Python 代码的主要功能是搭建一个基于 FastAPI 的 MCP 服务器,用于处理通过股票代码查询上市公司年报的请求,实现服务器向客户端的实时消息推送。以下是对代码各部分的详细解释: 完整代码+使用 Cherry Studio 调用 MCP 服务器的方法,放在文章最后了 1. 导…

第六节:软件安装

理论知识 软件安装的方式&#xff1a;在 Linux 系统中&#xff0c;常见的软件安装方式有源码安装、在线安装、deb 包安装、RPM 包安装、使用 Snap 管理软件包等。不同的安装方式适用于不同的软件和场景。源码安装&#xff1a;源码安装是指从软件的源代码开始&#xff0c;进行编…

ubantu部署yolov5(第四集:模型加速)

参考链接&#xff1a; GitHub - ultralytics/yolov5: YOLOv5 &#x1f680; in PyTorch > ONNX > CoreML > TFLite TFLite,ONNX,CoreML,TensorRT Export -Ultralytics YOLO Docs 使用Neural Magic 的 DeepSparse 部署YOLOv5 -Ultralytics YOLO 文档 sparseml/inte…

flutter 专题 五十六 Google 2020开发者大会Flutter专题

由于疫情的原因&#xff0c;今年的Google 开发者大会 (Google Developer Summit) 在线上举行&#xff0c;本次大会以“代码不止”为主题&#xff0c;全面介绍了产品更新以及一系列面向本地开发者的技术支持内容。我比较关注的是移动开发&#xff0c;在本次大会上&#xff0c;关…

开源模型应用落地-qwen模型小试-Qwen3-8B-快速体验-pipeline方式(二)

一、前言 阿里云最新推出的 Qwen3-8B 大语言模型,作为国内首个集成“快思考”与“慢思考”能力的混合推理模型,凭借其 80 亿参数规模及 128K 超长上下文支持,正在重塑 AI 应用边界。该模型既可通过轻量化“快思考”实现低算力秒级响应,也能在复杂任务中激活深度推理模式,以…

「动态规划::背包」01背包 / AcWing 2(C++)

概述 AcWing 2&#xff1a; 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 v[i]&#xff0c;价值是 w[i]。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输出最大价值。 输入格式 第一…

Java 中的 设计模式详解

一&#xff1a;设计模式概述 &#xff08;1&#xff09;概述 &#xff08;2&#xff09;分类 创建型 行为型 结构型 二&#xff1a;软件设计模式 2.1 开闭原则 &#xff08;1&#xff09;定义 在程序需要进行拓展的时候&#xff0c;不能修改原有代码 使用到接口和抽象类&#x…

阿里qiankun微服务搭建

主服务 chat vue3 ts vite 子服务 ppt react 18 vite 子服务 agent 主服务 npm i vite-plugin-qiankun mian.ts import ./style/base.scss import virtual:svg-icons-register import { createApp } from vue import { createPinia } from piniaimport App from ./App.vue im…

安装WSL2,配置Ubuntu图像化界面

目录 一、前言二、安装WSL三、安装图像化界面四、参考 一、前言 Windows 子系统下的 Linux 子系统&#xff08;WSL&#xff0c;Windows Subsystem for Linux&#xff09;是微软推出的一项功能&#xff0c;允许用户在 Windows 系统中原生运行 Linux 环境&#xff0c;无需安装虚…

图像畸变-径向切向畸变实时图像RTSP推流

实验环境 注意&#xff1a;ffmpeg进程stdin写入两张图片的时间间隔不能太长&#xff0c;否则mediamtx会出现对应的推流session超时退出。 实验效果 全部代码 my_util.py #进度条 import os import sys import time import shutil import logging import time from datetime i…

Redis Sentinel 和 Redis Cluster 各自的原理、优缺点及适用场景是什么?

我们来详细分析下 Redis Sentinel (哨兵) 和 Redis Cluster (集群) 这两种方案的原理和使用场景。 Redis Sentinel (哨兵) 原理: Sentinel 本身是一个或一组独立于 Redis 数据节点的进程。它的核心职责是监控一个 Redis 主从复制 (Master-Slave) 架构。多个 Sentinel 进程协同…

基于机器学习的电影票房预测

目录 摘 要(完整下载链接附在文末) Abstract 1 绪 论 1.1 研究背景概述 1.2 国内外相关领域研究进展 1.3 电影票房预测技术概览 1.3.1 利用人口统计学特征的方法 1.3.2 基于机器学习的预测模型 2 机器学习相关理论介绍与分析 2.1 机器学习算法理论 2.1.1卷积…

SVMSPro平台获取HTTP-FLV规则

SVMSPro平台获取HTTP-FLV规则 HTTP-FLV的服务端口为&#xff1a;53372&#xff0c;如需要公网访问需要开启这个端口 这里讲的是如何获取长效URL&#xff0c;短效&#xff08;时效性&#xff09;URL也支持&#xff0c;下回讲 一、如何获取HTTP-FLV实时流视频 http://host:po…

ARM架构的微控制器总线矩阵

在 ARM 架构的微控制器&#xff08;MCU&#xff09;中&#xff0c;总线矩阵&#xff08;Bus Matrix&#xff09; 是总线系统的核心互连结构&#xff0c;负责协调多个主设备&#xff08;如 CPU、DMA、以太网控制器等&#xff09;对多个从设备&#xff08;如 Flash、SRAM、外设等…