实验介绍 既然是做实验,肯定要有对比分析,手动一次次改参数后运行,要花费大量时间,而CarMaker为大家准备了贴心的自动测试功能,搭建好一次实验环境,准备好每次实验的不同参数,就可以自动进行实验,并记录实验数据。写论文,尤其是理工科的论文,优美的图标必不可少,我们可以借助Simulink生成图表,但CarMaker自动生成的图表也不输Simulink本实验会围绕汽车不同期望速度进行实际速度的测量,并进行比较。环境:Windows 10、CarMaker 10.2
目录 实验介绍实验效果实验过程新建一个直线跑道并规划路线选择一辆测试车辆创建一个行驶策略保存当前项目打开TestManager界面新增一个TestRun,并设置测试场景新增两个Variation,并对speed的值进行设置新增一个Diagram,清晰的看到速度的变化启动测试查看测试报告 附录1:TestManager中四种变量类型介绍NValueKValueTSCMScriptFileResultFNamePopup Timeout 附录2:TestManager中常用的其他测试功能测试组(Group)车辆(Vehicle)特征值(健康的海燕)实时计算(Online calculation)离线计算(Offline calculation) 判定标准(Criterion)测试配置项(Test Configuration)设置(Settings) 结束补充
实验效果
实验过程 新建一个直线跑道并规划路线
选择一辆测试车辆
创建一个行驶策略
采用IPGDrive模型行驶30秒,速度为$speed=10,表示定义一个NValue变量,变量值为10
将速度定义为变量是为了后面的对这个变量进行修改,关于NValue变量的性质可以在最后的附录1中查看。
保存当前项目
项目名为:testManagerExperience
打开TestManager界面
新增一个TestRun,并设置测试场景
新增两个Variation,并对speed的值进行设置
如果之前在配置IPGDriver的Speed的时候正确,则此处的Name下的speed的值是可以通过下拉获取的
新增一个Diagram,清晰的看到速度的变化
将数据在一张表上显示,方便对比
对x轴和y轴进行命名
CarMake目前r不支持中文,不要写中文
x轴取值默认为Time,y轴取值我们手动输入为Car.v表示车速
启动测试
我们可以看到IPGMoive界面的车辆在不同的参数下运行
查看测试报告
第一页记录了测试的时间等信息
第二页记录了测试结果的基本情况
第三页为数据图标
后面两页记录了测试的参数
附录1:TestManager中四种变量类型介绍 NValue
全称:Named Value
作用:NValue是一种命名变量,可以放到CarMaker的任何可编辑参数字段中。要引入命名值,可以直接在选择的参数字段或输入文件中输入美元符号$,该符号后面需要跟上希望该变量具有的名称。同时,可以给这个变量提供一个默认值。
范例:设置IPGDriver的速度为变量speed的值,初始为10
在IPGDriver界面的Speed框内,输入$speed=10,表示定义一个命名变量speed,初始值为10图示:
定义成功的NValue可以在TestManager的参数名称栏找到
KValue 全称:Key Value作用:KValue是关键字变量,属于infofile关键字,主要适用于CarMakerGUI中没有可编辑参数字段的设置。例如,使用不同的轮胎执行相同的测试运行,或者如果交换车辆数据集。部分参数样例:
TS
全称:TestSpace variables
作用:TestSpace variables称为全局测试变量,是仅在测试体系中的辅助变量。其功能可与黑板类似。测试空间变量可以存储和计算值。
创建方法:
打开ScriptControl界面
输入命令set TS::oneValue 100,按回车,表示创建一个叫oneValue的TS变量,赋值为100
可以从测试管理器中的“View->TestSpace”菜单中检索所有现有TS变量的概述:
使用方法:$TS::oneValue
CM ScriptFile 作用:脚本文件类变量只存在于测试管理器中。它们允许访问测试管理器中的脚本控件扩展。因此,可以将用Tcl/Tk编程语言编写的脚本文件加载到测试空间中,以便在执行测试系列时可以调用用户定义的函数和过程。样例:可参考Examples > BasicFunctions > TestAutomation > TestManager > VariationsAndSkipping.ts样例
ResultFName 作用:这是一个特殊的命令,它会影响在此测试系列中创建的结果文件的存储路径和名称。在类型为CM的变量的字段中,只需输入新的存储路径作为绝对路径或相对于CarMaker项目文件夹。样例:Examples > BasicFunctions > TestAutomation > ScriptControl > Straight_TrailerSwingingDVA
Popup Timeout
作用:避免插入运行的弹出消息是弹出超时。在以秒为单位定义的超时后,弹出式消息将自动关闭。如果弹出窗口有选择,则给出默认答案。
附录2:TestManager中常用的其他测试功能 测试组(Group) 我们可以通过Group进行多个不相关的测试,每一个Group内的测试都是互不影响的。
车辆(Vehicle) 可以为不同的测试组指定不同的车辆
特征值(健康的海燕) 在进行测试时,计算一些特征值通常是很有用的,这有助于评估最后的模拟结果。特征值项内需要定义这些特征值,并指定它们的计算规则。对于每个特征值,您、必须定义一个唯一的标识符,该标识符以后可以在标准或图中作为参考名称使用。在CarMaker中,计算特征值基本上有两种不同的方法,即实时计算和离线计算。 实时计算(Online calculation)
通过应用用户定义的实时表达式。这适用于那些计算仅取决于以前的时间步长的特征值。
要实时计算特征值,选择RTExpr作为计算类型,并在指定的输入字段中指定的实时表达式(。实时表达式必须定义一个新的数量,其名称与前面指定的特征值的标识符相同。
样例:计算刹车距离
标示符(Identifier):BrakeDist类型(Type):RTExpr值(Value):first) ? Qu::BrakeDist=0); DM.ManNo>0 ? BrakeDist=Delta2EvCar.Road.sRoad, changeDM.Brake), Car.v <=0.01)
设置图表Mode为健康的海燕 vs Variation
设置Y轴为BrakeDist
设置车辆运行策略
Description:AcceleratingEnd Condition:Car.Road.sRoad>=50Duration time/dist):10.0Longitudinal Dynamics:IPGDriver
Description:Braking to standstillEnd Condition:Car.v<=0.001Duration time/dist):30.0Longitudinal Dynamics:ManualPedals,Gear)Cluth的Value:1Brake的Value:$Brake=0.6
记住,保存
TestRun的测试环境设置为刚才保存的场景
运行测试,查看Rport中的图表,发现成功计算出刹车距离约23.36
离线计算(Offline calculation) 通过分析存储的结果数据,在模拟完成后计算该值。这基本适用于所有的特征值。为了脱离线计算特征值,用户必须指定一个tcl脚本,它提供了计算所需值的函数。此脚本文件的路径必须在定义特征值之前,在“Settings”测试项中定义。此外,用户必须指定执行实际计算的函数的名称。
判定标准(Criterion) 对于评估一个已完成的模拟,通常需要定义一个或多个标准,将模拟结果与给定的参考值进行比较。这可以通过在测试系列中添加一个或多个标准项来实现。对这一标准的评价结果可以是好的、警告的或坏的。为了区分这些结果,可以在标准项的详细视图中指定不同的约束。样例:接着健康的海燕实时计算的样例,我们加上两几个条件:刹车距离小于20,合格,20到30之间警告,30及以上,危险。 Criterion参数设置 good:[get BrakeDist] < 20.0warn:[get BrakeDist] >= 20.0 && [get BrakeDist] < 30.0bad:[get BrakeDist] >= 30.0
创建三个变量,修改Brake分别为0.3、0.6、0.9
运行测试,查看结果,不同的Brake会产生不同的BrakeDistance
测试配置项(Test Configuration) Test Configuration被设计为解决测试配置器向导的方法,该向导可用于基于预定义的测试目录,即所谓的测试软件软件包,创建大型测试系列。
设置(Settings) Settings使用户可以进行一些配置,不仅适用于一个测试,而且适用于更大规模的测试。例如参数变量可以设置,这些变量对不止一个变量有效,但是一组测试运行。因此,将设置放置在测试系列中的位置非常重要,因为它们适用于相同或更低级别的所有设置。
结束 TestManager并不难,有难度的可能还是变量的使用,需要花一些时间去研究,我也主要学习了NValue、KValue和TS的使用,对于其他的变量没有花太多时间了解。本次实验可以在CSDN的资源中下载只包含前面的实验,不包含附录的实验):https://mp.csdn.net/mp_download/manage/download/UpDetailed
注意:用CarMaker打开testManagerExperience,在TestManager界面打开testManagerExperience.ts,即可进行不同速度的车辆自动测试。 补充 默认情况下,测试方式Execution mode为顺序测试Sequential,我们可以改为并行测试Parallel,这样会有更快的测试速度。