基于Matlab/Simulink的1/4车辆系统动力学模型的两种建模方法(动力学建模入门知识)

一.1/4半主动悬架模型

注:本人为车辆工程研究生,研究方向为智能网联汽车,汽车系统动力学及控制,后续还会写一些半车模型和整车模型的搭建方法,欢迎各位相同方向的同学交流学习心得。
#pic_center =50      上图中, z s {{z}}_s zs表示簧载质量位移, z u {{z}}_u zu表示非簧载质量位移, m s {{m}}_s ms表示簧载质量, m u {{m}}_u mu表示非簧载质量, k t {{k}}_t kt表示轮胎刚度, k s {{k}}_s ks表示悬架刚度, c s {{c}}_s cs表示悬架阻尼, F M R F_{MR } FMR表示磁流变悬架阻尼力。在这里为了简化计算,不把控制方法作为重点,所以 F M R F_{MR } FMR视为0。其它参数的值分别是 m s {{m}}_s ms=310kg, m u {{m}}_u mu=70kg, k s {{k}}_s ks=27358N/m, k t {{k}}_t kt=309511N/m, c s {{c}}_s cs=984N.s/m[1]。确定模型和参数以后,根据牛顿第二定律在确定该模型的微分方程。
m s z ¨ s = − c s ( z ˙ s − z ˙ u ) − k s ( z s − z u ) − F M R m_s{\ddot{z}}_s=-c_s({\dot{z}}_s-{\dot{z}}_u)-k_s(z_s-z_u)-F_{MR} msz¨s=cs(z˙sz˙u)ks(zszu)FMR m u z ¨ u = c s ( z ˙ s − z ˙ u ) + k s ( z s − z u ) − k t ( z u − q ) + F M R                 m_u{\ddot{z}}_u=c_s({\dot{z}}_s-{\dot{z}}_u)+k_s(z_s-z_u)-k_t(z_u-q)+F_{MR\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } muz¨u=cs(z˙sz˙u)+ks(zszu)kt(zuq)+FMR               

      确定微分方程后,便可以在simulink搭建模型了,其中搭建模型的核心思想就是将 m s {{m}}_s ms m u {{m}}_u mu除到右边然后搭模型使等式左右两边相等。

二.状态空间法搭建1/4汽车半主动悬架系统动力学模型

       先确定状态变量,后取系统的输入量,再将1/4车辆系统以状态方程形式表示。
       选取状态变量为: x 1 = z s    ,     x 2 = z ˙ s    ,    x 3 = z u    ,      x 4 = z ˙ u    x_1=z_s\ \ ,\ {\ x}_2={\dot{z}}_s\ \ ,{\ \ x}_3=z_u\ \ ,\ {\ \ x}_4={\dot{z}}_u\ \ x1=zs  ,  x2=z˙s  ,  x3=zu  ,   x4=z˙u   X = [ x 1    x 2    x 3    x 4 ] T X=\left[x_1\ \ x_{2\ \ }x_{3\ \ }x_4\right]^T X=[x1  x2  x3  x4]T      取系统输入量为: U = [ F M R    q ] T U=\left[F_{MR\ \ }q\right]^T U=[FMR  q]T
      则系统以状态方程形式表示为: X ˙ = A X ( t ) + B U \dot{X}=AX\left(t\right)+BU X˙=AX(t)+BU Y = C X ( t ) + D U Y=CX\left(t\right)+DU Y=CX(t)+DU

      这样选取参照的是simulink里的state-space模块,该模块的用法可以参照Matlab里的说明书,下方便是Matlab的官方解释,也可以在Matlab内部直接搜索state-space模块,也会出现相对应的解释和说明。
      http://ww2.mathworks.cn/help/simulink/slref/statespace.html。
      在这里,我们选取了4个状态向量,所以n=4。输入为路面激励和阻尼力2个向量,所以m=2。输出的数量自己随意定,在本文中选取的是簧载质量速度 z ˙ s {\dot{z}}_s z˙s,非簧载质量速度 z ˙ u {\dot{z}}_u z˙u,簧载质量位移 z u z_u zu,簧载质量加速度 z ¨ u {\ddot{z}}_u z¨u。然后建立ABCD四个矩阵,矩阵代码如下。

A = [ 0               1 − k s / m s     − c s / m s      0                           0 k s / m s                c s / m s 0                0 k s / m u     c s / m u       0                            1 − ( k s + k t ) / m u − c s / m u ] A=\left[\begin{matrix}\begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\\begin{matrix}-k_s/m_s\ \ \ &-c_s/m_s\\\end{matrix}\\\end{matrix}&\ \ \ \ \begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}k_s/m_s&\ \ \ \ \ \ \ \ \ \ \ \ \ \ c_s/m_s\\\end{matrix}\\\end{matrix}\\\begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}k_s/m_u\ \ \ &c_s/m_u\\\end{matrix}\\\end{matrix}&\begin{matrix}\ \ \ \ \ \begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\-\begin{matrix}\left(k_s+k_t\right)/m_u&-c_s/m_u\\\end{matrix}\\\end{matrix}\\\end{matrix}\right] A=0             1ks/ms   cs/ms0              0ks/mu   cs/mu    0                         0ks/ms              cs/ms     0                          1(ks+kt)/mucs/mu
B = [ 0 0 − 1 / m s 0 0 1 / m u 0 k t / m u ] B=\left[\begin{matrix}0&0\\-1/m_s&0\\\begin{matrix}0\\1/m_u\\\end{matrix}&\begin{matrix}0\\k_t/m_u\\\end{matrix}\\\end{matrix}\right] B=01/ms01/mu000kt/mu
C = [ 0               1 0                0      0                   0 0                   1 1                0 − k s / m s     − c s / m s       0                   0       k s / m s         c s / m s   ] C=\left[\begin{matrix}\begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\\begin{matrix}0\ \ \ \ \ \ \ \ \ \ \ \ \ \ &0\\\end{matrix}\\\end{matrix}&\ \ \ \ \begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\\end{matrix}\\\begin{matrix}\begin{matrix}1&\ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}-k_s/m_s\ \ \ &-c_s/m_s\\\end{matrix}\\\end{matrix}&\ \begin{matrix}\ \ \ \begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\ \begin{matrix}{\ \ \ k}_s/m_s\ &\ {\ \ \ c}_s/m_s\ \\\end{matrix}\\\end{matrix}\\\end{matrix}\right] C=0             10              01              0ks/ms   cs/ms    0                 00                 1    0                 0    ks/ms     cs/ms 
D =   [ 0 0 0 0 0 − 1 / m s 0 0 ] D=\ \left[\begin{matrix}0&0\\0&0\\\begin{matrix}0\\-1/m_s\\\end{matrix}&\begin{matrix}0\\0\\\end{matrix}\\\end{matrix}\right] D= 0001/ms0000
      这4个矩阵求出来的原理如下图。
[ x ˙ 1 x ˙ 2 x ˙ 3 x ˙ 4 ] = [ 0               1 − k s / m s     − c s / m s      0                           0 k s / m s                c s / m s 0                0 k s / m u     c s / m u       0                            1 − ( k s + k t ) / m u − c s / m u ] [ x 1 x 2 x 3 x 4 ] + [ 0 0 − 1 / m s 0 0 1 / m u 0 k t / m u ] [ F M R    q ] \left[\begin{matrix}{\dot{x}}_1\\\begin{matrix}{\dot{x}}_2\\{\dot{x}}_3\\\end{matrix}\\{\dot{x}}_4\\\end{matrix}\right]=\left[\begin{matrix}\begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\\begin{matrix}-k_s/m_s\ \ \ &-c_s/m_s\\\end{matrix}\\\end{matrix}&\ \ \ \ \begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}k_s/m_s&\ \ \ \ \ \ \ \ \ \ \ \ \ \ c_s/m_s\\\end{matrix}\\\end{matrix}\\\begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}k_s/m_u\ \ \ &c_s/m_u\\\end{matrix}\\\end{matrix}&\begin{matrix}\ \ \ \ \ \begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\-\begin{matrix}\left(k_s+k_t\right)/m_u&-c_s/m_u\\\end{matrix}\\\end{matrix}\\\end{matrix}\right]\left[\begin{matrix}x_1\\x_2\\\begin{matrix}x_3\\x_4\\\end{matrix}\\\end{matrix}\right]+\left[\begin{matrix}0&0\\-1/m_s&0\\\begin{matrix}0\\1/m_u\\\end{matrix}&\begin{matrix}0\\k_t/m_u\\\end{matrix}\\\end{matrix}\right]\left[\begin{matrix}F_{MR\ \ }\\q\\\end{matrix}\right] x˙1x˙2x˙3x˙4=0             1ks/ms   cs/ms0              0ks/mu   cs/mu    0                         0ks/ms              cs/ms     0                          1(ks+kt)/mucs/mux1x2x3x4+01/ms01/mu000kt/mu[FMR  q]
[ y 1 y 2 y 3 y 4 ] = [ 0               1 0                0      0                   0 0                   0 0                0 − k s / m s     − c s / m s       0                   1       k s / m s          c s / m s   ] [ x 1 x 2 x 3 x 4 ] + [ 0 0 0 0 0 − 1 / m S 0 0 ] [ F M R    q ] \left[\begin{matrix}y_1\\\begin{matrix}y_2\\y_3\\\end{matrix}\\y_4\\\end{matrix}\right]=\left[\begin{matrix}\begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\\begin{matrix}0\ \ \ \ \ \ \ \ \ \ \ \ \ \ &0\\\end{matrix}\\\end{matrix}&\ \ \ \ \begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\end{matrix}\\\begin{matrix}\begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\\\end{matrix}\\\begin{matrix}-k_s/m_s\ \ \ &-c_s/m_s\\\end{matrix}\\\end{matrix}&\ \begin{matrix}\ \ \ \begin{matrix}0&\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 1\\\end{matrix}\\\ \begin{matrix}{\ \ \ k}_s/m_s\ &\ {\ \ \ \ c}_s/m_s\ \\\end{matrix}\\\end{matrix}\\\end{matrix}\right]\left[\begin{matrix}x_1\\x_2\\\begin{matrix}x_3\\x_4\\\end{matrix}\\\end{matrix}\right]+\left[\begin{matrix}0&0\\0&0\\\begin{matrix}0\\-1/m_S\\\end{matrix}&\begin{matrix}0\\0\\\end{matrix}\\\end{matrix}\right]\left[\begin{matrix}F_{MR\ \ }\\q\\\end{matrix}\right] y1y2y3y4=0             10              00              0ks/ms   cs/ms    0                 00                 0    0                 1    ks/ms      cs/ms x1x2x3x4+0001/mS0000[FMR  q]
      设计完以后,对simulink框架进行设计,路面激励模块搭建本文参照卢少波博士论文里的公式如下,也可以参照喻凡老师的《汽车系统动力学》。该公式中 w ( t ) w\left(t\right) w(t)为高斯白噪声,在simulink中用Band-Limited White Noise模块代替。 v v v为车速,这里取60km/h。 G q ( n 0 ) G_q\left(n_0\right) Gq(n0)为参考空间频率n0下的路面功率谱密度值,其取值请参考下表。
q ˙ i ( t ) = 2 π G q ( n 0 ) v w ( t ) {\dot{q}}_i\left(t\right)=2\pi\sqrt{G_q\left(n_0\right)v}w\left(t\right) q˙i(t)=2πGq(n0)v w(t)       G q ( n 0 ) G_q\left(n_0\right) Gq(n0)为参考空间频率n0下的路面功率谱密度值,其取值请参考下表。

项目 G q ( n 0 ) ( 10 − 6 m 3 ) ( n 0 = 0.1 m − 1 ) \frac{G_q\left(n_0\right)}{\left({10}^{-6}m^3\right)\left(n_0=0.1m^{-1}\right)} (106m3)(n0=0.1m1)Gq(n0)
A A A16
B B B64
C C C256
D D D1024
E E E4096
F F F16384
G G G65536
H H H262144

      所有值取号后,便开始搭建框架,下图是simulink框架的结构图。
在这里插入图片描述      模型的最终形式如下图。
在这里插入图片描述

三.积木法搭建1/4汽车半主动悬架系统动力学模型

      有了上述的经验,下面就很好理解,积木法为完全在simulink里连线的方式,如下图。
在这里插入图片描述
      这个方法比较好理解,对一个变量求两次积分,中间的每一次积分都乘以系数返回去在相加等于微分方程左边的变量。

四.总结

      本文中,采用了两种方法搭建1/4车辆的框架,研究振动问题,1/4车辆框架也是研究汽车系统动力学的基础,对于一些线性模型可以采用状态方程法,但对于整车或者一些纵向半车,存在非线性的地方最好采用搭积木和function函数混合搭的办法。下面是我设置输出的4个参数随时间变化的最终数据图,数据图显示符合车辆随随机路面激励的振动变化情况,该仿真真实有效。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五.参考文献

[1]卢少波. 汽车底盘关键子系统及其综合控制策略研究[D].重庆大学,2009.

MATLAB中,可以使用以下步骤来建立小车底盘的模型1. 首先,你可以考虑使用Tank-like小车模型进行建模。这是一种简化的模型,适用于低速且有约束的情况。Tank-like小车由两个履带组成,可以通过两个电机控制。 2. 接下来,你可以使用亚克力板和轮子组装小车底盘。你可以根据需要选择合适的轮子和电机进行组装。这种组装方式比带前轮转向的小车更简单且价格相对较便宜。 3. 当小车底盘完成组装后,你可以进行运动学模型的研究。在这个过程中,你需要对小车进行简化,将其模型简化为一个简单的图形。这个简化后的模型可以是一个点或者是一个刚体。 4. 如果你不想进行数学推导,你可以直接查看最终的推导结果,以获得小车底盘的运动学模型。这个模型可以用来描述小车的运动特性和行为。 综上所述,你可以在MATLAB中使用Tank-like小车模型来建立小车底盘的运动学模型。这个模型可以简化为一个简单的图形,并用来描述小车的运动特性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [用MATLAB来做智能小车的建模仿真](https://blog.csdn.net/best_xiaolong/article/details/130591731)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廖凯凯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值