跳转至

二阶倒立摆: 系统建模

控制二阶倒立摆的第一步在于建模。在这个问题中,我们将尝试建立一个关于二阶倒立摆的微分方程。下图是二阶倒立摆的抽象模型

图 0

在复杂的物理系统中使用 Lagrange 方法可以更加方便且不易出错地得到系统的运动方程。

\[ \frac{\partial^2 L}{\partial t \partial \dot{q}_i}-\frac{\partial L}{\partial q_i}=Q_i \]

显然三个自由度分别是三个转角。记为 \(q(t)^{\top}=\left[\begin{array}{lll}\theta(t) & \alpha(t) & \phi(t)\end{array}\right]\) 自然有

\[ \dot{q}(t)^{\top}==\begin{bmatrix} \frac{\partial \theta}{\partial t} & \frac{\partial \alpha}{\partial t} & \frac{\partial \phi}{\partial t} \\ \end{bmatrix} \]

三个变量的拉格朗日方程为: $$ \begin{aligned} & \frac{\partial^2 L}{\partial t \partial \dot{\theta}}-\frac{\partial L}{\partial \theta}=Q_1 \ & \frac{\partial^2 L}{\partial t \partial \dot{\alpha}}-\frac{\partial L}{\partial \alpha}=Q_2 \ & \frac{\partial^2 L}{\partial t \partial \dot{\phi}}-\frac{\partial L}{\partial \phi}=Q_3 \end{aligned} $$

广义力 \(Q_i\) 用于描述相对于广义坐标施加到系统的非保守力 (例如摩擦力)。在这种情况下, 作用在旋转臂上的广义力为:

\[ Q_1=\tau-D_{\mathrm{r}} \dot{\theta} \]

作用在底部和顶部摆上的是:

\[ \begin{aligned} & Q_2=-D_{\mathrm{p} 1} \dot{\alpha} \\ & Q_3=-D_{\mathrm{p} 2} \dot{\phi} \end{aligned} \]

计算系统的动能和势能, 即可得到系统的非线性运动方程。

施加在旋转臂底部 (即负载齿轮处) 的扭矩由伺服电机产生, 如下式所示:

\[ \tau=\frac{\eta_{\mathrm{g}} K_{\mathrm{g}} \eta_{\mathrm{m}} k_{\mathrm{t}}\left(V_{\mathrm{m}}-K_{\mathrm{g}} k_{\mathrm{m}} \dot{\theta}\right)}{R_{\mathrm{m}}} \]

我们要对非线性的运动方程线性化,以便于控制器设计。下面是如何线性化称为 \(f(z)\) 的二变量非线性函数的示例。变量 \(z\) 已定义:

\[ z^{\mathrm{T}}=\left[\begin{array}{ll} z_1 & z_2 \end{array}\right] \]

\(f(z)\) 将关于点 \(z_0^{\mathrm{T}}=\left[\begin{array}{ll}a & b\end{array}\right]\) 借助于泰勒展开进行线性化, 线性化函数是:

\[ f_{\text {lin }}=f\left(z_0\right)+\left.\left(\frac{\partial f(z)}{\partial z_1}\right)\right|_{z=z_0}\left(z_1-a\right)+\left.\left(\frac{\partial f(z)}{\partial z_2}\right)\right|_{z=z_0}\left(z_2-b\right) \]

最终,可以得到一个线性状态空间方程:

\[ \begin{aligned} & \dot{x}=A x+B u \\ & y=C x+D u \end{aligned} \]

此时,系统内状态与输出为: $$ \begin{aligned} & x^{\mathrm{T}}=\left[\begin{array}{llllll} \theta & \alpha & \phi & \dot{\theta} & \dot{\alpha} & \dot{\phi} \end{array}\right] \ & y^{\mathrm{T}}=\left[\begin{array}{lll} x_1 & x_2 & x_3 \end{array}\right] \end{aligned} $$