CN115455564A - 一种基于流水线的虚拟汽车自动仿真方法和装置 - Google Patents
一种基于流水线的虚拟汽车自动仿真方法和装置 Download PDFInfo
- Publication number
- CN115455564A CN115455564A CN202211131921.2A CN202211131921A CN115455564A CN 115455564 A CN115455564 A CN 115455564A CN 202211131921 A CN202211131921 A CN 202211131921A CN 115455564 A CN115455564 A CN 115455564A
- Authority
- CN
- China
- Prior art keywords
- simulation
- virtual
- task
- pipeline
- automobile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种基于流水线的虚拟汽车自动仿真方法及装置,其中,方法包括基于流水线模板,构建流水线框架;所述流水线框架由一个流水线模板和多个任务节点组合而成;将虚拟设备和仿真环境分别配置于所述任务节点,所述虚拟设备用于模拟汽车的电气硬件设备,通过虚拟设备实现搭建虚拟汽车的电气硬件系统;构建编译代码并部署至虚拟设备;触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务。本发明方法通过构建的流水线实现通过应用软件仿真技术逼真地模拟出被测虚拟设备运行的物理环境,全流程自动测试,无需人工干预,极大的提升汽车软件的研发效能。
Description
技术领域
本公开涉及软件开发技术领域,尤其涉及一种基于流水线的虚拟汽车自动仿真方法及装置。
背景技术
相关技术中,随着软件开发在造车行业中占有越来越重要的地位,敏捷开发的思想在造车领域中也逐渐地被重视起来,对于汽车关乎到人身安全的软件功能更要尽可能的去降低错误的发生,那么如何避免或者降低软件功能错误的发生,测试就显得尤为重要。
传统的汽车软件开发测试依赖于台架测试,以及原型车上路后的道路测试。这是两类检验汽车耐久性与可靠性的基本试验方法。为了减少产品的开发时间和成本,汽车软件过程改进和能力测定备受关注,如引入了汽车电子系统的虚拟样机,在虚拟样机中进行测试;首先开发工程师开发好汽车软件后,进行单元测试,单元测试通过后,将软件编译成虚拟设备(如ECU/DCU)可执行的文件再刷写到对应的虚拟设备上进行集成测试,即整个汽车软件研发过程是割裂的,软件开发编译后需手动刷写到执行设备上,再测试人员进行仿真环境配置实现汽车软件的自动测试;使得整个流程在安装和测试软件应用程序步骤浪费时间。
有鉴于此,亟需提供一种在汽车软件开发中,即能克服传统汽车开发依赖于硬件环境的弊端,又能实现测试软件全自动化的进行持续集成的自动仿真方法。
发明内容
为克服相关技术中存在的问题,本公开提供一种基于流水线的虚拟汽车自动仿真方法和装置,以解决相关技术中汽车软件开发过程割裂导致研发测试低效的技术问题。
根据本公开实施例的第一方面,提供一种基于流水线的虚拟汽车自动仿真方法,包括:
基于流水线模板,构建流水线框架;所述流水线框架由一个流水线模板和多个任务节点组合而成;
将虚拟设备和仿真环境分别配置于所述任务节点,所述虚拟设备用于模拟汽车的电气硬件设备,通过虚拟设备实现搭建虚拟汽车的电气硬件系统;
构建编译代码并部署至虚拟设备;
触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务。
根据本公开实施例的第二方面,提供一种基于流水线的虚拟汽车自动仿真装置,包括:
流水线框架构建模块:用于基于流水线模板,构建流水线框架;所述流水线框架由一个流水线模板和多个任务节点组合而成;
流水线框架配置模块:将虚拟设备和仿真环境分别配置于任务节点;构建编译代码并部署至所述虚拟设备,所述虚拟设备用于模拟汽车的硬件设备,通过虚拟设备实现搭建虚拟汽车的硬件系统;
任务执行模块:触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开第一方面所提供的基于流水线的虚拟汽车自动仿真方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的基于流水线的虚拟汽车自动仿真方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:将流水线开发的模式引入汽车软件测试中,流水线的自动化能力结合云原生与虚拟技术,将用于模拟汽车的电气硬件设备的虚拟设备和仿真环境集成部署到流水线中,通过触发流水线实现通过应用软件仿真技术逼真地模拟出被测虚拟设备运行的物理环境,全流程自动测试,无需人工干预,极大的提升汽车软件的研发效能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法的流程图。
图2是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法建立的第一种流水线结构示意图;
图3是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法中的配置车载容器的虚拟设备结构示意图;
图4是根据另一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法的流程图。
图5是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法建立的第二种流水线结构示意图;
图6是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法建立的第三种流水线结构示意图;
图7是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法建立的第四种流水线结构示意图;
图8是根据另一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法的流程图。
图9是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真装置的框图。
图10是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真装置的另一种结构示意图;
图11是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真装置的另一种结构示意图;
图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将结合附图详细地对示例性实施例进行描述说明。
应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。
应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。
应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。
应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,A和/或B,至少可以表示:单独存在A,同时存在A和B,单独存在B这三种关联关系。
应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
下面结合具体实施方式和说明书附图对本发明做出详细的说明。
示例性方法
图1是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真方法的流程图,包括以下步骤。
在步骤S110中,基于流水线模板,构建流水线框架;所述流水线框架由一个流水线模板和多个任务节点组合而成;
可选地,流水线模板可为提供配置C、C++等开发语言项目的流水线模板,本实施例流水线模板可包括为实现本实施例方法提供了代码获取模板、代码编译模板、镜像构建模板等标准模板,模板中可以进行配置参数(如环境变量、运行条件和运行器等相关配置),定义标准参数后,可供执行流水线时获取,如在模板中可配置构建、代码质量检查、测试、Docker镜像制作、应用部署等操作。
在步骤S120中,将虚拟设备和仿真环境分别配置于所述任务节点,所述虚拟设备用于模拟汽车的电气硬件设备,通过虚拟设备实现搭建虚拟汽车的电气硬件系统;
需要说明的是,本实施例中虚拟设备包括与实车硬件对应设置的虚拟DCU、虚拟ECU、虚拟传感器、虚拟执行器、虚拟总线模块、虚拟执行器及虚拟对手件等,为虚拟汽车配置提供设备输入;本实施例将虚拟ECU及仿真环境以流水线任务节点的方式集成到流水线中,整个仿真测试过程无需使用硬件,将部署好的汽车软件无缝衔接到仿真测试环节,无法人工干预,汽车软件开发工程师可以更高效的在开发环境中进行开发测试,极大的提高了汽车软件开发全流程的效率;其中,
虚拟DCU:为域控制器(SOC芯片)模拟模块,一个虚拟DCU包含域控制器虚拟硬件、操作系统及应用软件;
虚拟ECU:为传统ECU(MCU芯片)模拟模块,一个虚拟ECU包含ECU虚拟硬件、操作系统及应用软件;
虚拟传感器:传感器硬件感知模拟,包括相机、雷达、激光雷达、超声等;
虚拟总线:提供车载网络以及ECU之间的通讯模拟,包括CAN、LIN、以太网等;
虚拟执行器:包括加速、制动、转向等;
虚拟对手件:配合ECU、DCU的调试及测试使用,支持CAN/以太网报文收发;
仿真环境:设置于仿真环境库中,用于模拟汽车驾驶的环境(如交通流、路况等),为验证虚拟设备的软件算法提供环境输入,环境仿真面向仿真测试人员,提供仿真任务管理、调度和评价。用户可根据需求通过提供的API选用不同的仿真引擎。本实施例将仿真环境以流水线任务节点的方式集成到流水线中,将部署好的汽车软件无缝衔接到仿真测试环节,无法人工干预,极大的提高了汽车软件开发全流程的效率;即结合云原生的流水线实现方式,将汽车软件开发机仿真测试整个流程通过CICD流水线实现,提高解决汽车企业运维和开发效率协同的问题。
在步骤S130中,构建编译代码并部署至虚拟设备;
可选地,构建编译代码包括但不限于获取目标代码;对所述目标代码进行扫描,规约扫描通过后获得待测试代码;对所述待测试代码进行单元测试,单元测试通过后获得待构建代码;对所述待构建代码进行构建,构建成功后获得待部署代码,构建成一个完整的可执行的仿真流水线;对所述待部署代码进行部署,建工具不做任何限定;
在步骤S140中,触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务。
本发明实施例提供的一种基于流水线的虚拟汽车自动仿真方法,将流水线开发的模式引入汽车软件测试中,基于流水线的自动化能力结合云原生与虚拟技术,将用于模拟汽车的电气硬件设备的虚拟设备和仿真环境集成部署到流水线中,通过触发流水线实现通过应用软件仿真技术逼真地模拟出被测虚拟设备运行的物理环境,全流程自动测试,无需人工干预,极大的提升汽车软件的研发效能。
参考图2,在一些实施例中,实现从代码提交、编译构建、部署到最后的仿真测试环节的紧密组合,全流程自动测试,无需人工干预,提供了一种流水线结构示例图,其中,构建编译代码包括执行步骤:
Git Clone,开发人员编写的代码发送到代码存储库,获取代码并克隆到流水线的workspace;
代码扫描,对代码质量进行扫描并输出扫描报告并做质量卡点;
源码编译,通过指定构建工具、编译命令,对源代码进行编译,编译为可执行的二进制文件;
Docker构建,将编译好的二进制文件,根据Dockerfile构建为Docker Image。
参考图3,在本申请另一实施例中,为了解决ECU的刷写效率低,使得软件的更新和部署效率更高,虚拟设备上可根据需求设置一个或多个车载容器,将构建编译完成的代码配置至对应车载容器,其中,车载容器为运行在虚拟汽车端的轻量级容器组合引擎。
图4为在本申请实施例提供的另一种基于流水线的虚拟汽车自动仿真方法流程图,本实施例提供了一种自动仿真方法,步骤S120中,将虚拟设备和仿真环境分别配置于任务节点包括:
将至少一个虚拟设备和一个仿真环境分别配置于任务节点,具体可包括:
S1201、将一个或多个虚拟设备配置于任务节点;具体可参考图5,为本实施例提供的一种流水线的任务节点上配置多个虚拟设备的结构示例图;
S1202、将一个或多个仿真环境配置于任务节点;具体可参考图6,为本实施例提供的另一流水线的任务节点上配置多个仿真环境的结构示例图;
在本实施例中,一个虚拟设备可在多个不同的仿真场景进行测试,或是多个虚拟设备实现在一个仿真场景进行测试,可实现根据测试需求灵活调整流水线配置,能实现多车、多组件、多场景测试。
参考图7,为本实施例提供的另一流水线的对应任务节点分别配置多个虚拟设备和多个仿真环境的结构示例图,各虚拟设备实现在多个仿真环境进行仿真测试。
基于上述实施例,一个仿真任务至少实现一个虚拟设备在一个仿真环境执行仿真测试;具体的,
一个仿真任务包含一个运行的虚拟设备以及仿真环境(如交通环境),仿真的过程是为了查看虚拟设备的运行是否正常,在不同的仿真环境中是否能给出正确的反馈。
仿真任务由至少一个仿真调度引擎、至少一个仿真环境和仿真软总线组成,仿真引擎根据仿真任务中的仿真环境给虚拟设备提供环境模拟,虚拟设备从仿真引擎中获取道路、行人、交通灯、环境车辆等信息,经过计算后得到相应的车辆决策信息(如加速、减速、转向等),最后反馈给仿真引擎。
按仿真环境消耗计算资源的大小按需分配部署到多个仿真器中,使得每个仿真器中都至少运行一个仿真环境,所述计算资源指仿真模型占用CPU的百分比和内存占用空间的大小。
在本申请另一实施例中,仿真任务管理器负责管理仿真任务,结合硬件资源条件,按优先级、重要性排队。仿真评价模块负责对多个仿真任务的结果进行评价,帮助用户评估仿真结果。
在本申请另一实施例中,还包括对流水线配置进行调整,修改任务顺序、任务配置信息以及增加删除任务;
可选的,调整可包括以下情况:
1.虚拟设备以子任务的方式添加至对应任务节点,或删除任务节点下配置的一个或多个的虚拟设备,并配置或更改流水线全局变量;
2.仿真环境以子任务的方式添加至对应任务节点,或删除任务节点下配置的一个或多个的虚拟设备,并配置或更改流水线全局变量。
基于本实施例,可对流水线上虚拟设备与仿真环境调整,配置简单,使仿真测试满足多仿真需求及场景。
在本申请另一实施例中,可采用流水线调度方式生成仿真任务,并控制多个仿真场景的多个仿真任务的生成与执行方式的设定;
可选的,多个仿真任务执行方式的设定包括:多仿真任务条件下,设置多仿真任务串行执行,则仿真任务管理器根据任务优先级排队依次执行仿真任务;
可选的,多个仿真任务执行方式的设定包括:多仿真任务条件下,设置多仿真任务并行执行,则仿真任务管理器根据各任务节点设置的触发策略并发执行仿真任务,实现一个或多个虚拟设备在一个或多个仿真环境下进行仿真,多仿真任务并行执行设置解决现有汽车仿真软件无法同时进行多项测试任务,不同功能测试时需排队依次进行测试,时间成本过高。
图8为在本申请实施例提供的另一种基于流水线的虚拟汽车自动仿真方法流程图,本实施例提供了一种自动仿真方法,步骤S140中,触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务,包括:
S1401、配置流水线全局变量,按需设置任务节点触发策略;
可选的,根据设置不同的触发策略触发流水线串行或并行执行相应仿真任务;其中,
在一些实施例中,触发策略可设置为定时触发:通过配置触发时间,到达触发时间可自动触发流水线执行;
在一些实施例中,触发策略可设置为监听代码触发:通过配置相应的代码仓库触发策略来触发流水线执行,如分支、MR等发生变动时触发流水线执行,当检测到分支、MR的代码有变更时,触发流水线的执行,构建最新的代码后,并重新触发流水线执行;
在一些实施例中,触发策略可设置为镜像仓库触发:通过配置相应的镜像仓库触发策略来触发流水线执行,如新增镜像、tag变动等条件下触发流水线执行,当检测到镜像或tag有新增时,触发流水线执行,并使用最新的镜像进行仿真测试;
在一些实施例中,触发策略可设置为虚拟设备调整:通过调整任务节点上虚拟设备的配置或基于虚拟设备运行状态实现流水线触发;当检测到任务节点上新增虚拟设备时,触发流水线执行,并使用最新的虚拟设备在仿真环境下进行仿真测试;
在一些实施例中,触发策略可设置为仿真环境调整:通过调整任务节点上仿真环境的配置实现流水线触发;或是通过调整虚拟设备对应配置的仿真环境的实现流水线触发;当检测到任务节点上新增仿真环境时,触发流水线执行,并使对应的虚拟设备在新增的仿真环境下进行仿真测试;
在一些实施例中,触发策略可设置为执行结果触发:基于仿真测试结果实现流水线触发;如根据仿真测试结果触发相应的仿真任务;例如可为各仿真环境设置对应的一个或多个仿真通过率阀值,各通过率阀值对应设置下一步执行的仿真任务;将仿真环境测试通过率对比设置的仿真通过率阀值,确定下一步执行的仿真任务;也可包括仿真测试不通过后重复次数测试等。
S1402、基于触发策略触发流水线运行并获得仿真测试结果。
通过上述触发策略设定可根据仿真需求配置实现一个虚拟设备在多个仿真环境下,或是多个虚拟设备同时运行在一个仿真环境的仿真结果,并实时监控流水线上各节点配置的变更情况,从而触发仿真任务串行或并行执行,使得整个仿真过程可实多设备、多场景测试,解决现有仿真软件仅能实现单一组件、单一车辆的集成测试。
在本申请另一实施例中,根据显示需求可视化设置或组合流水线搭建过程、流水线运行状态、各仿真测试结果或硬件资源使用情况,如可通过多个标签页显示虚拟设备状态,当选中设备时,会新增一个标签页,显示选中设备的控制台及详细监控情况等。
综上所述,借助于本发明实施例的技术方案,基于流水线,创建了自动、连贯执行的软件交付模型,实现虚拟设备在对应的仿真场景中自动、快速、持续的执行仿真测试,解决现有汽车仿真软件研发过程隔裂造成的研发效率低的问题,且软件环境的扩展性好,弹性伸缩能力强,按需配置和使用,在测试过程中不会出现多人等待一个硬件设备开发/测试的情况,节约开发/测试的时间成本,基于纯软件环境中进行完整的虚拟汽车仿真模拟,能够更有效地发现软件开发中的问题并进行处理,提升整体的开发效率。
示例性装置
图9是根据一示例性实施例示出的一种基于流水线的虚拟汽车自动仿真装置框图。参照图9,该装置200包括流水线框架构建模块210、流水线框架配置模块220和任务执行模块230。
该流水线框架构建模块210,用于基于流水线模板,构建流水线框架;所述流水线框架由一个流水线模板和多个任务节点组合而成。
该流水线框架配置模块220,用于将虚拟设备和仿真环境分别配置于任务节点;构建编译代码并部署至所述虚拟设备,所述虚拟设备用于模拟汽车的硬件设备,通过虚拟设备实现搭建虚拟汽车的硬件系统;本实施例中虚拟设备包括与实车硬件对应设置的虚拟DCU、虚拟ECU、虚拟传感器、虚拟执行器、虚拟总线模块、虚拟执行器及虚拟对手件等,为虚拟汽车配置提供设备输入。
可选地,流水线框架配置模块220用于将至少一个虚拟设备和一个仿真环境分别配置于任务节点;一个仿真任务至少实现一个虚拟设备在一个仿真环境执行仿真测试;具体的,一个仿真任务包含一个运行的虚拟设备以及仿真环境(如交通环境),仿真的过程是为了查看虚拟设备的运行是否正常,在不同的仿真环境中是否能给出正确的反馈。
该任务执行模块230,用于触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务。
在一些实施例中,通过仿真任务管理器负责管理仿真任务,结合硬件资源条件,按仿真任务优先级排队;
在一些实施例中,所述流水线框架配置模块220通过构建编译代码并部署至所述虚拟设备具体为:构建编译代码包括当不限于获取目标代码;对所述目标代码进行扫描,规约扫描通过后获得待测试代码;对所述待测试代码进行单元测试,单元测试通过后获得待构建代码;对所述待构建代码进行构建,构建成功后获得待部署代码;对所述待部署代码进行部署,构建工具不做任何限定。
如图10所示,为在本申请实施例提供的另一种基于流水线的虚拟汽车自动仿真装置结构示意框图,本实施例提供了一种自动仿真装置,流水线框架配置模块220包括:
容器配置单元2201、配置调整单元2202及触发策略设置单元2203,容器配置单元2201用于对所述虚拟设备设置一个或多个车载容器,将构建编译完成的代码配置至对应的所述车载容器;解决ECU的刷写效率低,使得软件的更新和部署效率更高;其中,
配置调整单元2202用于根据仿真需求可对流水线配置进行调整,修改任务顺序、任务配置信息以及增加删除任务;
在一些实施例中,配置调整单元2202可实现的调整包括:
1.将虚拟设备以子任务的方式添加至对应任务节点,或删除任务节点下配置的一个或多个的虚拟设备,并配置或更改流水线全局变量;
2.仿真环境以子任务的方式添加至对应任务节点,或删除任务节点下配置的一个或多个的虚拟设备,并配置或更改流水线全局变量。
配置调整单元2202可设置为流水线配置页,开发者可以选中后进行编辑,修改任务顺序、任务配置信息以及增加删除任务;可以选中历史版本进行查看具体配置信息。
触发策略设置单元2203用于设置所述任务节点的触发策略,根据不同的触发策略触发流水线串行或并行执行相应仿真任务;
在一些实施例中,触发策略包括定时触发、监听代码触发、镜像仓库触发、虚拟设备调整,虚拟设备调整及结果触发。
如图11所示,为在本申请实施例提供的另一种基于流水线的虚拟汽车自动仿真装置结构示意框图,本实施例提供了一种自动仿真装置,还包括设置任务调度设置模块240与仿真评价模块250;其中,
任务调度设置模块240,用于多仿真任务条件下,按需设置所述多仿真任务并行或串行执行;若执行任务设为串行执行,则仿真任务管理器根据任务优先级排队依次执行仿真任务;若执行任务设为并行执行,则仿真任务管理器根据各任务节点设置的触发策略并发执行仿真任务。
仿真评价模块250负责对多个仿真任务的结果进行评价,帮助用户评估仿真结果。
在一些实施例中,设置流水线可视化配置界面,根据显示需求可视化设置或组合流水线搭建过程、流水线运行状态、各仿真测试结果或硬件资源使用情况,如可通过多个标签页显示虚拟设备状态,当选中设备时,会新增一个标签页,显示选中设备的控制台及详细监控情况等。
本公开装置实施例与上述发明实施例的技术方案相对应,各模块具体的操作可参照方法实施例中的描述理解,具体可参照图9-11理解,此处不再赘述。
示例性电子设备
图12是根据一示例性实施例示出的一种电子设备900的框图。该电子设备900可以是车辆控制器、车载终端、车载计算机或者其他类型的电子设备。
参照图12,电子设备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),磁存储器,快闪存储器,磁盘或光盘,或者上述的任意合适的组合。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于流水线的虚拟汽车自动仿真方法,其特征在于,包括:
基于流水线模板,构建流水线框架;所述流水线框架由一个流水线模板和多个任务节点组合而成;
将虚拟设备和仿真环境分别配置于所述任务节点,所述虚拟设备用于模拟汽车的电气硬件设备,通过虚拟设备实现搭建虚拟汽车的电气硬件系统;
构建编译代码并部署至虚拟设备;
触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务。
2.根据权利要求1所述的一种基于流水线的虚拟汽车自动仿真方法,其特征在于,所述将虚拟设备和仿真环境分别配置于任务节点包括:
将至少一个虚拟设备和一个仿真环境分别配置于任务节点;一个仿真任务至少实现一个虚拟设备在一个仿真环境执行仿真测试。
3.根据权利要求1或2所述的一种基于流水线的虚拟汽车自动仿真方法,其特征在于,多仿真任务条件下,设置多仿真任务串行执行,则仿真任务管理器根据任务优先级排队依次执行仿真任务。
4.根据权利要求1或2所述的一种基于流水线的虚拟汽车自动仿真方法,其特征在于,多仿真任务条件下,设置多仿真任务并行执行,则仿真任务管理器根据各任务节点设置的触发策略并发执行仿真任务。
5.根据权利要求1所述的一种基于流水线的虚拟汽车自动仿真方法,其特征在于,所述触发流水线运行仿真任务,包括
配置流水线全局变量,按需设置任务节点触发策略,基于触发策略触发流水线运行并获得仿真测试结果;
其中,触发策略包括
通过调整任务节点上虚拟设备的配置实现流水线触发;和/或
通过调整虚拟设备上仿真场景的配置实现流水线触发;和/或
基于虚拟设备运行状态实现流水线触发;和/或
基于仿真测试结果实现流水线触发。
6.根据权利要求1所述的一种基于流水线的虚拟汽车自动仿真方法,其特征在于,所述虚拟设备设置一个或多个车载容器,将构建编译完成的代码配置至对应车载容器。
7.一种基于流水线的虚拟汽车自动仿真装置,其特征在于,包括:
流水线框架构建模块:用于基于流水线模板,构建流水线框架;所述流水线框架由一个流水线模板和多个任务节点组合而成;
流水线框架配置模块:将虚拟设备和仿真环境分别配置于任务节点;构建编译代码并部署至所述虚拟设备,所述虚拟设备用于模拟汽车的硬件设备,通过虚拟设备实现搭建虚拟汽车的硬件系统;
任务执行模块:触发流水线执行所述虚拟设备在所述仿真环境下的仿真任务。
8.如权利要求7所述的一种基于流水线的虚拟汽车自动仿真装置,其特征在于,还包括任务调度设置模块,用于多仿真任务条件下,
设置所述多仿真任务串行执行,则仿真任务管理器根据任务优先级排队依次执行仿真任务;或
设置所述多仿真任务并行执行,则仿真任务管理器根据各任务节点设置的触发策略并发执行仿真任务。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于流水线的虚拟汽车自动仿真方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于流水线的虚拟汽车自动仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131921.2A CN115455564A (zh) | 2022-09-16 | 2022-09-16 | 一种基于流水线的虚拟汽车自动仿真方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131921.2A CN115455564A (zh) | 2022-09-16 | 2022-09-16 | 一种基于流水线的虚拟汽车自动仿真方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455564A true CN115455564A (zh) | 2022-12-09 |
Family
ID=84305833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211131921.2A Pending CN115455564A (zh) | 2022-09-16 | 2022-09-16 | 一种基于流水线的虚拟汽车自动仿真方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455564A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061518A (zh) * | 2023-10-11 | 2023-11-14 | 富钛字节车载软件(长春)有限公司 | 一种云原生虚拟can通信系统及方法 |
-
2022
- 2022-09-16 CN CN202211131921.2A patent/CN115455564A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061518A (zh) * | 2023-10-11 | 2023-11-14 | 富钛字节车载软件(长春)有限公司 | 一种云原生虚拟can通信系统及方法 |
CN117061518B (zh) * | 2023-10-11 | 2024-01-12 | 富钛字节车载软件(长春)有限公司 | 一种云原生虚拟can通信系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210279577A1 (en) | Testing of Computing Processes Using Artificial Intelligence | |
CN110909460A (zh) | 车联网v2x仿真测试方法、装置、设备和存储介质 | |
WO2020163602A1 (en) | Simulation and validation of autonomous vehicle system and components | |
CN106446412B (zh) | 一种航空电子系统基于模型的测试方法 | |
Eliasson et al. | Agile model-driven engineering in mechatronic systems-an industrial case study | |
US10885240B2 (en) | Deterministic simulation framework for autonomous vehicle testing | |
CN108763009B (zh) | 服务器压力测试方法、系统、设备及计算机可读存储介质 | |
CN109740222B (zh) | 一种针对汽车网联化场景的测试装置和系统 | |
US9606902B2 (en) | Malfunction influence evaluation system and evaluation method using a propagation flag | |
CN112639734A (zh) | 仿真任务调度方法、执行方法、仿真实现方法及装置 | |
CN110704323A (zh) | 基于轨道交通线路数据的数据自动化测试方法及装置 | |
CN115455564A (zh) | 一种基于流水线的虚拟汽车自动仿真方法和装置 | |
CN114880220A (zh) | 车辆自动驾驶软件的开发系统和方法 | |
CN115454843A (zh) | 一种无人驾驶仿真装置及自动化测试方法 | |
CN117724982A (zh) | 仿真测评方法、装置、电子设备及存储介质 | |
CN113495545A (zh) | 使用在环硬件测试车辆设备控制器的系统和方法 | |
Mohan et al. | AD-EYE: A Co-Simulation Platform for Early Verification of Functional Safety Concepts | |
Langner et al. | Framework for using real driving data in automotive feature development and validation | |
EP4050489A1 (en) | Automatic generation of integrated test procedures using system test procedures | |
CN110978051B (zh) | 机器人模拟装置、系统、方法、可读介质及电子设备 | |
Nimară et al. | Reference images generation for automotive regression testing | |
CN115473832B (zh) | 车联网端云通信测试方法、装置、服务器、客户端及系统 | |
CN109976994A (zh) | Java项目的白盒测试方法、装置、计算机设备 | |
US20240054258A1 (en) | Unpack trigger for testing electronic control units | |
Wang et al. | Model-based simulation testing for embedded software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |