仿真测试平台的制作方法

文档序号:19679007发布日期:2020-01-14 17:04阅读:390来源:国知局

本发明属于汽车仿真测试技术领域,具体涉及一种仿真测试平台。



背景技术:

目前可供自动驾驶融合算法验证的仿真软件方案及对应特点如下:

方案一:基于prescan的仿真环境提供了便捷的场景搭建方法,具备快速设置交通流的能力,具有控制器扩展功能,可较快实现整车级的sil或hil仿真验证。但方案一存在的问题是:在传感器模拟方面并未实现真实传感器输出特性,且仅提供了最基本数据,无法按现实开发需求,自定义传感器输出特性。

方案二:基于vtd的仿真环境为免费开源的平台,该环境提供的实时运行画面极其逼真,便于图像类传感器的快速开发验证。但方案二存在的问题是:该开发平台自身不带成熟的传感器模型,若要基于此平台进行传感器下的融合算法测试,则需要重新开发传感器模型,此过程难度巨大,耗时甚多,不具备快速响应开发验证的需求。

方案三:基于carmaker的仿真环境提供了细致的车辆动力学模型,同时具备基于真实原理搭建的毫米波雷达模型,激光雷达,摄像头等传感器接口,并提供了部分二次开发功能。但方案三存在的问题是:以车辆动力学模型为主的仿真环境,在软件后期集成了整套成熟的传感器模型及接口,但均是理想模型,无法对融合算法中各重要特性进行仿真。

因此,有必要开发一种新的仿真测试平台。



技术实现要素:

本发明的目的是提供一种仿真测试平台,能提供高保真虚拟传感器接口及融合算法仿真能力,且能快速响应融合算法的修改及在线调试。

本发明所述的一种仿真测试平台,包括算法数据采集模块、故障模拟及模式选择模块、仿真信号融合模块、高保真传感器信号输出调制模块和融合算法模块;

所述算法数据采集模块用于获取来自融合算法的运行数据,并加载到仿真环境与虚拟传感器中;

所述故障模拟及模式选择模块用于按需求触发故障信息的注入方式及频率,故障信息的产生根据各类传感器自身故障信息,提取出故障模式以及对故障后相应输出情况进行模拟;

所述仿真信号融合模块用于将故障信息与虚拟传感器输出的理想结果进行人为可调的融合,实现虚拟传感器对真实信号的模拟;

所述高保真传感器输出调制模块用于定义高保真传感器输出信息及格式,与真实传感器保持一致;

所述融合算法模块用于提供数据接收接口。

进一步,所述算法数据采集模块利用仿真环境开放的接口,以各融合算法变量名为基本单元,利用simulink工具箱中read、write和define模块,制作好接口单元;变量包含所有仿真环境中用户可调用变量和融合算法反馈变量。

进一步,所述故障模拟及模式选择模块包括故障模拟单元和故障模式选择单元;

所述故障模式选择单元利用simulink触发器及使能开关将故障的产生方式制作成随机触发、按时间触发、按里程触发和按运行条件触发;其中,按时间触发是以仿真运行时间为基准,在开始后任意时刻实现故障信息的注入,按时间触发利用使能模块,结合自定义matlab-function实现随机方式及频率的调节;按里程触发利用使能模块,结合仿真环境中预先设定的roadmark,预先标记虚拟车辆运行路径上任意点,在车辆运行至制定标记点,该状态位将进行更新,并作为仿真环境信息通过算法数据采集模块传递至故障模式选择单元进行故障触发;按运行条件触发则利用carmaker仿真环境中的minicommand功能与用户可用环境变量,进行tcl/tk条件语句编程,实现包括车辆运动状态、交通流状态和虚拟环境在内的条件触发,在仿真运行中,当车辆状态到达预设条件,则对应标志位更新,并将该标志位传递至故障模式选择单元进行故障触发;

所述故障模拟单元是按真实传感器故障信息列表及fima信息,利用simulink信号工具箱产生与之故障信息要素相同虚拟故障信号,使故障模拟单元在输出幅度、频率、方差、误差大小及分布均相同;同时根据算法需求,利用simulink信号筛选及选择开关工具制作故障脉冲信号以便对算法进行故障激励测试。

进一步,所述仿真信号融合模块对原始信号进行故障注入后,利用simulink中write重新写入离线模型,并用define模块将新生成的故障信息及其他信息烧写至可执行文件中。

进一步,所述高保真传感器输出调制模块利用simulink中bus总线及mux、demux模块搭建信息筛分功能,同时按需求排列所有高保真传感器输出信号的数据格式及精度。

进一步,所述高保真传感器输出调制模块还具有radar、摄像头fov限制功能,利用仿真环境中本车横纵坐标px,py及目标车横纵坐标px,py,计算出所有目标距本车的距离,超出fov距离范围的则不在传感器输出列表中并剔除;结合本车在虚拟环境中的航向角headingangle能判断剩余目标与本车行驶方向的夹角,小于fov角度范围的放入最终的输出列表中。

进一步,所述高保真传感器输出调制模块还用于在对图像类或多传感器模型的融合算法仿真时,提供多个相同传感器对同一目标进行探测,并输出略微不同的数据。

本发明具有以下优点:通过融合算法接收仿真环境中虚拟传感器探测数据,通过数据采集接口,来自融合算法处理后的原始数据以及仿真环境数据载入仿真环境,形成闭环;根据开发调试需求,调整所需故障类型及模式即可实现特定环境下的仿真验证。

附图说明

图1是本发明的流程图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,一种仿真测试平台,包括算法数据采集模块、故障模拟及模式选择模块、仿真信号融合模块、高保真传感器信号输出调制模块和融合算法模块。

所述算法数据采集模块用于获取来自融合算法的运行数据,并加载到仿真环境与虚拟传感器中。

所述故障模拟及模式选择模块用于按需求触发故障信息的注入方式及频率,可实现真实传感器故障的随机性,也可对算法调试进行具有针对性的故障模拟;同时故障信息的产生根据各类传感器自身故障信息,提取出故障模式以及对故障后相应输出情况进行模拟。

所述仿真信号融合模块用于将故障信息与虚拟传感器输出的理想结果进行人为可调的融合,实现虚拟传感器对真实信号的模拟,即高保真传感器的实现。

所述高保真传感器输出调制模块用于定义高保真传感器输出信息及格式,与真实传感器保持一致。

所述融合算法模块用于提供数据接收接口。融合算法的仿真必须使仿真环境与算法所在硬件平台进行必要通讯,基于高保真传感器仿真的核心是仿真环境所在的硬件平台,因为,为了形成信息的闭环,融合算法必须在仿真环境中提供必要的数据接收接口。

以下对各模块进行详细的说明:

算法数据采集模块利用仿真环境开放的接口,以各融合算法变量名为基本单元,利用simulink工具箱中read、write和define模块,提前制作好全部算法接口单元,待使用时便直接调用。变量包含所有仿真环境中用户可调用变量(uaq),也包含融合算法反馈变量,同时根据实验需求,可以对所有变量进行重新人为定义并重命名;本发明用read读取变量,经必要处理后利用write生成simulink可读取的数据,最后使用define使这些simulnik离线模型中的数据经过编译,生成carmaker.win64.exe文件,仿真环境carmaker加载该文件,则可在仿真环境及gui中实时调用、显示该变量。

故障模拟及模式选择模块包括故障模拟单元和故障模式选择单元。

故障模式选择单元利用simulink触发器及使能开关等功能,将故障的产生方式制作成随机触发、按时间触发、按里程触发和按运行条件触发等几大部分;其中按时间触发是以仿真运行时间为基准,在开始后任意时刻实现故障信息的注入,按时间触发利用使能模块,结合自定义matlab-function实现随机方式及频率的调节;按里程触发利用使能模块,结合仿真环境中预先设定的roadmark,预先标记虚拟车辆运行路径上任意点,一旦车辆运行至制定标记点,该状态位将进行更新,并作为仿真环境信息通过数据采集工具传递至故障选择模块进行故障触发;按运行条件触发则利用carmaker仿真环境中的minicommand功能与用户可用环境变量(uaq),进行tcl/tk条件语句编程,实现包括车辆运动状态,交通流状态,虚拟环境等在内的条件触发。一旦仿真运行中,车辆状态到达预设条件,则对应标志位更新,并将该标志位传递至故障模式选择单元进行故障触发;随机触发则是在以上功能基础上的综合触发模式,可同时或按一定条件模拟上述所有故障,以实现真实、复杂的传感器故障情况。该模块利用自定义matlab-function模块,将上述基础故障模块作为输入,之后自定义故障类别触发顺序及持续时间,一旦仿真运行至制定条件,则该故障模式选择单元将使能对应子故障选择模块进行对应的故障触发。

故障模拟单元是按真实传感器故障信息列表及fima信息,利用simulink信号工具箱产生与之故障信息要素相同虚拟故障信号,使其在输出幅度,频率,方差,误差大小及分布均相同;同时根据算法验证需求,利用simulink信号筛选及选择开关等工具制作特定故障脉冲信号以便对算法进行故障激励测试,验证算法鲁棒性。激励测试分漏报,误报两大类。其中漏报定义为输出从正常直接跌落至零,持续时间可按一个算法周期为基本单位进行增减。误报为信号正常输出时突增,突增比例按算法调试需求可进行比例设置。可设置多个漏报,误报,但两此测试间隔时间一般设置10s以上,以防融合算法在经过激励信号测试后,出现剧烈波动短时间无法收敛稳定。

仿真信号融合模块使虚拟传感器输出的理想信号与故障模拟单元产生的故障信息进行融合,实现故障信息的注入。对原始信号进行故障注入后,利用simulink中write重新写入离线模型,并用define模块将新生成的故障信息及其他信息烧写至可执行文件中。

高保真传感器输出调制模块的基本功能是利用simulink中bus总线及mux,demux等模块搭建信息筛分功能,同时可以按需求排列所有高保真传感器输出信号的数据格式及精度。由于虚拟传感器输出目标个数为仿真环境中设置探测范围内全部目标,不符合真实传感器输出特性,因此高保真传感器输出调制模块新增radar,摄像头fov限制功能。利用仿真环境中本车横纵坐标px,py及目标车横纵坐标px,py,计算出所有目标距本车的距离,超出fov距离范围的则不在传感器输出列表中并剔除。结合本车在虚拟环境中的航向角headingangle可判断剩余目标与本车行驶方向(传感器探测方向)的夹角,小于fov角度范围的放入最终的输出列表中。针对图像类或多传感器模型的融合算法仿真,此高保真传感器输出调制模块可提供多个相同传感器对同一目标进行探测,并输出略微不同的数据,以模拟诸如环视摄像头,360tracker等在内的多传感器系统的数据特性,此功能是在上述fov限制功能的基础上,结合carmaaker传感器设置界面参数调节gui,对多个传感器分别在三维空间坐标下设置不同安装位置及x/y/z偏转,实现不同传感器位置,探测方向及fov的不同。

融合算法模块采用carmaker仿真平台自带的外部udp接口,实现仿真硬件平台与融合算法所在硬件平台实现数据交互,同时预先定义好可能的所有交互信息,根据仿真实际情况可快速调用必要信息。carmaker提供的udp接口仅对adtf软件环境开放,因此融合算法与carmaker仿真环境间的数据交互必须通过adtf进行中转。为了实现该目标,利用carmaker中adtfinterface添加仿真中所有出现的信号。一旦算法及仿真环境变量经过编写加载进仿真环境后adtfinterface及可自动按算法结构体定义的内容,读取融合算法中全部变量名,此时须将adtfinterface中出现的每一条变量用仿真环境及自定义变量进行赋值。由于carmaker仿真环境最低可按1ms进行一次运算而融合算法及adtf接口一个运行周期远大于1ms,因此为了满足仿真的高速实时性,整个仿真系统以融合算法运行周期为基准时钟。

当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!