基于TPT实现自动化场景测试

发布时间:
来源: 电子工程世界

随着汽车行业的蓬勃发展,与之相关的自动驾驶功能越来越受到人们的关注。自动驾驶给人们带来方便的同时,也带来了某些安全隐患。为了最大程度的确保安全,除了要进行功能逻辑测试外,也需要进行功能场景测试(比如鬼探头、多岔路上坡等场景)。
目前主流的场景测试工具有Carmaker、VTD、DYNA4、CarSim和PreScan。为了使场景测试的测试用例可读性更强,对复杂功能的评估更高效,北汇信息提出基于TPT的测试解决方案。接下来,以TPT+Carmaker为例,介绍如何实现自动化的场景测试。

01TPT和场景仿真软件集成
TPT提供以上场景测试工具的集成平台和接口。TPT中的FUSION平台存在CarMaker FMU Node、VTD Client Node、FMI Fusion Node和Custom Node Dll,能够实现与场景测试软件的集成,感兴趣的小伙伴可以查看北汇公众号前期文章《震惊!虚拟场景仿真测试还能这么玩》。
下面,我们以Carmaker FMU Node为例,介绍配置过程。

在TPT中新建Carmaker platform,配置如下:加载Carmaker工程和Test run,导入信号即可完成配置,非常简单。


3b2cb0ec-92c4-11ed-ad0d-dac502259ad0.png

图 1 TPT中Carmaker平台配置02场景测试用例编写

TPT中支持测试步骤列表和状态机测试用例,测试步骤列表简单快捷,状态机图形化便于理解。
例如AEB(自动紧急刹车)功能,测试场景为主车逐渐靠近目标,当距离小于阈值时,刹车确保安全。3b5dffbc-92c4-11ed-ad0d-dac502259ad0.png

图 2 AEB功能场景
根据如上场景,搭建状态机测试用例。根据状态机及转移线显示的内容,能够很快了解到测试场景内容,例如:整车上电,开启AEB功能,油门为30,整车加速至50km/h,持续15s。3b7da8b2-92c4-11ed-ad0d-dac502259ad0.png

图 3 TPT场景测试用例
另外,通过改变状态机变种或跳转条件,可以很方便的实现其他测试场景。3b9b2ff4-92c4-11ed-ad0d-dac502259ad0.png

图 4 变换场景

03测试评估多样化编写TPT支持在测试用例中编写评估,也有独立于测试用例的GUI和脚本评估。

自动驾驶逻辑往往非常复杂,评估需要多个条件,TPT评估语法为Python语法,方便快捷,另外,TPT内置了很多函数,例如:上升沿、下降沿、积分、微分等等,编写评估时直接使用即可。

例如当前测试场景,当主车与目标距离小于10m时,刹车应>=0.7,降低车速,避免与目标碰撞。GUI和脚本评估会自动寻找满足condition的区间开启评估,并判断是否满足期望结果。
如下为Trigger Rule评估的Trigger Condition形式,当满足Start Condition条件时,开启评估并检查是否符合期望,满足Stop Condition条件时,关闭评估。

Tips:TPT.risingEdge()用法为,当()里的条件由不满足到满足时触发,由于主车与目标距离逐渐降低,则应为:

TPT.risingEdge(Sensor::ds_p<10)。

同理,如果为TPT.fallingEdge(),则条件为Sensor::ds_p>10。

3bb0f7c6-92c4-11ed-ad0d-dac502259ad0.png

图 5 评估语法
上述评估也可以基于Script评估实现,示例如下:3be75f14-92c4-11ed-ad0d-dac502259ad0.png

图 6 脚本评估
我们也可以将脚本评估作为库,方便其他同事使用。

04测试运行
可以在TPT当中新建TestSet,对测试用例进行分组,运行指定的测试集。当然了,最方便的方法是直接选中想要执行的测试用例,直接运行。3bff7a7c-92c4-11ed-ad0d-dac502259ad0.png

图 7 TestSet设置
测试用例执行完成后可以在Build Progress中查看结果,在Signals中查看测试数据,在Overview Report中查看测试报告。3c275e02-92c4-11ed-ad0d-dac502259ad0.png

图 8 测试用例执行3c5a9164-92c4-11ed-ad0d-dac502259ad0.png

图 9 测试数据3c8f525a-92c4-11ed-ad0d-dac502259ad0.png

图 10 部分测试报告
说了那么多,来看一下TPT是如何执行场景测试的吧。

05总结
TPT的功能不仅限于上述内容,TPT可以通过集成不同平台实现所有的产品研发阶段测试(MiL、SiL、PiL、HiL、ViL),更多精彩等您来探索。


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。