参考
《车辆动力学理论与应用(Vehicle Dynamics Theory and Application)》
二自由度汽车模型
忽略汽车的侧倾运动,车身坐标系的 z 轴与全域坐标系 Z 轴平行,xy 平面与路面上的 XY 平行,即为两轮车辆模型,也称自行车模型
忽略悬架的作用。
- 汽车车身无法依靠减震器和弹性元件实现沿 z 轴的运动,无法上下振动。
- 也没有所谓的独立悬架和非独立悬架之分,无法左右摇动,即绕 x 轴的侧倾运动。
- 没有弹性元件也无法完成绕 y 轴的俯仰运动。
汽车前进速度不变。
- 也不用考虑沿 x 轴运动。因为之后汽车理论将用运动学和动力学的方式联立等式(理论力学的内容),而沿x轴速度不变意味着x轴方向的加速度为 0,不用参与到联立的等式中。
上面两个假设限定了四个自由度,剩下的就是沿 y 轴的侧向运动和绕 z 轴的横摆运动,这就是汽车的二自由度。
模型参数定义
如图所示为车辆二自由度模型图,其中:
- $O$:质心
- $a$:前轴到质心距离
- $b$:后轴到质心距离
- $L$:轴距
- $v_1$:质心速度
- $u$:质心沿 $x$ 轴速度分量
- $v$:质心沿 $y$ 轴速度分量
- $\beta$:质心侧偏角,$\beta=\arctan{\frac{v}{u}}$
- $\omega_r$:横摆角速度
- $O^\prime$:两车轮速度瞬心
- $u_1$:前轮速度;$u_2$:后轮速度
- $\alpha_1$:前轮侧偏角;$\alpha_2$:后轮侧偏角
- $F_{Y1}$:前轮侧偏力;$F_{Y2}$:后轮侧偏力
- $\delta$:前轮转向角
- $\zeta$:航向角,$\zeta=\delta-\alpha_1$
- $k_1$:前轮侧偏刚度;$k_2$:后轮侧偏刚度
微分方程
二自由度汽车外力 $F_Y$、外力矩 $M_Z$ 与运动参数的关系(动力学方程):
$$\sum F_{Y}=k_{1}\left(\beta+\frac{a w_{r}}{u}-\delta\right)+k_{2}\left(\beta-\frac{b w_{r}}{u}\right)$$
$$\sum M_{Z}=a k_{1}\left(\beta+\frac{a w_{r}}{u}-\delta\right)-b k_{2}\left(\beta-\frac{b w_{r}}{u}\right)$$
联立运动学方程
$$F_Y=m(\dot{v}+u\omega_r)$$
$$M_Z=I_Z\dot{\omega_r}$$
得二自由度汽车运动微分方程
$$\left(k_{1}+k_{2}\right) \beta+\frac{1}{u}\left(a k_{1}-b k_{2}\right) w_{r}-k_{1} \delta=m\left(\dot{v}+u w_{r}\right)$$
$$\left(a k_{1}-b k_{2}\right) \beta+\frac{1}{u}\left(a^{2} k_{1}+b^{2} k_{2}\right) w_{r}-a k_{1} \delta=I_{Z} \dot{w}_{r}$$
传递函数
由微分方程可得侧向加速度和横摆角速度
$$\dot{v}=-\frac{1}{m} \frac{\left(k_{1}+k_{2}\right)}{u} v-\left(u+\frac{a k_{1}-b k_{2}}{m u}\right) \omega_{r}+\frac{k_{1}}{m} \delta$$
$$\dot{\omega}_{r}=-\frac{a k_{1}-b k_{2}}{I_{Z} u} v-\frac{a^{2} k_{1}+b^{2} k_{2}}{I_{Z} u} \dot{\omega}_{z}+\frac{a k_{1}}{I_{Z}} \delta$$
设参数
$$a_{11}=-\frac{1}{m} \frac{\left(k_{1}+k_{2}\right)}{u}$$
$$a_{12}=-\left(u+\frac{a k_{1}-b k_{2}}{m u}\right)$$
$$a_{21}=-\frac{a k_{1}-b k_{2}}{I_{Z} u}$$
$$a_{22}=-\frac{a^{2} k_{1}+b^{2} k_{2}}{I_{Z} u}$$
$$b_{1}=\frac{k_{1}}{m}$$
$$b_{2}=\frac{ak_{1}}{I_{Z}}$$
故
$$\dot{v}=a_{11} v+a_{12} \omega_{r}+b_{1} \delta$$
$$\dot{\omega}_{r}=a_{21} v+a_{22} \omega_{r}+b_{2} \delta$$
故
$$(s-a_{11}) v=a_{12} \omega_{r}+b_{1} \delta$$
$$(s-a_{22})\omega_{r}= a_{21}v+b_{2} \delta$$
联立得二阶系统传递函数
$$\frac{v}{\delta}=\frac{b_{1} s+a_{12} b_{2}-a_{22} b_{1}}{s^{2}-\left(a_{11}+a_{22}\right) s+\left(a_{11} a_{22}-a_{12} a_{21}\right)}$$
$$\frac{\omega_{r}}{\delta_{f}}=\frac{b_{2} s+\left(a_{21} b_{1}-a_{11} b_{2}\right)}{s^{2}-\left(a_{11}+a_{22}\right) s+\left(a_{11} a_{22}-a_{21} a_{12}\right)}$$
matlab 代码 m 文件
%% 横摆角速度计算函数
% 输入(车速,时间戳,转向角);返回横摆角速度
function hbj = hbjf(u,t,delta)
% 参数定义
m=2050; %车辆质量
Iz=5600; %转动惯量
a=1.5; %质心到前轴的距离
b=1.8; %质心到后轴的距离
L=3.3; %总轴距
k1=-38900; %前轮综合侧偏刚度
k2=-39200; %后轮综合侧偏刚度
for i = 1:size(u)
a11(i)=(k1+k2)./m/u(i);
a12(i)=(a.*k1-b.*k2-m.*u(i).^2)./m/u(i).^2;
a21(i)=(a.*k1-b.*k2)./Iz;
a22(i)=(a.^2*k1+b.^2*k2)./Iz/u(i);
b11(i)=-k1./m/u(i);
b21(i)=-a*k1./Iz;
b12(i)=-k2./m/u(i);
b22(i)=b*k2./Iz;
b1(i)=b21(i);
b2(i)=a21(i).*b11(i)-a11(i).*b21(i);
b3(i)=-a11(i)-a22(i);
b4(i)=a11(i).*a22(i)-a12(i).*a21(i);
% 传递函数
num(i,:)=[b1(i),b2(i)]; %传递函数分子多项式系数
den(i,:)=[1,b3(i),b4(i)]; %传递函数分母多项式系数
Gb(i)=tf(num(i),den(i)); %传递函数
end
% 计算横摆角速度
hbj=lsim(Gb',delta(1:i),t(1:i));
end
%% 质心侧偏角计算函数
% 输入(车速,时间戳,转向角);返回质心侧偏角
function cpj = cpjf(u,t,delta)
% 参数定义
m=2050; %车辆质量
Iz=5600; %转动惯量
a=1.5; %质心到前轴的距离
b=1.8; %质心到后轴的距离
L=3.3; %总轴距
k1=-38900; %前轮综合侧偏刚度
k2=-39200; %后轮综合侧偏刚度
% 计算传递函数各项系数
for i = 1:size(u)
a11(i)=(k1+k2)./m/u(i);
a12(i)=(a.*k1-b.*k2-m.*u(i).^2)./m/u(i).^2;
a21(i)=(a.*k1-b.*k2)./Iz;
a22(i)=(a.^2*k1+b.^2*k2)./Iz/u(i);
b11(i)=-k1./m/(i);
b21(i)=-a*k1./Iz;
b12(i)=-k2./m/u(i);
b22(i)=b*k2./Iz;
b1(i)=b11(i);
b2(i)=a12(i)*b21(i)-a22(i)*b11(i);
b3(i)=-a11(i)-a22(i);
b4(i)=a11(i)*a22(i)-a12(i)*a21(i);
% 传递函数
num(i,:)=[b1(i),b2(i)]; %传递函数分子多项式系数
den(i,:)=[1,b3(i),b4(i)]; %传递函数分母多项式系数
Gw(i)=tf(num(i),den(i)); %传递函数
end
% 计算质心偏转角
vy = lsim(Gw',delta(1:i),t(1:i));
cpj = atan2(vy,u);
end
simulink 模型
改天再写。