本节课将介绍如何建立一个单独的TestRun,并有可能根据不同的领域选择一个例子。
3.1 TestRun:车辆动力学方面的应用
在本节中,将介绍如何建立在分离路面制动试验的一个例子。
3.1.1 使用场景编辑器构建道路网络
在本节中,将学习如何建立一个具有摩擦系数的道路。
打开场景编辑器:在CarMaker主界面的顶部栏中,点击参数
> 场景/道路。
使用鼠标导航到 "场景编辑器 "窗口左侧的 "道路 "部分。单击并按住第一个名为 "路段 "的图标,直到打开一个下拉菜单。选择公路段类型 "直线"。
图3.1:选择直线段选项
使用光标导航进入编辑器的设计区(中间窗口),单击一次,定义直线段的起点。设置的第一个点也是全局坐标系的原点。按住shift,再单击一次,就可以创建一条长1500米的水平直路段。
图3.2:实施直线段
让右边的车道变宽。在 "道路 "选项卡中,选择 "车道 "选项,然后单击刚才实施的道路右侧车道。在右侧的选项卡中,将开始时的宽度和结束时的宽度这两个参数改为30米。
在车道模式仍处于活动状态时,点击左边的车道,然后点击右上角选项卡右上角的红色 "X",删除左边的车道。
图3.3: 改变车道宽度和删除车道
添加摩擦条纹:在 "道路 "选项卡中,左键单击并按住 "凸点 "图标。在下拉菜单中,选择 "摩擦条 "选项。
在链接(直路段)上单击一次选择它,然后在链接上任意位置放置两个点来定义摩擦条纹的开始和结束。在右侧的选项卡中修改这些点,使摩擦条从LINK起点800米开始,到LINK起点1300米结束。
将Lat.偏移量设置为-15m,并使条纹的宽度为10m。摩擦系数应该是0.5。
请看下图的设置和条纹的样子。也可以编辑道路道路标线。
图5.4: 添加摩擦种类
现在,为了让车辆能够在路上行驶,必须要有一个行驶路线。
因为这是一条单车道的道路右侧,所以只要驾驶侧是右侧交通,车辆就会沿着中心线行驶。你可以通过点击场景编辑器顶部栏中的齿轮图标,查看一下规范,就可以检查活动的驾驶侧。左手车流也可以正常工作。只要记住,驾驶侧只能在道路建设之前更改。
在道路上添加一条路线。在编辑器左侧的工具栏中,在 "交通 "选项卡中,选择路线图标。使用光标,在预定义的路径上单击一次绿色标记的路径,选择它,然后再次单击确认想要在此路径上开始生成路径。它将变成橙色高亮显示。由于我们不想再选择更多的路径,所以双击路径之外的任何地方就可以结束路径定义。
提示:为了简化预定义路径的选择,放大路径的大小是很有用的。
现在的路已经定义完成了。如果需要的话,打开产品实例中的解决方案,就可以继续前进了。包括解决方案Step1_Scenario在内的TestRun可以在Product Examples > Examples > VehicleDynamics >_QuickStartGuide中找到。
3.1.2 定义车辆操纵控制
在这种驾驶实验中,车辆首先需要加速到一定的速度,然后当车辆到达路面摩擦条件时,立即刹车。然后,在刹车的同时,左手的两个轮子会在比较滑的一侧,而右手的两个轮子会在抓地力比较大的一侧。
这就意味着需要两个操纵步骤,而这两个步骤也都需要一个结束条件。
定义第一个操纵步骤 "加速"。在CarMaker主图形用户界面中,打开Parameters > Maneuver,点击列表中的最后一行(END),然后突出显示。现在选择 "新建 "来插入一个操纵步骤。
在描述中写上 "加速",将持续时间(Duration)改为999s(确保机动运行时间足够长),并给它一个适当的End条件。
Car.Road.sRoad >= 800
图3.5:定义加速操纵步骤
终止条件是在所谓的实时表达式中。最终条件是由一个特定的量的值来决定的。在本例中,这个量是Car.Road.sRoad,表示车辆的道路坐标。这意味着车辆的道路坐标的s坐标。
由于之前建立的道路上的摩擦摩擦系数是从Link起点800米处开始的,所以驾驶者应该在这时停止加速并开始刹车。这就是为什么第一个操纵步骤到此结束。
定义第二个操纵步骤制动:再次点击列表中的最后一行(END),突出显示。现在选择 "新建",在第一个操作步骤下面插入第二个操作步骤。
请注意,新的操纵步骤总是在操纵步骤列表中的高亮行上方插入。
将此操纵步骤称为 "制动",将"持续时间 "改为999s,将 "结束 "改为"终止"。
Car.v <= 0.001
此外。选择 "纵向动力学 "选项 "手动",并设置以下值刹车和离合到1。
图3.6:定义制动操作步骤
这里实现的结束条件是,当车速低于0.001 m/s时,操纵步骤结束,因为这是最后一步,所以仿真结束。
到目前为止的练习的解决方案,请打开TestRun Step2_Maneuver,可以在产品实例 > 实例 > 实例 > VehicleDynamics >_QuickStartGuide中找到。
3.1.3 选择一个车辆并仿真
Testrun还缺少一个相关的组件,那就是车辆。CarMaker提供了多种多样的示例车辆,可以在产品实例中选择。
选择车辆。在 Carmaker 主 GUI 中,在标有汽车的字段中左键单击 "选择"。
在打开的浏览器中,导航到 "产品实例",然后选择DemoCar。
图3.7:选择CarMakerDemoCar
现在,道路已经定义好了,一个车辆操纵已经完成,指示驾驶员加速,直到到达摩擦条,然后刹车,车辆已经选择好了,TestRun就完成了,可以开始仿真了。
开始仿真。点击CarMaker GUI中的绿色 "开始 "按钮。
要观看仿真的动画,请通过CarMaker主界面打开IPGMovie。
> 文件 > IPGMovie。
图3.8:IPGMovie中的对开道路制动测试动画
关于到现在为止的练习的模型,打开TestRun Step3_Vehicle,可以通过产品实例>实例>VehicleDynamics>_QuickStartGuide找到。另外,也可以看看TestRun Step4_VehicleDynamics,它与Step3_Vehicle基本相同,但包含了一些3D对象来美化场景。
3.1.4 保存TestRun
保存TestRun,这样就可以检索到之前的模型了。在CarMaker GUI中,点击 "文件">"另存为",在对话框左栏选择 "项目"。右键单击,创建一个新文件夹 "My_TestRun"。在新文件夹上双击,输入TestRun的任意名称,例如:My_TestRun_TestRun_VehicleDynamics> OK。
图 5.9: 保存TestRun
3.2 CarMaker在ADAS与智能驾TestRun实例
下面的例子将演示如何实现自主紧急制动(AEB)TestRun。对于对ADAS应用感兴趣的用户来说,这个例子可能会更感兴趣。
3.2.1使用场景编辑器构建道路网络
在本章中,将使用场景编辑器建立一个T型道路路口。
通过 CarMaker 主 GUI 打开场景编辑器。左键点击参数 > Scenar- io / Road 或使用快捷键 crtl + r。
添加路段。在左侧的 "道路 "选项卡中,左键单击道路选项卡中的第一个图标 "道路段 "一次,然后在场景编辑器的绘图区域右键单击,打开一个小的下拉菜单。在路段上左键单击一次,打开另一个下拉菜单,里面有路段的所有选项。
左键选择 "路口"。
图3.10:选择道路类型交叉路口
实施结点。使用光标,在绘图区左键单击一次,设置中间的交点。
注意,你在场景编辑器中定义的第一个点也会初始化x,y,z-坐标系,并设置为(0,0,0,0)值。
将光标向左移动并按住shift(shift使光标锁定在标示值上)再次点击,创建第一个交接臂,角度为180,长度为10m。
现在,将光标向右移动,按住shift,点击执行第二个连接臂,长度为10m,角度为0。
最后,将光标移动到底部,按住shift键。当光标在正确的位置定义最后一个结点臂的长度为10m,角度为270,双击,完成与最后一个结点臂的构建。
图3.11:实现道路交叉口结点
在第一个交接臂中添加一条道路。单击并按住左侧 "道路 "选项卡中的路段图标。在下拉菜单中,选择道路段类型 "直路"。
将光标移动到第一个交接臂的末端(交接臂0),并在中间悬停,直到出现一个橙色的圆圈,光标锁定在参考线上。在这里左键单击一次开始绘制直线段,将光标向左移动,再单击一次即可实现直线。在右侧的选项卡中,你可以编辑这个直线段的长度。
将此直线段的长度设置为500米。
图3.12:在连接臂0上增加一个直线
依次类推,增加另外两条连接臂。都在右侧和BOT-TOM之间,增加一条直段,长度分别为500米(右侧)和300米(底部)。
现在的道路网应该像下图中的样子。
图3.13: 完成的T型交叉路口
为了让车辆知道自己在链接上按什么顺序行驶,必须确定一条路线。
点击场景编辑器左下角的路线图标。
Route_0:点击链接1右侧车道上的预定义路径(如下图所示),选择此路径。当出现一条断裂的橙色线条时,再次点击确认这是正确的路径,在此基础上开始定义路径。现在,单击直接穿过路口的路径,然后单击 Link 2 上的直行路径,通过这两条路径扩展路线。要完成路线的实现,请双击链接上的某处。
路径_1: 首先,选择Link 3右侧车道上的路径,如前文所述,确认后,选择在路口左转的路径,延长Route。最后添加Link 1左侧车道上的路径段。双击完成。现在Route从下面来,在路口左转。
图3.14:完成车辆行驶路线
在场景编辑器中,用户可以为他的路网工作生成地形。地形的高度剖面是由CarMaker随机生成的,用户不能对其进行任意化,只能定义一个最小和最大的高度值。此外,用户可以在生成后在右侧的选项卡中选择一个几何图形文件(.obj文件)。如果在该字段中没有选择文件,则使用CarMaker的默认图像。地形是使用地形生成器添加的。
生成地形。点击场景编辑器左侧场景选项卡中标有 "地形生成 "的图标,然后点击右侧的 "生成 "选项卡中的 "生成"。
图3.15:场景编辑器的地形生成器
3.2.2 定义车辆操纵控制
配置完路况后,可以选择一辆测试车。
选择一辆车。在 Carmaker 主图形用户界面中,在标有 "选择 "的字段中左键单击 "选择" 汽车。
在打开的浏览器中,导航到产品实例,然后选择 DemoCar。
现在需要定义一个操纵,告诉司机如何操纵车辆行驶。
通过CarMaker主图形界面>参数>操纵,或使用快捷键crtl + m打开操纵对话框。
在操纵列表中添加一个新的操纵步骤(目前仍为空),并将持续时间(Duration)改为60s。可以在右侧编辑标有 "持续时间"(Duration)的字段中的条目来改变操纵步骤的持续时间。
在标有操纵动态的字段中,确保IPGDriver是活动选项,并将速度改为70km/h。
图3.16:添加新的操纵步骤
此外,通过点击全局设置/准备,用户可以定义各种启动值和附加命令。
点击 "全局设置/准备",将起始值速度设置为70公里/小时,并将仿真开始时的档位设置为第5档。
图3.17: 操纵全局设置/准备工作
现在确定了道路、车辆和操纵,就可以开始TestRun了。
开始仿真。选择Route_0作为活动路线(车辆行驶的路线),在顶部菜单中点击场景设置,然后点击车辆启动位置>活动路线。在CarMaker主图形用户界面中,按绿色的 "开始 "按钮。
打开IPGMovie,观察仿真过程。
3.2.3 增加交通流
现在将在仿真中加入一个交通对象,展示CarMaker中的对象检测是如何工作的。这对于AEB系统的激活是必要的。有非常多的可用交通对象和可能的功能和操作方式,以后的课程中会有更多的详细介绍,欢迎关注收藏与转发。下面的例子将只演