- 车辆仿真系统
书接上回,我们上一篇文章介绍了一个非常简单的ABS算法模块的搭建过程,本篇文章我们继续介绍车辆仿真系统的搭建:
要建立车辆动力学仿真系统,很多同学可能会想到一些商业化的软件比如Carsim、AMEsim甚至更高阶的ADAMS等等,由于本文主要针对需要快速上手的小白,此处仅介绍基于Simulink的基础建模(但不排除笔者此后会更新深层次的车辆动力学教程哈,画个饼先)
基于Simulink建立车辆动力学模型是相对简单的,基本上Simulink能建立的模型大家找张纸拿支笔也都是能写出来公式的,常见的有2自由度、7自由度、13自由度模型等等,这里可能又有同学们要说了:“听起来就好长啊,好多公式好多理论啊~”,笔者太理解这种心理了,所以今天我们直接从最简单的入手,绝对让你最快速度上手!
首先我们搭建一个非常简单的车辆模块,上模型!
输入端只有一个参数:Mu摩擦系数,这个参数我们可以自己定义哈,摩擦系数首先进入了一个Gain增益模块,也就是和一个系数相乘,这个系数我们看到是m*g/4,也就是车辆质量m乘以重力加速度g再除以车轮数4(简单模型哈,我们就当做四个车轮均摊车辆重量),这一步的目的是根据计算车轮上的垂向力与摩擦系数相乘,得到单个车轮的最大制动力Tire Torque(即摩擦力极限,制动力超出这个力车轮就会打滑);
这个信号兵分两路,上面一路与Rr车轮半径相乘摇身一变成了最大制动力矩Tire Torque信号;
另一路与-4/m相乘,即乘以4再除以车辆质量m再加个负号,即先反推四个车轮的最大制动力之和,再反求车辆最大减速度;得到了车辆最大减速度我们又进入了一个积分模块,对减速度求积分那自然是得到速度的衰减,所以我们这里需要设置积分模块的初始值,即车辆开始制动前的车速(注意单位应为m/s),由此实现在最大减速度作用下,车辆速度逐渐减少直至为0的车速信号,该信号继续一分为二,上面的与车轮半径Rr做除法,得到了车轮速度的等效车轮角速度VS(也就是ABS算法用的那个VS),下面的继续求积分,速度的积分那就是距离,于是得到了制动距离SD信号
(打字打的口干,喝口水先)
车辆模型已经搞定了,但是制动系统我们还没做,继续下一步施工,上模型!
我们看到输入端两个信号,一个是来自ABS算法模块的ABS控制信号ABS Control,一个是来自车辆模块计算得到的最大制动力Tire Torque;
首先ABS控制信号进入了一个乘法运算模块,与主缸压力MC Pressure相乘(我们为了简化模型,此处直接默认刹车踩到底,取最大主缸压力)得到ABS干预后的主缸压力(即ABS介入时切断制动压力,不介入时恢复制动压力),然后将主缸压力转换为轮边制动力矩,此处需要乘以一个系数Kf,此处不再赘述;得到当前的轮边制动力矩与最大制动力矩做差,得到的制动力矩和摩擦力矩双重作用下的车轮合外力矩,然后用这个合外力矩除以车轮的转动惯量,即可得到车轮的减速度,再求一次积分(此处的积分模块也要设置初始值为制动开始时车速对应的车轮速度),得到车轮速度Wheel Speed。
至此,ABS算法模块需要的两个变量WS和VS就全都计算得出啦,所有子系统都搭建完成,下一篇我们将进行最后的组装工作,感兴趣的同学可以戳我的主页找到下一篇
有需要该DEMO模型的请私聊我哦,好用不贵,价格实惠,感谢感谢~