一阶倒立摆建模仿真实验
倒立摆建模仿真实验
好叭,这是篇课程作业,哈哈哈哈哈水一篇。
一、研究背景
倒立摆是控制理论、机器人学和自动化领域中的一个经典研究模型。倒立摆的动力学原理与双足机器人、平衡车、无人机,以及火箭发射时的姿态控制、导弹制导等平衡控制场景高度相关。研究倒立摆有助于解决这类系统的实时稳定控制问题。
二、问题描述
关于倒立摆的问题描述如下:

本例中取小车质量 $M=2kg$,摆杆质量 $m=0.1kg$。后面建模里 $l$ 按“转动支点到摆杆质心的距离”理解,并代入 $l=0.5m$。现需控制小车的作用力 $F$,使得摆杆保持竖直状态。
三、数学建模
对于图中模型,现做以下标注:

牛顿欧拉方法
从传统的力和角度的分析,根据牛顿第二定律可写出摆杆在水平方向和竖直方向的力平衡方程:
根据摆杆质心力矩平衡,可列出方程:
最后,写出小车的力平衡方程:
综合以上四式,得:
化简消去中间变量 $H$、$V$ 得:
在平衡状态周围,$\theta$ 较小,所以有 $\sin\theta \approx \theta$、$\cos\theta \approx 1$,进而得:
选取状态变量 $x_1=\theta$、$x_2=\dot{\theta}$、$x_3=y$、$x_4=\dot{y}$,得到状态方程为:
其中摆杆绕质心的转动惯量为:
将参数 $M=2$、$m=0.1$、$l=0.5$、$g=9.8$ 带入状态方程得:
一般性推广,本例中旋转件为摆杆。若旋转件换做其他形状的刚体,则只需计算出零件对于其质心的转动惯量 $I$,以及转动支点距离摆杆质心的距离 $l$,其对应的状态方程如下:
拉格朗日法
直接列拉格朗日方程,其中取 $q_1=y$、$q_2=\theta$:
接下来计算 $\frac{\partial L}{\partial \dot{q_1}}$、$\frac{\partial L}{\partial \dot{q_2}}$,也就是 $\frac{\partial L}{\partial \dot{y}}$、$\frac{\partial L}{\partial \dot{\theta}}$:
然后再带入拉格朗日方程,会发现结果跟之前牛顿欧拉方法求出来的一毛一样,实在是懒得一步一步敲公式了。
tips
转动惯量计算:
转动惯量是刚体抵抗角加速度能力的量度,离散情况下可以先记成 $I = m r^2$,连续刚体则写成:
其中 $dm$ 是微小质量单元。
本问题中摆杆绕质心的转动惯量为:
平行轴定理:
其中 $d$ 是两轴之间的距离,$I_{cm}$ 是物体绕质心的转动惯量。
四、稳定性分析
计算状态矩阵特征方程:
即:
特征值为 $\lambda_1\approx3.9$、$\lambda_2\approx-3.9$、$\lambda_3=0$、$\lambda_4=0$。
因此系统存在正实部特征值,即存在右半平面极点,系统不稳定,由此可见倒立摆在无外界输入的情况下无法在竖直向上保持稳定。
后续可通过状态反馈控制,配置系统极点均在左半平面内,使系统变得稳定。
五、能控性和能观性分析
能控性矩阵表示为:
计算能控性矩阵结果为:
即 $\operatorname{rank}(Q_c)=4$,系统可控。
系统的能观性与传感器测量量密切相关。若传感器仅测量转角,则系统输出矩阵为:
若仅测量小车位移,则输出矩阵为:
同理,若同时测量转角与小车位移,则输出矩阵为:
三种情况下系统的能观性矩阵由下式计算:
计算得:
因此系统在仅有小车位移传感器、以及同时具有小车位移传感器和摆杆角度传感器这两种情况下可观测;在仅有角度传感器的情况下不可观。
六、控制器设计(极点配置状态反馈控制)
不妨设极点为 $p_1=-0.5$、$p_2=-1$、$p_3=-1.5$、$p_4=-2$。
此时系统极点位于左半平面,满足稳定性要求。
由上述说明可知,系统完全能控,化原系统状态矩阵为能控标准型:
原系统的特征多项式为:
构造变换矩阵:
则存在线性变换使得:
即:
目标特征多项式为:
则有:
即
则状态反馈矩阵 $K$:
考虑到手动计算具有一定的不准确性,而且在后期仿真验证中,手动计算所得反馈矩阵效果不如 Matlab 计算所得结果。原因可能是手动计算的显式求导和小数点后位数省略使误差增大。最终实验仿真以 Matlab 计算所得的增益矩阵为主:
1 | A = [0, 1, 0, 0; |
最终输出结果:
1 | K=[ -32.52 -7.32 -0.21 -0.86] |
七、Gazebo仿真
为了验证可行性,并展示整体控制效果,基于 ROS 和 Gazebo 设计仿真实验。
控制器代码如下:
1 |
|
整体流程如下:
初始状态时,由于没有控制器输入,倒立摆头朝下处于稳定状态,如图所示:

此时,对滑块施加左右变化的力,对摆杆注入一定动能,让摆杆摆动起来,如图:

当摆动至平衡点附近,控制器切换为状态反馈控制,控制施加在滑块上的力,使摆杆保持竖直朝上,如图:

同时,当在杆上施加一定的外力干扰时,也可以及时回正,其角度、位移等参数曲线如下右图所示:
实验效果见演示视频





