提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
汽车操纵稳定性是在驾驶员无过度疲劳与紧张的驾驶情况下,汽车能够按照驾驶员转向意图,并通过控制方向盘给定的方向行驶,当受到干扰时,汽车可以抵抗干扰且保持稳定行驶的性能。操纵稳定性不仅影响汽车驾驶的方便程度,而且是高速车辆安全行驶的一个主要性能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、任务描述
本实例主要有以下任务。
1.建立四轮转向汽车操纵稳定性数学模型。
2.绘制不同车速下的汽车横摆角速度时域特性曲线。
3.绘制不同车速下的汽车质心侧偏角时域特性曲线。
4.比较前轮转向和四轮转向的区别。
四轮转向汽车操纵稳定性所需参数见表1。
二、建模及仿真
四轮转向瞬态建模
二自由度车辆模型
根据质心侧偏角度的定义:
β
=
v
u
(
1
)
\beta {\rm{ = }}\frac{v}{u}(1)
β=uv(1)
2.编程及仿真
1.绘制不同车速下的汽车横摆角速度时域特性曲线
车速分别选取20m/s、30m/s和40m/s;在仿真时间0s时给前轮一个阶跃信号,使前轮转角从0°转到10°,并保持不变。
解:根据公式(10)在MATLAB中编程lianxi62.m,运行后得到结果如图(2):
图2 不同速度下的汽车横摆角速度时域特性曲线
根据仿真结果,对于四轮转向汽车,随着车速的增加,汽车首次达到稳态横摆角速度的反应时间减小;汽车最大的横摆角速度大于稳态值的幅度,即超调量,随着车速的增大没有明显改变;汽车进入稳态值95%~105%所需的稳定时间,随着车速的增大稍有增加。
2.绘制不同车速下的汽车质心侧偏角时域特性曲线
车速分别选取20m/s、30m/s和40m/s;在仿真时间0s时给前轮一个阶跃信号,使前轮转角从0°转到10°,并保持不变。
解:根据公式(10)在MATLAB中编程lianxi63.m,运行后得到结果如图(3):
图3 不同车速下的汽车质心侧偏角时域特性曲线
根据仿真结果,对于四轮转向汽车,随着车速的增加,汽车首次达到稳态质心侧偏角的反应时间几乎不变;汽车最大的质心侧偏角大于稳态值的幅度,即超调量,随着车速的增大稍有减小;汽车进入稳态值95%~105%所需的稳定时间,随着车速的增大稍有增加。
3.比较前轮转向和四轮转向的区别
(1)车速选取20m/s,在仿真时间0s时给前轮一个阶跃信号,使前轮转角从0°转到10°,并保持不变。
解:根据公式(10)在MATLAB中编程lianxi641.m,运行后得到结果如图(3):
图4 车速为20m/s时二轮转向和四轮转向汽车横摆角速度时域特性曲线
根据仿真结果,与二轮转向汽车相比,四轮转向汽车汽车首次达到稳态横摆角速度的反应时间减小;汽车最大的横摆角速度大于稳态值的幅度减小;汽车进入稳态值95%~105%所需的时间减少。
(2)车速选取20m/s,在仿真时间0s时给前轮一个阶跃信号,使前轮转角从0°转到10°,并保持不变。
解:根据公式(10)在MATLAB中编程lianxi641.m,运行后得到结果如图(3):
图5 车速为20m/s时二轮转向和四轮转向汽车质心侧偏角时域特性曲线
根据仿真结果,与二轮转向汽车相比,四轮转向汽车汽车首次达到稳态质心侧偏角的反应时间减小;汽车最大的质心侧偏角大于稳态值的幅度减小;汽车进入稳态值95%~105%所需的时间减少;除此之外,四轮转向汽车汽车稳态质心侧偏角为0度,保障了驾驶员及乘客的乘坐舒适性。
附录
5.1不同速度下的汽车横摆角速度时域特性曲线
k1=-38900;k2=-39200;m=2050;
a=1.5;b=1.8;z=5600;
for u=[20,30,40]
a11=(k1+k2)/(m*u);
a12=(a*k1-b*k2)/(m*u^2)-1;
a21=(a*k1-b*k2)/z;
a22=(a^2*k1+b^2*k2)/(u*z);
b11=-k1/(m*u);
b12=-k2/(m*u);
b21=-a*k1/z;
b22=b*k2/z;
g=(-a*b*k1*k2-a*k1*m*u^2-b^2*k1*k2)/(a*b*k2*k1-b*k2*m*u^2+a^2*k1*k2);
aa=[a11 a12;a21 a22];
b1=b11+g*b12;
b2=b21+b22*g;
bb=[b1;b2];
cc=[1 0; 0 1];
dd=[0 ; 0];
delta=pi/18;
g=ss(aa,bb,cc,dd);%状态空间方程
opt = stepDataOptions('InputOffset',0,'StepAmplitude',delta);
[y,t] = step(g,10,opt);
plot(t,y(:,2),'Linewidth',1);hold on;
end
legend('车速20m/s','车速30m/s','车速40m/s','location','best');
xlabel('仿真时间(s)');
ylabel('横摆角速度(rad/s)');
5.2不同速度下的汽车质心侧偏角时域特性曲线
k1=-38900;k2=-39200;m=2050;
a=1.5;b=1.8;z=5600;
for u=[20,30,40]
a11=(k1+k2)/(m*u);
a12=(a*k1-b*k2)/(m*u^2)-1;
a21=(a*k1-b*k2)/z;
a22=(a^2*k1+b^2*k2)/(u*z);
b11=-k1/(m*u);
b12=-k2/(m*u);
b21=-a*k1/z;
b22=b*k2/z;
g=(-a*b*k1*k2-a*k1*m*u^2-b^2*k1*k2)/(a*b*k2*k1-b*k2*m*u^2+a^2*k1*k2);
aa=[a11 a12;a21 a22];
b1=b11+g*b12;
b2=b21+b22*g;
bb=[b1;b2];
cc=[1 0; 0 1];
dd=[0 ; 0];
delta=pi/18;
g=ss(aa,bb,cc,dd);%状态空间方程
opt = stepDataOptions('InputOffset',0,'StepAmplitude',delta);
[y,t] = step(g,10,opt);
plot(t,y(:,1),'Linewidth',1);hold on;
end
legend('车速20m/s','车速30m/s','车速40m/s','location','best');
xlabel('仿真时间(s)');
ylabel('质心侧偏角(rad)');
5.3二轮转向和四轮转向汽车横摆角速度时域曲线
k1=-38900;k2=-39200;m=2050;
a=1.5;b=1.8;z=5600;u=20;
a11=(k1+k2)/(m*u);
a12=(a*k1-b*k2)/(m*u^2)-1;
a21=(a*k1-b*k2)/z;
a22=(a^2*k1+b^2*k2)/(u*z);
b11=-k1/(m*u);
b12=-k2/(m*u);
b21=-a*k1/z;
b22=b*k2/z;
g=(-a*b*k1*k2-a*k1*m*u^2-b^2*k1*k2)/(a*b*k2*k1-b*k2*m*u^2+a^2*k1*k2);
aa=[a11 a12;a21 a22];
b1=b11+g*b12;
b2=b21+b22*g;
bb=[b1;b2];
cc=[1 0; 0 1];
dd=[0 ; 0];
delta=pi/18;
%四轮转向
G1=ss(aa,bb,cc,dd);%状态空间方程
opt = stepDataOptions('InputOffset',0,'StepAmplitude',delta);
[y,t] = step(G1,10,opt);
plot(t,y(:,2),'Linewidth',1);hold on;
%前轮转向
bb=[b11 b12;b21 b22];
dd=[0 0;0 0];
G2=ss(aa,bb,cc,dd);
[y,t] = step(G2,10,opt);
plot(t,y(:,2,1),'Linewidth',1);hold on;
legend('四轮转向','前轮转向','location','best');
xlabel('仿真时间(s)');
ylabel('横摆角速度(rad/s)');
5.4二轮转向和四轮转向汽车质心侧偏时域曲线
k1=-38900;k2=-39200;m=2050;
a=1.5;b=1.8;z=5600;u=20;
a11=(k1+k2)/(m*u);
a12=(a*k1-b*k2)/(m*u^2)-1;
a21=(a*k1-b*k2)/z;
a22=(a^2*k1+b^2*k2)/(u*z);
b11=-k1/(m*u);
b12=-k2/(m*u);
b21=-a*k1/z;
b22=b*k2/z;
g=(-a*b*k1*k2-a*k1*m*u^2-b^2*k1*k2)/(a*b*k2*k1-b*k2*m*u^2+a^2*k1*k2);
aa=[a11 a12;a21 a22];
b1=b11+g*b12;
b2=b21+b22*g;
bb=[b1;b2];
cc=[1 0; 0 1];
dd=[0 ; 0];
delta=pi/18;
%四轮转向
G1=ss(aa,bb,cc,dd);%状态空间方程
opt = stepDataOptions('InputOffset',0,'StepAmplitude',delta);
[y,t] = step(G1,10,opt);
plot(t,y(:,1),'Linewidth',1);hold on;
%前轮转向
bb=[b11 b12;b21 b22];
dd=[0 0;0 0];
G2=ss(aa,bb,cc,dd);
[y,t] = step(G2,10,opt);
plot(t,y(:,1,1),'Linewidth',1);hold on;
legend('四轮转向','前轮转向','location','best');
xlabel('仿真时间(s)');
ylabel('质心侧偏角(rad)');