对于一个系统

x˙=ax2+uxxd\dot{x}=ax^2+u\\x\rightarrow x_d

可以设定 e=xdxe=x_d-x,并且使 e0e→0,定义李雅普诺夫函数

V(e)=12e2:PDV(e)=\frac{1}{2}e^2:PD

得到

V˙(e)=ee˙=e(x˙dax2u)\dot{V}(e)=e\dot{e}=e(\dot{x}_d-ax^2-u)

要使得上式负定,可以令 e˙=ke\dot{e}=-ke ,就可以设置 u=x˙dax2+keu=\dot{x}_d-ax^2+ke,化简上式为

V˙(e)=ke2:ND\dot{V}(e)=-ke^2:ND

但是对于上述例子,如果 aa 是未知的,或者是缓慢变化的数字(a˙=0\dot{a}=0)就难以控制,所以需要自适应控制器

可以引入估计值 a^\hat{a} 和估计误差 a~=aa^\widetilde a=a-\hat{a},所以 a~˙=a˙a^˙=a^˙\dot{\widetilde a}=\dot{a}-\dot{\hat{a}}=-\dot{\hat{a}}

所以设置李雅普诺夫函数

V(e,a~)=12e2+12a~2V(e,\widetilde a)=\frac{1}{2}e^2+\frac{1}{2}\widetilde a^2

求导得

V˙(e,a~)=ee˙+a~a~˙=e(x˙dax2u)a~a^˙\dot{V}(e,\widetilde a)=e\dot{e}+\widetilde a\dot{\widetilde a}=e(\dot{x}_d-{a}x^2-u)-\widetilde a\dot{\hat{a}}

所以可以令 u=x˙da^x2+keu=\dot{x}_d-\hat{a}x^2+ke,带入之后得

V˙(e,a~)=ke2a~(ex2+a^˙)ke2:NDa~(ex2+a^˙):未知\dot{V}(e,\widetilde a)=-ke^2-\widetilde a(ex^2+\dot{\hat{a}})\\-ke^2:ND\\-\widetilde a(ex^2+\dot{\hat{a}}):未知

要保证其负定,但是不能保证第二项负定,但是可以令第二项为 0

a~(ex2+a^˙)=0a^˙=ex2V˙(e,a~)=ke2:NSD-\widetilde a(ex^2+\dot{\hat{a}})=0\\\Downarrow\\\dot{\hat{a}}=-ex^2\\\dot{V}(e,\widetilde a)=-ke^2:NSD

引入一个引理

1 V02 g(t)0    V˙g(t)3 g˙(t)L有界g(t)连续limt g(t)=0\text{\textcircled{1}}~V\geq 0\\\\ \text{\textcircled{2}}~g(t)\geq 0~~~~\dot{V}\leq -g(t)\\\\ \text{\textcircled{3}}~\dot{g}(t)\in L_{\infty}有界\rightarrow g(t)连续\\\\ \Downarrow\\\\ \underset{t\rightarrow \infty}{lim} ~g(t)=0

可以用于验证上式

1 V02 V=ke2(ke2)=g(t),g(t)=ke203 g˙(t)=2kee˙有界limt g(t)=0e0\text{\textcircled{1}}~V\geq 0\\\\ \text{\textcircled{2}}~V=-ke^2\leq -(ke^2)=-g(t),g(t)=ke^2\geq 0\\\\ \text{\textcircled{3}}~\dot{g}(t)=2ke\dot{e}有界\\\\ \Downarrow\\\\ \underset{t\rightarrow \infty}{lim}~g(t)=0\\\\ \Downarrow\\\\ e\rightarrow 0

由于 a^˙=ex2a^=0tex2dτ\dot{\hat{a}}=-ex^2 \Rightarrow \hat{a}=-\int_0^{t}ex^2d\tau ,可得

u=x˙d+x20tex2dτ+keu=\dot{x}_d+x^2\int_0^{t}ex^2d\tau +ke

一个先前的例子

1708437413726.png

对于一个非线性弹簧滑块的系统,假设弹簧的力的与拉伸长度的关系为 F=αx3F=\alpha x^3,其中 α\alpha 是一个未知数

所以该系统的状态方程为

mx¨+αx3=Fm\ddot{x}+\alpha x^3=F

系统的输入为 FF,滑块位移为 xx,质量为 mm

规定滑块的目标轨迹为 x1dx_{1d}

x1=xx2=x˙x_1=x\\x_2=\dot{x}

所以得到

x˙1=x2  1x˙2=αmx13+um  2\dot{x}_1=x_2~~\text{\textcircled{1}}\\\dot{x}_2=-\frac{\alpha}{m}x_1^3+\frac{u}{m}~~\text{\textcircled{2}}

所以可以通过控制输入来控制 x˙2\dot{x}_2 进而控制 x2x_2,从而控制 x1x_1

引入误差 ee

e=x1dx1  3e=x_{1d}-x_1~~\text{\textcircled{3}}

从而目标变为 e0e→0

求导得到

e˙=x˙1dx˙1=x˙1dx2  4\dot{e}=\dot{x}_{1d}-\dot{x}_1=\dot{x}_{1d}-x_2~~\text{\textcircled{4}}

可以找到一个李雅普诺夫函数 V(e)V(e) 使之渐进稳定,从而实现目标,设

V1(e)=12e2  5V_1(e)=\frac{1}{2}e^2~~\text{\textcircled{5}}

V1V_1 是一个正定的函数,求导得到

V˙1=e(x˙1dx2)  6x˙1dx2=k1eV˙1=k1e2:ND\dot{V}_1=e(\dot{x}_{1d}-x_2)~~\text{\textcircled{6}}\\\\ \Downarrow\\\\ \dot{x}_{1d}-x_2=-k_1e\\\\ \dot{V}_1=-k_1e^2:ND

根据上述期望,可以设置x2x_2 的期望值

x2d=x˙1d+k1e  7x_{2d}=\dot{x}_{1d}+k_1e~~\text{\textcircled{7}}

所以目标变为 x2x2dx_2→x_{2d},令

δ=x2dx2  8\delta=x_{2d}-x_2~~\text{\textcircled{8}}

将 8 带入到 6 中,得到

V˙1=e(x˙1d(x2dδ))\dot{V}_1=e(\dot{x}_{1d}-(x_{2d}-\delta))

带入 7 式

V˙1=k1e2+eδ  9\dot{V}_1=-k_1e^2+e\delta~~\text{\textcircled{9}}

由于 δ˙=x˙2dx˙2\dot{\delta}=\dot{x}_{2d}-\dot{x}_2,带入 2 式和 7 式,得

δ˙=x¨1d+k1e˙(αmx13+um)\dot{\delta}=\ddot{x}_{1d}+k_1\dot{e}-(-\frac{\alpha}{m}x_1^3+\frac{u}{m})

带入 4 式

δ˙=x¨1d+k1(x1dx2)+αmx13um  10\dot{\delta}=\ddot{x}_{1d}+k_1(x_{1d}-x_2)+\frac{\alpha}{m}x_1^3-\frac{u}{m}~~\text{\textcircled{10}}

此时就需要 δ0,e0\delta→0,e→0,需要找到新的李雅普诺夫函数 V(e,δ)V(e,\delta) 使之满足渐进稳定的条件了

V2=V1+12δ2:PDV_2=V_1+\frac{1}{2}\delta^2:PD

对上式求导得到

V˙2=V˙1+δδ˙=k1e2+eδ+δδ˙=k1e2+δ(e+δ˙)\dot{V}_2=\dot{V}_1+\delta\dot\delta=-k_1e^2+e\delta+\delta\dot\delta=-k_1e^2+\delta(e+\dot\delta)

为使之负定,可以设计使 e+δ˙=k2δe+\dot\delta=-k_2\delta,带入 10 式得

e+x¨1d+k1(x1dx2)+αmx13um=k2δe+\ddot{x}_{1d}+k_1(x_{1d}-x_2)+\frac{\alpha}{m}x_1^3-\frac{u}{m}=-k_2\delta

最终得到

u=me+mx¨1d+mk1(x˙1dx2)+αx13+mk2δ  11u=me+m\ddot{x}_{1d}+mk_1(\dot{x}_{1d}-x_2)+\alpha x_1^3+mk_2\delta~~\text{\textcircled{11}}

由于上述中 α\alpha 未知,所以引入一个预测值 α^\hat{\alpha} 和预测差值 α~=αα^0\widetilde \alpha=\alpha-\hat{\alpha}\rightarrow0

设定一个新的李雅普诺夫方程

V3=12e2+12δ2+12α~2:PDV_3=\frac{1}{2}e^2+\frac{1}{2}\delta^2+\frac{1}{2}\widetilde \alpha^2:PD

求导得到

V˙3=ee˙+δδ˙+α~α~˙\dot{V}_3=e\dot{e}+\delta\dot\delta+\widetilde \alpha\dot{\widetilde \alpha}

并且有

u=me+mx¨1d+mk1(x˙1dx2)+α^x13+mk2δ  11u=me+m\ddot{x}_{1d}+mk_1(\dot{x}_{1d}-x_2)+\hat\alpha x_1^3+mk_2\delta~~\text{\textcircled{11}}

带入其中得到

V˙3=k1e2k2δ2+α~(α^˙+δx13m)\dot{V}_3=-k_1e^2-k_2\delta^2+\widetilde \alpha(\dot{\hat{\alpha}}+\frac{\delta x_1^3}{m})

已知前两项为负定,不能保证第三项为负定,所以可以使第三项为 0

α^˙=δx13mα^=0tδx13mdt\dot{\hat\alpha}=-\frac{\delta x_1^3}{m}\\\\ \Downarrow\\\\ \hat{\alpha}=-\int_0^t\frac{\delta x_1^3}{m}dt

则求出

u=me+mx¨1d+mk1(x˙1dx2)x130tδx13mdt+mk2δ  11u=me+m\ddot{x}_{1d}+mk_1(\dot{x}_{1d}-x_2)-x_1^3\int_0^t\frac{\delta x_1^3}{m}dt+mk_2\delta~~\text{\textcircled{11}}