线性控制器

#线性控制器
Table of Contents

系统控制

对于一个开环控制器来说

$$ \dot{X}=AX $$

这里的 $A$ 的特征值 $\lambda$ 决定系统的表现,稳定性

当引入一个输入量时,控制器变为

$$ \dot{X}=AX+Bu $$

其中由于 $u$ 是 $X$ 的函数,所以系统形成了一个闭环控制

对于线性控制器来说,输入 $u$ 满足

$$ u=-KX $$

代入到控制器中可以得到

$$ \dot{X}=AX-BKX=(A-BK)X $$

可以选择 $K$ 的数值来使得 $X$ 前的系数的特征值 $\lambda_i$ 处于一个期望的位置上,一般来说,需要保证其特征值均 $≤0$ 才能使得系统稳定

选取 $\lambda_i$ 的原则

  • 如果选取 $\lambda$ 为虚数,那么一定会有共轭解存在,将一定会引入一个反复的振动
  • $\lambda$ 决定收敛的速度,最后的解的形式会变为 $c_1e^{\lambda_1}+c_2e^{\lambda_2}+...$
  • 考虑输入 $u$,有些控制理论中会引入代价函数 $J=\int_0^{\infty}(X^TQX+U^TRU)dt$ ,用于调节参数平衡 u 与系统稳定的关系

控制器设计之前一定要判断一下系统的可控性,一般来说 先可控,再稳定

一个小栗子

对于一阶倒立摆模型,下面的小块也能移动

1708349286931.png

当小球在运动中的运动学方程(初始位置为竖直点)

$$ x_{ball}=Lsin(\phi)+x_{block}\rightarrow x_{ball}=L\phi+x_{block}\\y_{ball}=L(1-cos(\phi))=0 $$

小球的动力学方程

$$ F_x=m\ddot{x}_{ball}=Fsin(\phi)=F\phi=ML\ddot{\phi}+m\ddot{x}_{block}\\F_y=Fcos(\phi)=F=Mg $$

动力学方程化简得到

$$ Mg\phi=ML\ddot{\phi}+M\ddot{x}_{block}\\\Downarrow\\\ddot{\phi}-\frac{g}{L}\phi+\frac{1}{L}\ddot{x}_{block}=0 $$

建立系统状态空间方程,令

$$ X=\begin{bmatrix}x_1\\x_2\end{bmatrix}\\x_1=\phi\\x_2=\dot{\phi}\\u=\frac{1}{L}\ddot{x}_{block} $$

则从上式可以得到状态空间方程

$$ \dot{X}=\begin{bmatrix}0&1\\\frac{g}{L}&0\end{bmatrix}X+\begin{bmatrix}0\\-1\end{bmatrix}u\\y=\begin{bmatrix}1&0\end{bmatrix}X+[0]u $$
  • 对于开环系统,也就是没有输入 u

    $$ A=\begin{bmatrix}0&1\\\frac{g}{L}&0\end{bmatrix} $$

    特征值中有一个大于 0 的特征值,不稳定

  • 对于闭环系统

    系统的可控性,由系统的可控性中可知

    $$ Co=\begin{bmatrix}B&AB\end{bmatrix}=\begin{bmatrix}0&-1\\-1&0\end{bmatrix}\\Rank(Co)=2 $$

    所以系统可控,令

    $$ u=-\begin{bmatrix}k_1&k_2\end{bmatrix}X $$

    带入之后得到

    $$ \dot{X}=\begin{bmatrix}0&1\\\frac{g}{L}+k_1&k_2\end{bmatrix}X=A_dX $$

    求系数矩阵的特征根

    $$ |\lambda I-A_d|=0\\\Downarrow\\\lambda^2-k_2\lambda-\frac{g}{L}-k_1=0 $$

    为了使得系统稳定,所以一般使其特征根位于负半轴上,所以可以将该式子定义为

    $$ \lambda^2-k_2\lambda-\frac{g}{L}-k_1=0=\lambda^2+2\lambda+1 $$

    得到

    $$ k_1=-1-\frac{g}{L}\\k_2=-2 $$

    带入之后得到

    $$ u=\begin{bmatrix}1+\frac{g}{L}&2\end{bmatrix}X $$

线性控制器——状态跟踪

对于上面所设计的控制器,如果想要使系统状态稳定再某一个位置时,就需要使用状态跟踪了

所以引入一个期望值,这里不对 $x_2$ 进行跟踪

$$ x_{1d} $$

$$ e_1=x_{1d}-x_1\\\\E=\begin{bmatrix}e_1\\x_2\end{bmatrix} $$

一般来说,系统的期望值是不变的,所以可以得到

$$ \dot{e_1}=-\dot{x}_1 $$

所以可以得到,这里的 $a_{11}$ 是矩阵 A 中的一个元素

$$ \dot{E}=AE+Bu-\begin{bmatrix}0\\a_{11}\end{bmatrix}x_{1d} $$

可以设计控制器,目的是稳定系统和调整平衡点

$$ u=-KE-B_d^{-1}GX_d $$

带入得到

$$ \dot{E}=(A_d-B_dK)E $$

所以需要选择合适的 $K$ 使系统稳定

还是上面那个倒立摆的例子

对于上面所设计的控制器,如果想要使系统状态稳定再某一个位置时,就需要使用状态跟踪了

所以引入一个期望值,这里不对 $x_2$ 进行跟踪

$$ x_{1d} $$

$$ e_1=x_{1d}-x_1\\\\E=\begin{bmatrix}e_1\\x_2\end{bmatrix} $$

一般来说,系统的期望值是不变的,所以可以得到

$$ \dot{e_1}=-\dot{x}_1 $$

对于上面的系统

$$ A=\begin{bmatrix}0&1\\\frac{g}{L}&0\end{bmatrix}\\B=\begin{bmatrix}0\\-1\end{bmatrix} $$

带入得到

$$ \dot{E}=\begin{bmatrix}0&-1\\-\frac{g}{L}&0\end{bmatrix}E+\begin{bmatrix}0\\-1\end{bmatrix}u+\begin{bmatrix}0\\\frac{g}{L}\end{bmatrix}x_{1d} $$

所以可以设计

$$ u=-KE+\frac{g}{L}x_{1d} $$

带入之后得到

$$ A-BK=\begin{bmatrix}0&1\\-\frac{g}{L}+k_1&k_2\end{bmatrix} $$

求得特征方程为

$$ \lambda^2-k_2\lambda+k_1-\frac{g}{L}=0 $$

$$ \lambda^2-k_2\lambda-\frac{g}{L}+k_1=0=\lambda^2+2\lambda+1 $$

得到

$$ k_2=-2\\k_1=1+\frac{g}{L} $$

也就是

$$ u=\begin{bmatrix}-1-\frac{g}{L}&2\end{bmatrix}E+\frac{g}{L}x_{1d}=-x_{1d}+(1+\frac{g}{L})x_1+2x_2 $$