主要内容

变化路面的偏航稳定性

此示例显示如何在不同的道路表面上运行车辆动态双车道更换机动,分析车辆偏航稳定性,并确定机动成功。

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

  • 加速直到车辆击中目标速度

  • 松开油门踏板

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

  • 转动方向盘跟随路径回到右侧车道

通常,锥体标记车道边界。如果车辆和驾驶员可以在不击中锥体的情况下协商机动,则车辆通过测试。

有关参考应用程序的更多信息,请参阅双车道改变机动

allowsetupdlc;

进行双道变道机动

1.打开车道改变参考生成器块。默认情况下,使用这些参数设置操作:

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

  • 车辆宽度- 2米

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

2.在可视化子系统中,打开3D引擎块。默认情况下,3D引擎参数设置为禁用.对于3D可视化引擎平台要求和硬件建议,请参阅3D可视化引擎要求和限制

3.运行机动。随着仿真运行,查看车辆信息。

mdl ='dlcreferenceApplication';SIM(MDL);
###启动串行模型参考模拟构建###成功更新了模型参考仿真目标:PassVeh14DOF ###成功更新了模型参考仿真目标:SiMappedEngineV Build Summary simulation targets built:模型重建行动的原因  ========================================================================================== 动力传动系统代码生成和编译Driveline_msf。Mexw64并不存在。PassVeh14DOF生成并编译PassVeh14DOF_msf的代码。Mexw64并不存在。SiMappedEngineV代码生成和编译simappedengine_msf。Mexw64并不存在。建造时间:0小时4米10.411秒

  • 在“车辆位置”窗口中,查看车辆纵向距离作为函数或横向距离。

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

  • 在可视化子系统中,如果启用3D引擎块可视化环境,则可以查看车辆响应AutoVrtlEnv窗户。

扫表面摩擦

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

1.在双车道变道参考应用模型DLCReferenceApplication中,打开Environment子系统。摩擦块参数恒定价值指定摩擦缩放系数。默认情况下,摩擦缩放系数是1.0.参考应用程序使用系数来调整摩擦在每个时间步长。

2.启用速度,通道和ISO信号的信号日志记录。您可以使用Simulink®编辑金宝app器,也可以使用这些MATLAB®命令。保存模型。

  • 启用变道参考发生器输出车道信号的信号记录。

mdl ='dlcreferenceApplication';ph = get_param('DlcreferenceApplication / Lane更改参考生成器''porthandles');set_param (ph.Outport (1),“数据采集”'在');
  • 启用乘用车块出口信号的信号记录。

ph = get_param('DlcreferenceApplication /乘用车''porthandles');set_param (ph.Outport (1),“数据采集”'在');
  • 在可视化子系统中,为ISO块启用信号记录。

set_param([mdl'/可视化/ ISO 15037-1:2006'],'测量''使能够');

3.设置带有摩擦缩放系数的向量,lambdamu.,你想调查。例如,检查摩擦缩放系数等于0.90.95, 和1.0,在命令行输入:

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

4.创建设置的仿真输入数组lambdamu.等于摩擦常数块参数。

为了idx = num表明:-1:1在(idx)= simulink.sim金宝appulationInput(MDL)中;在(idx)=中(idx).setblockparameter([MDL)'/环境/摩擦'],......'价值',['那里(4,1)。*'num2str (lambdamu (idx))));结尾

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

set_param (mdl'停止''25') save_system (mdl)抽搐;simout = parsim (,'showsimulationManager''在');toc;
[17-Dec-2020 13:57:24]检查并行池的可用性…[17-Dec-2020 13:57:24]启动并行工作的Sim金宝appulink…[17-Dec-2020 13:57:25] Loading project on parallel workers…[17-Dec-2020 13:57:25]配置并行工作器上的模拟缓存文件夹…[17-Dec-2020 13:57:25]加载模型并行工人…[17-Dec-2020 13:57:45]运行模拟…[17- 12 -2020 13:59:11][17- 12 -2020 13:58:19]完成3次模拟运行中的1次[17- 12 -2020 13:58:20]完成3次模拟运行中的2次[17- 12 -2020 13:59:11]运行时间为120.449498秒。

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

使用仿真数据检查器分析结果

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

1.打开仿真数据检查器。在Simuli金宝appnk工具条上,在模拟标签,下面审查结果,点击数据检查

  • 在仿真数据检查器中,选择进口

  • 在里面进口对话框,清除logsout.选择SIMOUT(1)SIMOUT(2), 和SIMOUT(3).选择进口

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

2.或者,使用这些MATLAB命令创建6个绘图。前三个图标记上车道边界,UB.,下车道边界,和横向车辆距离,y,每次运行。

接下来的三个地块提供横向加速度,ay.,横向车辆距离,y和横摆率,R.,每次运行。

为了idx = 1: numExperiments%创建SDI运行对象SimoutRun(IDX)=金宝app Simulink.sdi.Run.Create;Simoutrun(IDX).name = ['lambdamu =',num2str(lambdamu(idx))];添加(SimoutRun(IDX),'vars',simout(idx));结尾sigcolor = (1 0 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):);结尾金宝appsimulink.sdi.view simulink.sdi.setsubplotlayout(numoxperiments,2);为了idx = 1: numExperiments%绘制横向位置和车道边界plotoneubplot(Ubsignal(Idx),(Idx),1,true);plotonsubplot(Lbsignal(Idx),(Idx),1,true);plotoneubplot(ysignal(idx),(idx),1,true);结尾为了idx = 1: numExperiments%绘制横向加速度,位置和横摆率plotOnSubPlot (asignal (idx), 1、2,真的);plotOnSubPlot (ysignal (idx), 2, 2,真的);plotOnSubPlot (rsignal (idx)、3、2,真的);结尾

结果类似于这些图,表明车辆具有约的横摆率当摩擦缩放系数等于时,Rad /s1

进一步的分析

要进一步探索结果,请使用这些命令从中提取横向加速度,转向角和车辆轨迹simout目的。

1.提取横向加速度和转向角。绘制数据。结果与此图类似。它们表明,当摩擦缩放系数是时,会发生最大的横向加速度1

数字为了idx = 1: numExperiments%提取数据log = get(simout(idx),'logsout');sa = log.get(“方向盘角”) . values;唉= log.get ('横向加速') . values;Legend_Labels {idx} = ['lambdamu =',num2str(lambdamu(idx))];%绘图转向角与横向加速度绘图(sa.data,ay.data)持有结尾%为绘图添加标签传奇(Legend_Labels,'地点''最好');标题('横向加速')xlabel(的转向角(度))ylabel('加速[m / s ^ 2]'网格)

2.提取车辆路径。绘制数据。结果与此图类似。它们表明,当摩擦缩放系数是时,最大的横向车辆位置发生0.9

数字为了idx = 1: numExperiments%提取数据log = get(simout(idx),'logsout');x =日志{3}.Values.Body.InertFrm.Cg.Disp.X.Data;日志y = {3} .Values.Body.InertFrm.Cg.Disp.Y.Data;Legend_Labels {idx} = ['lambdamu =',num2str(lambdamu(idx))];%绘图车辆位置情节(y, x)结尾%为绘图添加标签传奇(Legend_Labels,'地点''最好');标题('车道')xlabel('y位置[m]')ylabel('x位置[m]'网格)

也可以看看

|

参考

[1] ISO 3888-2:2011。乘用车 - 严重车道变化机动的测试轨道

相关例子

更多关于