主要内容

不同路面上的偏航稳定性

该示例演示了如何在不同路面上运行车辆动力学双车道变换机动,分析车辆偏航稳定性,并确定机动成功与否。

ISO 3888-2定义了双车道变换机动,以测试车辆的避障性能。在测试中,驾驶员:

  • 加速,直到车辆达到目标速度

  • 松开油门踏板

  • 转动方向盘沿路径进入左车道

  • 转动方向盘沿路径返回右车道

通常情况下,锥状物标记车道边界。如果车辆和驾驶员能够在不撞到圆锥体的情况下进行操纵,车辆就通过了测试。

有关参考应用程序的更多信息,请参阅Double-Lane改变策略

helpersetupdlc;

进行双车道变换操作

1.打开车道更改参考生成器块。默认情况下,使用以下参数设置机动:

  • 纵向入口速度设定值-35英里/小时

  • 车辆宽度- 2米

  • 横向参考位置断点横向参考数据-将横向参考轨迹指定为纵向距离函数的值

2.在可视化子系统中,打开3D引擎块。默认情况下三维引擎参数设置为残废。有关三维可视化引擎平台要求和硬件建议,请参阅三维可视化引擎的要求和限制

3.运行机动。在模拟运行时,查看车辆信息。

mdl=“DLCReferenceApplication”; sim(mdl);
###正在启动串行模型参考仿真生成警告:找不到方法。####成功更新的模型参考仿真目标为:传动系####成功更新的模型参考仿真目标为:PassVeh14DOF###成功更新的模型参考仿真目标为:SiMappedEngineV构建摘要仿真t生成的目标:模型操作重建原因=====================================================================================================================================生成和编译的动力传动系统代码_msf.mexw64不存在。生成和编译的代码PassVeh14DOF和PassVeh14DOF msf.mew64不存在。simginexw64生成和编译的代码simgineev_msf.mexw64不存在。已生成3个模型中的3个(0个模型已更新)生成持续时间:0h 4m 10.411s

  • 在Vehicle Position(车辆位置)窗口中,将车辆纵向距离视为一个函数或横向距离。

  • 在可视化子系统中,打开车道变换范围块,以显示随时间变化的横向位移。红色和橙色线标记锥体边界。蓝色线标记参考轨迹,绿色线标记实际轨迹。绿色线确实接近标记锥体的红线。

  • 在可视化子系统中,如果您启用了3D Engine块可视化环境,您可以在自动变速器

扫掠表面摩擦

在具有不同摩擦比例系数的三个路面上运行参考应用程序。使用结果分析偏航稳定性,并帮助确定机动成功与否。

1.在双车道更改参考应用程序模型DLCReferenceApplication中,打开环境子系统。摩擦块参数定值指定摩擦比例系数。默认情况下,摩擦比例系数为1.0.参考应用程序使用系数调整每个时间步的摩擦力。

2.启用速度、车道和ISO信号的信号记录。您可以使用Simulink®编辑器,也可以使用这些MATLAB®命令。保存模型。万博1manbetx

  • 启用车道更改参考生成器输出端口车道信号的信号记录。

mdl=“DLCReferenceApplication”;ph = get_param (“DLCReferenceApplication/变道参考生成器”,“PortHandles”);设置参数(ph值输出端口(1),“数据记录”,“开”);
  • 启用乘用车闭塞输出端口信号的信号记录。

ph = get_param (“DLCReferenceApplication /客运车辆”,“PortHandles”);设置参数(ph值输出端口(1),“数据记录”,“开”);
  • 在可视化子系统中,启用ISO块的信号记录。

设置参数([mdl“可视化/ ISO 15037 - 1:2006”],“测量”,“启用”);

3.建立一个具有摩擦标度系数的向量,兰姆达姆,这是您要研究的。例如,要检查摩擦比例系数等于0.9,0.95,1.0,在命令行中输入:

lambdamu=[0.9,0.95,1.0];numExperiments=长度(lambdamu);

4.创建一个模拟输入数组,用于设置兰姆达姆等于块参数的摩擦常数。

对于-1:1 in(idx) = Simulink.SimulationIn万博1manbetxput(mdl);在(idx) = (idx) .setBlockParameter (mdl/环境/摩擦的],...“价值”,[“一(4,1)。*”num2str (lambdamu (idx))));终止

5.将模拟停止时间设置为25秒。保存模型并运行模拟。如果可用,请使用并行计算。

设置参数(mdl,“停车时间”,'25')保存系统(mdl)tic;simout=parsim(in,“ShowSimulationManager”,“开”);toc;
[17-Dec-2020 13:57:24]检查并行池的可用性…[17-Dec-2020 13:57:24]在并行工作程序上启动Simulink…[17-Dec-2020 13:57:25]在并行工作程万博1manbetx序上加载项目…[17-Dec-2020 13:57:25]在并行工作程序上配置模拟缓存文件夹…[17-Dec-2020 13:57:25]在并行工作程序上加载模型。。。[17-Dec-2020 13:57:45]运行模拟…[17-Dec-2020 13:58:19]完成了3次模拟运行中的1次[17-Dec-2020 13:58:20]完成了3次模拟运行中的2次[17-Dec-2020 13:59:11]完成了3次模拟运行中的3次[17-Dec-2020 13:59:11]清理并行工作线程…所用时间为120.449498秒。

6.模拟完成后,关闭模拟数据检查器窗口。

使用模拟数据检查器分析结果

使用模拟数据检查器检查结果。您可以使用UI或命令行功能。

1.打开模拟数据检查器。在Simulink Toolstrip上的万博1manbetx模拟选项卡,在下面审查结果点击数据检查器

  • 在“模拟数据检查器”中,选择进口

  • 进口对话框,清除罗格苏特.选择simout (1),simout (2),simout(3).选择进口

  • 使用模拟数据检查器检查结果。

2.或者,使用这些MATLAB命令创建6个图。前三个图标记上车道边界,乌兰巴托,下行车线界线,,以及车辆横向距离,Y,每次跑步。

接下来的三个图提供了横向加速度,,横向车辆距离,Y,以及横摆率,R,每次跑步。

对于idx=1:numExperiments%创建sdi运行对象simoutRun(idx)=万博1manbetxSimulink.sdi.Run.create;simoutRun(idx).Name=[“lambdamu=”,num2str(lambdamu(idx))];添加(simoutRun(idx),“瓦尔斯”simout (idx));终止sigcolor=[1 0];对于idx=1:numExperiments提取机动上下车道边界ubsignal (idx) = getSignalByIndex (simoutRun (idx), 1);ubsignal (idx)。LineColor = sigcolor;lbsignal (idx) = getSignalByIndex (simoutRun (idx), 2);lbsignal (idx)。LineColor = sigcolor;终止sigcolor=[0 1 0;0 0 1;1 0 1];对于idx=1:numExperiments%提取横向加速度、位置和横摆率ysignal(idx)=getSignalByIndex(simoutRun(idx),27);ysignal(idx).LineColor=sigcolor((idx),:);rsignal(idx)=getSignalByIndex(simoutRun(idx),77);rsignal(idx).LineColor=sigcolor((idx),:);asignal(idx)=getSignalByIndex(simoutRun(idx),79);asignal(idx).LineColor=sigcolor((idx),:);终止万博1manbetxSimulink.sdi.view Simulink.sdi.setSubPlotLayout(NUMEExperiments,2);对于idx=1:numExperiments绘制横向位置和车道边界plotOnSubPlot(ubsignal(idx),(idx),1,真);plotOnSubPlot(lbsignal(idx),(idx),1,真);plotOnSubPlot(ysignal(idx),(idx),1,真);终止对于idx=1:numExperiments%绘制横向加速度、位置和横摆率plotOnSubPlot (asignal (idx), 1、2,真的);plotOnSubPlot (ysignal (idx), 2, 2,真的);plotOnSubPlot (rsignal (idx)、3、2,真的);终止

结果与这些曲线图相似,表明车辆的横摆角速度约为.66摩擦比例系数等于时的rad/s1.

进一步分析

要进一步了解结果,请使用这些命令从中提取横向加速度、转向角和车辆轨迹simout对象。

1.提取横向加速度和转向角。绘制数据。结果与此图类似。它们表明,当摩擦比例系数为1.

图形对于idx=1:numExperiments%提取数据日志=得到(simout (idx),“logsout”);sa = log.get (“方向盘角度”).Values;ay=log.get(“横向加速度”).值;图例_标签{idx}=[“lambdamu=”num2str (lambdamu (idx)));%绘制转向角与横向加速度的关系图绘图(sa数据、ay数据)保持终止%将标签添加到绘图中传奇(legend_labels“位置”,“最好的”);标题(“横向加速度”)包含(“转向角[度]”) ylabel (“加速度(m / s ^ 2)”)网格

2.提取车辆路径。绘制数据。结果与此图类似。它们表明,当摩擦比例系数为0.9

图形对于idx=1:numExperiments%提取数据日志=得到(simout (idx),“logsout”); x=log{3}.Values.Body.InertFrm.Cg.Disp.x.Data;y=log{3}.Values.Body.InertFrm.Cg.Disp.y.Data;图例_标签{idx}=[“lambdamu=”num2str (lambdamu (idx)));%绘制车辆位置图绘图(y,x)保持终止%将标签添加到绘图中传奇(legend_labels“位置”,“最好的”);标题(“车辆路径”)包含(“Y位置[m]”) ylabel ('X位置[m]')网格

另见

|

参考文献

[1] ISO 3888-2:2011。乘用车.严重变道操纵的试验跑道

相关实例

更多关于