实验介绍

  • 既然是做实验,肯定要有对比分析,手动一次次改参数后运行,要花费大量时间,而CarMaker为大家准备了贴心的自动测试功能,搭建好一次实验环境,准备好每次实验的不同参数,就可以自动进行实验,并记录实验数据。
  • 写论文,尤其是理工科的论文,优美的图标必不可少,我们可以借助Simulink生成图表,但CarMaker自动生成的图表也不输Simulink
  • 本实验会围绕汽车不同期望速度进行实际速度的测量,并进行比较。
  • 环境:Windows 10、CarMaker 10.2

目录

  • 实验介绍
  • 实验效果
  • 实验过程
    • 新建一个直线跑道并规划路线
    • 选择一辆测试车辆
    • 创建一个行驶策略
    • 保存当前项目
    • 打开TestManager界面
    • 新增一个TestRun,并设置测试场景
    • 新增两个Variation,并对speed的值进行设置
    • 新增一个Diagram,清晰的看到速度的变化
    • 启动测试
    • 查看测试报告
  • 附录1:TestManager中四种变量类型介绍
    • NValue
    • KValue
    • TS
    • CM
      • ScriptFile
      • ResultFName
      • Popup Timeout
  • 附录2:TestManager中常用的其他测试功能
    • 测试组(Group)
    • 车辆(Vehicle)
    • 特征值(Characteristic)
      • 实时计算(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)

  • 可以为不同的测试组指定不同的车辆

特征值(Characteristic)

  • 在进行测试时,计算一些特征值通常是很有用的,这有助于评估最后的模拟结果。特征值项内需要定义这些特征值,并指定它们的计算规则。对于每个特征值,您、必须定义一个唯一的标识符,该标识符以后可以在标准或图中作为参考名称使用。在CarMaker中,计算特征值基本上有两种不同的方法,即实时计算和离线计算。

实时计算(Online calculation)

  • 通过应用用户定义的实时表达式。这适用于那些计算仅取决于以前的时间步长的特征值。

  • 要实时计算特征值,选择RTExpr作为计算类型,并在指定的输入字段中指定的实时表达式(。实时表达式必须定义一个新的数量,其名称与前面指定的特征值的标识符相同。

  • 样例:计算刹车距离

    • 标示符(Identifier):BrakeDist
    • 类型(Type):RTExpr
    • 值(Value):(first() ? Qu::BrakeDist=0); DM.ManNo>0 ? BrakeDist=Delta2Ev(Car.Road.sRoad, change(DM.Brake), Car.v <=0.01)
    • 设置图表Mode为Characteristic vs Variation
  • 设置Y轴为BrakeDist

  • 设置车辆运行策略

    • Description:Accelerating
    • End Condition:Car.Road.sRoad>=50
    • Duration (time/dist):10.0
    • Longitudinal Dynamics:IPGDriver
    • Description:Braking to standstill
    • End Condition:Car.v<=0.001
    • Duration (time/dist):30.0
    • Longitudinal Dynamics:Manual(Pedals,Gear)
    • Cluth的Value:1
    • Brake的Value:$Brake=0.6
  • 记住,保存

  • TestRun的测试环境设置为刚才保存的场景

  • 运行测试,查看Rport中的图表,发现成功计算出刹车距离约23.36

离线计算(Offline calculation)

  • 通过分析存储的结果数据,在模拟完成后计算该值。这基本适用于所有的特征值。为了脱离线计算特征值,用户必须指定一个tcl脚本,它提供了计算所需值的函数。此脚本文件的路径必须在定义特征值之前,在“Settings”测试项中定义。此外,用户必须指定执行实际计算的函数的名称。

判定标准(Criterion)

  • 对于评估一个已完成的模拟,通常需要定义一个或多个标准,将模拟结果与给定的参考值进行比较。这可以通过在测试系列中添加一个或多个标准项来实现。对这一标准的评价结果可以是好的、警告的或坏的。为了区分这些结果,可以在标准项的详细视图中指定不同的约束。
  • 样例:接着Characteristic实时计算的样例,我们加上两几个条件:刹车距离小于20,合格,20到30之间警告,30及以上,危险。
    • Criterion参数设置

      • good:[get BrakeDist] < 20.0
      • warn:[get BrakeDist] >= 20.0 && [get BrakeDist] < 30.0
      • bad:[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,这样会有更快的测试速度。

【CarMaker学习笔记】TestManager自动测试实验相关推荐

  1. c51单片机学习笔记-LED流水灯实验

    目的:实现 LED 流水灯,只需循环让 D1-D8 指示灯逐个点亮. 方法:点亮 D1 且把 D2-D8 熄灭,延时一段时间后再点亮 D2 且把 D1. D3-D8 熄灭,延时一段时间后再点亮 D3 ...

  2. 中国大学MOOC实用Python程序设计学习笔记和课后测试1-3周(北京大学)

    中国大学MOOC实用Python程序设计学习笔记和课后测试1-3周(北京大学) 第1周 Python初探 为project设置解释器 保留字 第1周课后测试题 第2周 基本运算.条件分支和输出格式控制 ...

  3. 汇编学习笔记:对抗反汇编实验2019092801

    汇编学习笔记:对抗反汇编实验2019092801 实验描述 实验环境 实验过程 实验结论 实验描述 使用相连的jz和jnz指令跳转到紧接着jnz指令的call指令的第二个字节.call指令实际上无效. ...

  4. Maven 学习笔记 - 跳过测试 skipTests

    Maven 学习笔记 - 跳过测试 方案一 idea中操作 方案二 maven命令 方案三 maven打包插件配置 1. 跳过所有测试 2. 详细指定:包含.排除 参考资料 方案一 idea中操作 打 ...

  5. ROS_RGB-D SLAM学习笔记--室内环境测试

    ROS_RGB-D SLAM学习笔记 RTAB-Map's ros-pkg. RTAB-Map is a RGB-D SLAM approach with real-time constraints. ...

  6. go-pitaya学习笔记(3)-小小的测试

    学习笔记: 我家别墅靠大海/pitaya-learn 尝试集成功能:我家别墅靠大海/pitaya-game 如果你正在看此笔记,请你左边放笔记,右边放chatdemo的代码!! 我是按代码的顺序记的笔 ...

  7. 【CarMaker学习笔记】Model Check 功能介绍

    功能介绍 本节介绍了Model Check的使用方法和模块的含义 这个Model Check,不是我们形式化方向所说的Model Check.我们平时说的Model Check,是验证在一定的约束下, ...

  8. 【学习笔记】APP测试基本流程及测试要点

    APP测试基本流程以及APP测试要点 APP测试流程梳理 APP测试要点梳理 1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即1 ...

  9. iw命令 linux 没有_linux学习笔记(实验楼) 实验2 基本概念和操作

    一.实验介绍 1.1 实验内容 实验楼环境介绍 常用 Shell 命令及快捷键 Linux 使用小技巧 1.2 实验知识点 Linux 基本命令 通配符的使用 查看帮助文档 二.桌面环境 2.1 Li ...

最新文章

  1. 线性时不变系统以及响应的分类
  2. 3篇量子计算里程碑论文同登Nature封面:保真度超99%,达到实用化水平
  3. Java学习之路(一):日常第一课,认识JAVA
  4. int b = 1;int c = b^0xff;求C
  5. 挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱!
  6. 核心Java面试答案不正确
  7. MyISAM表加字段的特殊方法
  8. torch.randn【返回从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取的一组随机数】
  9. 一个 WordPress 安装,多个博客
  10. 安博中程研讨会-HTML5引领2012技术热潮
  11. 使用csscan评测字符集改变
  12. 李宏毅自然语言处理——问答任务
  13. 使用akka框架编写RPC框架
  14. 【预测模型】基于蝙蝠算法优化最小二乘支持向量机lssvm实现数据预测matlab代码
  15. cvtColor使用
  16. Nat. Methods | 基于几何深度学习解密蛋白分子表面的相互作用指纹
  17. java tiff 压缩_java – 多页Tiff压缩
  18. RCF—用于C++的进程间通讯(1)
  19. Chrome安装插件Save All Resources
  20. js判断早上好,上午好,下午好,傍晚好,晚上好

热门文章

  1. 昆兰士科技大学计算机排名,2019上海软科世界一流学科排名计算机科学与工程专业排名昆士兰科技大学排名第151-200...
  2. 影响PCB电路板价格因素?pcb线路板价格一般是多少?
  3. 0x80004005加载疑难解答时出错怎么办?
  4. 基于SINR最优的VoLTE异频切换优化
  5. 初识TradingView脚本语言PineScrpt 5
  6. C语言入门 -- 计算两骰子之和出现概率(2021/2/2)
  7. HDU 1546 (最短路 Dijkstra算法)
  8. html 实现格子效果图,纯CSS实现动态图片的九宫格布局
  9. Linux常用命令整理—网络
  10. 06-软件测试计划及测试说明