乘用车制动轮缸建模,simulink模型,以及amesim模型,simulink和amesim...
乘用车制动轮缸建模,simulink模型,以及amesim模型,simulink和amesim联合仿真模型及验证,不是相关文献上对制动轮缸进行简化的公式模型,而是较为精细化的建模,非常详细的公式建模,制动轮缸的物理结构可看作由弹簧阻尼组成的单活塞腔模型。 将活塞和输出推杆质量等效到活塞上。 目前网络上对于制动系统这一块最基础的内容较少,几乎没有,都想着做上层,忽略对底层的研究,我在对amesim制动系统进行研究的过程中,查阅了大量amesim建模的资料,对每一个模型进行了英文文档分析,以及查看了amesim某些公式对应的源C代码,amesim每个模块都是根据公式搭建起来的,我是先对amesim进行了研究,然后在simulink中将amesim模块对应公式进行复现,然后将simulink结果和amesim模型结果进行仿真对比,验证了simulink模型所搭建的模型的准确性,并且录制了视频展示相关模型结果,以及写了对应的说明文档,非常细致,大概10页纸,有对应参数的说明,取值,仿真具体结果,很详细,小白也能学会。 注意:验模展示仅以左前轮为例进行展示,其余与此同理。 设计工况:(1)乘用车前后轴轮缸直径稍有差异,但一般前轴轮缸直径要大于后轴轮缸直径。 按照以上所列参数对左前轮缸模型进行仿真,设置固定步长为1e-4s。 在0~1s内给0~180bar的斜坡压力输入信号。 (2)同时将实际的P-V特性曲线作出,与仿真结果相对比。 控制效果:(1)Amesim和Simulink仿真曲线基本上完全重合,故建立的Simulink模型动力学模型有效,可参见下列各图展示。 可以方便的在Amesim中观察仿真曲线结果,使得其与实际曲线结果相适应。 (2)再通过比较仿真制动液体积和实际制动液体积随压力变化关系可知,仿真曲线大致跟随上实际曲线。 不能完全重合的原因主要在于仿真的模型对组成轮缸的实际部件作了简化,活塞缸支架在压缩过程中的形变所产生的反作用力,不同作用力之间的过度等对p-v特性影响较小的因素均未考虑,可参见下图展示。 Matlab/Simulink版本:2017a Amesim版本:Amesim16(暂不知道高版本是否能打开低版本) 有完整的仿真演示运行视频,并提供参考资料,不用担心学不会本模型仅供学习使用,不牵涉到实车。

玩制动系统建模的朋友应该都懂,这玩意儿底层物理建模才是真功夫。今天咱们就掰开揉碎了聊聊制动轮缸的精细化建模,手把手教你用Simulink和Amesim搞联合仿真。别被那些花里胡哨的ESP算法迷惑,底盘控制的基础全在这弹簧阻尼活塞缸里。

先说核心——这可不是教科书里F=ma的简化模型。咱得把活塞和推杆质量等效到活塞上,搞个真实的单活塞腔模型。来看这段Simulink里的物理建模代码:
% 活塞动力学方程
function dxdt = pistonDynamics(t,x,F_hydraulic,F_spring)
m_piston = 0.15; % 等效质量kg
b_damping = 8; % 阻尼系数N/(m/s)
dxdt = [x(2);
(F_hydraulic - F_spring - b_damping*x(2))/m_piston];
end
这段代码直接把牛顿第二定律搬进来了,液压驱动力、弹簧反力、阻尼力三力平衡。注意这里等效质量的计算要考虑活塞本体+推杆质量的转换,实测数据得根据具体车型参数调整。

Amesim的处理方式更底层,得扒它的C源码才能看清门道。举个例子,液压模块里的流体计算,人家直接用的Navier-Stokes方程离散化:
// Amesim底层代码片段
void computeFlowRate(){
deltaP = port[1].P - port[2].P;
Q = (C_d * A_port * sqrt(2/rho * fabs(deltaP))) * sign(deltaP);
if(compressibility)
Q += V_chamber/bulk_modulus * dPdt;
}
这解释为啥Simulink模型要和Amesim对比验证——有些非线性特性(比如流体压缩性)手工建模容易漏掉。来看联合仿真时的压力响应对比曲线:

![压力响应对比图]

(此处应有对比曲线图,显示Simulink和Amesim曲线重合度)

乘用车制动轮缸建模,simulink模型,以及amesim模型,simulink和amesim联合仿真模型及验证,不是相关文献上对制动轮缸进行简化的公式模型,而是较为精细化的建模,非常详细的公式建模,制动轮缸的物理结构可看作由弹簧阻尼组成的单活塞腔模型。 将活塞和输出推杆质量等效到活塞上。 目前网络上对于制动系统这一块最基础的内容较少,几乎没有,都想着做上层,忽略对底层的研究,我在对amesim制动系统进行研究的过程中,查阅了大量amesim建模的资料,对每一个模型进行了英文文档分析,以及查看了amesim某些公式对应的源C代码,amesim每个模块都是根据公式搭建起来的,我是先对amesim进行了研究,然后在simulink中将amesim模块对应公式进行复现,然后将simulink结果和amesim模型结果进行仿真对比,验证了simulink模型所搭建的模型的准确性,并且录制了视频展示相关模型结果,以及写了对应的说明文档,非常细致,大概10页纸,有对应参数的说明,取值,仿真具体结果,很详细,小白也能学会。 注意:验模展示仅以左前轮为例进行展示,其余与此同理。 设计工况:(1)乘用车前后轴轮缸直径稍有差异,但一般前轴轮缸直径要大于后轴轮缸直径。 按照以上所列参数对左前轮缸模型进行仿真,设置固定步长为1e-4s。 在0~1s内给0~180bar的斜坡压力输入信号。 (2)同时将实际的P-V特性曲线作出,与仿真结果相对比。 控制效果:(1)Amesim和Simulink仿真曲线基本上完全重合,故建立的Simulink模型动力学模型有效,可参见下列各图展示。 可以方便的在Amesim中观察仿真曲线结果,使得其与实际曲线结果相适应。 (2)再通过比较仿真制动液体积和实际制动液体积随压力变化关系可知,仿真曲线大致跟随上实际曲线。 不能完全重合的原因主要在于仿真的模型对组成轮缸的实际部件作了简化,活塞缸支架在压缩过程中的形变所产生的反作用力,不同作用力之间的过度等对p-v特性影响较小的因素均未考虑,可参见下图展示。 Matlab/Simulink版本:2017a Amesim版本:Amesim16(暂不知道高版本是否能打开低版本) 有完整的仿真演示运行视频,并提供参考资料,不用担心学不会本模型仅供学习使用,不牵涉到实车。

参数设置有个坑得注意:前轮缸直径比后轮大3-5mm是行业潜规则。比如左前轮设置22mm直径时,代码里面积计算必须精确到π*(0.022/2)^2,别直接用标称值。

实战中遇到最头疼的是P-V特性曲线拟合。实测数据导入后,得用三次样条插值处理:
% P-V特性处理
actualPV = load('实测PV曲线.mat');
simPV = simout.get('PVdata');
figure;
hold on;
plot(actualPV.pressure, actualPV.volume,'r--','LineWidth',2);
plot(simPV(:,1), simPV(:,2),'b-');
legend('实测','仿真');
title('杀马特红蓝配对比图');
![PV特性对比图]

(此处应有PV曲线对比,显示趋势一致但存在微小偏差)
为啥仿真和实测不能完全重合?因为咱们的模型把活塞缸支架当刚体了。实际那玩意儿受压会变形,产生的附加反作用力能占到总力的5%左右。不过对于控制算法开发来说,这个精度已经够用了。
最后说个仿真提速技巧:固定步长设1e-4s时,用Simulink的加速模式+代码生成,比普通模式快3倍不止。Amesim那边记得关掉实时动画渲染,否则配置再高的电脑也得卡成PPT。
(注:文中涉及的具体参数值需根据实际车型调整,本模型已去除敏感数据,仿真结果不可直接用于实车)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)