在MATLAB中建立整车模型评估汽车平顺性,通常采用多自由度振动模型。以下是基于四分之一车模型的详细步骤和代码示例,可扩展至整车模型。
1. 四分之一车模型(简化版)
模型描述
- 自由度:2个(车身垂直位移 z2z_2z2、车轮位移 z1z_1z1)
- 参数:
- 簧载质量 m2=300 kgm_2 = 300 , \text{kg}m2=300kg
- 非簧载质量 m1=30 kgm_1 = 30 , \text{kg}m1=30kg
- 悬架弹簧刚度 ks=20000 N/mk_s = 20000 , \text{N/m}ks=20000N/m
- 轮胎刚度 kt=180000 N/mk_t = 180000 , \text{N/m}kt=180000N/m
- 悬架阻尼系数 cs=1000 Ns/mc_s = 1000 , \text{Ns/m}cs=1000Ns/m
MATLAB代码实现
% 参数定义
m1 = 30; % 非簧载质量 (kg)
m2 = 300; % 簧载质量 (kg)
ks = 20000; % 悬架弹簧刚度 (N/m)
kt = 180000;% 轮胎刚度 (N/m)
cs = 1000; % 悬架阻尼系数 (Ns/m)% 状态空间方程
A = [0, 1, 0, 0;-(ks + kt)/m1, -cs/m1, ks/m1, cs/m1;0, 0, 0, 1;(ks + kt)/m2, cs/m2, -ks/m2, -cs/m2];
B = [0; kt/m1; 0; -kt/m2];
C = [1, 0, 0, 0]; % 输出为簧载质量加速度% 生成路面激励(白噪声滤波)
dt = 0.01; % 时间步长 (s)
t = 0:dt:5; % 仿真时间5秒
N = length(t);
u = randn(N,1); % 白噪声
[b,a] = butter(2, 0.1); % 低通滤波器
z = filtfilt(b,a,u); % 滤波后路面输入% 仿真
sys = ss(A,B,C,0);
[y, t] = lsim(sys, z, t);% 计算RMS值
rms_accel = rms(y);
disp(['车身加速度RMS值: ', num2str(rms_accel), ' m/s²']);% 绘图
figure;
subplot(2,1,1);
plot(t, z); title('路面输入'); xlabel('时间(s)'); ylabel('位移(m)');
subplot(2,1,2);
plot(t, y); title('车身加速度'); xlabel('时间(s)'); ylabel('加速度(m/s²)');
matlab建立整车模型,求汽车的平顺性
2. 平顺性评价指标
-
RMS加速度:计算车身加速度的均方根值,单位 m/s2\text{m/s}^2m/s2。
-
舒适性等级(ISO 26262):
-
RMS < 0.3 : 舒适
-
0.3 ~ 0.6 : 中等
-
0.6 : 不舒适
-
3. 扩展至整车模型
对于七自由度整车模型(俯仰、侧倾、4个车轮位移),需定义更多参数并构建矩阵方程。示例步骤:
- 定义参数:前后悬架质量、刚度、阻尼,轴距,质心位置等。
- 建立方程:通过拉格朗日力学或牛顿欧拉法推导状态空间模型。
- 路面输入:生成空间相关性路面激励(如 declined cosine 波)。
- 频域分析:通过PSD(功率谱密度)评估振动传递特性。
4. 关键点总结
- 模型简化:从四分之一车开始,逐步增加自由度。
- 参数敏感性:调整悬架刚度/阻尼观察加速度变化。
- 频域分析:使用FFT或Bode图分析共振频率。
通过上述方法,可快速评估车辆平顺性并优化悬架参数。如需更复杂模型,建议使用Simulink的Multibody工具箱进行多体动力学仿真。