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

2023-1-16 11:25 1773 11 2 分类: 汽车电子

随着汽车行业的蓬勃发展,与之相关的自动驾驶功能越来越受到人们的关注。自动驾驶给人们带来方便的同时,也带来了某些安全隐患。为了最大程度的确保安全,除了要进行功能逻辑测试外,也需要进行功能场景测试(比如鬼探头、多岔路上坡等场景)。

目前主流的场景测试工具有Carmaker、VTD、DYNA4CarSimPreScan为了使场景测试的测试用例可读性更强,对复杂功能的评估更高效,北汇信息提出基于TPT的测试解决方案。接下来,以TPT+Carmaker为例,介绍如何实现自动化的场景测试。


TPT和场景仿真软件集成


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

下面,我们以Carmaker FMU Node为例,介绍配置过程。

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


场景测试用例编写


TPT中支持测试步骤列表和状态机测试用例,测试步骤列表简单快捷,状态机图形化便于理解。

例如AEB(自动紧急刹车)功能,测试场景为主车逐渐靠近目标,当距离小于阈值时,刹车确保安全。



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


另外,通过改变状态机变种或跳转条件,可以很方便的实现其他测试场景。

 

测试评估多样化编写

 

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

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

例如当前测试场景,当主车与目标距离小于10m时,刹车应>=0.7,降低车速,避免与目标碰撞。GUI和脚本评估会自动寻找满足condition的区间开启评估,并判断是否满足期望结果。

如下为Trigger Rule评估的Trigger Condition形式,当满足Start Condition条件时,开启评估并检查是否符合期望,满足Stop Condition条件时,关闭

TipsTPT.risingEdge()用法为,当()里的条件由不满足到满足时触发,由于主车与目标距离逐渐降低,则应为:TPT.risingEdge(Sensor::Object::Camera::relvTgt::NearPnt::ds_p<10)。同理,如果为TPT.fallingEdge(),则条件为Sensor::Object::Camera::relvTgt::NearPnt::ds_p>10



上述评估也可以基于Script评估实现,示例如下:



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


测试运行


可以在TPT当中新建TestSet,对测试用例进行分组,运行指定的测试集。当然了,最方便的方法是直接选中想要执行的测试用例,直接运行。



测试用例执行完成后可以在Build Progress中查看结果,在Signals中查看测试数据,在Overview Report中查看测试报告。





说了那么多,来看一下TPT是如何执行场景测试的吧。


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

作者: 北汇信息, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3998886.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

curton 2023-1-16 16:13

学习了
相关推荐阅读
北汇信息 2025-01-03 16:01
分布式、域控及SOA架构车身功能测试方案
车身域是指负责管理和控制汽车车身相关功能的一个功能域,在汽车域控系统中起着至关重要的作用。它涵盖了车门、车窗、车灯、雨刮器等各种与车身相关的功能模块。与汽车电子电气架构升级相一致,车身域发展亦可以划分...
北汇信息 2024-12-25 14:18
【科普系列】LIN协议错误类型介绍
引言  LIN(Local Interconnect Network)是一种针对汽车电子系统应用的串行通信协议,主要用于汽车电子控制单元(ECU)之间的通信。LIN总线的特点是成本...
北汇信息 2024-12-18 15:15
CI/CD方案:推动智能汽车开发的高效利器
在智能化和自动驾驶技术飞速发展的背景下,汽车软件开发的复杂性正以前所未有的速度增长。面对市场对效率、质量和快速迭代的高需求,传统开发模式已然捉襟见肘。作为提升开发效率和质量的核心工具,CI/CD(持续...
北汇信息 2024-12-17 15:54
设计仿真 | 基于VTD的智能大灯仿真测试方案
随着汽车行业智能化的发展,车灯系统从基础的功能化照明发展为智能化的视觉交互系统。从2020年开始,车灯开始向智能化、像素化、激光化、感知、决策、规划、控制、交互体验等方向发展。例如,智能车灯在基础照明...
北汇信息 2024-12-11 15:45
深入解析J1939-73:车辆诊断通信的标准与应用
一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应...
北汇信息 2024-12-04 14:04
【科普系列】ICMPv6协议基础简介
引言在科普介绍文章《IPv6协议—互联网通信协议第六版》中介绍了IPv6协议,这次的科普主题是ICMPv6(Internet Control Message Protocol version 6),它...
EE直播间
更多
我要评论
1
11
关闭 站长推荐上一条 /3 下一条