github仓库

控制器原理

对于一个系统

x˙=f(x)+ux→xd\dot{x}=f(x)+u\\\\ x\rightarrow x_d

其中不清楚 f(x)f(x) 的具体表达形式,但是 f(x)f(x) 是有界的,并且 ∣f(x)∣<ρ(x)|f(x)|<\rho(x) ,引入误差 e=xd−xe=x_d-x ⇒ e˙=x˙d−f(x)−u\dot{e}=\dot{x}_d-f(x)-u,定义李雅普诺夫函数 V(e)=12e2V(e)=\frac{1}{2}e^2 ,不妨令

u=ke+x˙d+uauxu=ke+\dot{x}_d+u_{aux}

其中 uauxu_{aux} 是一个辅助的控制器,但是使用滑膜控制器 uaux=ρ(x)∣e∣eu_{aux}=\rho(x) \frac{|e|}{e},而这个会导致系统不断抖动

High Gain

控制器的具体形式为 uaux=1ερ2eu_{aux}=\frac{1}{\varepsilon}\rho^2e 用足够大的输入抵消不确定性

根据李雅普诺夫函数求导得到 V˙\dot{V} ,将上述的 e˙,uaux\dot{e},u_{aux} 带入 V˙\dot{V},得

V˙=ee˙=e(x˙d−f(x)−ke−x˙d−1ερ2e)=−ef(x)−ke2−1ερ2e2⇓V˙≤−ke2+ρ∣e∣(1−1ερ∣e∣)\dot{V}=e\dot{e}=e(\dot{x}_d-f(x)-ke-\dot{x}_d-\frac{1}{\varepsilon}\rho^2e)=-ef(x)-ke^2-\frac{1}{\varepsilon}\rho^2e^2\\\\ \Downarrow\\\\ \dot{V}\leq -ke^2+\rho|e|(1-\frac{1}{\varepsilon}\rho |e|)

此时出现两种情况

case 1:

ρ∣e∣>ε⇓1−1ερ∣e∣<0⇓ρ∣e∣(1−1ερ∣e∣)<0⇓V˙≤−ke2\rho |e| > \varepsilon \\\\ \Downarrow\\\\ 1-\frac{1}{\varepsilon}\rho |e|<0 \\\\ \Downarrow \\\\ \rho|e|(1-\frac{1}{\varepsilon}\rho |e|)<0 \\\\ \Downarrow \\\\ \dot{V} \leq -ke^2

case 2:

ρ∣e∣≤ε⇓0≤1−1ερ∣e∣≤1⇓ρ∣e∣(1−1ερ∣e∣)≤ρ∣e∣≤ε⇓V˙≤−ke2+ε=−2kV+εIntroduce  s(t)>0⇓V˙+2kV=ε−s(t)解微分方程⇓V=12e2=12e(0)2exp(−2kt)−exp(−2kt)∫0texp(2kτ)s(τ)dτ+ε2k(1−exp(−2kt))由于第二项总是大于0的⇓12e2≤12e(0)2exp(−2kt)+ε2k(1−exp(−2kt))两边同时乘2开平方⇓∣e(t)∣≤∣e0∣exp(−2kt)+εk−εkexp(−2kt)t→∞⇓∣e(t)∣≤εk\rho |e| \leq \varepsilon \\\\ \Downarrow \\\\ 0\leq 1-\frac{1}{\varepsilon}\rho |e|\leq 1\\\\ \Downarrow \\\\ \rho|e|(1-\frac{1}{\varepsilon}\rho |e|)\leq \rho|e|\leq \varepsilon \\\\ \Downarrow\\\\ \dot{V}\leq -ke^2+\varepsilon=-2kV+\varepsilon \\\\ Introduce ~~s(t)>0\\\\ \Downarrow\\\\ \dot{V}+2kV=\varepsilon -s(t)\\\\ \text{解微分方程}\\\\ \Downarrow\\\\ V=\frac{1}{2}e^2=\frac{1}{2}e^2_{(0)}exp(-2kt)-exp(-2kt)\int_0^texp(2k\tau)s(\tau)d\tau + \frac{\varepsilon}{2k} (1-exp(-2kt))\\\\ \text{由于第二项总是大于0的}\\\\ \Downarrow\\\\ \frac{1}{2}e^2\leq\frac{1}{2}e^2_{(0)}exp(-2kt)+ \frac{\varepsilon}{2k} (1-exp(-2kt))\\\\ \text{两边同时乘2开平方}\\\\ \Downarrow\\\\ |e_{(t)}|\leq\sqrt{|e_0|exp(-2kt)+\frac{\varepsilon}{k}-\frac{\varepsilon}{k}exp(-2kt)}\\\\ t\rightarrow \infty\\\\ \Downarrow\\\\ |e_{(t)}|\leq\sqrt{\frac{\varepsilon}{k}}

这就是系统最终会保持一个误差,但是当 ε\varepsilon 足够小,误差就很小,但是这也导致输入 uaux=1ερ2eu_{aux}=\frac{1}{\varepsilon}\rho^2e 会非常大,具体的取值需要做一个权衡

High Frequency

控制器的形式为 uaux=ρ2eρ∣e∣+εu_{aux}=\frac{\rho^2e}{\rho |e|+\varepsilon} 相当于把滑模控制的抖动幅度减小了

根据李雅普诺夫函数求导得到 V˙\dot{V} ,将上述的 e˙,uaux\dot{e},u_{aux} 带入 V˙\dot{V},得

V˙=−ef(x)−ke2−eρ2eρ∣e∣+ε≤∣e∣∣f(x)∣−ke2−ρ2e2ρ∣e∣+ε⇓V˙≤−ke2+∣e∣ρ(1−ρ∣e∣ρ∣e∣+ε)=−ke2+ερ∣e∣ρ∣e∣+ε0≤ρ∣e∣ρ∣e∣+ε≤1⇓V˙≤−ke2+ε=−2kV+εIntroduce  s(t)>0⇓V˙+2kV=ε−s(t)解微分方程⇓V=12e2=12e(0)2exp(−2kt)−exp(−2kt)∫0texp(2kτ)s(τ)dτ+ε2k(1−exp(−2kt))由于第二项总是大于0的⇓12e2≤12e(0)2exp(−2kt)+ε2k(1−exp(−2kt))两边同时乘2开平方⇓∣e(t)∣≤∣e0∣exp(−2kt)+εk−εkexp(−2kt)t→∞⇓∣e(t)∣≤εk\dot{V}=-ef(x)-ke^2-e\frac{\rho^2e}{\rho |e|+\varepsilon}\leq |e||f(x)|-ke^2-\frac{\rho^2e^2}{\rho |e|+\varepsilon}\\\\ \Downarrow\\\\ \dot{V}\leq-ke^2+|e|\rho(1-\frac{\rho |e|}{\rho |e|+\varepsilon})=-ke^2+\varepsilon\frac{\rho |e|}{\rho |e|+\varepsilon}\\0\leq\frac{\rho |e|}{\rho |e|+\varepsilon}\leq 1\\\\ \Downarrow\\\\ \dot{V}\leq -ke^2+\varepsilon=-2kV+\varepsilon \\\\ Introduce ~~s(t)>0\\\\ \Downarrow\\\\ \dot{V}+2kV=\varepsilon -s(t)\\\\ \text{解微分方程}\\\\ \Downarrow\\\\ V=\frac{1}{2}e^2=\frac{1}{2}e^2_{(0)}exp(-2kt)-exp(-2kt)\int_0^texp(2k\tau)s(\tau)d\tau + \frac{\varepsilon}{2k} (1-exp(-2kt))\\\\ \text{由于第二项总是大于0的}\\\\ \Downarrow\\\\ \frac{1}{2}e^2\leq\frac{1}{2}e^2_{(0)}exp(-2kt)+ \frac{\varepsilon}{2k} (1-exp(-2kt))\\\\ \text{两边同时乘2开平方}\\\\ \Downarrow\\\\ |e_{(t)}|\leq\sqrt{|e_0|exp(-2kt)+\frac{\varepsilon}{k}-\frac{\varepsilon}{k}exp(-2kt)}\\\\ t\rightarrow \infty\\\\ \Downarrow\\\\ |e_{(t)}|\leq\sqrt{\frac{\varepsilon}{k}}

但是这个 ε\varepsilon 过小时,并不会导致系统的输入过大

示例

对于一个系统

x˙=ax2+u=f(x)+ux→xd\dot{x}=ax^2+u=f(x)+u\\\\ x\rightarrow x_d

在先前是设定 aa 是一个常数,但在此控制系统中,认为 aa 是一个有界( ∣a∣≤∣a‾∣|a|\leq |\overline{a}|,其中 a‾\overline{a} 已知 )的数,并非是一个常数, aa 是一个 [−1,1][-1,1] 之间的一个随机数

系统的目标依旧是 x→xdx→x_d,设定 e=xd−xe=x_d-x,得到 e˙=x˙d−x˙=x˙d−f(x)−u\dot{e}=\dot{x}_d-\dot{x}=\dot{x}_d-f(x)-u

引入一个函数 ρ(x)\rho(x)(实际上可以是函数,也可以是一个固定的上界)使得 ∣f(x)∣≤ρ(x)|f(x)|\leq\rho (x),设定

  • high gain

    u=ke+x˙d+1ερ2eu=ke+\dot{x}_d+\frac{1}{\varepsilon}\rho^2e

  • high frequency

    u=ke+x˙d+ρ2eρ∣e∣+εu=ke+\dot{x}_d+\frac{\rho^2e}{\rho |e|+\varepsilon}