在上一篇文章中,我们从反步法出发,分析基于反步法的跟踪控制设计,以及含有未知参数的自适应反步控制的控制器设计。
上一篇文章链接:Adaptive Backstepping Besign自适应反步控制设计_ADi_hhh的博客
但是上一篇文章中的系统满足匹配条件,比较容易设计。本篇文章针对不满足匹配条件的系统进行自适应反步设计,并针对系统中含有未知参数的系统进行自适应神经网络的的反步控制设计。
在控制理论中的不确定性可以分为两类。当控制输入可以克服不确定性时,系统就是在匹配条件下的,或者看网上有人说不确定性是在控制矩阵B所张成的空间中;而当控制输入不在控制输入下时,系统就是在不匹配条件下的,不能通过控制量的设计来抵消其影响。
举例如下:
上一篇文章中:
x ˙ 1 = f 1 ( x 1 ) + x 2 x ˙ 2 = f 2 ( x 1 , x 2 ) θ + b u y = x 1 \begin{aligned} \dot x_1&=f_1(x_1)+x_2\\ \dot x_2&=f_2(x_1,x_2)\theta+bu\\ y&=x_1 \end{aligned} x˙1x˙2y=f1(x1)+x2=f2(x1,x2)θ+bu=x1
这样的系统就是匹配条件下的系统,因而我们能通过自适应反步控制设计,设计出控制器和参数更新率。
而形如
x ˙ 1 = f 1 ( x 1 ) θ + x 2 x ˙ 2 = u y = x 1 ( 1 ) \begin{aligned} \dot x_1&=f_1(x_1)\theta+x_2\\ \dot x_2&=u\\ y&=x_1 \end{aligned} \qquad(1) x˙1x˙2y=f1(x1)θ+x2=u=x1(1)
则是非匹配的,控制输入无法直接抵消不确定量 θ \theta θ所带来的影响。需要利用反步设计、鲁棒控制等其他方法来设计控制器。
针对形如公式(1)的系统进行控制器设计,其中 f 1 ( x ) f_1(x) f1(x)是已知的函数, θ \theta θ为未知参数,设计控制器使得 y → y d y→y_d y→yd,并且 y d y_d yd的导数可知。
我们首先按照前面的自适应反步控制方法来设计控制器。
定义系统误差: z 1 = y − y d = x 1 − y d z_1=y-y_d=x_1-y_d z1=y−yd=x1−yd(为什么不用e来表示误差了?别问,问就是显得专业)
系统误差的动态方程:
z ˙ 1 = x ˙ 1 − y ˙ d = f 1 ( x 1 ) θ + x 2 − y ˙ d \begin{aligned} \dot z_1 &=\dot x_1 -\dot y_d\\ &=f_1(x_1) \theta+x_2-\dot y_d \end{aligned} z˙1=x˙1−y˙d=f1(x1)θ+x2−y˙d
考虑如下候选李亚普诺夫函数: V 1 = 1 2 z 1 2 V_1 = \frac{1}{2}z_1^2 V1=21z12
对其求导得:
V ˙ 1 = z 1 z ˙ 1 = z 1 ( f 1 ( x 1 ) θ + x 2 − y ˙ d ) \begin{aligned} \dot V_1 &=z_1\dot z_1\\ & = z_1(f_1(x_1)\theta+x_2-\dot y_d) \end{aligned} V˙1=z1z˙1=z1(f1(x1)θ+x2−y˙d)
这时候我们可以把 x 2 x_2 x2当作一个输入量,那么假如
x 2 = − k 1 z 1 − f 1 ( x 1 ) θ ^ + y ˙ d x_2=-k_1z_1-f_1(x_1) \hat\theta+\dot y_d x2=−k1z1−f1(x1)θ^+y˙d
其中 θ ^ \hat \theta θ^是对 θ \theta θ的估计,估计误差为 θ ~ = θ ^ − θ \tilde \theta=\hat \theta-\theta θ~=θ^−θ,引入一虚拟控制量 α 1 \alpha_1 α1,即令$\alpha_1=-k_1z_1-f_1(x_1) \hat\theta+\dot y_d $
此时可以定义出第二个误差为 z 2 = x 2 − α 1 z_2=x_2-\alpha_1 z2=x2−α1
因为引入了新的估计误差 θ ~ \tilde \theta θ~,因此考虑如下候选李雅普诺夫函数:
V 2 = V 1 + 1 2 γ θ ~ 2 V_2=V_1+\frac{1}{2 \gamma}\tilde \theta^2 V2=V1+2γ1θ~2
对其求导得:
V ˙ 2 = V ˙ 1 + 1 γ θ ~ θ ^ ˙ = z 1 ( f 1 ( x 1 ) θ + x 2 − y ˙ d ) + 1 γ θ ~ θ ^ ˙ = z 1 ( f 1 ( x 1 ) θ + z 2 + α 1 − y ˙ d ) + 1 γ θ ~ θ ^ ˙ = z 1 ( f 1 ( x 1 ) θ + z 2 + ( − k 1 z 1 − f 1 ( x 1 ) θ ^ + y ˙ d ) − y ˙ d ) + 1 γ θ ~ θ ^ ˙ = − k 1 z 1 2 + z 1 z 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ ) ( ∗ ) \begin{aligned} \dot V_2&=\dot V_1+\frac{1}{\gamma}\tilde \theta \dot{\hat \theta}\\ &=z_1(f_1(x_1)\theta+x_2-\dot y_d)+\frac{1}{\gamma}\tilde \theta \dot{\hat \theta}\\ &=z_1(f_1(x_1)\theta+z_2+\alpha_1-\dot y_d)+\frac{1}{\gamma}\tilde \theta \dot{\hat \theta}\\ &=z_1(f_1(x_1)\theta+z_2+(-k_1z_1-f_1(x_1) \hat\theta+\dot y_d)-\dot y_d)+\frac{1}{\gamma}\tilde \theta \dot{\hat \theta}\\ &=-k_1z_1^2+z_1z_2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta}) \end{aligned}\qquad(*) V˙2=V˙1+γ1θ~θ^˙=z1(f1(x1)θ+x2−y˙d)+γ1θ~θ^˙=z1(f1(x1)θ+z2+α1−y˙d)+γ1θ~θ^˙=z1(f1(x1)θ+z2+(−k1z1−f1(x1)θ^+y˙d)−y˙d)+γ1θ~θ^˙=−k1z12+z1z2+θ~(−z1f1(x1)+γ1θ^˙)(∗)
则可以设计出参数更新率
θ ^ ˙ = γ z 1 f 1 ( x 1 ) ( 2 ) \dot{\hat \theta}=\gamma z_1f_1(x_1) \qquad(2) θ^˙=γz1f1(x1)(2)
此时 V ˙ 2 = − k 1 z 1 2 + z 1 z 2 \dot V_2=-k_1z_1^2+z_1z_2 V˙2=−k1z12+z1z2, z 1 、 z 2 z_1、z_2 z1、z2为互连项。
考虑系统第二个误差的动态方程:
z ˙ 2 = x ˙ 2 − α ˙ 1 = u − α ˙ 1 \begin{aligned} \dot z_2&=\dot x_2-\dot \alpha_1\\ &=u-\dot \alpha_1 \end{aligned} z˙2=x˙2−α˙1=u−α˙1
值得注意的是此时 α ˙ 1 \dot \alpha_1 α˙1是一个关于 x 1 , y d , y ˙ d , θ ^ x_1,y_d,\dot y_d,\hat \theta x1,yd,y˙d,θ^的复合函数,并且其中含有未知项,这也是上一篇文章所提到的问题。
α ˙ 1 = ∂ α ∂ x 1 x ˙ 1 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ θ ^ θ ^ ˙ = ∂ α ∂ x 1 ( f 1 ( x 1 ) θ + x 2 ) + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ θ ^ θ ^ ˙ = ∂ α ∂ x 1 f 1 ( x 1 ) θ + ∂ α ∂ x 1 x 2 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ θ ^ θ ^ ˙ = w θ + ϕ \begin{aligned} \dot \alpha_1 &=\frac{\partial \alpha}{\partial x_1} \dot x_1+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta}\\ &=\frac{\partial \alpha}{\partial x_1}(f_1(x_1)\theta+x_2)+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta}\\ &=\frac{\partial \alpha}{\partial x_1}f_1(x_1)\theta+\frac{\partial \alpha}{\partial x_1}x_2+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta}\\ &=w\theta+\phi \end{aligned} α˙1=∂x1∂αx˙1+∂yd∂αy˙d+∂y˙d∂αy¨d+∂θ^∂αθ^˙=∂x1∂α(f1(x1)θ+x2)+∂yd∂αy˙d+∂y˙d∂αy¨d+∂θ^∂αθ^˙=∂x1∂αf1(x1)θ+∂x1∂αx2+∂yd∂αy˙d+∂y˙d∂αy¨d+∂θ^∂αθ^˙=wθ+ϕ
其中令 ∂ α ∂ x 1 f 1 ( x 1 ) = w \frac{\partial \alpha}{\partial x_1}f_1(x_1)=w ∂x1∂αf1(x1)=w, ∂ α ∂ x 1 x 2 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ θ ^ θ ^ ˙ = ϕ \frac{\partial \alpha}{\partial x_1}x_2+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta}=\phi ∂x1∂αx2+∂yd∂αy˙d+∂y˙d∂αy¨d+∂θ^∂αθ^˙=ϕ,这两部分都是已知的。
则:
z ˙ 2 = u − α ˙ 1 = u − w θ − ϕ \begin{aligned} \dot z_2 &=u-\dot \alpha_1\\ &=u-w\theta -\phi \end{aligned} z˙2=u−α˙1=u−wθ−ϕ
考虑如下候选李雅普诺夫函数 V 3 = V 2 + 1 2 z 2 2 V_3=V_2+\frac{1}{2}z_2^2 V3=V2+21z22
对其求导得:
V ˙ 3 = V ˙ 2 + z 2 z ˙ 2 = − k 1 z 1 2 + z 1 z 2 + z 2 ( u − w θ − ϕ ) ( 3 ) \begin{aligned} \dot V_3&= \dot V_2+z_2\dot z_2\\ &=-k_1z_1^2+z_1z_2+z_2(u-w\theta -\phi) \end{aligned}\qquad(3) V˙3=V˙2+z2z˙2=−k1z12+z1z2+z2(u−wθ−ϕ)(3)
不知道看到公式(3),你有什么想法?我的想法则是估计过的参数怎么又出现了,这该怎么处理那?甚至有点后悔自己为什么那么早处理那个未知的参数,但是做到这个地方了,只能再次估计这个未知参数了。采用 θ ^ 2 \hat \theta_2 θ^2来估计 θ \theta θ。则引入新的估计误差 θ ~ 2 = θ ^ 2 − θ \tilde \theta_2 =\hat \theta_2-\theta θ~2=θ^2−θ.
考虑新的候选李雅普诺夫函数 V 4 = V 3 + 1 2 γ 2 θ ~ 2 2 V_4=V_3+\frac{1}{2\gamma_2}\tilde \theta_2^2 V4=V3+2γ21θ~22
对其求导得:
V ˙ 4 = V ˙ 3 + 1 γ 2 θ ~ 2 θ ^ 2 ˙ = − k 1 z 1 2 + z 1 z 2 + z 2 ( u − w θ − ϕ ) + 1 γ 2 θ ~ 2 θ ^ 2 ˙ = − k 1 z 1 2 + z 2 ( z 1 + u − w θ − ϕ ) + 1 γ 2 θ ~ 2 θ ^ 2 ˙ ( 4 ) \begin{aligned} \dot V_4&= \dot V_3+\frac{1}{\gamma_2}\tilde \theta_2 \dot{\hat \theta_2}\\ &=-k_1z_1^2+z_1z_2+z_2(u-w\theta -\phi)+\frac{1}{\gamma_2}\tilde \theta_2 \dot{\hat \theta_2}\\ &=-k_1z_1^2+z_2(z_1+u-w\theta -\phi)+\frac{1}{\gamma_2}\tilde \theta_2 \dot{\hat \theta_2}\\ \end{aligned}\qquad(4) V˙4=V˙3+γ21θ~2θ^2˙=−k1z12+z1z2+z2(u−wθ−ϕ)+γ21θ~2θ^2˙=−k1z12+z2(z1+u−wθ−ϕ)+γ21θ~2θ^2˙(4)
则依据公式(4),可以设计出控制率 u u u
u = − k 2 z 2 − z 1 + ϕ + w θ ^ 2 ( 5 ) u=-k_2z_2-z_1+\phi+w\hat\theta_2 \qquad(5) u=−k2z2−z1+ϕ+wθ^2(5)
代入到(4)中,
V ˙ 4 = − k 1 z 1 2 + z 2 ( z 1 + u − w θ − ϕ ) + 1 γ 2 θ ~ 2 θ ^ 2 ˙ = − k 1 z 1 2 − k 2 z 2 2 + θ ~ 2 ( z 2 w + 1 γ θ ^ 2 ˙ ) ( 6 ) \begin{aligned} \dot V_4 &=-k_1z_1^2+z_2(z_1+u-w\theta -\phi)+\frac{1}{\gamma_2}\tilde \theta_2 \dot{\hat \theta_2}\\ &=-k_1z_1^2-k_2z_2^2+\tilde \theta_2(z_2w+\frac{1}{\gamma}\dot{\hat \theta_2}) \end{aligned}\qquad(6) V˙4=−k1z12+z2(z1+u−wθ−ϕ)+γ21θ~2θ^2˙=−k1z12−k2z22+θ~2(z2w+γ1θ^2˙)(6)
依据(6)可以设计出参数更新率为:
θ ^ 2 ˙ = − γ 2 z 2 w ( 7 ) \dot{\hat \theta_2}=-\gamma_2 z_2w\qquad(7) θ^2˙=−γ2z2w(7)
则公式(2)、(5)、(7)共同构成了系统的控制率和参数更新率。
显然再不匹配条件下很离谱啊,一个未知参数按照在匹配条件下的做法设计,居然需要两个参数来估计,这显然是不合理的。假如这个系统是n阶的,那么就会需要n个估计参数来估计这一个不确定项,这就不可接受了。我们也自然而然地想到能不能将未知参数放到最后来一起处理那?有的,这叫做推迟参数设计。
接下来我们将通过推迟参数设计来重新设计上面这个系统的控制器和参数更新率。
仍旧针对公式(1)所代表的不匹配系统进行控制器设计,其中 f 1 ( x ) f_1(x) f1(x)是已知的函数, θ \theta θ为未知参数,设计控制器使得 y → y d y→y_d y→yd,并且 y d y_d yd的导数可知。
我们设计的步骤前面与“1. 基于自适应反步控制的非匹配条件下的系统控制器设计”的一致,一直到公式(*),即我们得到了
V ˙ 2 = − k 1 z 1 2 + z 1 z 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ ) ( ∗ ∗ ) \begin{aligned} \dot V_2 &=-k_1z_1^2+z_1z_2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta}) \end{aligned}\qquad(**) V˙2=−k1z12+z1z2+θ~(−z1f1(x1)+γ1θ^˙)(∗∗)
但是在这个时候不设计参数更新率,直接考虑第二个误差的动态方程。
考虑系统第二个误差的动态方程:
z ˙ 2 = x ˙ 2 − α ˙ 1 = u − α ˙ 1 \begin{aligned} \dot z_2&=\dot x_2-\dot \alpha_1\\ &=u-\dot \alpha_1 \end{aligned} z˙2=x˙2−α˙1=u−α˙1
值得注意的是此时 α ˙ 1 \dot \alpha_1 α˙1是一个关于 x 1 , y d , y ˙ d , θ ^ x_1,y_d,\dot y_d,\hat \theta x1,yd,y˙d,θ^的复合函数,并且其中含有未知项,这也是上一篇文章所提到的问题。
α ˙ 1 = ∂ α ∂ x 1 x ˙ 1 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ θ ^ θ ^ ˙ = ∂ α ∂ x 1 ( f 1 ( x 1 ) θ + x 2 ) + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ θ ^ θ ^ ˙ = ∂ α ∂ x 1 f 1 ( x 1 ) θ + ∂ α ∂ x 1 x 2 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ θ ^ θ ^ ˙ = w θ + ψ + ∂ α ∂ θ ^ θ ^ ˙ \begin{aligned} \dot \alpha_1 &=\frac{\partial \alpha}{\partial x_1} \dot x_1+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta}\\ &=\frac{\partial \alpha}{\partial x_1}(f_1(x_1)\theta+x_2)+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta}\\ &=\frac{\partial \alpha}{\partial x_1}f_1(x_1)\theta+\frac{\partial \alpha}{\partial x_1}x_2+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta}\\ &=w\theta+\psi+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta} \end{aligned} α˙1=∂x1∂αx˙1+∂yd∂αy˙d+∂y˙d∂αy¨d+∂θ^∂αθ^˙=∂x1∂α(f1(x1)θ+x2)+∂yd∂αy˙d+∂y˙d∂αy¨d+∂θ^∂αθ^˙=∂x1∂αf1(x1)θ+∂x1∂αx2+∂yd∂αy˙d+∂y˙d∂αy¨d+∂θ^∂αθ^˙=wθ+ψ+∂θ^∂αθ^˙
其中令 ∂ α ∂ x 1 f 1 ( x 1 ) = w \frac{\partial \alpha}{\partial x_1}f_1(x_1)=w ∂x1∂αf1(x1)=w, ∂ α ∂ x 1 x 2 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d = ψ \frac{\partial \alpha}{\partial x_1}x_2+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d=\psi ∂x1∂αx2+∂yd∂αy˙d+∂y˙d∂αy¨d=ψ,这两部分都是已知的。
则:
z ˙ 2 = u − α ˙ 1 = u − w θ − ψ − ∂ α ∂ θ ^ θ ^ ˙ \begin{aligned} \dot z_2 &=u-\dot \alpha_1\\ &=u-w\theta -\psi-\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta} \end{aligned} z˙2=u−α˙1=u−wθ−ψ−∂θ^∂αθ^˙
考虑如下候选李雅普诺夫函数 V 3 = V 2 + 1 2 z 2 2 V_3=V_2+\frac{1}{2}z_2^2 V3=V2+21z22
对其求导得:
V ˙ 3 = V ˙ 2 + z 2 z ˙ 2 = − k 1 z 1 2 + z 1 z 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ ) + z 2 ( u − w θ − ψ − ∂ α ∂ θ ^ θ ^ ˙ ) = − k 1 z 1 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ ) + z 2 ( z 1 + u − w θ − ψ − ∂ α ∂ θ ^ θ ^ ˙ ) ( 8 ) \begin{aligned} \dot V_3&= \dot V_2+z_2\dot z_2\\ &=-k_1z_1^2+z_1z_2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta})+z_2(u-w\theta -\psi-\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta})\\ &=-k_1z_1^2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta})+z_2(z_1+u-w\theta -\psi-\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta})\\ \end{aligned}\qquad(8) V˙3=V˙2+z2z˙2=−k1z12+z1z2+θ~(−z1f1(x1)+γ1θ^˙)+z2(u−wθ−ψ−∂θ^∂αθ^˙)=−k1z12+θ~(−z1f1(x1)+γ1θ^˙)+z2(z1+u−wθ−ψ−∂θ^∂αθ^˙)(8)
则依据公式(8),可以设计出控制率 u u u
u = − k 2 z 2 − z 1 + ψ + w θ ^ + ∂ α ∂ θ ^ θ ^ ˙ ( 9 ) u=-k_2z_2-z_1+\psi+w\hat\theta+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta} \qquad(9) u=−k2z2−z1+ψ+wθ^+∂θ^∂αθ^˙(9)
代入到(8)中,
V ˙ 3 = − k 1 z 1 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ ) + z 2 ( z 1 + u − w θ − ψ − ∂ α ∂ θ ^ θ ^ ˙ ) = − k 1 z 1 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ ) + z 2 ( z 1 + ( − k 2 z 2 − z 1 + ψ + w θ ^ + ∂ α ∂ θ ^ θ ^ ˙ ) − w θ − ψ − ∂ α ∂ θ ^ θ ^ ˙ ) = − k 1 z 1 2 − k 2 z 2 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ ) + z 2 w θ ~ = − k 1 z 1 2 − k 2 z 2 2 + θ ~ ( − z 1 f 1 ( x 1 ) + 1 γ θ ^ ˙ + z 2 w ) ( 10 ) \begin{aligned} \dot V_3 &=-k_1z_1^2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta})+z_2(z_1+u-w\theta -\psi-\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta})\\ &=-k_1z_1^2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta})+z_2(z_1+(-k_2z_2-z_1+\psi+w\hat\theta+\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta})-w\theta -\psi-\frac{\partial \alpha}{\partial \hat \theta} \dot{\hat \theta})\\ &=-k_1z_1^2-k_2z_2^2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta})+z_2w \tilde \theta\\ &=-k_1z_1^2-k_2z_2^2+\tilde \theta(-z_1f_1(x_1)+\frac{1}{\gamma} \dot{\hat \theta}+z_2w) \end{aligned}\qquad(10) V˙3=−k1z12+θ~(−z1f1(x1)+γ1θ^˙)+z2(z1+u−wθ−ψ−∂θ^∂αθ^˙)=−k1z12+θ~(−z1f1(x1)+γ1θ^˙)+z2(z1+(−k2z2−z1+ψ+wθ^+∂θ^∂αθ^˙)−wθ−ψ−∂θ^∂αθ^˙)=−k1z12−k2z22+θ~(−z1f1(x1)+γ1θ^˙)+z2wθ~=−k1z12−k2z22+θ~(−z1f1(x1)+γ1θ^˙+z2w)(10)
依据(10)可以设计出参数更新率为:
θ ^ ˙ = γ ( z 1 f 1 ( x 1 ) − z 2 w ) = γ ( z 1 f 1 ( x 1 ) − z 2 ∂ α ∂ x 1 f 1 ( x 1 ) ) ( 11 ) \begin{aligned} \dot{\hat \theta}&= \gamma (z_1f_1(x_1)-z_2w)\\ &=\gamma (z_1f_1(x_1)-z_2\frac{\partial \alpha}{\partial x_1}f_1(x_1)) \end{aligned}\qquad(11) θ^˙=γ(z1f1(x1)−z2w)=γ(z1f1(x1)−z2∂x1∂αf1(x1))(11)
则公式(9)、(11)共同构成了系统的控制率和参数更新率。
实际上推迟参数设计只是讲未知参数放到最后再进行处理,防止后续过程中再次出现未知参数。上述增加了推迟参数设计的过程中可以看到只用一个参数估计就可以解决非匹配条件下的控制系统,从而避免过参问题。
x ˙ 1 = f ( x 1 ) + x 2 x ˙ 2 = u y = x 1 \begin{aligned} \dot x_1 &=f(x_1)+x_2\\ \dot x_2&=u\\ y&=x_1 \end{aligned} x˙1x˙2y=f(x1)+x2=u=x1
f 1 ( x 1 ) f_1(x_1) f1(x1) 是未知的光滑函数 ,设计设计控制器使得 y → y d y→y_d y→yd,并且 y d y_d yd的导数可知。
由前面设计自适应神经网络控制的经验可知,我们可以采用RBF神经网络估计 f ( x ) f(x) f(x)
f ( x 1 ) = W ∗ T S ( x 1 ) + ϵ ( x 1 ) f(x_1)=W^{*T}S(x_1)+\epsilon (x_1) f(x1)=W∗TS(x1)+ϵ(x1)
其中 W ∗ W^{*} W∗是理想的连接权值, S ( x ) S(x) S(x)是径向基函数, ϵ ( x ) \epsilon (x) ϵ(x)是逼近误差。
显然理想的连接权值我们也是无法直接获取的,因此也需要估计。设计 W ^ \hat W W^为 W ∗ W^* W∗的估计值,其误差表示为 W ~ = W ^ − W ∗ \tilde W=\hat W-W^* W~=W^−W∗
那么接下来我们就能来继续设计控制器了。
定义系统误差: z 1 = y − y d = x 1 − y d z_1=y-y_d=x_1-y_d z1=y−yd=x1−yd
系统误差的动态方程:
z ˙ 1 = x ˙ 1 − y ˙ d = f 1 ( x 1 ) θ + x 2 − y ˙ d = W ∗ T S ( x 1 ) + ϵ ( x 1 ) + x 2 − y ˙ d \begin{equation} \begin{aligned} \dot z_1 &=\dot x_1 -\dot y_d\\ &=f_1(x_1) \theta+x_2-\dot y_d\\ &=W^{*T}S(x_1)+\epsilon (x_1)+x_2-\dot y_d\\ \end{aligned} \end{equation} z˙1=x˙1−y˙d=f1(x1)θ+x2−y˙d=W∗TS(x1)+ϵ(x1)+x2−y˙d
考虑如下候选李亚普诺夫函数: V 1 = 1 2 z 1 2 + 1 2 W ~ T Γ − 1 W ~ V_1 = \frac{1}{2}z_1^2+\frac{1}{2}\tilde W^T \Gamma^{-1}\tilde W V1=21z12+21W~TΓ−1W~
对 V 1 V_1 V1进行求导:
V ˙ 1 = z 1 z ˙ 1 + Γ − 1 W ~ T W ^ ˙ = z 1 ( W ∗ T S ( x 1 ) + ϵ ( x 1 ) + x 2 − y ˙ d ) + Γ − 1 W ~ T W ^ ˙ ( 12 ) \begin{aligned} \dot V_1 &= z_1 \dot z_1+\Gamma^{-1}\tilde W^T\dot {\hat W}\\ &=z_1(W^{*T}S(x_1)+\epsilon (x_1)+x_2-\dot y_d)+\Gamma^{-1}\tilde W^T\dot {\hat W}\\ \end{aligned} \qquad(12) V˙1=z1z˙1+Γ−1W~TW^˙=z1(W∗TS(x1)+ϵ(x1)+x2−y˙d)+Γ−1W~TW^˙(12)
引入虚拟控制量 α 1 \alpha_1 α1,(大多数论文中都是应该直接引入虚拟控制量,而不会告诉你为什么这么做,这里也不再赘述了,上面也解释过了)
令
α 1 = − k 1 z 1 − W ^ T S ( x 1 ) + y ˙ d \alpha_1=-k_1z_1-\hat W^TS(x_1)+\dot y_d α1=−k1z1−W^TS(x1)+y˙d
定义误差为: z 2 = x 2 − α 1 z_2=x_2-\alpha_1 z2=x2−α1,代入公式(12),得:
V ˙ 1 = z 1 ( W ∗ T S ( x 1 ) + ϵ ( x 1 ) + x 2 − y ˙ d ) + Γ − 1 W ~ T W ^ ˙ = z 1 ( W ∗ T S ( x 1 ) + ϵ ( x 1 ) + z 2 + α 1 − y ˙ d ) + Γ − 1 W ~ T W ^ ˙ = z 1 ( W ∗ T S ( x 1 ) + ϵ ( x 1 ) + z 2 + ( − k 1 z 1 − W ^ T S ( x 1 ) + y ˙ d ) − y ˙ d ) + Γ − 1 W ~ T W ^ ˙ = − k 1 z 1 2 + z 1 z 2 − z 1 W ~ T S ( x 1 ) + z 1 ϵ ( x 1 ) + Γ − 1 W ~ T W ^ ˙ = − k 1 z 1 2 + z 1 z 2 + z 1 ϵ ( x 1 ) + W ~ T ( Γ − 1 W ^ ˙ − z 1 S ( x 1 ) ) ( 13 ) \begin{aligned} \dot V_1 &=z_1(W^{*T}S(x_1)+\epsilon (x_1)+x_2-\dot y_d)+\Gamma^{-1}\tilde W^T\dot {\hat W}\\ &=z_1(W^{*T}S(x_1)+\epsilon (x_1)+z_2+\alpha_1-\dot y_d)+\Gamma^{-1}\tilde W^T\dot {\hat W}\\ &=z_1(W^{*T}S(x_1)+\epsilon (x_1)+z_2+(-k_1z_1-\hat W^TS(x_1)+\dot y_d)-\dot y_d)+\Gamma^{-1}\tilde W^T\dot {\hat W}\\ &=-k_1z_1^2+z_1z_2-z_1 \tilde W^TS(x_1)+z_1\epsilon(x_1)+\Gamma^{-1}\tilde W^T\dot {\hat W}\\ &=-k_1z_1^2+z_1z_2+z_1\epsilon(x_1)+\tilde W^T(\Gamma^{-1}\dot {\hat W}-z_1S(x_1)) \end{aligned} \qquad(13) V˙1=z1(W∗TS(x1)+ϵ(x1)+x2−y˙d)+Γ−1W~TW^˙=z1(W∗TS(x1)+ϵ(x1)+z2+α1−y˙d)+Γ−1W~TW^˙=z1(W∗TS(x1)+ϵ(x1)+z2+(−k1z1−W^TS(x1)+y˙d)−y˙d)+Γ−1W~TW^˙=−k1z12+z1z2−z1W~TS(x1)+z1ϵ(x1)+Γ−1W~TW^˙=−k1z12+z1z2+z1ϵ(x1)+W~T(Γ−1W^˙−z1S(x1))(13)
考虑推迟参数设计,暂时不对这里得参数进行参数更新率的设计。
考虑第二个误差的动态方程:
z ˙ 2 = x ˙ 2 − α ˙ 1 = u − α ˙ 1 \begin{aligned} \dot z_2 &=\dot x_2 -\dot \alpha_1\\ &=u-\dot \alpha_1 \end{aligned} z˙2=x˙2−α˙1=u−α˙1
同样值得注意的是此时 α ˙ 1 \dot \alpha_1 α˙1是一个关于 x 1 , y d , y ˙ d , W ^ x_1,y_d,\dot y_d,\hat W x1,yd,y˙d,W^的复合函数,并且其中含有未知项。
α ˙ 1 = ∂ α ∂ x 1 x ˙ 1 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ W ^ W ^ ˙ = ∂ α ∂ x 1 ( W ∗ T S ( x 1 ) + ϵ ( x 1 ) + x 2 ) + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ W ^ W ^ ˙ = ∂ α ∂ x 1 ( W ∗ T S ( x 1 ) + ϵ ( x 1 ) ) + ∂ α ∂ x 1 x 2 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d + ∂ α ∂ W ^ W ^ ˙ = ∂ α ∂ x 1 W ∗ T S ( x 1 ) + ∂ α ∂ x 1 ϵ ( x 1 ) + ψ + ∂ α ∂ W ^ W ^ ˙ \begin{aligned} \dot \alpha_1 &=\frac{\partial \alpha}{\partial x_1} \dot x_1+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat W} \dot{\hat W}\\ &=\frac{\partial \alpha}{\partial x_1}(W^{*T}S(x_1)+\epsilon (x_1)+x_2)+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat W} \dot{\hat W}\\ &=\frac{\partial \alpha}{\partial x_1}(W^{*T}S(x_1)+\epsilon (x_1))+\frac{\partial \alpha}{\partial x_1}x_2+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d+\frac{\partial \alpha}{\partial \hat W} \dot{\hat W}\\ &=\frac{\partial \alpha}{\partial x_1}W^{*T}S(x_1)+\frac{\partial \alpha}{\partial x_1}\epsilon (x_1)+\psi+\frac{\partial \alpha}{\partial \hat W} \dot{\hat W}\\ \end{aligned} α˙1=∂x1∂αx˙1+∂yd∂αy˙d+∂y˙d∂αy¨d+∂W^∂αW^˙=∂x1∂α(W∗TS(x1)+ϵ(x1)+x2)+∂yd∂αy˙d+∂y˙d∂αy¨d+∂W^∂αW^˙=∂x1∂α(W∗TS(x1)+ϵ(x1))+∂x1∂αx2+∂yd∂αy˙d+∂y˙d∂αy¨d+∂W^∂αW^˙=∂x1∂αW∗TS(x1)+∂x1∂αϵ(x1)+ψ+∂W^∂αW^˙
其中: ∂ α ∂ x 1 x 2 + ∂ α ∂ y d y ˙ d + ∂ α ∂ y ˙ d y ¨ d = ψ \frac{\partial \alpha}{\partial x_1}x_2+\frac{\partial \alpha}{\partial y_d} \dot y_d+\frac{\partial \alpha}{\partial \dot y_d} \ddot y_d=\psi ∂x1∂αx2+∂yd∂αy˙d+∂y˙d∂αy¨d=ψ是已知的。
则对应的 z ˙ 2 = u − ∂ α ∂ x 1 W ∗ T S ( x 1 ) − ∂ α ∂ x 1 ϵ ( x 1 ) − ψ − ∂ α ∂ W ^ W ^ ˙ \dot z_2=u-\frac{\partial \alpha}{\partial x_1}W^{*T}S(x_1)-\frac{\partial \alpha}{\partial x_1}\epsilon (x_1)-\psi-\frac{\partial \alpha}{\partial \hat W} \dot{\hat W} z˙2=u−∂x1∂αW∗TS(x1)−∂x1∂αϵ(x1)−ψ−∂W^∂αW^˙。
考虑新的李雅普诺夫函数: V 2 = V 1 + 1 2 z 2 2 V_2=V_1+\frac{1}{2}z_2^2 V2=V1+21z22
对其求导得:
V ˙ 2 = V ˙ 1 + z 2 z ˙ 2 = − k 1 z 1 2 + z 1 z 2 + z 1 ϵ ( x 1 ) + W ~ T ( Γ − 1 W ^ ˙ − z 1 S ( x 1 ) ) + z 2 ( u − ∂ α ∂ x 1 W ∗ T S ( x 1 ) − ∂ α ∂ x 1 ϵ ( x 1 ) − ψ − ∂ α ∂ W ^ W ^ ˙ ) = − k 1 z 1 2 + z 1 ϵ ( x 1 ) + W ~ T ( Γ − 1 W ^ ˙ − z 1 S ( x 1 ) ) + z 2 ( z 1 + u − ∂ α ∂ x 1 W ∗ T S ( x 1 ) − ∂ α ∂ x 1 ϵ ( x 1 ) − ψ − ∂ α ∂ W ^ W ^ ˙ ) ( 14 ) \begin{aligned} \dot V_2&= \dot V_1+z_2 \dot z_2\\ &=-k_1z_1^2+z_1z_2+z_1\epsilon(x_1)+\tilde W^T(\Gamma^{-1}\dot {\hat W}-z_1S(x_1))+z_2(u-\frac{\partial \alpha}{\partial x_1}W^{*T}S(x_1)-\frac{\partial \alpha}{\partial x_1}\epsilon (x_1)-\psi-\frac{\partial \alpha}{\partial \hat W} \dot{\hat W})\\ &=-k_1z_1^2+z_1\epsilon(x_1)+\tilde W^T(\Gamma^{-1}\dot {\hat W}-z_1S(x_1))+z_2(z_1+u-\frac{\partial \alpha}{\partial x_1}W^{*T}S(x_1)-\frac{\partial \alpha}{\partial x_1}\epsilon (x_1)-\psi-\frac{\partial \alpha}{\partial \hat W} \dot{\hat W})\\ \end{aligned} \qquad(14) V˙2=V˙1+z2z˙2=−k1z12+z1z2+z1ϵ(x1)+W~T(Γ−1W^˙−z1S(x1))+z2(u−∂x1∂αW∗TS(x1)−∂x1∂αϵ(x1)−ψ−∂W^∂αW^˙)=−k1z12+z1ϵ(x1)+W~T(Γ−1W^˙−z1S(x1))+z2(z1+u−∂x1∂αW∗TS(x1)−∂x1∂αϵ(x1)−ψ−∂W^∂αW^˙)(14)
针对公式(14)可以设计控制器 u u u
u = − k 2 z 2 − z 1 + ∂ α ∂ x 1 W ^ T S ( x 1 ) + ψ + ∂ α ∂ W ^ W ^ ˙ ( 15 ) u=-k_2z_2-z_1+\frac{\partial \alpha}{\partial x_1}\hat W^{T}S(x_1)+\psi+\frac{\partial \alpha}{\partial \hat W} \dot{\hat W} \qquad(15) u=−k2z2−z1+∂x1∂αW^TS(x1)+ψ+∂W^∂αW^˙(15)
将公式(15)代入到公式(14)中去:
V ˙ 2 = − k 1 z 1 2 + z 1 ϵ ( x 1 ) + W ~ T ( Γ − 1 W ^ ˙ − z 1 S ( x 1 ) ) + z 2 ( z 1 + u − ∂ α ∂ x 1 W ∗ T S ( x 1 ) − ∂ α ∂ x 1 ϵ ( x 1 ) − ψ − ∂ α ∂ W ^ W ^ ˙ ) = − k 1 z 1 2 − k 2 z 2 2 + z 1 ϵ ( x 1 ) + W ~ T ( Γ − 1 W ^ ˙ − z 1 S ( x 1 ) ) + z 2 ( ∂ α ∂ x 1 W ~ T S ( x 1 ) − ∂ α ∂ x 1 ϵ ( x 1 ) ) = − k 1 z 1 2 − k 2 z 2 2 + W ~ T ( Γ − 1 W ^ ˙ − z 1 S ( x 1 ) + z 2 ∂ α ∂ x 1 S ( x 1 ) ) + ϵ ( x 1 ) ( z 1 − z 2 ∂ α ∂ x 1 ) ( 16 ) \begin{aligned} \dot V_2&=-k_1z_1^2+z_1\epsilon(x_1)+\tilde W^T(\Gamma^{-1}\dot {\hat W}-z_1S(x_1))+z_2(z_1+u-\frac{\partial \alpha}{\partial x_1}W^{*T}S(x_1)-\frac{\partial \alpha}{\partial x_1}\epsilon (x_1)-\psi-\frac{\partial \alpha}{\partial \hat W} \dot{\hat W})\\ &=-k_1z_1^2-k_2z_2^2+z_1\epsilon(x_1)+\tilde W^T(\Gamma^{-1}\dot {\hat W}-z_1S(x_1))+z_2(\frac{\partial \alpha}{\partial x_1}\tilde W^{T}S(x_1)-\frac{\partial \alpha}{\partial x_1}\epsilon (x_1))\\ &=-k_1z_1^2-k_2z_2^2+\tilde W^T(\Gamma^{-1}\dot {\hat W}-z_1S(x_1)+z_2\frac{\partial \alpha}{\partial x_1}S(x_1))+\epsilon(x_1)(z_1-z_2\frac{\partial \alpha}{\partial x_1}) \end{aligned} \qquad(16) V˙2=−k1z12+z1ϵ(x1)+W~T(Γ−1W^˙−z1S(x1))+z2(z1+u−∂x1∂αW∗TS(x1)−∂x1∂αϵ(x1)−ψ−∂W^∂αW^˙)=−k1z12−k2z22+z1ϵ(x1)+W~T(Γ−1W^˙−z1S(x1))+z2(∂x1∂αW~TS(x1)−∂x1∂αϵ(x1))=−k1z12−k2z22+W~T(Γ−1W^˙−z1S(x1)+z2∂x1∂αS(x1))+ϵ(x1)(z1−z2∂x1∂α)(16)
根据公式(16)可以设计出参数更新率为:
W ^ ˙ = Γ ( z 1 S ( x 1 ) − z 2 ∂ α ∂ x 1 S ( x 1 ) ) ( 17 ) \dot {\hat W}=\Gamma(z_1S(x_1)-z_2\frac{\partial \alpha}{\partial x_1}S(x_1)) \qquad(17) W^˙=Γ(z1S(x1)−z2∂x1∂αS(x1))(17)
则对应的 V ˙ 2 \dot V_2 V˙2为:
V ˙ 2 = − k 1 z 1 2 − k 2 z 2 2 + ϵ ( x 1 ) ( z 1 − z 2 ∂ α ∂ x 1 ) ( 18 ) \begin{aligned} \dot V_2 &=-k_1z_1^2-k_2z_2^2+\epsilon(x_1)(z_1-z_2\frac{\partial \alpha}{\partial x_1}) \end{aligned} \qquad(18) V˙2=−k1z12−k2z22+ϵ(x1)(z1−z2∂x1∂α)(18)
之后再对 ϵ ( x 1 ) ( z 1 − z 2 ∂ α ∂ x 1 ) \epsilon(x_1)(z_1-z_2\frac{\partial \alpha}{\partial x_1}) ϵ(x1)(z1−z2