对于小车来说:水平方向受到F(x)和 H x H_{x} Hx两个力,垂直方向上小车在这里不研究 对于摆杆来说:水平方向上受到 H x H_{x} Hx一个力,垂直方向上受到 H y H_{y} Hy和重力mg 参数说明:x是水平上的位移,L(图中小写)是长度,g是重力加速度,m是摆杆的质量,M是车子重量,下面进行系统的运动学建模。
二、运动方程
对小车:
F x − H x = M a = M x ′ ′ F_{x}-H_{x}= Ma=M{x}'' Fx−Hx=Ma=Mx′′
对摆杆水平方向上:
H x = m a = m D x ′ ′ H_{x}=ma=m{D_{x}}'' Hx=ma=mDx′′
其中:
D x = x + L s i n θ D_{x}=x+Lsinθ Dx=x+Lsinθ
整理可以得到系统的第一个方程:
( M + m ) x ′ ′ + m L θ ′ ′ − m L θ ′ 2 c o s θ = F x (M+m){x}''+mL{\theta }''-mL{\theta }'^{2}cos\theta = F_{x} (M+m)x′′+mLθ′′−mLθ′2cosθ=Fx
对摆杆垂直方向上:
H y − m g = m a y = m D y ′ ′ H_y-mg = ma_{y}=m{D_{y}}'' Hy−mg=may=mDy′′
其中:
D y = L c o s θ D_{y}=Lcosθ Dy=Lcosθ
除去水平和垂直方向,摆杆还有一个绕着质心的旋转:
H y L s i n θ − H x L c o s θ = J θ ′ ′ H_{y}Lsin\theta-H_{x}Lcos\theta = J{\theta }'' HyLsinθ−HxLcosθ=Jθ′′
其中绕质心旋转的刚体的
转动惯量:
J = 1 3 m L 2 J=\frac{1}{3}mL^{2} J=31mL2
由以上得到系统第二个运动方程:
m L x ′ ′ c o s θ + ( J + m L 2 ) θ ′ ′ − m g L s i n θ = 0 mL{x}''cos\theta + (J+mL^{2}){\theta }''-mgLsin\theta =0 mLx′′cosθ+(J+mL2)θ′′−mgLsinθ=0
写成矩阵形式:
[ M + m m L c o s θ m L c o s θ J + m L 2 ] [ x ′ ′ θ ′ ′ ] + [ 0 − m L θ ′ s i n θ 0 0 ] [ x ′ θ ′ ] = [ F x m g L s i n θ ] \begin{bmatrix} M+m& mLcos\theta \\mLcos\theta & J+mL^{2} \end{bmatrix}\begin{bmatrix} {x}''\\ {\theta }'' \end{bmatrix}+\begin{bmatrix} 0 & -mL{\theta }'sin\theta \\ 0 &0 \end{bmatrix}\begin{bmatrix} {x}'\\ {\theta }' \end{bmatrix}=\begin{bmatrix} F_{x}\\ mgLsin\theta \end{bmatrix} [M+mmLcosθmLcosθJ+mL2][x′′θ′′]+[00−mLθ′sinθ0][x′θ′]=[FxmgLsinθ]
s i n θ → θ , c o s θ → 1 sin\theta \rightarrow \theta ,cos\theta \rightarrow 1 sinθ→θ,cosθ→1
那么在平衡点附近,系统的运动方程就可以简化成:
[ M + m m L m L J + m L 2 ] [ x ′ ′ θ ′ ′ ] = [ F x m g L θ ] \begin{bmatrix} M+m& mL \\mL & J+mL^{2} \end{bmatrix}\begin{bmatrix} {x}''\\ {\theta }'' \end{bmatrix}=\begin{bmatrix} F_{x}\\ mgL\theta \end{bmatrix} [M+mmLmLJ+mL2][x′′θ′′]=[FxmgLθ]
定义系统的状态变量为
( X 1 X 2 X 3 X 4 ) = ( x x ′ θ θ ′ ) \bigl(\begin{smallmatrix} X_{1} &X_{2} & X_{3} & X_{4} \end{smallmatrix}\bigr)=\begin{pmatrix} x & {x}' & \theta & {\theta }' \end{pmatrix} (X1X2X3X4)=(xx′θθ′),施加给小车的力为
F x F_{x} Fx,系统的输出为位移
x x x,可以得到系统的状态方程为:
( x ′ x ′ ′ θ ′ θ ′ ′ ) = ( 0 1 0 0 0 0 − m 2 L 2 g J ( M + m ) + M m L 2 ) 0 0 0 0 1 0 0 m g l ( M + m ) J ( M + m ) + M m L 2 0 ) [ x x ′ θ θ ′ ] + [ 0 J + m L 2 J ( M + m ) + M m L 2 0 − m L J ( M + m ) + M m L 2 ] F x \begin{pmatrix} {x}'\\ {x}'' \\ {\theta }' \\ {\theta }'' \end{pmatrix}=\begin{pmatrix} 0 & 1 & 0 &0 \\ 0 & 0 & \frac{-m^{2}L^{2}g}{J(M+m)+MmL^{2})} & 0\\ 0 & 0 &0 &1 \\ 0& 0 & \frac{mgl(M+m)}{J(M+m)+MmL_{2}} &0 \end{pmatrix}\begin{bmatrix} x\\ {x}'\\ \theta \\ {\theta }' \end{bmatrix}+\begin{bmatrix} 0\\ \frac{J+mL^{2}}{J(M+m)+MmL^{2}}\\ 0\\ \frac{-mL}{J(M+m)+MmL^{2}} \end{bmatrix}F_{x} x′x′′θ′θ′′=000010000J(M+m)+MmL2)−m2L2g0J(M+m)+MmL2mgl(M+m)0010xx′θθ′+0J(M+m)+MmL2J+mL20J(M+m)+MmL2−mLFx
输出:
y = [ x θ ] = [ 1 0 0 0 0 0 1 0 ] [ x x ′ θ θ ′ ] y = \begin{bmatrix} x\\ \theta \end{bmatrix}=\begin{bmatrix} 1 &0 & 0 &0 \\ 0 &0 &1 &0 \end{bmatrix}\begin{bmatrix} x\\ {x}'\\ \theta \\ {\theta }' \end{bmatrix} y=[xθ]=[10000100]xx′θθ′
在这里假设
g = 9.8 m / s 2 , M = 4 , m = 0.5 , L = 1 g = 9.8m/s^{2},M = 4,m = 0.5, L = 1 g=9.8m/s2,M=4,m=0.5,L=1,那么状态矩阵: