非线性系统控制器设计
对于一个非线性系统
假设 u 是 x 的函数
所以得到系统状态图
1 | graph LR |
反馈线性化
就是将传递函数 $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$,但是在设计时需要反过来设计,使之不断地满足李雅普诺夫的渐近稳定条件
步骤
设计一个 $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}$,使该系统有一个这样的表现
设计 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$,带入之后得到
最终得到
一个反步法控制非线性系统的例子
对于一个非线性弹簧滑块的系统,假设弹簧的力的与拉伸长度的关系为 $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 ,是一个渐近稳定的系统