直线二阶倒立摆之数学建模

前言

本文是关于二阶倒立摆模型如何在平衡点处得到其的线性化模型的说明,介绍的比较详细,但是大部分内容参考于前人所写的论文,这些参考文献,我将列在本文的最后,但是我所建立的模型不同于论文中的模型,基本上计算过程我也是手算了一遍,在这里写出来,也是为了给想要计算一遍的人一个参考。如果大家迫切需要得到结论,大家可以直接照抄论文内的模型,论文内的模型更具有普适性。我这个模型是个特例。

仿真物理模型的建立

为了达到更加逼真以及生动的演示效果,我将采用simulink中的simscape模块对二阶直线倒立摆进行建模。关于如何使用simscape对二阶倒立摆建模我将在另外一篇文章中进行讲解。直接给出建立的模型。如下
在这里插入图片描述
物理意义描述为

物理含义符号
滑轨质量M
滑轨位置x
摆杆1质量m1
摆杆1角度θ1
摆杆1半杆长l1
摆杆2质量m2
摆杆2角度θ2
摆杆2半杆长l2

真正完整的真实的倒立摆模型在两个摆杆之间的应当还会有一个转轴,但是我这里是使用simulink仿真,并不是为了现实的控制,所以直接忽略了,但是在后续会给出完整模型的参数

二阶倒立摆的数学模型

使用拉格朗日方程建模

使用拉格朗日方程对二阶倒立摆进行数学模型的建模。拉格朗日方程为
d d t ∂ L ∂ q ˙ i − ∂ L ∂ q i = f i ( i = 1 , 2 , 3... ) (1) \frac{d}{dt}\frac{\partial{L}}{\partial{\dot{q}_i}}-\frac{\partial{L}}{\partial{q}_i}=f_i(i=1,2,3...) \tag{1} dtdq˙iLqiL=fi(i=1,2,3...)(1)

此处关于拉格朗日方程的详细说明大家可以参照小时物理百科——一个页面非常精美的物理概念的集合网站,拉格朗日概念传送门

其中qi为系统的广义坐标,fi为系统第i个广义坐标上的系统外力,L为系统的拉格朗日量,在二阶倒立摆中,描述系统的广义坐标即为(x,θ12);而显然在θ1和θ2上系统的外力为零;而拉格朗日量表述为:
L ( q 1 , q 2 , . . . , q ˙ 1 , q ˙ 2 , . . . , t ) = T ( q 1 , q 2 , . . . , q ˙ 1 , q ˙ 2 , . . . , t ) − V ( q 1 , q 2 , . . . , t ) (2) L(q_1,q_2,...,\dot{q}_1,\dot{q}_2,...,t)=T(q_1,q_2,...,\dot{q}_1,\dot{q}_2,...,t)-V(q_1,q_2,...,t) \tag{2} L(q1,q2,...,q˙1,q˙2,...,t)=T(q1,q2,...,q˙1,q˙2,...,t)V(q1,q2,...,t)(2)
其中T与V分别为系统的动能与势能

数学模型的建立

在二阶倒立摆中,系统动能表述为:
T = T 0 + T 1 + T 2 (3) T=T_0+T_1+T_2 \tag{3} T=T0+T1+T2(3)
其中T0、T1、T2分别为小车、摆杆1、摆杆2的动能,下面我们再计算T0、T1、T2
T 0 = 1 2 M x ˙ 2 (4) T_0=\frac{1}{2}M\dot{x}^2\tag{4} T0=21Mx˙2(4)
T 1 = 1 6 m 1 l 1 2 θ ˙ 1 2 + 1 2 m 1 [ ( d d t ( x − l 1 s i n θ 1 ) ) 2 + ( d d t l 1 c o s θ 1 ˙ ) 2 ] (5) T_1=\frac{1}{6}m_1l_1^2\dot{\theta}_1^2+\frac{1}{2}m_1\left[{(\frac{d}{dt}\left(x-l_1sin\theta_1\right))}^2+\left(\frac{d}{dt}l_1cos\dot{\theta_1}\right)^2\right]\tag{5} T1=61m1l12θ˙12+21m1[(dtd(xl1sinθ1))2+(dtdl1cosθ1˙)2](5)
T 2 = 1 6 m 2 l 2 2 θ ˙ 2 2 ⏟ 转 动 动 能 + 1 2 m 2 [ ( d d t ( x − 2 l 1 s i n θ 1 − l 2 s i n θ 2 ) ) 2 ⏟ x 方 向 位 置 的 导 数 , 即 x 方 向 的 速 度 + ( d d t ( 2 l 1 c o s θ 1 + l 2 c o s θ 2 ) ) 2 ⏟ y 方 向 位 置 的 导 数 , 即 y 方 向 的 速 度 ] (6) T_2=\underbrace{\frac{1}{6}m_2l_2^2\dot{\theta}_2^2}_{转动动能}+\frac{1}{2}m_2\left[\underbrace{\left(\frac{d}{dt}\left(x-2l_1sin\theta_1-l_2sin\theta_2\right)\right)^2}_{x方向位置的导数,即x方向的速度}+\underbrace{\left(\frac{d}{dt}\left(2l_1cos\theta_1+l_2cos\theta_2\right)\right)^2}_{y方向位置的导数,即y方向的速度}\right]\tag{6} T2= 61m2l22θ˙22+21m2xx (dtd(x2l1sinθ1l2sinθ2))2+yy (dtd(2l1cosθ1+l2cosθ2))2(6)

这里简单的解释以下,T1、T2如何求的。即为转动动能和平动动能,平动动能里再细分为x和y方向的动能,上面这个公式渲染的不是很好,看来csdn对latex的支持也不太好

而系统势能描述为
V = V 0 + V 1 + V 2 (7) V=V_0+V_1+V_2\tag{7} V=V0+V1+V2(7)
同样为小车、摆杆1、摆杆2的势能之和
V 0 = 0 (8) V_0=0\tag{8} V0=0(8)
V 1 = m 1 g l 1 c o s θ 1 (9) V_1=m_1gl_1cos\theta_1\tag{9} V1=m1gl1cosθ1(9)
V 2 = m 2 g ( 2 l 1 c o s θ 1 + l 2 c o s θ 2 ) (10) V_2=m_2g\left(2l_1cos\theta_1+l_2cos\theta_2\right)\tag{10} V2=m2g(2l1cosθ1+l2cosθ2)(10)
简单整合一下
T = 1 2 ( M + m 1 + m 2 ) x ˙ 2 + ( 2 3 m 1 + 2 m 2 ) l 1 2 θ ˙ 1 2 + 2 3 m 2 l 2 2 θ ˙ 2 2 − ( m 1 + 2 m 2 ) l 1 x ˙ θ ˙ 1 c o s θ 1 − m 2 l 2 x ˙ θ ˙ 2 c o s θ 2 + 2 m 2 l 1 l 2 θ ˙ 1 θ ˙ 2 c o s ( θ 1 − θ 2 ) (11) \begin{aligned} T=&\frac{1}{2}\left(M+m_1+m_2\right){\dot{x}}^2+\left(\frac{2}{3}m_1+2m_2\right)l_1^2{\dot{\theta}}_1^2 \\ &+\frac{2}{3}m_2l_2^2{\dot{\theta}}_2^2-\left(m_1+2m_2\right)l_1\dot{x}{\dot{\theta}}_1cos{\theta}_1\\ &-m_2l_2\dot{x}{\dot{\theta}}_2cos{\theta}_2+2m_2l_1l_2\dot{\theta}_1\dot{\theta}_2cos(\theta_1-\theta_2) \end{aligned} \tag{11} T=21(M+m1+m2)x˙2+(32m1+2m2)l12θ˙12+32m2l22θ˙22(m1+2m2)l1x˙θ˙1cosθ1m2l2x˙θ˙2cosθ2+2m2l1l2θ˙1θ˙2cos(θ1θ2)(11)
V = m 1 g l 1 c o s θ 1 + m 2 g ( 2 l 1 c o s θ 1 + l 2 c o s θ 2 ) (12) V=m_1gl_1cos{\theta}_1+m_2g(2l_1cos\theta_1+l_2cos\theta_2) \tag{12} V=m1gl1cosθ1+m2g(2l1cosθ1+l2cosθ2)(12)

这里简单的说明一下,大家如果在建模的时候所选取的角度的正负不一样的话,这里有一些符号会又变化,本公式是以摆杆在铅垂线的左侧时的角度为正的。

前面已经提到,拉格朗日算子为
L = T − V (13) L=T-V\tag{13} L=TV(13)
而在该二阶摆系统中,在广义坐标θ1和θ2上系统的外力为零,故根据拉格朗日方程即可确定下式
{ d d t ∂ V ∂ θ ˙ 1 − ∂ L ∂ θ 1 = 0 d d t ∂ V ∂ θ ˙ 2 − ∂ L ∂ θ 2 = 0 (14) \begin{cases} \frac{d}{dt}\frac{\partial{V}}{\partial{\dot{\theta}_1}}-\frac{\partial{L}}{\partial{\theta}_1}=0 \\ \frac{d}{dt}\frac{\partial{V}}{\partial{\dot{\theta}_2}}-\frac{\partial{L}}{\partial{\theta}_2}=0 \end{cases}\tag{14} {dtdθ˙1Vθ1L=0dtdθ˙2Vθ2L=0(14)
将式(13)带入(14)并化简后即可得到
{ ( 4 3 m 1 + 4 m 2 ) l 1 θ ¨ 1 + ( m 1 + 2 m 2 ) x ¨ c o s θ 1 + 2 m 2 l 2 c o s ( θ 1 − θ 2 ) θ ¨ 2 + 2 m 2 l 2 θ ˙ 2 2 s i n ( θ 2 − θ 1 ) + ( m 1 + 2 m 2 ) g s i n θ 1 = 0 4 3 l 2 θ ¨ 2 − x ¨ c o s θ 2 + 2 l 1 x ¨ c o s ( θ 1 − θ 2 ) + 2 l 1 θ ˙ 1 2 s i n ( θ 1 − θ 2 ) − g s i n θ 2 = 0 (15) \begin{aligned} \begin{cases} &(\frac{4}{3}m_1+4m_2)l_1{\ddot{\theta}}_1+(m_1+2m_2)\ddot{x}cos\theta_1+2m_2l_2cos(\theta_1-\theta_2){\ddot{\theta}}_2\\ &+2m_2l_2{\dot{\theta}}_2^2sin(\theta_2-\theta_1)+(m_1+2m_2)gsin\theta_1=0\\ &\frac{4}{3}l_2{\ddot{\theta}}_2-\ddot{x}cos\theta_2+2l_1\ddot{x}cos\left(\theta_1-\theta_2\right)+2l_1{\dot{\theta}}_1^2sin\left(\theta_1-\theta_2\right)-gsin\theta_2=0 \end{cases} \end{aligned}\tag{15} (34m1+4m2)l1θ¨1+(m1+2m2)x¨cosθ1+2m2l2cos(θ1θ2)θ¨2+2m2l2θ˙22sin(θ2θ1)+(m1+2m2)gsinθ1=034l2θ¨2x¨cosθ2+2l1x¨cos(θ1θ2)+2l1θ˙12sin(θ1θ2)gsinθ2=0(15)
为了进一步的化简,作以下设定:
{ θ ¨ 1 = f 1 ( x , θ 1 , θ 2 , x ˙ , θ ˙ 1 , θ ˙ 2 ) = 0 θ ¨ 2 = f 2 ( x , θ 1 , θ 2 , x ˙ , θ ˙ 1 , θ ˙ 2 ) = 0 (16) \begin{cases} \ddot{\theta}_1=f_1(x,\theta_1,\theta_2,\dot{x},\dot{\theta}_1,\dot{\theta}_2)=0\\ \ddot{\theta}_2= f_2(x,\theta_1,\theta_2,\dot{x},\dot{\theta}_1,\dot{\theta}_2)=0 \end{cases}\tag{16} {θ¨1=f1(x,θ1,θ2,x˙,θ˙1,θ˙2)=0θ¨2=f2(x,θ1,θ2,x˙,θ˙1,θ˙2)=0(16)
之后对各个状态变量,进行一阶展开即可得到公式(17)
{ θ ¨ 1 = k 11 x + k 12 θ 1 + k 13 θ 2 + k 14 x ˙ + k 15 θ ˙ 1 + k 16 θ ˙ 2 + k 17 x ¨ θ ¨ 2 = k 21 x + k 22 θ 1 + k 23 θ 2 + k 24 x ˙ + k 25 θ ˙ 1 + k 26 θ ˙ 2 + k 27 x ¨ (17) \begin{cases} \ddot{\theta}_1=k_{11}x+k_{12}\theta_1+k_{13}\theta_2+k_{14}\dot{x}+k_{15}\dot{\theta}_1+k_{16}\dot{\theta}_2+k_{17}\ddot{x}\\ \ddot{\theta}_2=k_{21}x+k_{22}\theta_1+k_{23}\theta_2+k_{24}\dot{x}+k_{25}\dot{\theta}_1+k_{26}\dot{\theta}_2+k_{27}\ddot{x} \end{cases}\tag{17} {θ¨1=k11x+k12θ1+k13θ2+k14x˙+k15θ˙1+k16θ˙2+k17x¨θ¨2=k21x+k22θ1+k23θ2+k24x˙+k25θ˙1+k26θ˙2+k27x¨(17)
其中
k 11 = ∂ f 1 ∂ x ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 21 = ∂ f 2 ∂ x ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 12 = ∂ f 1 ∂ θ 1 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 m 1 + 6 m 2 4 m 1 + 3 m 2 k 22 = ∂ f 2 ∂ θ 1 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = − 9 ( m 1 + 2 m 2 ) 2 ( 4 m 1 + 3 m 2 ) g l 2 k 13 = ∂ f 1 ∂ θ 2 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = − 9 m 2 8 m 1 + 6 m 2 g l 1 k 23 = ∂ f 2 ∂ θ 2 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 ( m 1 + 3 m 2 ) 2 ( 2 m 1 + 3 m 2 ) g l 2 k 14 = ∂ f 1 ∂ x ˙ ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 24 = ∂ f 2 ∂ x ˙ ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 15 = ∂ f 1 ∂ θ ˙ 1 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 25 = ∂ f 2 ∂ θ ˙ 1 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 16 = ∂ f 1 ∂ θ ˙ 2 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 26 = ∂ f 2 ∂ θ ˙ 2 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 0 k 17 = ∂ f 1 ∂ x ¨ ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 ( m 1 + m 2 ) 4 ( 2 m 1 + 3 m 2 ) k 27 = ∂ f 2 ∂ x ¨ ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 m 1 2 l 2 ( 4 m 1 + 3 m 2 ) \begin{aligned} &k_{11} =\frac{\partial{f_1}}{\partial{x}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0 &k_{21} =\frac{\partial{f_2}}{\partial{x}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0\\ &k_{12} =\frac{\partial{f_1}}{\partial{\theta_1}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3m_1+6m_2}{4m_1+3m_2} &k_{22} =\frac{\partial{f_2}}{\partial{\theta_1}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{-9(m_1+2m_2)}{2(4m_1+3m_2)}\frac{g}{l2}\\ &k_{13} =\frac{\partial{f_1}}{\partial{\theta_2}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{-9m_2}{8m_1+6m_2}\frac{g}{l1} &k_{23} =\frac{\partial{f_2}}{\partial{\theta_2}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3(m_1+3m_2)}{2(2m_1+3m_2)}\frac{g}{l2}\\ &k_{14}=\frac{\partial{f_1}}{\partial{\dot{x}}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0 &k_{24}=\frac{\partial{f_2}}{\partial{\dot{x}}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0\\ &k_{15}=\frac{\partial{f_1}}{\partial{\dot{\theta}_1}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0 &k_{25}=\frac{\partial{f_2}}{\partial{\dot{\theta}_1}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0\\ &k_{16}=\frac{\partial{f_1}}{\partial{\dot{\theta}_2}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0 &k_{26}=\frac{\partial{f_2}}{\partial{\dot{\theta}_2}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=0\\ &k_{17}=\frac{\partial{f_1}}{\partial{\ddot{x}}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3(m_1+m_2)}{4(2m_1+3m_2)} &k_{27}=\frac{\partial{f_2}}{\partial{\ddot{x}}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3m_1}{2l_2(4m_1+3m_2)}\\ \end{aligned} k11=xf1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k12=θ1f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=4m1+3m23m1+6m2k13=θ2f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=8m1+6m29m2l1gk14=x˙f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k15=θ˙1f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k16=θ˙2f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k17=x¨f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=4(2m1+3m2)3(m1+m2)k21=xf2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k22=θ1f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=2(4m1+3m2)9(m1+2m2)l2gk23=θ2f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=2(2m1+3m2)3(m1+3m2)l2gk24=x˙f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k25=θ˙1f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k26=θ˙2f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=0k27=x¨f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=2l2(4m1+3m2)3m1

关于这里的线性化方法,大家最好不要用手算,可以去了解以下用matlab的泰勒级数展开来计算,或者对应求偏导,对应函数为 taylar和partial
同时我这里的倒立摆的参数给的是不完整的参数,完整的参数如下,其中m3为转轴重量

k 12 = ∂ f 1 ∂ θ 1 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 ( m 1 + 2 m 2 + 2 m 3 ) g ( 4 m 1 + 3 m 2 + 12 m 3 ) l 1 k 22 = ∂ f 2 ∂ θ 1 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = − 9 ( m 1 + 2 m 2 + 2 m 3 ) g 2 ( 4 m 1 + 3 m 2 + 12 m 3 ) l 2 k 13 = ∂ f 1 ∂ θ 2 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = − 9 m 2 g 2 ( 4 m 1 + 3 m 2 + 12 m 3 ) l 1 k 23 = ∂ f 2 ∂ θ 2 ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 ( m 1 + 3 m 2 + 3 m 3 ) g ( 4 m 1 + 3 m 2 + 12 m 3 ) l 2 k 17 = ∂ f 1 ∂ x ¨ ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 ( 2 m 1 + m 2 + 4 m 3 ) 2 ( 4 m 1 + 3 m 2 + 12 m 3 ) l 1 k 27 = ∂ f 2 ∂ x ¨ ∣ ( x , θ 1 , θ 2 , x ˙ , θ 1 , θ 2 , x ¨ ) = 0 = 3 ( m 1 − m 3 l 2 ) 2 ( 4 m 1 + 3 m 2 + 12 m 3 ) l 2 \begin{aligned} &k_{12} =\frac{\partial{f_1}}{\partial{\theta_1}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3(m_1+2m_2+2m_3)g}{(4m_1+3m_2+12m_3)l_1} &k_{22} =\frac{\partial{f_2}}{\partial{\theta_1}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{-9(m_1+2m_2+2m_3)g}{2(4m_1+3m_2+12m_3)l_2}\\ &k_{13} =\frac{\partial{f_1}}{\partial{\theta_2}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{-9m_2g}{2(4m_1+3m_2+12m_3)l_1} &k_{23} =\frac{\partial{f_2}}{\partial{\theta_2}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3(m_1+3m_2+3m_3)g}{(4m_1+3m_2+12m_3)l_2}\\ &k_{17}=\frac{\partial{f_1}}{\partial{\ddot{x}}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3(2m_1+m_2+4m_3)}{2(4m_1+3m_2+12m_3)l_1} &k_{27}=\frac{\partial{f_2}}{\partial{\ddot{x}}}\bigg|_{\left(x,\theta_1,\theta_2,\dot{x},\theta_1,\theta_2,\ddot{x}\right)=0}=\frac{3(m_1-m_3l_2)}{2(4m_1+3m_2+12m_3)l_2}\\ \end{aligned} k12=θ1f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=(4m1+3m2+12m3)l13(m1+2m2+2m3)gk13=θ2f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=2(4m1+3m2+12m3)l19m2gk17=x¨f1(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=2(4m1+3m2+12m3)l13(2m1+m2+4m3)k22=θ1f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=2(4m1+3m2+12m3)l29(m1+2m2+2m3)gk23=θ2f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=(4m1+3m2+12m3)l23(m1+3m2+3m3)gk27=x¨f2(x,θ1,θ2,x˙,θ1,θ2,x¨)=0=2(4m1+3m2+12m3)l23(m1m3l2)

将x、θ1、θ2、x、dθ1、dθ2作为系统的状态变量,ddx为控制输入(控制小车的力作为控制输入),则系统的状态空间表达式可写为
{ X ˙ = A X + B u Y = C X + D u (18) \begin{cases} \dot{X}=AX+Bu\\ Y=CX+Du \end{cases}\tag{18} {X˙=AX+BuY=CX+Du(18)
其中
X = [ x θ 1 θ 2 x ˙ θ ˙ 1 θ ˙ 2 ] , Y = [ x θ 1 θ 2 ] , A = [ 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 k 12 k 13 0 0 0 0 k 22 k 23 0 0 0 ] X= \begin{bmatrix} x\\ \theta_1\\ \theta_2\\ \dot{x}\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{bmatrix} ,Y= \begin{bmatrix} x\\ \theta_1\\ \theta_2\\ \end{bmatrix} ,A= \begin{bmatrix} 0&0&0&1&0&0\\ 0&0&0&0&1&0\\ 0&0&0&0&0&1\\ 0&0&0&0&0&0\\ 0&k_{12}&k_{13}&0&0&0\\ 0&k_{22}&k_{23}&0&0&0\\ \end{bmatrix} X=xθ1θ2x˙θ˙1θ˙2,Y=xθ1θ2,A=0000000000k12k220000k13k23100000010000001000
B = [ 0 0 0 1 k 17 k 27 ] , C = [ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 ] , D = [ 0 0 0 ] B= \begin{bmatrix} 0\\ 0\\ 0\\ 1\\ k_{17}\\ k_{27} \end{bmatrix} ,C= \begin{bmatrix} 1&0&0&0&0&0\\ 0&1&0&0&0&0\\ 0&0&1&0&0&0\\ \end{bmatrix} ,D= \begin{bmatrix} 0\\ 0\\ 0 \end{bmatrix} B=0001k17k27,C=100010001000000000,D=000
此即系统在平衡点处的线性化模型

线性化模型的第二种方法

由于在平衡点附近运动时,摆动角度很小,所以可以近似认为
s i n θ = θ c o s θ = 1 sin\theta=\theta\\ cos\theta=1 sinθ=θcosθ=1
在这种近似条件下,带入之前的拉格朗日方程中,也可以求出对应的线性化模型

详细的求解方式,大家可以参照文献[1]

总结

使用泰勒展开的方式求得线性化模型相比于近似的方法更偏理想化

参考文献
[1] 张立迎. 直线二级倒立摆稳定控制研究[D].山东大学,2009.
[2] 史晓霞,张振东,李俊芳,杨屹.二级倒立摆系统数学模型的建立及意义[J].河北工业大学学报,2001(05):48-51.
[3] 姜辉. 二级倒立摆控制方法研究[D].哈尔滨工程大学,2010.

如果觉得这篇文章对你有帮助,可以在下方为我点个赞,你的支持就是我写作的动力哦
如如果觉得非常好,也可以点击打赏赏博主一点点小钱钱哦
在这里插入图片描述
下一篇讲解如何使用simscape对二阶倒立摆对系统进行建模
在这里插入图片描述

  • 47
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 二阶倒立摆是指一种由两个旋转质量连接而成的机构,这种机构在反向的重力作用下可以自我平衡。在Simscape中,可以通过建立等效电气模型来表示二阶倒立摆,将旋转角加速度、位置和控制信号转化为电压/电流信号,然后进行仿真计算。 Simscape提供了用于构建旋转质量、弹簧、振动器和其他元素的库,以及用于建立倍增器、PID控制器控制器的库。用户可以将这些模块组合成一个完整的二阶倒立摆模型,并对其进行仿真分析。 在建立二阶倒立摆Simscape模型时,需要注意以下几点: 1.建立旋转质量模型时,需要考虑其惯性矩和阻尼系数等因素。 2.建立控制器模型时,需要考虑系统稳定性和控制算法的正确性。 3.模型参数的设定和仿真分析的结果需要与实际物理系统进行比较,验证Simscape模型的准确性和可靠性。 总之,二阶倒立摆Simscape模型的建立需要深入理解物理机制和数学控制方法,以及Simscape软件的使用技巧。这种模型在机器人控制、交通工具控制和航空航天等领域中有广泛应用。 ### 回答2: 二阶倒立摆是一种非常经典的控制系统,它可以应用于机器人的平衡和姿态控制等领域。Simscape是一种用于物理建模和仿真的MATLAB工具箱。通过使用Simscape,我们可以实现一个二阶倒立摆系统的模拟和控制,从而了解控制系统的工作原理。 二阶倒立摆系统主要由电机、直流电机控制器、摆杆、摆轮和支撑结构等组成。其中,直流电机控制器控制电机的转速,并将转速输入到摆杆上,产生控制作用。摆杆和摆轮的转动受到重力和支撑结构的约束,从而产生相应的角度和角速度输出。控制系统需要根据输出信息来控制电机的转速,实现二阶倒立摆的平衡。 在Simscape中,我们可以建立一个基于物理模型的二阶倒立摆系统。通过使用Simulink进行控制算法的设计和仿真,在仿真环境中进行快速的控制系统开发和调试。在仿真过程中,我们还可以对系统的各个参数进行调整,优化控制系统的性能。 总之,利用Simscape对二阶倒立摆系统进行建模和仿真,可以有效地帮助我们理解该系统的基本原理,更好地掌握控制系统的设计和调试技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值