对于一个非线性系统

假设 u 是 x 的函数

所以得到系统状态图

1
2
3
graph LR
A((u))-->B[f]-->C((x))
C-->D[Φ]-->A

反馈线性化

就是将传递函数 $f(x,u)$ 中的非线性部分通过调整 $\phi (x)$ 来抵消,最终得到的是一个线性的关系

例子

可以使得 $u=\phi(x)=-ax^2-x$,其中 $-ax^2$ 用于抵消系统的非线性量,而 $-x$ 用于将系统保持平稳,得到

当 $t→\infty$ 时, $x→0$

李雅普诺夫直接办法

需要选取李雅普诺夫函数来判断

例子

选定

由于

所以就需要设计 u 使 $\dot{V}$ 负定

已知

所以就需要选定 u 来消除 $x^3$

可以选择 $u=-x^2-x$,消除非负定项

最终得到

根据仿真的结果,可以看出,设计 $u$ 时一定要慎重考虑能耗和收敛速度的平衡关系

反步法

对于一个假定的系统

由于控制输入并不能直接作用到目标 $x_1$ 上,所以控制时就需要控制 $u\rightarrow\dot{x}_2→x_2→\dot{x}_1→x_1$,但是在设计时需要反过来设计,使之不断地满足李雅普诺夫的渐近稳定条件

步骤

  1. 设计一个 $x_2\rightarrow x_{2d}$ 使得 $x_1→x_{1d}$

    引入一个误差 $e=x_{1d}-x_1$,并且使 $e→0$

    需要设计一个李雅普诺夫函数 $V_1(e)=\frac{1}{2}e^2$,是个正定的函数,要想满足李雅普诺夫渐进稳定的条件,就保证导数负定就可以了

    要使 $\dot{V}_1(e)=e\dot e$ 负定,可以使 $\dot{V}_1(e)=-k_1e^2$,也就是

    根据上述假定的系统,要使上一步实现,就需要设定 $x_{2d}$,使该系统有一个这样的表现

  2. 设计 u 使得 $x_2→x_{2d}$

    引入一个误差 $\delta=x_{2d}-x_2$,并且使 $\delta→0$,带入到 $\dot{V}_1$ 中得到

    此时设计一个李雅普诺夫函数 $V_2(e,\delta)=V_1(e)+\frac{1}{2}\delta^2$,可知它是一个正定的函数,要想满足李雅普诺夫渐进稳定的条件,就保证导数负定就可以了,其中 $x_2=x_{2d}-\delta$

    所以要使之负定,就需要保证 $e+\dot\delta=-k_2\delta$,带入之后得到

    最终得到

一个反步法控制非线性系统的例子

1708437413726.png

对于一个非线性弹簧滑块的系统,假设弹簧的力的与拉伸长度的关系为 $F=\alpha x^3$

所以该系统的状态方程为

系统的输入为 $F$,滑块位移为 $x$,质量为 $m$

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

所以得到

所以可以通过控制输入来控制 $\dot{x}_2$ 进而控制 $x_2$,从而控制 $x_1$

引入误差 $e$

从而目标变为 $e→0$

求导得到

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

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

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

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

将 8 带入到 6 中,得到

带入 7 式

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

带入 4 式

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

对上式求导得到

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

最终得到

检验

将 8 式带入 4 式

将 11 式带入 10 式

所以得到一个线性关系的系统

可以分析一下系数矩阵的特征值

由于平衡点在零点,而且特征值均小于 0 ,是一个渐近稳定的系统