【整车Silmulink模型】(一)整车动力学模型

目录

  • 前言
  • 1.理论模型
  • 2.Simulink建模
  • 3.CarSim验证
  • 总结

先来个碎碎念
这是本渣第一篇CDSN博文,毕业设计建整车模型太艰辛了,我查资料还是不太行,希望后来者可以参考一下吧(希望不要看完走弯路。。。)
我刚还看了个CDSN写作的博文。。。对我来说可太难了。。。
介绍一下我用了六年的笔记本,现在的情况是开机40分钟,打开CarSim和Simulink40分钟,第一次运行Simulink40分钟这样,然后80%的时间,Backspace、Enter和空格键都不能用,所以我的这个总结只能随便一点了,希望能完整表达我的建模过程(肯定会有不到位的地方,请大家带着批判的眼光来看)
我各种摸索,希望大佬看到有错误能给我指点一下,我一直有在闭门造车的感觉,但是课题组的师兄师姐又太忙了不敢打扰这样。。。
然后就开始吧!

对了,虽然我已经努力检查了,但也很有可能哪个公式给打错了,尽信书不如无书!

前言

  我研究的是四轮驱动电动轮汽车的高速转向操纵稳定性,之后感觉八自由度可能会更加好,但是我建模型的时候参考的是《四驱汽车动力分配关键部件结构设计与动力学分析》的整车模型,并没有考虑侧倾特性,不过最后整体仿真结果也还行。
  先来展示下最终的整车模型:

在这里插入图片描述

图1-1 整车Simulink模型
△ 建成这样主要是为了方便看仿真数据,好看看哪里出错

【整车Silmulink模型】(一)整车动力学模型_第1张图片

图1-2 模型功能演示
△ 本次重点就在“整车动力学模型”上

【整车Silmulink模型】(一)整车动力学模型_第2张图片

图1-3 整车动力学模型
△ 我称背景色为复古美人红

1.理论模型

  以车身质心为原点,对于电动轮驱动车辆的高速转向运动,将涉及车辆沿x轴的纵向运动、沿y轴的侧向运动、绕z轴的横摆运动以及四轮的转动,故本文建立七自由度整车模型。在给出整车动力学关系之前,先对车辆模型做出以下简化:

  1. 忽略悬架的作用,假定车身与车轮之间为刚性连接,车辆只作平行于地面的运动;
  2. 整车四个轮胎的结构和机械特性相同,忽略转向梯形的作用,前轮转向角相同,转向过程中后轮没有转角;
  3. 假定车辆在路面附着系数一定且恒定的路面行驶,不考虑路面和其他因素的干扰,路面坡度为0。

  通过以上简化后的车辆运动坐标系如图1-4所示。
【整车Silmulink模型】(一)整车动力学模型_第3张图片

图1-4 四驱汽车整车模型
△ 图源:《四驱汽车动力分配关键部件结构设计与动力学分析》

  其中,v x和v y分别为整车的纵向车速和侧向车速,单位为m/s;β和γ分别为整车质心侧偏角和横摆角速度,单位分别为rad和rad/s;F x1、F x2、F x3和F x4分别为左前、右前、左后和右后轮所受纵向力,单位为N;F y1、F y2、F y3和F y4分别为左前、右前、左后和右后轮所受侧向力,单位为N;δ为前轮转角,单位为rad。d f和d r分别为前轮距和后轮距,单位为m;l f和l r分别为质心到前轴和后轴的距离,单位为m。
  对图1-4作受力分析,得到沿整车坐标系x轴、y轴和绕z轴的受力平衡方程分别如下:
【整车Silmulink模型】(一)整车动力学模型_第4张图片 △ 图源:我的毕设论文
这里需要注意的是你建模时候的前提条件,都简化了哪些东西,考不考虑坡度和风阻,我这里就没有考虑坡度,然后自由度是多少啥的。在我建模的时候最坑的就是风阻的车速的单位,参考书上明明说车速单位是m/s,但风阻那块忽然就km/h了,我也是上课不认真的、、、反正最后看了学长的论文,然后查了余志生的《汽车理论》才发现那里也忽然将单位改成了km/h,不过人家前面是有说明的,此处为了单位的统一,我乘了系数3.62

  根据图1-3,这一块还包括轮速的计算和各轮车速的计算
【整车Silmulink模型】(一)整车动力学模型_第5张图片

2.Simulink建模

  在建模的时候,我第一个整车模型里面是完全使用Simulink的模块建的,建完之后除了第一次之外完全不想再检查了。。。导致我很不愿意去怀疑我的模型有问题。。。然后一个新成语就出现了,叫“讳医忌疾”。这种情况在事后想来完全违背了我建模前给自己定下的“模型合理,易于检查和修改”的标准。
【整车Silmulink模型】(一)整车动力学模型_第6张图片

图1-5 第一个整车动力学模型
△ 这里面还有侧向力的计算,但是我发现用不到就没连线,然后车速的单位问题还没被发现,左前轮和右前轮的转角也没简化成一致,主要是真的。。。模块里面还有模块,,不想检查第二次了

  所以在第二次重新建模时我将公式都整合到MATLAB Function里面,又由于方程组相互耦合的特点,我将他们分装在了三个MATLAB Function之中,再考虑Simulink最好使用积分器而不用微分器的特点,整车动力学公式的建模作如下划分,附上代码片:

· 公式(3-1)计算 v ˙ \dot{v} v˙x,通过积分器得到vx

function dVx = fcn(Fx1,Fx2,Fx3,Fx4,Fy1,Fy2,delt,gama,Vx,Vy)
m=1150;
CdA=0.48;
g=9.81;
f=0.01;

dVx=(m*Vy*gama-CdA/21.15*3.6^2*Vx^2+Fx3+Fx4+(Fx1+Fx2)*cos(delt)-(Fy1+Fy2)*sin(delt))/m;

· 公式(3-2)计算 v ˙ \dot{v} v˙y,通过积分器得到vy

function dVy = fcn(Fx1,Fx2,Fy1,Fy2,Fy3,Fy4,delt,gama,Vx)
m=1150;

dVy = (-m*Vx*gama+Fy3+Fy4+(Fx1+Fx2)*sin(delt)+(Fy1+Fy2)*cos(delt))/m;

· 公式(3-3)计算 γ ˙ \dot{\gamma} γ˙,通过积分器得到 γ \gamma γ

function dgama = fcn(Fx1,Fx2,Fx3,Fx4,Fy1,Fy2,Fy3,Fy4,delt)
Jz=1343.1;
lf=1.04;
lr=1.56;
df=1.481;
dr=1.481;

dgama = ((-df/2*cos(delt)+lf*sin(delt))*Fx1+(df/2*cos(delt)+lf*sin(delt))*Fx2+dr/2*(Fx4-Fx3)+df/2*sin(delt)*(Fy1-Fy2)+lf*cos(delt)*(Fy1+Fy2)-(Fy3+Fy4)*lr)/Jz;

3.CarSim验证

  上述代码中的参数来自于CarSim的B级车,如图1-6和1-7所示。

【整车Silmulink模型】(一)整车动力学模型_第7张图片

图1-6 CarSim主界面
△ 这里参数主要涉及Vehicle Configuration车型的选择,仿真工况Procedure选择可自己选择,我选择的是双移线工况。中间Run Control with Simulink是为了将参数传到Simulink,但事实上CarSim的控制器已经可以自主运行,故最终Simulink联合仿真中CarSim S-Function是没有输入的

【整车Silmulink模型】(一)整车动力学模型_第8张图片

图1-7 CarSim车辆模型参数
△ 这里我好像改了下整车质量,其他的不太记得了

  由于我研究的是电动轮驱动汽车,簧载质量和车轮的转动惯量参考马高峰等人的论文《基于CarSim的四轮轮毂电机电动汽车建模方法研究》做出了改变,如图1-8和1-9所示。
【整车Silmulink模型】(一)整车动力学模型_第9张图片

图1-8 CarSim整车参数设置
△ 这里影响电动轮驱动车辆的就是①和②两个地方,③是转向系统调整的参数,我选的传动系统的参数主要考虑的是和课题组轮毂电机功率做对标,单纯考虑动力学模型验证的话都不用修改

  和Simulink的联合仿真设定如图1-9所示,其中①定义Simulink的运行目录;②是联合仿真Simulink的位置,要注意右下角的MATLAB是64位还是32位;③就是我们要修改的输出参数,如图1-6所注,此时CarSim并没有输入。
【整车Silmulink模型】(一)整车动力学模型_第10张图片

图1-9 CarSim-Simulink联合仿真设置
△ 其他模块的验证可以通过点击New来复制当前设定,减少某些参数的重复设置

  输出设定如图1-10所示,其中,需要更改的主要是①Readme file for outputs和②active variable for export,具体联合仿真的步骤我当时参考以下链接。

https://blog.csdn.net/mingjiangguoyaoqin/article/details/102864241

【整车Silmulink模型】(一)整车动力学模型_第11张图片

图1-10 CarSim输出设置
△ 输出的参数主要考虑整车动力学模型计算需要用到的参数和用于对比正确性所用到的CarSim的参数

  CarSim输入输出我参考的链接为https://www.docin.com/p-1741700907.html
  其中,本文用到的变量及其含义如表1-1所示

表1-1 CarSim输出变量
变量 含义 单位
Fx_L1 左前轮纵向力 N
Fx_R1 右前轮纵向力 N
Fx_L2 左后轮纵向力 N
Fx_R2 右后轮纵向力 N
Fy_L1 左前轮纵向力 N
Fy_R1 右前轮纵向力 N
Fy_L2 左后轮纵向力 N
Fy_R2 右后轮纵向力 N
Steer_L1 左前轮转角 °
VxBf_SM 车辆质心纵向车速 km/h
VyBf_SM 车辆质心侧向车速 km/h
AVz 横摆角速度 °/s

  通过上表可以看出CarSim输出的数据需要经过单位变换才能与Simulink进行联合仿真,因为前述公式的速度单位均为m/s,角度单位均为rad。具体联合仿真模型如图1-11所示。
【整车Silmulink模型】(一)整车动力学模型_第12张图片

图1-11 CarSim-Simulink联合仿真
△ 此处的to workspace模块是为了绘图对比仿真结果,整体有种病房里各种监测仪器的感觉

【整车Silmulink模型】(一)整车动力学模型_第13张图片

图1-12 Simulink整车模型
△ 模型内部依旧通过连线连接变量,这里需要注意的是我所有输入都使用的是CarSim提供的理想值,用星号*表示,而不需要Simulink的自反馈

  仿真结果如图1-13所示。可以看出纵侧向车速vx和vy的拟合效果良好,而横摆角速度γ由于模型的简化,在最后并没有拟合至0 rad/s,对此,我的理解是:Simulink模型的简化导致计算的横摆角加速度产生差异,随着时间的积分至最后导致了大幅度的横摆角速度的差异,但最终计算的横摆角加速度终归是0,故运行后期依旧是恒定的横摆角速度输出。

【整车Silmulink模型】(一)整车动力学模型_第14张图片

图1-13 整车动力学模型验证
△ 模型内部依旧通过连线连接变量,这里需要注意的是我所有输入都使用的是CarSim提供的理想值,用星号*表示,而不需要Simulink的自反馈。图中速度的单位为km/h,横摆角速度的单位为°

总结

本文介绍了整车Simulink模型中的整车动力学模型的建立,并将所建模型与CarSim作对比,由于篇幅原因,并没有详述轮胎动力学及各轮纵向速度的建模过程,俗话说的好,一理通百里明嘛!

你可能感兴趣的:(整车Simulink模型,matlab,自动驾驶)