掌桥专利:专业的专利平台
掌桥专利
首页

自动驾驶安全验证平台的评估方法、装置、设备及介质

文献发布时间:2023-06-19 19:28:50


自动驾驶安全验证平台的评估方法、装置、设备及介质

技术领域

本公开涉及数据处理技术领域,尤其涉及自动驾驶安全验证平台的评估方法、装置、设备及介质。

背景技术

随着自动驾驶等级的提高,汽车系统变得更加复杂。多变的天气、复杂的交通环境、多样的驾驶任务和动态的行驶状态等都为自动驾驶汽车测试评价提出了新的挑战。为确保高级自动驾驶功能有效安全,需要在整个研发阶段以及研发结束后,验证其有效性与功能性。

基于场景的虚拟测试技术试验场景配置灵活、测试效率高、测试重复性强、测试过程安全、测试成本低,可实现自动测试和加速测试,节省大量人力物力。因此,基于场景的虚拟测试已成为自动驾驶系统测试评价不可或缺的重要环节。

在自动驾驶仿真测试中,自动驾驶系统需要在多个场景进行测试从而实现其安全性、合规性或舒适性的检测,现有技术中没有实现同时并发进行多个被测系统在不同的测试场景下的测试方法及系统。

发明内容

为克服相关技术中存在的问题,本公开提供一种自动驾驶安全验证平台的评估方法及装置,解决在自动驾驶仿真测试中,现有技术中没有实现同时并发进行多个被测系统在不同的测试场景下的测试方法及系统。

根据本公开实施例的第一方面,提供一种自动驾驶安全验证平台的评估方法,包括:

根据测试需求生成测试任务,所述测试任务包括场景数据,所述测试任务发送至对应的容器组对应的消息队列;

根据所述测试任务携带的容器组标识,将所述测试任务发送至与所述容器组对应连接的消息队列;所述容器组包括分别封装场景控制服务系统的第一容器和封装被测系统算法的第二容器;所述第一容器和第二容器通过通信模块通信连接;

各所述场景控制服务系统获取对应所述消息队列中的所述测试任务,并调用预设的UE仿真引擎,将所述测试任务中携带的场景数据加载至所述UE仿真引擎创建测试场景,将所述测试场景反馈至对应的所述场景控制服务系统;所述场景控制服务系统调用被测系统算法,将所述被测系统算法加载至对应的所述测试场景进行仿真测试,获得测试结果;

通过预设的评估指标对所述测试结果进行评估。

根据本公开实施例的第二方面,提供一种自动驾驶安全验证平台的评估装置,包括测试任务生成模块、任务分发模块、仿真测试模块和评估模块;

所述测试任务生成模块:根据测试需求生成测试任务,所述测试任务包括场景数据,所述测试任务发送至对应的容器组对应的消息队列;其中,所述容器组包括分别封装场景控制服务系统的第一容器和封装被测系统算法的第二容器;所述第一容器和第二容器通过通信模块通信连接;

所述任务分发模块:用于根据所述测试任务携带的容器组标识,将所述测试任务发送至与所述容器组对应连接的消息队列;

所述仿真测试模块:用于各所述场景控制服务系统获取对应所述消息队列中的所述测试任务,并调用预设的UE仿真引擎,将所述测试任务中携带的场景数据加载至所述UE仿真引擎创建测试场景,将所述测试场景反馈至对应的所述场景控制服务系统;所述场景控制服务系统调用被测系统算法,将所述被测系统算法加载至对应的所述测试场景进行仿真测试,获得测试结果;

所述评估模块:用于通过预设的评估指标对所述测试结果进行评估。

根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开第一方面所提供的自动驾驶安全验证平台的评估方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的自动驾驶安全验证平台的评估方法的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:测试任务中包含场景数据及容器组标识,根据容器组标识将相应的场景数据分发到对应的消息队列,便于各场景控制服务系统控制获取对应消息队列中的任务数据运行时,再实现将被测系统算法加载至所需的测试场景下进行测试,避免各场景控制服务系统获取的测试场景不是对应被测系统算法需要测试的场景,使测试过程更加高效;另将场景控制服务系统和被测系统分别封装在两个通信连接的容器中,在测试运行过程中,场景控制服务系统调用被测系统算法,将被测系统算法加载至对应的测试场景进行仿真测试,实现多个被测系统可独立并行进行被测算法的仿真测试,实现一个或多个待测系统在一个或多个仿真环境下进行仿真测试,解决评估系统无法同时进行多项测试任务,不同功能测试时需排队依次进行测试,时间成本过高的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的流程图。

图2是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的第一种任务运行的流程示例图。

图3是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的第二种任务运行的流程示例图。

图4是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的场景控制服务系统任务处理流程图。

图5是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的场景控制服务系统及任务处理时序图。

图6是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的第一种评估服务任务处理流程图。

图7是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的第二种评估服务任务处理流程图。

图8是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的评估服务及任务处理时序图。

图9是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估装置的框图。

图10是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估装置的另一种结构示意框图。

图11是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估装置的另一种结构示意框图。

图12是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

下面将结合附图详细地对示例性实施例进行描述说明。

应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。

应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。

应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。

应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,A和/或B,至少可以表示:单独存在A,同时存在A和B,单独存在B这三种关联关系。

应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。

需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。

示例性方法

图1是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估方法的流程图,如图1所示,自动驾驶安全验证平台的评估方法包括以下步骤。

在步骤S110中,根据所述测试任务携带的容器组标识,将所述测试任务发送至与所述容器组对应连接的消息队列;所述容器组包括分别封装场景控制服务系统的第一容器和封装被测系统算法的第二容器;所述第一容器和第二容器通过通信模块通信连接。

在步骤S120中,各所述场景控制服务系统获取对应所述消息队列中的所述测试任务,并通过接口调用预设的场景渲染(下文统称UE)仿真引擎,5将所述测试任务中携带的场景数据加载至所述UE仿真引擎创建测试场景;

将所述测试场景反馈至对应的所述场景控制服务系统;所述场景控制服务系统通过接口调用被测系统算法,将所述被测系统算法加载至对应的所述测试场景进行仿真测试,获得测试结果;

在步骤S130中,通过预设的评估指标对所述测试结果进行评估。

0本发明提供的自动驾驶安全验证平台的评估方法,实现各任务中包含场景数据及容器组标识,根据容器组标识将相应的场景数据分发到对应的消息队列,便于各场景控制服务系统控制获取对应消息队列中的任务数据运行时,再实现将被测系统算法加载至所需的测试场景下进行测试,避免各场景控制

服务系统获取的测试场景不是对应被测系统算法需要测试的场景,使测试过5程更加高效;另将场景控制服务系统和被测系统分别封装在两个通信连接的容器中,在测试运行过程中,场景控制服务系统通过接口调用被测系统算法,将被测系统算法加载至对应的测试场景进行仿真测试,实现多个被测系统可独立并行进行被测算法的仿真测试,实现一个或多个待测系统在一个或多个

仿真环境下进行仿真测试,解决评估系统无法同时进行多项测试任务,不同0功能测试时需排队依次进行测试,时间成本过高的问题。

参考图2,在一些实施例中,为本实施例提供的一种自动驾驶安全验证平台的任务运行的流程示例图,本实施例提供了一种评估方法,可通过配置文件及脚本文件来完成定义和实例化平台服务的测试任务,例如,将测试场

景信息生成代码编译成可执行的文件添加至测试任务中,测试员人员只需要5根据一定的规范编写配置文件,根据不同的服务编写脚本文件即可,其中,测试任务包括对应被测系统所需测试的场景数据和对应容器组标识,如)唯一域DI(domain_id),多个消息队列A1-An分别对应通信连接一个场景控制服务系统,各被测系统的测试任务分为n个消息队列来进行任务的分发和处理,系统根据测试任务中对应的domain_id,将任务数据发送到对应的消息队列A1-An中,该设置将对应被测系统所需测试的场景数据在测试前就添加至任务队列,且通过一对一的容器化部署各场景控制服务系统与各被测系统算法,实现在测试过程中,各被测系统算法无误地加载至需要测试的测试场景下,使其运行在自动驾驶环境搭建模块搭建的虚拟场景中,控制虚拟的目标车辆的动作及响应,达到验证自动驾驶算法的目的,并获得测试结果;所述场景控制服务系统器可为基于PAAS云平台的服务管理器,用于负责对虚拟测试资源分配执行和运行数据反馈。

为避免场景控制服务系统、被测系统算法及仿真引擎之间信息交互不单一导致的消息传播与接收混乱,致使相应的被测系统算法不能加载至对应的所述测试场景进行仿真测试,所述第一容器与所述第二容器通过分别设置的CyberRT通信模块作为通信中间件通信连接,一个场景控制服务系统和一个被测系统之间,需要通过CyberRT进行通信,通信时的消息在局域网内广播,通信时使用同一个domain_id,来保证两端消息通信的准确性,防止消息收发出现混乱。

在一些实施例中,设置通过UE代理管理的多个封装有所述UE仿真引擎的UE容器,UE代理的设置实现控制系统中UE仿真引擎的访问权限,优化调度资源,降低系统能耗;UE代理负责对UE容器的负载均衡和请求统一转发,又作为一个接口,提供对应用的请求接入;参考图3,为本实施例提供的一种自动驾驶安全验证平台的任务运行的流程示例图,参考图4,为本实施例提供的场景控制服务系统任务处理流程图,本实施例提供了一种评估方法,步骤S120中,所述各场景控制服务系统通过接口调用预设的UE仿真引擎包括:

步骤S1201、各所述场景控制服务系统向UE代理发送调用指令;

可选的,所述调用指令可包括便于UE代理确定需要调用仿真引擎的场景控制服务系统和将获取空闲可用的UE容器地址反馈至对应场景控制服务系统的唯一身份信息,如容器名称、地址或domain_id等,还包括空闲可用的UE容器查询命令,所述UE容器查询命令用于所述UE代理查询其所代理的多个UE容器的使用状态。

步骤S1202、所述UE代理根据所述调用指令查询分别封装有所述UE仿真引擎的多个UE容器的使用状态,并将处于未使用状态的所述UE容器地址反馈至对应的所述场景控制服务系统;

可选的,所述UE代理负责对各所述场景控制服务系统的负载均衡和请求统一转发,又作为一个接口,提供对应用的请求接入;当所述UE代理接收到调用指令时,将依次对其所代理的多个UE容器进行访问,当所述UE容器处于使用状态时其启动了应用隔离,进入访问限制状态,UE代理无法对其进行访问;若所述UE代理能对其中一UE容器进行访问,说明该UE容器处于未隔离状态,则所述UE代理将该UE容器地址根据对应的场景控制服务系统根据调用指令中场景控制服务系统的唯一身份信息反馈至对应的所述场景控制服务系统。

步骤S1203、所述场景控制服务系统根据UE容器地址通过接口调用仿真引擎。

本实施例,运行任务时,通过UE代理来获取一个可用的UE容器地址,UE代理查询UE容器使用状态列表,获取一个空闲可用的UE容器,与该UE交互,UE容器用于根据场景数据进行场景的渲染后反馈至所述场景控制服务系统,优化多个UE容器的使用。

在一具体实施例中,参考图5,为本实施例提供的场景控制服务系统及任务处理时序图,步骤S120中,所述场景控制服务系统通过接口调用预设的UE仿真引擎,并将所述测试任务中携带的场景数据与所述被测系统算法加载至所述UE仿真引擎进行仿真测试,获得测试结果包括:

步骤S1211、各所述场景控制服务系统获取对应所述消息队列A中的所述测试任务;

步骤S1212、UE代理根据各所述场景控制服务系统的调用指令,查询多个UE容器的使用状态,获取一个空闲的UE容器;

步骤S1213、将对应容器使用状态置为已使用;

步骤S1214、返回该UE容器地址给场景控制服务系统;

步骤S1215、所述场景控制服务系统根据接收的各所述UE容器地址调用对应的所述UE容器,将所述测试任务中携带的场景数据加载至所述UE仿真引擎创建测试场景,将所述测试场景反馈至对应的所述场景控制服务系统;所述场景控制服务系统通过接口调用所述被测系统算法,将所述被测系统算法加载至对应的所述测试场景进行仿真测试,获得所述测试结果;

步骤S1216、向所述UE代理反馈任务完成信息;

步骤S1217、所述UE代理更新UE容器使用状态列表;

步骤S1218、将当前所述UE容器使用状态置为未使用,并向所述场景控制服务系统反馈更新结果。

在一些实施例中,参考图6,为本实施例提供的一种评估服务任务处理流程图,步骤S130中,对各所述测试结果进行评估包括:

S1301、所述各场景控制服务系统将测试结果生成携带评估容器地址的待评估任务并发送至待评估消息队列;

可选的,所述各所述场景控制服务系统获得所述测试结果后,为了高效地实现评估测试结果,本实施例设置多个可同时实现测试结果评估且分别封装在所述评估容器中的评估服务系统,各评估容器中还预设用于评估测试结果的评估指标,实现各评估容器用于评估预设好的评估任务,例如,多个评估服务系统与所述多个容器组一一对应设置,各所述评估服务系统分别对应评估其中一个所述被测系统算法的测试结果;

本实施例中,为实现上述目的,测试人员可在测试任务编写时就将所述评估容器地址添加至测试任务中,当各场景控制服务系统完成仿真测试后,将所述评估容器地址添加至对应测试结果生成待评估任务发送至待评估消息队列;或是

在场景控制服务系统部署时,设定各场景控制服务系统完成仿真测试后,默认生成携带设定评估容器地址的待评估任务,例如设定评估服务系统A至评估消息队列A中的测试任务,那对应与消息队列A连接的场景控制服务系统A在完成仿真测试后,将测试结果生成携带封装评估服务系统A的评估容器A的地址。

S1302、评估代理服务获取所述待评估消息队列中的所述待评估任务,并根据所述待评估任务携带的评估容器地址通过接口调用所述评估容器,所述评估容器中封装有所述评估服务系统及评估指标,所述评估服务系统获取所述待评估消息队列中所述待评估任务,并根据所述评估指标对所述测试结果评估。

本实施例,通过设置的多个评估服务系统实现各测试结果评估,其中,所述待评估任务携带的评估容器地址可为测试人员在测试任务编写时就添加至测试任务中,当各场景控制服务系统完成仿真测试后,将所述评估容器地址添加至对应测试结果生成待评估任务发送至待评估消息队列;评估代理服务根据待评估任务中的评估容器地址调用对应评估容器完成测试结果评估,实现多个评估任务同时独立并行的进行。

在另一些实施例中,为了实现每个评估容器灵活的调度,所述评估代理服务使用多容器负载均衡策略执行多个所述评估容器的动态运维,动态维护每个容器中运行的任务数量,进行容器中任务的分配和容器的回收,提高各评估容器利用率的同时,保证了评估服务系统使用的连贯性和可靠性。参考图7,为本实施例提供的另一种评估服务任务处理流程图,步骤S130中,对各所述测试结果进行评估包括:

步骤S1311、所述各场景控制服务系统将获得的测试结果生成携带评估指标的待评估任务发送至待评估消息队列;

可选的,本实施例为了实现多个评估容器灵活的调度,并实现使用多容器负载均衡策略执行多个所述评估容器的动态运维,测试人员可在测试任务编写时就将所述各测试任务的评估指标信息添加携带在所述测试任务中,当各场景控制服务系统完成仿真测试后,将对应测试任务中携带评估指标信息添加至待评估任务中发送至待评估消息队列;或是

在场景控制服务系统部署时,设定各场景控制服务系统完成仿真测试后,默认将预设的评估指标信息添加携带在所述待评估任务中发送至待评估消息队列。步骤S1312、评估代理服务查询多个封装有评估服务系统的评估容器,确定可运行所述评估任务的所述评估容器地址,并根据所述评估容器地址通过接口调用所述评估服务系统,所述评估服务系统获取所述待评估消息队列中所述待评估任务,并根据所述待评估任务携带的所述评估指标对所述测试结果评估。

在一具体实施例中,参考图8,为本实施例提供的评估服务系统及任务处理时序图,步骤S1312中,评估代理服务查询多个封装有评估服务系统的评估容器,确定可运行所述评估任务的所述评估容器地址,并根据所述评估容器地址通过接口调用所述评估服务系统包括:

步骤S1320、评估代理服务获取所述待评估消息队列B中的所述待评估任务;

步骤S1321、根据预设的各所述评估容器可运行待评估任务数量阈值查询多个所述评估容器中可运行评估的所述评估容器;

步骤S1322、确定当前所述待评估任务数量最少的所述评估容器C的地址;如某一个评估容器预设最多可运行10个任务,当前已经运行了3个任务,则剩余可运行任务数量为7,若所有评估容器的当前可运行任务数量都为0,说明没有可运行评估任务的评估容器,则返回执行步骤S1321;

否则可以从所有容器中选择出一个剩余可运行任务数量最多的容器C,返回容器C的地址;

步骤S1323、所述评估代理服务根据所述评估容器地址异步调用所述评估容器C的评估服务系统接口,同时更新该评估容器C中已运行任务数量加1,且评估代理服务重复执行步骤S1320;

步骤S1324、容器C的评估服务系统接口执行时,从所述待评估消息队列B中取出一条待评估任务来运行所述评估任务;

步骤S1325、评估任务运行结束后,将任务所在容器的已运行任务数量减1,并回调平台服务接口,反馈对应任务id通知该评估任务已完成。

在一些实施例中,各所述测试任务在编写时确定其优先级或重要性,例如为各测试任务设置一queue参数,并通过设置queue属性来指定优先级或重要性;各测试任务发送至对应消息队列后,系统将根据设定的优先级或重要性将该测试任务排列至队列中相应位置,同理,在完成仿真测试获得测试结果并发送至待评估消息队列之后,系统将根据设定的优先级或重要性将该评估任务排列至队列中相应位置。

在一些实施例中,评估服务可根据设置的评估指标对测试结果进行评估,例如将测试结果与该测试算法预期达到测试结果进行比对,最终获得的是测试结果合不合格的评估报告(例如该算法安全性、合规性、舒适性等等指标)

在一些实施例中,被测系统算法测试包括但不限于算法的安全性、合规性、准确性、极限性等,例如设置多个不同级别的场景条件测试算法的处理极限,例如在不同的交通环境要素(天气、车速、物体大小等条件)下测试视觉传感器的精度,加速性能、最高时速等等;本实施例多个被测系统算法容器中部署同一或不同自动驾驶算法;对于多个被测系统算法容器中部署同一自动驾驶算法请参考下述实施例;

多个被测系统算法容器中部署同一或不同自动驾驶算法;对于多个被测系统算法容器中部署同一自动驾驶算法请参考下述实施例:

具体如在两个被测系统算法容器中部署同一自动驾驶算法,分别用于实现同一障碍设置条件下,测试车辆前端传感器在不同可见度天气场景下对障碍物的识别情况,以及测试同一天气场景下,车辆前端传感器在不同障碍物移动速度条件下对障碍物的识别情况等等,用于实现快速验证一个自动驾驶算法在不同场景和不同测试参数条件下的测试结果。

又或是测试并评估被测系统从自动驾驶功能场景出发,在自动驾驶程序或算法测试过程中,测试被测系统算法识别出相应的危害事件,并进行SOTIF风险鉴定和评估,评估是否满足与其预期功能安全SOTIF指标是否满足SOTIF目标规范,自动驾驶系统功能预期功能安全SOTIF指标可如:

1、目标场景考虑不周到,被测系统无法对环境做出正确响应;

2、被测系统功能逻辑仲裁机制、算法不合理,导致决策出现问题;

3、被测系统的执行机构的输出与理想输出发生偏差,难以完美控制-Execution。

综上所述,本发明实施例的技术方案适用于自动驾驶安全验证平台的任务处理和容器管理方法,不同的场景控制服务系统和被测系统(domain_id不同),分为多个消息队列来进行测试任务的分发和处理,实现多个被测系统可独立并行进行被测算法的仿真测试,实现一个或多个待测系统在一个或多个仿真环境下进行仿真测试的同时,设置一个场景控制服务系统和一个被测系统之间通过CyberRT进行通信,保证两端消息通信的准确性,防止消息收发出现混乱;另本实施例方法对于多个UE容器和评估容器,制定容器选择策略,通过容器管理和使用方法动态维护容器使用状态,容器中任务的分配和容器的回收等,提高各容器利用率的同时,保证了场景服务或评估服务使用的连贯性和可靠性。

示例性装置

图9是根据一示例性实施例示出的一种自动驾驶安全验证平台的评估装置框图。参照图10,该装置200包括测试任务生成模块210、任务分发模块220、仿真测试模块230和评估模块240;

该测试任务生成模块210:根据测试需求生成测试任务,所述测试任务包括场景数据、容器组标识和任务id;其中,所述容器组包括分别封装场景控制服务系统的第一容器和封装被测系统算法的第二容器;所述第一容器和第二容器通过通信模块通信连接;

该任务分发模块220:用于根据所述测试任务携带的容器组标识,将所述测试任务发送至与所述容器组对应连接的消息队列;

该仿真测试模块230:用于各所述场景控制服务系统获取对应所述消息队列中的所述测试任务,并通过接口调用预设的UE仿真引擎,将所述测试任务中携带的场景数据加载至所述UE仿真引擎创建测试场景,将所述测试场景反馈至对应的所述场景控制服务系统;所述场景控制服务系统通过接口调用被测系统算法,将所述被测系统算法加载至对应的所述测试场景进行仿真测试,获得测试结果;

该评估模块240:用于通过预设的评估指标对所述测试结果进行评估。

本发明提供的自动驾驶安全验证平台的评估装置,测试任务生成模块210生成各任务中包含场景数据及容器组标识,任务分发模块220根据容器组标识将相应的场景数据分发到对应的消息队列,便于仿真测试模块230中各场景控制服务系统控制获取对应消息队列中的任务数据运行时,再将被测系统算法加载至所需的测试场景下进行测试,避免各场景控制服务系统获取的测试场景不是对应被测系统算法需要测试的场景,使测试过程更加高效;另将场景控制服务系统和被测系统分别封装在两个通信连接的容器中,在测试运行过程中,场景控制服务系统通过接口调用被测系统算法,将被测系统算法加载至对应的测试场景进行仿真测试,实现多个被测系统可独立并行进行被测算法的仿真测试,实现一个或多个待测系统在一个或多个仿真环境下进行仿真测试,解决评估系统无法同时进行多项测试任务,不同功能测试时需排队依次进行测试,时间成本过高的问题。

在一些实施例中,本实施例提供了一种评估装置,测试任务生成模块210可通过配置文件及脚本文件来完成定义和实例化平台服务的测试任务,例如,将测试场景信息生成代码编译成可执行的文件添加至测试任务中,测试员人员只需要根据一定的规范编写配置文件,根据不同的服务编写脚本文件即可,其中,测试任务包括对应被测系统所需测试的场景数据和对应容器组标识,如)唯一域DI(domain_id),多个消息队列A1-An分别对应通信连接一个场景控制服务系统,各被测系统的测试任务分为n个消息队列来进行任务的分发和处理,任务分发模块220根据测试任务中对应的domain_id,将任务数据发送到对应的消息队列A1-An中,该设置将对应被测系统所需测试的场景数据在测试前就添加至任务队列,且通过一对一的容器化部署各场景控制服务系统与各被测系统算法,实现在测试过程中,仿真测试模块230将各被测系统算法无误地加载至需要测试的测试场景下,使其运行在自动驾驶环境搭建模块搭建的虚拟场景中,控制虚拟的目标车辆的动作及响应,达到验证自动驾驶算法的目的,并获得测试结果;所述场景控制服务系统器可为基于PAAS云平台的服务管理器,用于负责对虚拟测试资源分配执行和运行数据反馈。

在一些实施例中,为避免场景控制服务系统、被测系统算法及仿真引擎之间信息交互不单一导致的消息传播与接收混乱,致使相应的被测系统算法不能加载至对应的所述测试场景进行仿真测试,所述第一容器与所述第二容器通过分别设置的CyberRT通信模块作为通信中间件通信连接,一个场景控制服务系统和一个被测系统之间,需要通过CyberRT进行通信,通信时的消息在局域网内广播,通信时使用同一个domain_id,来保证两端消息通信的准确性,防止消息收发出现混乱。

在一些实施例中,设置通过UE代理管理的多个封装有所述UE仿真引擎的UE容器,UE代理的设置实现控制系统中UE仿真引擎的访问权限,优化调度资源,降低系统能耗;UE代理负责对UE容器的负载均衡和请求统一转发,又作为一个接口,提供对应用的请求接入;参考图10,为本实施例提供的另一种自动驾驶安全验证平台的评估装置框图,本实施例提供了一种评估装置,还包括:

分别封装所述UE仿真引擎的多个UE容器;

UE代理模块250:用于管理多个所述UE容器的使用状态,根据各所述场景控制服务系统发送的调用指令,查询各所述UE容器的使用状态,并将处于未使用状态的所述UE容器地址反馈至对应的所述场景控制服务系统;

所述场景控制服务系统根据UE容器地址通过接口调用仿真引擎。

在一实施例中,所述UE代理模块250根据各所述场景控制服务系统的调用指令,查询多个所述UE容器的使用状态,将处于未使用状态的所述UE容器地址反馈至对应的所述场景控制服务系统,同时将对应的所述UE容器使用状态置为已使用;所述UE代理模块250根据所述场景控制服务系统反馈的测试任务完成信息将对应的所述UE容器使用状态置为未使用。

在一些实施例中,参考图11,为本实施例提供的另一种自动驾驶安全验证平台的评估装置框图,本实施例提供了一种评估装置,还包括:

待评估消息队列:用于接收保存各所述场景控制服务系统生成的所述待评估任务;所述待评估任务为所述场景控制服务系统对所述测试结果生成携带评估指标的待评估任务;

评估模块240:包括多个封装评估服务的评估容器;

评估代理模块260:用于管理多个封装有评估服务的评估容器,确定可运行所述待评估任务的所述评估容器地址,并根据所述评估容器地址通过接口调用评估服务,所述评估服务获取所述待评估消息队列中所述待评估任务,并根据所述待评估任务携带的所述评估指标对所述测试结果评估。

本实施例,评估模块240设置的多个评估服务实现各测试结果评估,其中,所述待评估任务携带的评估容器地址可为测试人员在测试任务编写时就添加至测试任务中,当各场景控制服务系统完成仿真测试后,将所述评估容器地址添加至对应测试结果生成待评估任务发送至待评估消息队列;评估代理模块260根据待评估任务中的评估容器地址调用对应评估容器完成测试结果评估,实现多个评估任务同时独立并行的进行。

在另一些实施例中,为了实现每个评估容器灵活的调度,所述评估代理模块260使用多容器负载均衡策略执行多个所述评估容器的动态运维,动态维护每个容器中运行的任务数量,进行容器中任务的分配和容器的回收,提高各评估容器利用率的同时,保证了评估服务使用的连贯性和可靠性。

在一些实施例中,所述评估代理模块260根据预设的各所述评估容器可运行待评估任务数量阈值查询多个所述评估容器中可运行评估的所述评估容器,并确定当前所述待评估任务数量最少的所述评估容器地址。

本公开装置实施例与上述发明实施例的技术方案相对应,各模块具体的操作可参照方法实施例中的描述理解,具体可参照图9-11理解,此处不再赘述。

示例性电子设备

图12是根据一示例性实施例示出的一种电子设备900的框图。该电子设备900可以是车辆控制器、车载终端、车载计算机或者其他类型的电子设备。

参照图9,电子设备900,可包括至少一个处理器910和存储器920。处理器910可以执行存储在存储器920中的指令。处理器910通过数据总线与存储器920通信连接。除存储器920外,处理器910还可通过数据总线与输入设备930、输出设备940、通信设备950通信连接。

处理器910可以是任何常规的处理器,诸如商业可获得的CPU。处理器还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(Field ProgrammableGate Array,FPGA)、片上系统(System on Chip,SOC)、专用集成芯片(ApplicationSpecific Integrated Circuit,ASIC)或它们的组合。

存储器920可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

在本公开实施例中,存储器920中存储有可执行指令,处理器910可以从所述存储器920中读取所述可执行指令,并执行所述指令以实现上述示例性实施例中任一所述的自动驾驶安全验证平台的评估方法的全部或部分步骤。

示例性计算机可读存储介质

除了上述方法和装置以外,本公开的示例性实施例还可以是计算机程序产品或存储有该计算机程序产品的计算机可读存储介质。该计算机产品中包括计算机程序指令,该计算机程序指令可被处理器执行,以实现上述示例性实施例中任一方法中描述的的全部或部分步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言以及脚本语言(例如Python)。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线电连接的静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘,或者上述的任意合适的组合。

本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术分类

06120115927281