主要内容

车辆转向获得速度不同

这个例子展示了如何使用车辆动力学缓慢增加转向参考应用程序来分析转向角的影响,并对汽车的操作速度。具体来说,你可以计算转向增益以不同速度运行操作时设置点。基于恒速,SAE J266中定义的变量控制测试,慢慢增加转向机动有助于车辆的横向动力学特征。在测试时,司机:

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

  • 维护一个目标速度。

  • 线性增加方向盘角从0度到最大角度。

  • 为指定的时间保持方向盘角。

  • 线性减少方向盘角从最大角度为0度。

参考应用程序的更多信息,请参阅慢慢地增加转向机动

helpersetupsis;

运行一个缓慢增加转向机动

1。打开缓慢增加引导块。默认情况下,策略与这些参数设置:

  • 纵向速度定位点- 50英里/小时

  • 手轮率- 13.5度

  • 最大手轮角- 270度

2。在可视化子系统,打开3 d引擎块。默认情况下,3 d引擎参数设置为禁用。三维可视化引擎平台需求和硬件建议,看到虚幻引擎模拟环境要求和限制

3所示。运行操作使用默认设置。当模拟运行时,查看车辆信息。

mdl =“ISReferenceApplication”;sim (mdl);
# # #开始连续模型参考模拟构建。# # #模型参考仿真目标动力传动系统是最新的。# # #模型参考仿真目标PassVeh14DOF是最新的。# # #模型参考仿真目标SiMappedEngineV是最新的。构建总结0 3模型建立(3模型已经更新)构建持续时间:0 h 0米4.7948秒

  • 车辆位置窗口,查看车辆纵向距离函数或外侧的距离。黄线显示了偏航率。蓝线显示了转向角。

  • 可视化子系统,打开偏航率,引导范围块显示偏航速度和转向角与时间。

扫描速度设置点

运行缓慢增加转向角参考应用程序以三种不同的速度设置点。

1。在慢慢增加转向参考应用程序模型ISReferenceApplication打开缓慢增加引导块。的纵向速度设定值,xdot_r块参数设置车辆速度。默认情况下,速度是每小时50英里。

2。启动信号记录速度、车道和ISO的信号。您可以使用仿真软件®编辑器,或者金宝app或者,这些MATLAB®命令。保存模型。

  • 使信号日志慢慢增加引导Ref信号输出港。

mdl =“ISReferenceApplication”;ph = get_param (“ISReferenceApplication /慢慢增加引导”,“PortHandles”);set_param (ph.Outport (1),“数据采集”,“上”);
  • 启用信号日志记录的外港客运车辆块信号。

ph = get_param (“ISReferenceApplication /客运车辆”,“PortHandles”);set_param (ph.Outport (1),“数据采集”,“上”);
  • 在可视化子系统,使信号ISO块的日志记录。

set_param ([mdl“可视化/ ISO 15037 - 1:2006”),“测量”,“启用”);

3所示。建立一个设定值速度向量,xdot_r你想调查。例如,在命令行中,键入:

vmax =[45岁,50岁,55];numExperiments =长度(vmax);

4所示。创建一个数组模拟输入,慢慢增加引导块参数设置纵向速度选点,xdot_r等于xdot_r

idx = numExperiments: 1:1 (idx) = Si金宝appmulink.SimulationInput (mdl);在(idx) = (idx) .setBlockParameter (mdl' /慢慢增加引导的),“xdot_r”num2str (vmax (idx)));结束

5。保存模型和运行模拟。如果可用,使用并行计算。

save_system (mdl)抽搐;simout = parsim (,“ShowSimulationManager”,“上”);toc;
(05 - 1月- 2023 11:33:33)检查可用性平行池……(05 - 1月- 2023 11:33:33)开始仿真软件并行金宝app工人……(05 - 1月- 2023 11:33:34)加载项目并行的工作……(05 - 1月- 2023 11:33:34)配置模拟缓存文件夹在平行的工人……(05 - 1月- 2023 11:33:34)加载模型并行的工作……(05 - 1月- 2023 11:33:51)运行模拟……(05 - 1月- 2023 11:34:57)完成1 3模拟运行[05 - 1月- 2023 11:34:59]完成2 3模拟运行(05 - 1月- 2023 11:36:44)完成3的模拟运行(05 - 1月- 2023 11:36:44)清理平行工人……运行时间是201.857620秒。

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

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

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

1。检查员打开模拟数据。在仿真软件将来金宝app发布的模拟选项卡,在审查结果,点击数据检查

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

  • 进口对话框,logsout。选择simout (1),simout (2),simout (3)。选择进口

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

2。另外,使用这些MATLAB命令绘制纵向速度,方向盘角度,横向加速度,纵向位置,横向位置。

idx = 1: numExperiments%创建sdi运行对象simoutRun (idx)金宝app = Simulink.sdi.Run.create;simoutRun (idx) . name = (“速度= 'num2str (vmax (idx)));add (simoutRun (idx),“var”simout (idx));结束sigcolor = [0 1 0 0 0 1; 1 0 1];idx = 1: numExperiments%提取横向加速度,位置,指导msignal (idx) = getSignalsByName (simoutRun (idx),“xdot_mph”);msignal (idx)。LineColor = sigcolor ((idx):);ssignal (idx) = getSignalsByName (simoutRun (idx),“SteerAngle”);ssignal (idx)。LineColor = sigcolor ((idx):);asignal (idx) = getSignalsByName (simoutRun (idx),横向加速度的);asignal (idx)。LineColor = sigcolor ((idx):);xsignal (idx) = getSignalsByName (simoutRun (idx),“乘用车:1. body.inertfrm.cg.disp.x”);xsignal (idx)。LineColor = sigcolor ((idx):);ysignal (idx) = getSignalsByName (simoutRun (idx),“乘用车:1. body.inertfrm.cg.disp.y”);ysignal (idx)。LineColor = sigcolor ((idx):);结束金宝appSimulink.sdi。视图Sim金宝appulink.sdi.setSubPlotLayout (5、1);idx = 1: numExperiments%绘制横向位置、转向角和横向加速度plotOnSubPlot (msignal (idx), 1, 1, true);plotOnSubPlot (ssignal (idx)、2、1, true);plotOnSubPlot (asignal (idx)、3、1, true);plotOnSubPlot (xsignal (idx)、4、1、真实);plotOnSubPlot (ysignal (idx)、5、1, true);结束

结果类似于这些情节,这表明,最大的横向加速度时车辆速度是45英里。

进一步分析

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

1。提取横向加速度和转向角。图数据。结果是类似的情节。

idx = 1: numExperiments%提取数据日志=得到(simout (idx),“logsout”);sa = log.get (“方向盘角”). values;唉= log.get (横向加速度的). values;firstorderfit = polyfit (sa.Data ay.Data 1);获得(idx) = firstorderfit (1);legend_labels {idx} = [num2str (vmax (idx)),迈:收益= ',num2str(获得(idx)),“米/(度s ^ 2)”];%的阴谋转向角和横向加速度情节(sa.Data ay.Data)结束%将标签添加到情节传奇(legend_labels“位置”,“最佳”);标题(横向加速度的)包含(的转向角(度))ylabel (“加速度(m / s ^ 2)”网格)

2。提取车辆路径。图数据。结果是类似的情节。

idx = 1: numExperiments%提取数据日志=得到(simout (idx),“logsout”);xValues = getSignalsByName (simoutRun (idx),“乘用车:1. body.inertfrm.cg.disp.x”). values;yValues = getSignalsByName (simoutRun (idx),“乘用车:1. body.inertfrm.cg.disp.y”). values;x = xValues.Data;y = yValues.Data;legend_labels {idx} = [num2str (vmax (idx)),“英里”];%绘制车辆位置轴(“平等”情节(y、x)结束%将标签添加到情节传奇(legend_labels“位置”,“最佳”);标题(“车辆路径”)包含(“Y位置[m]”)ylabel (“X位置[m]”网格)

引用

[1]SAE J266。稳态定向控制测试程序为乘用车和轻型卡车。Warrendale,爸爸:SAE国际,1996年。

另请参阅

||

相关的话题