美文网首页
一阶倒立摆系统

一阶倒立摆系统

作者: TonnyYan | 来源:发表于2019-01-06 16:14 被阅读23次

    前言

    倒立摆系统(Inverted Pendulum System, IPS)是一个典型的复杂、不稳定、非线性、多输入多输出(MIMO)系统,是进行控制理论研究的理想实验平台。

    对倒立摆系统的研究能有效地反映控制中的许多基本问题:如非线性问题、鲁棒性问题、稳定化系统的镇定问题、随动问题以及跟踪问题。

    通过对倒立摆系统的控制可以检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时倒立摆模型在军工、航空航天、机器人领域都有广泛应用,如火箭发射时的垂直控制,导弹飞行中的姿态控制等,足式机器人(humanoid)行走平衡控制。

    控制目标

    一阶倒立摆系统的控制问题就是通过计算给定直流电机电流大小,即小车运动所需力的大小(控制作用)使摆杆偏角和小车位置(系统输出)能够尽快达到一个平衡点(注意这里有多个控制目标),并使之没有大的振荡和超调。进一步,当系统达到稳定后能克服各种随机扰动(例如人为拨动摆杆使之突然偏离平衡点)而仍能保持稳定运行。

    建模分析

    分别对小车和摆杆进行受力分析,建立动力学方程。注意,这里的建模我们忽略空气流动阻力和其他次要摩擦力作用。

    Cart-pendulum

    小车运动

    小车水平方向的运动:
    F - H{\text{ = }}M\frac{{{d^2}}}{{d{t^2}}}x

    H为摆杆对小车的作用力,F为可控的对小车的外部输入,x是小车位置也是系统的一个输出。

    摆杆运动

    对摆杆的动力学建模分解为水平方向,垂直方向及摆杆的转动。

    水平方向受力分析:
    H = m\frac{{{d^2}}}{{d{t^2}}}(x + l\sin \theta )

    H = m \ddot x + ml \ddot \theta \cos \theta - ml \dot \theta ^2 \sin \theta

    注:这里的\thetax都是关于时间t的函数,是动态变量。特别的,\theta也是系统的一个输出。

    垂直方向受力分析:
    V =mg + m\frac{{{d^2}}}{{d{t^2}}}( l\cos \theta )

    V = mg - ml \ddot \theta \sin \theta - ml \dot \theta ^2 \cos\theta

    摆杆绕其重心的力矩平衡方程:
    J\ddot \theta = Vl \sin \theta - Hl \cos \theta

    J为摆杆转动惯量。

    模型简化

    到目前为止倒立摆系统建模已经完成,我们可以清楚的看到倒立摆系统是一个复杂的、关于状态变量非线性的、多变量耦合的、多输出系统。

    需要注意的是,我们期望摆杆的运动属于小倾角运动,因此我们可以在期望位置(平衡点)对系统作线性化处理从而简化模型:\dot \theta ^2 \approx 0, \sin \theta \approx \theta, \cos \theta \approx 1。此外,\theta + \phi = \pi,则有\cos \theta = -\cos \phi, \sin \phi = \sin \theta。代入简化,得:

    H = m \ddot x + ml \ddot \theta

    V = mg - ml \ddot \theta \theta

    J \ddot \phi = Vl \theta - Hl

    联立以上几式,且有J = \frac{4}{3} m l ^2,我们可得:
    (M + m) \ddot x + ml \ddot \theta = F

    \frac{7}{3}l \ddot \theta + \ddot x = g \theta

    到目前为止,倒立摆动态模型简化完毕,我们可以运用古典控制理论或现代控制理论对系统进行分析和设计,分别建立传递函数模型或状态空间模型。

    基于传递函数模型的古典控制理论,更适合于单输入单输出(SISO)系统的分析和设计,由于倒立摆系统有两个控制目标,因此我们选择基于状态空间模型的现代控制理论分析方法。当然,要是不嫌麻烦完全可以建立两个输入输出传递函数进行分析。

    状态空间模型

    \begin{aligned} \dot x&= Ax+ Bu \\ y &= Cx + Du\\ \end{aligned}

    我们取M=0.5, m=0.2, g = 9.8, l = 0.3,代入:
    A = \left[ {\begin{array}{*{20}{c}} 0&1&0&0 \\ 0&0&{ - 1.367}&0 \\ 0&0&0&1 \\ 0&0&{15.95}&0 \end{array}} \right]

    B = \left[ {\begin{array}{*{20}{c}} 0 \\ {1.628} \\ 0 \\ { - 2.3256} \end{array}} \right]C = \left[ {\begin{array}{*{20}{c}} 1&0&0&0 \\ 0&0&1&0 \end{array}} \right]D = \left[ {\begin{array}{*{20}{c}} 0 \\ 0 \end{array}} \right]x = \left[ {\begin{array}{*{20}{c}} x \\ {\dot x} \\ \theta \\ {\dot \theta } \end{array}} \right]

    建立了状态空间模型,接下来就是系统分析和控制器设计了,等下回再更。

    相关文章

      网友评论

          本文标题:一阶倒立摆系统

          本文链接:https://www.haomeiwen.com/subject/nqksrqtx.html