数据处理、自动驾驶仿真方法、系统、设备及存储介质与流程
未命名
07-22
阅读:96
评论:0
1.本技术涉及计算机技术领域,尤其涉及一种数据处理、自动驾驶仿真方法、系统、设备及存储介质。
背景技术:
2.自动驾驶仿真测试,是计算机仿真技术在汽车领域的应用,它以数学建模的方式将自动驾驶的应用场景进行数字化还原,建立尽可能接近真实世界的系统模型,通过仿真测试进行分析和研究便可以达到对自动驾驶系统和算法进行测试验证的目的。
3.目前,自动驾驶仿真方案所涉及的系统繁多,并且交互复杂,导致用户使用成本高。
技术实现要素:
4.鉴于上述问题,提出了本技术以提供一种解决上述问题或至少部分地解决上述问题的数据处理、自动驾驶仿真方法、系统、设备及存储介质。
5.于是,在本技术的一个实施例中,提供了一种数据处理方法。该方法包括:
6.接收用户针对预设的自动驾驶仿真流程中第一流程节点的配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;
7.根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;
8.其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。在本技术的又一实施例中,提供了一种数据处理方法。该方法,包括:
9.响应于用户针对预设的自动驾驶仿真流程中第一流程节点的配置操作,生成配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;
10.将所述配置请求发送给服务端,以由所述服务端根据所述配置请求为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;
11.其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。
12.在本技术的又一实施例中,提供了一种自动驾驶仿真方法。该方法,包括:
13.接收用户针对预设的自动驾驶仿真流程中第一流程节点的配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;
14.根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述
第一流程节点对应的预设仿真功能;
15.根据所述配置后的自动驾驶仿真流程,对自动驾驶进行仿真。
16.在本技术的又一实施例中,提供了一种数据处理系统。该系统,包括:客户端和服务端;其中,
17.所述客户端,用于:响应于用户针对预设的自动驾驶仿真流程中第一流程节点的配置操作,生成配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;将所述配置请求发送给所述服务端;
18.所述服务端,用于:接收所述配置请求;根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;
19.其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。
20.在本技术的又一实施例中,提供了一种电子设备。该电子设备,包括:存储器和处理器,其中,
21.所述存储器,用于存储程序;
22.所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述任一项所述的方法。
23.在本技术的又一实施例中,提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述任一项所述的方法。
24.本技术实施例提供的技术方案中,将自动驾驶仿真过程进行抽象,得到预设的自动驾驶仿真流程,该流程中包括多个流程节点,多个流程节点与自动驾驶仿真过程所涉及的多个预设仿真功能一一对应,多个流程节点中第一流程节点对应的用于实现该节点对应的预设仿真功能的应用程序可由用户来配置。在本方案中,由于为用户提供的预设自动驾驶仿真流程中多个流程节点之间的交互关系都已配置或定义好,用户进行仿真开发时,只需要针对预设的自动驾驶仿真流程中第一流程节点开发相应的应用程序以实现相应的预设仿真功能即可,而无需针对整个仿真流程编写完整的仿真程序,第一流程节点可降低仿真开发难度,提高仿真开发速度。
附图说明
25.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本技术一实施例提供的数据处理系统的示意图;
27.图2为本技术一实施例提供的数据处理方法的流程示意图;
28.图3为本技术一实施例提供的自动驾驶仿真流程抽象过程的示例图;
29.图4为本技术一实施例提供的容器部署示例图;
30.图5为本技术一实施例提供的数据处理方法的流程示意图;
31.图6为本技术一实施例提供的自动驾驶仿真方法的流程示意图;
32.图7为本技术一实施例提供的电子设备的结构框图。
具体实施方式
33.目前,自动驾驶云平台用于自动驾驶相关应用开发,它可用于adas(advanced driving assistance system,高级驾驶辅助系统)和自动驾驶系统的开发,也是训练仿真器的核心。它涵盖了从3d内容的生成到复杂交通场景的仿真,最后到简化的或真实的驾驶传感器仿真的全部范围,可用于模型在环(model in the loop,mil)、软件在环(software in the loop,sil)、硬件在环(hardwareintheloop,hil)、驾驶员在环(driver in-the-loop,dil)和车辆在环(vehicle-in-the-loop,vil)的应用,系统繁多,交互复杂,用户使用成本高。
34.注:按照测试方式不同,自动驾驶仿真测试可分为五类:mil、sil、hil、dil和vil。
35.为了解决或部分解决上述技术问题,本技术实施例提供了一种新的自动驾驶仿真方案:将自动驾驶仿真过程进行抽象,得到预设的自动驾驶仿真流程,该流程中包括多个流程节点,多个流程节点与自动驾驶仿真过程所涉及的多个预设仿真功能一一对应,多个流程节点中第一流程节点对应的用于实现该节点对应的预设仿真功能的目标应用程序可由用户来配置。在本方案中,由于为用户提供的预设自动驾驶仿真流程中多个流程节点之间的交互关系都已配置或定义好,用户进行仿真开发时,只需要针对预设的自动驾驶仿真流程中第一流程节点开发相应的目标应用程序以实现相应的预设仿真功能即可,而无需针对整个仿真流程编写完整的仿真程序,第一流程节点可降低仿真开发难度,提高仿真开发速度。
36.为了使本技术领域的人员更好地理解本技术方案,下面将根据本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
37.此外,在本技术的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
38.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
39.图1示出了本技术一实施例提供的数据处理系统的结构示意图。如图1所示,该系统包括:客户端11和服务端12;其中,
40.所述客户端11,用于:响应于用户针对预设的自动驾驶仿真流程中第一流程节点的配置操作,生成配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设
的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;将所述配置请求发送给所述服务端12;
41.所述服务端12,用于:接收所述配置请求;根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;
42.其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。
43.其中,所述多个流程节点中包括第一流程节点。所述第一流程节点具有可供用户配置的属性。
44.其中,客户端11可以通过互联网与服务端12进行通信连接,或者也可以通过移动网络与服务端12进行通信连接。若客户端11通过移动网络与服务端12进行通信连接,该移动网络的网络制式可以为2g、2.5g、3g、4g、4g+、wimax(world interoperability for microwave access,全球微波接入互操作性)等中的任意一种。
45.其中,所述客户端11可以是集成在终端上的一个具有嵌入式程序的硬件,也可以是安装在终端中的一个应用软件,还可以是嵌入在终端操作系统中的工具软件等,本技术实施例对此不作限定。
46.在本实施例中,客户端11主要面向用户,可以向用户提供界面。其所在的终端的实现形式有多种,例如可以是智能手机、智能音箱、个人电脑、穿戴设备、平板电脑等。终端通常包括至少一个处理单元和至少一个存储器。处理单元和存储器的数量取决于终端的修改和类型。存储器可以包括易失性的,例如ram,也可以包括非易失性的,例如只读存储器(read-only memory,rom)、闪存等,或者也可以同时包括两种类型的。存储器内通常存储有操作系统(operating system,os)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,终端还包括一些基本修改,例如网卡芯片、io总线、音视频组件(例如麦克风)等。可选地,终端还可以包括一些外围设备,例如键盘、鼠标、输入笔、打印机等。这些外围设备在本领域中是总所周知的,在此不做赘述。
47.服务端12可以是任何可提供计算服务,能够响应服务请求,并进行处理的设备,例如可以是常规服务器、云服务器、云主机、虚拟中心等。服务器的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
48.本技术实施例提供的技术方案中,将自动驾驶仿真过程进行抽象,得到预设的自动驾驶仿真流程,该流程中包括多个流程节点,多个流程节点与自动驾驶仿真过程所涉及的多个预设仿真功能一一对应,多个流程节点中第一流程节点对应的用于实现该节点对应的预设仿真功能的应用程序可由用户来配置。在本方案中,由于为用户提供的预设自动驾驶仿真流程中多个流程节点之间的交互关系都已配置或定义好,用户进行仿真开发时,只需要针对预设的自动驾驶仿真流程中第一流程节点开发相应的应用程序以实现相应的预设仿真功能即可,而无需针对整个仿真流程编写完整的仿真程序,第一流程节点可降低仿真开发难度,提高仿真开发速度。
49.可选地,上述服务端12,还用于:
50.根据所述配置后的自动驾驶仿真流程,对自动驾驶进行仿真。
51.可选地,上述服务端12,还用于:
52.将仿真结果发送给所述客户端11。
53.可选地,上述客户端11,还用于:
54.接收所述仿真结果;
55.向用户展示所述仿真结果。
56.上述系统中客户端以及服务端的处理过程以及两者之间的交互过程将在下述各实施例中详细介绍。
57.图2示出了本技术一实施例提供的数据处理方法的流程示意图。该方法的执行主体可以为上述服务端。如图2所示,该方法包括:
58.201、接收用户针对预设的自动驾驶仿真流程中第一流程节点的配置请求。
59.其中,所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应。
60.其中,所述多个流程节点中包括第一流程节点。
61.202、根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程。
62.其中,所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。
63.上述201中,上述预设的自动驾驶仿真流程可以是对自动驾驶仿真过程进行抽象得到的。
64.为了抽象得到上述预设自动驾驶仿真流程,可对自动驾驶仿真过程进行划分。在一具体实例中,如图3所示,自动驾驶仿真过程可划分成如下几个部分:301、仿真场景、环境、动力学插件等数据下载;302、仿真场景泛化和填写;303、仿真引擎计算;304、仿真感知、规划、控制等算法;305、仿真认证;306、仿真数据个性化采样;307、仿真指标计算、仿真异常场景识别、回放数据处理等后处理。如图3所示,这几个部分之间相互交互。对每个部分进行流程节点抽象,得到每个部分对应的流程节点。具体地,如图3所示:仿真场景、环境、动力学插件等数据下载这部分抽象为下载节点31,该下载节点31对应于下载功能;仿真场景泛化这部分抽象为泛化与填充节点32,该泛化与填充节点32对应于泛化与填充功能;仿真引擎计算这部分抽象为自动驾驶仿真计算节点33,该自动驾驶仿真计算节点33对应于仿真引擎功能;仿真感知、规划、控制等算法这部分抽象为自动驾驶算法节点34,该自动驾驶算法节点34对应于仿真算法功能;仿真认证这部分抽象为仿真认证节点35,该仿真认证节点35对应于仿真认证功能;仿真数据个性化采样这部分抽象为仿真采样节点36,该仿真采样节点36对应于仿真采样功能;仿真指标计算、仿真异常场景识别、回放数据处理等后处理这部分抽象为仿真后处理节点37,该仿真后处理节点37对应于仿真后处理功能。
65.需要说明的是,多个流程节点的数量具体是由针对自动驾驶仿真过程的划分结果来确定,划分的规则或策略可根据实际需要来设计,本技术对此不作具体限定。多个预设仿真功能指的是完成自动驾驶仿真任务所需的功能。
66.在自动驾驶仿真流程被执行时,每个流程节点用于实现其对应的预设仿真功能,本质上是每个流程节点所配置的应用程序用于实现其对应的预设仿真功能。
67.上述多个流程节点中包括第一流程节点,上述第一流程节点可称为用户自定义流程节点,具有可供用户配置的属性。该第一流程节点具有可供用户配置的属性,指的是第一流程节点对应的应用程序可由用户来配置或定义。
68.预设的自动驾驶仿真流程是由上述多个流程节点按照预设的交互关系连接而成。在一实例中,上述多个流程节点可全部为用户自定义流程节点,也就是说,多个流程节点各自对应的应用程序均由用户来配置。在另一实例中,上述多个流程节点可一部分为用户自定义流程节点,另一部分为通用流程节点,该通用流程节点已配置有相应的应用程序。这样,用户就无需配置这些通用流程节点的应用程序,可减少用户的开发工作量,降低开发难度。沿用上例,上述下载节点31、泛化与填充节点32、自动驾驶仿真计算节点33、仿真认证节点35这几个流程节点可以设置为通用流程节点;上述自动驾驶算法节点34、仿真采样节点36以及仿真后处理节点37可设置为用户自定义节点,其对应的应用程序可由用户来设计。通常来说,通用流程节点各自对应的预设仿真功能在不同的自动驾驶仿真过程中的实现逻辑是差不多的,用户对其实现逻辑无自定义设计的需求。因此,通用流程节点各自对应的应用程序可由预设的自动驾驶仿真流程的提供方统一配置,这样,可减少用户的开发成本。
69.在一种可实现的方案中,所述预设的自动驾驶仿真流程中还包括已配置有相应的应用程序的第二流程节点。该第二流程节点可称为通用流程节点。
70.上述202中,根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,本质上是:根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点绑定相应的目标应用程序。上述绑定操作具体可以是:建立所述第一流程节点与相应的目标应用程序之间的对应关系。所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能。
71.上述配置请求中可携带有需为所述第一流程节点配置的目标应用程序的程序信息。该程序信息可以是该目标应用程序本身,还可以是该目标应用程序的程序标识。
72.根据所述程序信息,为所述预设自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到目标自动驾驶仿真流程。
73.当上述相应的目标应用程序事先存储在服务端时,上述配置请求中只需要携带上述相应的程序标识即可。在一实例中,用户可事先将上述相应的目标应用程序上传至服务端,服务端可为上述目标应用程序生成相应的程序标识,并将程序标识返回给用户的客户端。
74.在另一实例中,上述相应的目标应用程序可由服务端提供,具体地,服务端可将上述相应的目标应用程序提供给用户的客户端,以由用户选择,客户端响应于用户针对上述相应的目标应用程序的选择操作,生成携带有上述相应的目标应用程序的程序标识的配置请求。具体地,上述方法,还可包括:
75.向所述用户的客户端提供所述第一流程节点对应的多个备选应用程序;其中,所述客户端将所述用户从所述多个备选应用程序的选择操作生成所述配置请求;所述配置请求中携带有所述用户选中的目标备选应用程序的程序信息;
76.上述“根据所述程序信息,为所述预设自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到目标自动驾驶仿真流程第一流程节点”,可包括:
77.根据所述程序信息,为所述预设的自动驾驶仿真流程中所述第一流程节点配置所述用户选中的目标备选应用程序,以得到目标自动驾驶仿真流程。
78.当上述相应的目标应用程序未事先存储在服务端时,上述配置请求中需要携带上述相应的目标应用程序本身。
79.实际应用中,上述相应的目标应用程序可由用户自己根据实际需求编写得到,实现用户针对仿真过程的自定义需求。
80.需要说明的是,上述多个流程节点中的第一流程节点可以为一个或多个。当上述第一流程节点为多个时,配置请求中可对应记录每个第一流程节点及其所需配置或绑定的应用程序的程序信息,这样,可方便服务端执行相应的配置操作。
81.预设的自动驾驶仿真流程由多个流程节点按照预设的交互关系连接而成,说明预设的自动驾驶仿真流程中多个流程节点之间的交互关系均已配置。
82.本技术实施例提供的技术方案中,将自动驾驶仿真过程进行抽象,得到预设的自动驾驶仿真流程,该流程中包括多个流程节点,多个流程节点与自动驾驶仿真过程所涉及的多个预设仿真功能一一对应,多个流程节点中第一流程节点对应的用于实现该节点对应的预设仿真功能的应用程序可由用户来配置。在本方案中,由于在为用户提供的预设自动驾驶仿真流程中多个流程节点之间的交互关系都已配置或定义好,用户进行仿真开发时,只需要针对预设的自动驾驶仿真流程中第一流程节点开发相应的应用程序以实现相应的预设仿真功能即可,而无需针对整个仿真流程编写完整的仿真程序,第一流程节点可降低仿真开发难度,提高仿真开发速度。
83.此外,当所述预设的自动驾驶仿真流程中还包括已配置有相应的应用程序的第二流程节点时,用户只需要针对整个仿真流程中部分流程节点开发用于实现该节点对应的仿真功能的应用程序即可,而无需关注其他流程节点对应的处理逻辑,更无需关注多个流程节点之间的交互过程,可降低仿真开发难度,提高仿真开发速度。
84.在一实例中,上述202中“根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序”,可采用如下步骤来实现:
85.2021a、根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的容器镜像。
86.其中,所述容器镜像包含所述目标应用程序以及运行所述目标应用程序所需的运行环境信息。
87.也即根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点绑定相应的容器镜像。所述容器镜像用于启动所述第一流程节点对应的容器,该容器用于执行所述目标应用程序以实现所述第一流程节点对应的预设仿真功能。
88.实际应用中,上述配置请求中可携带有所述容器镜像的镜像信息,该镜像信息可以是容器镜像本身,还可以是容器镜像的镜像标识。
89.当上述容器镜像事先存储在服务端时,上述配置请求中只需要携带上述镜像标识即可。在一实例中,用户可事先将上述容器镜像上传至服务端,服务端可为上述容器镜像生成相应的镜像标识,并将镜像标识返回给用户的客户端。在另一实例中,上述容器镜像可由服务端提供,具体地,服务端可将上述容器镜像提供给用户的客户端,以由用户选择,客户端响应于用户针对上述容器镜像的选择操作,生成携带有上述容器镜像的镜像标识的配置请求。
90.由于容器镜像中包含目标应用程序所需的运行环境信息,这样,基于容器镜像启动的容器必然能够正常运行该目标应用程序,可将,本实施例能够兼容任何应用程序,例如:可兼容任何自动驾驶算法、自动驾驶仿真软件,等等,具有较好的通用性和适用性。
91.可选地,在实际应用中,得到上述配置后的自动驾驶仿真流程后,服务端还可基于配置后的自动驾驶仿真流程对自动驾驶进行仿真。具体地,上述方法还可包括:
92.203、根据所述配置后的自动驾驶仿真流程中多个流程节点各自对应的容器镜像,启动所述多个流程节点各自对应的容器。
93.204、按照所述配置后的自动驾驶仿真流程,利用所述多个流程节点各自对应的容器对自动驾驶进行仿真。
94.上述203中,多个流程节点中第一流程节点对应的容器镜像是用户配置的,多个流程节点中第二流程节点对应的容器镜像可以是系统默认的,具体可认为是预设的自动驾驶仿真流程的提供方配置的。其中,第二流程节点可称为通用节点或系统节点,其对应的容器镜像是通用的。
95.多个流程节点各自对应的容器分别在集群中哪台物理机上启动,可由集群中的调度器调度决定。具体的调度策略可根据实际需要来设定,本技术实施例对此不作具体限定。具体地,可基于云原生技术,在容器集群管理系统kubernetes集群中部署各个节点对应的容器,进而执行仿真。图4示出了容器部署后的状态示意图,在kubernetes集群中部署有:下载节点容器311、泛化与填充节点容器321、自动驾驶仿真计算节点容器331、自动驾驶算法节点容器341、仿真认证节点容器351、仿真采样节点容器361、仿真后处理节点容器371。
96.在集群中还可包括一个调度容器400,该调度容器400用户执行上述步骤203和204。
97.上述204中,按照所述配置后的自动驾驶仿真流程,控制所述多个流程节点各自对应的容器,以对自动驾驶进行仿真。
98.在一具体实例中,所述第一流程节点可以为自动驾驶算法节点。
99.上述202中“根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序”,可采用如下步骤来实现:
100.2021b、根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的自动驾驶算法。
101.所述目标应用程序包含所述自动驾驶算法。
102.其中,自动驾驶算法具体可用于感知周围环境并根据感知内容进行规划和控制的算法,可包括感知算法、规划算法和控制算法。上述自动驾驶算法是由用户确定的,在一实例中,上述自动驾驶算法可以是用户自己编写的。在另一实例中,上述自动驾驶算法可以是由服务端提供给用户,由用户选择的。
103.在实际应用中,所述预设的自动驾驶仿真流程中所述第一流程节点对应有应用程序模板;所述应用程序模板中存在自动驾驶算法的待填位置。上述配置请求中可携带有自动仿真算法的算法信息,该算法信息可以是自动驾驶算法本身或自动驾驶算法的算法标识。服务端根据配置请求,在第一流程节点对应的应用程序模板中上述待填位置处添加自动驾驶算法,以得到所述目标应用程序。
104.在另一具体实例中,所述第一流程节点可以为自动驾驶仿真计算节点。上述202中“根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序”,可采用如下步骤来实现:
105.2021c、根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点
配置相应的自动驾驶仿真引擎。
106.所述目标应用程序包含所述自动驾驶仿真引擎。
107.自动驾驶仿真引擎用于对自动驾驶车辆进行虚拟测试。在真实的自动驾驶汽车上测试自动驾驶算法的成本非常高,自动驾驶仿真引擎可以对自动驾驶车辆进行虚拟测试,极大地降低了测试成本。
108.上述自动驾驶仿真引擎是由用户确定的,在一实例中,上述自动驾驶仿真引擎可以是用户自己编写的。在另一实例中,上述自动驾驶仿真引擎可以是由服务端提供给用户,由用户选择的。
109.在实际应用中,所述预设的自动驾驶仿真流程中所述第一流程节点对应有应用程序模板;所述应用程序模板中存在自动驾驶仿真引擎的待填位置。上述配置请求中可携带有自动驾驶仿真引擎的引擎信息,该引擎信息可以是自动驾驶仿真引擎本身或自动驾驶仿真引擎的引擎标识。服务端根据配置请求,在第一流程节点对应的应用程序模板中上述待填位置处添加自动驾驶仿真引擎,以得到所述目标应用程序。
110.下面将结合图3对各流程节点进行介绍:
111.下载节点31用于:根据统一资源标识符(uniform resource identifier,uri)下载数据,然后将其复制到本地临时存储中。
112.其中,uri可以引用目录或文件。如果引用的是目录,那么复制包含于目录中的所有文件以及该目录。下载节点决定将下载的数据放在本地临时存储的何处,这个位置也是仿真计算节点的数据读取位置。
113.泛化与填充节点32用于:基于下载节点下载的数据,填充仿真计算节点中的相关数据,例如配置数据、插件等;还根据相关泛化配置,对下载节点下载到的仿真场景文件进行泛化,得到一组具体的仿真场景文件。
114.自动驾驶仿真计算节点33,用于基于cpu或gpu(graphics processing unit,图像处理器)运行自动驾驶仿真引擎。自动驾驶仿真引擎中包含自动驾驶仿真软件。
115.自动驾驶仿真计算节点支持各种自动驾驶场景仿真软件,例如vtd(virtualtest drive,虚拟测试驱动器)、自动驾驶研究的开源模拟器carla、用户自研的自动驾驶仿真软件。
116.自动驾驶算法节点34,用于运行自动驾驶算法。
117.自动驾驶算法节点支持api(application programming interface,应用程序编程接口)调用以及共享内存这两种与仿真计算节点的交互方式。两者的交互内容可包括:传感器、控制器和物理车辆等的仿真数据。仿真算法节点还支持在仿真过程中的数据帧处理。
118.仿真后处理节点37,用于处理仿真的输出,例如指标计算,进而生成仿真结果文件。
119.仿真认证节点35,用于提供仿真认证服务,为基于不同的自动驾驶仿真软件的仿真计算节点提供运行许可认证。
120.仿真采样节点36,用于根据预先配置的采样逻辑对仿真过程中产生的数据进行采样,生成样本,以便后续使用。
121.配置完成后,上述多个流程节点可按照如下步骤进行仿真处理:
122.s1:大多数自动驾驶仿真作业的第一步是向下载节点31发送任务,以使下载节点
31从对象存储服务(object storage service,oss)中拉取任务数据,然后复制到本地存储中。
123.s2:下一步是泛化与填充节点32的工作,这将从本地存储中读取数据填充仿真计算节点,例如配置数据、插件等,后续也可以根据泛化配置,创建具体的仿真输入文件
124.s3:在启动自动驾驶仿真计算节点33之前,每个仿真sidecar都需要进行“预热”125.s4:自动驾驶仿真计算节点33将读取具体的仿真输入文件;仿真过程中,与自动驾驶算法节点34进行数据交互,以完成仿真过程;并将结果和日志会写入本地存储中。
126.s5:仿真采样节点36根据相关配置采样生成样本,可以离线存储或者实时数据流输出。
127.s6:仿真采样节点36读取仿真结果文件,然后返回关键结果。
128.上述关键结果可包括安全系数、碰撞数据、回放结果,等等。
129.图5示出了本技术又一实施例提供的数据处理方法的流程示意图。该方法的执行主体可以为上述客户端。如图5所示,该方法包括:
130.501、响应于用户针对预设的自动驾驶仿真流程中第一流程节点的配置操作,生成配置请求。
131.其中,所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;。
132.502、将所述配置请求发送给服务端,以由所述服务端根据所述配置请求为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程。
133.其中,所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。
134.上述501中,客户端可向用户提供一个配置界面;响应于用户在配置界面针对预设的自动驾驶仿真流程的配置操作,生成配置请求。
135.上述配置界面的界面内容可根据实际需要来设计,本技术实施例对此不作具体限定。
136.本技术实施例提供的技术方案中,将自动驾驶仿真过程进行抽象,得到预设的自动驾驶仿真流程,该流程中包括多个流程节点,多个流程节点与自动驾驶仿真过程所涉及的多个预设仿真功能一一对应,多个流程节点中第一流程节点对应的用于实现该节点对应的预设仿真功能的应用程序可由用户来配置。在本方案中,由于为用户提供的预设自动驾驶仿真流程中多个流程节点之间的交互关系都已配置或定义好,用户进行仿真开发时,只需要针对预设的自动驾驶仿真流程中第一流程节点开发相应的应用程序以实现相应的预设仿真功能即可,而无需针对整个仿真流程编写完整的仿真程序,第一流程节点可降低仿真开发难度,提高仿真开发速度。
137.这里需要说明的是:本技术实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本技术实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
138.图6示出了本技术一实施例提供的自动驾驶仿真方法的流程示意图。该方法的执
行主体可以为上述服务端。如图6所示,该方法,包括:
139.601、接收用户针对预设的自动驾驶仿真流程中第一流程节点的配置请求。
140.其中,所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应。
141.602、根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程。
142.其中,所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能。
143.603、根据所述配置后的自动驾驶仿真流程,对自动驾驶进行仿真。
144.本技术实施例提供的技术方案中,将自动驾驶仿真过程进行抽象,得到预设的自动驾驶仿真流程,该流程中包括多个流程节点,多个流程节点与自动驾驶仿真过程所涉及的多个预设仿真功能一一对应,多个流程节点中第一流程节点对应的用于实现该节点对应的预设仿真功能的应用程序可由用户来配置。在本方案中,由于为用户提供的预设自动驾驶仿真流程中多个流程节点之间的交互关系都已配置或定义好,用户进行仿真开发时,只需要针对预设的自动驾驶仿真流程中第一流程节点开发相应的应用程序以实现相应的预设仿真功能即可,而无需针对整个仿真流程编写完整的仿真程序,第一流程节点可降低仿真开发难度,提高仿真开发速度。
145.这里需要说明的是:本技术实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本技术实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
146.本技术实施例提供的技术方案是基于云原生技术,提出自动驾驶仿真流程的标准化涉及,支持各种仿真能力扩展。本方案可通过调度程序将自动驾驶仿真流程中各流程节点对应的容器部署到容器集群管理系统(kubernetes)集群中,支持从仓库(dockerhub)中拉取各流程节点对应的容器镜像。本方案能兼容目前市面上绝大部分自动驾驶仿真软件,完成其云化以及标准模块化设计。本方案提高了自动驾驶算法开发的复用性,相同的自动驾驶算法代码能够快速基于不同自动驾驶仿真软件进行仿真,以及快速标准的仿真结果分析。
147.图7示出了本技术一实施例提供的电子设备的结构示意图。如图7所示,所述电子设备包括存储器1101以及处理器1102。存储器1101可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static randomaccess memory,sram),电可擦除可编程只读存储器(electrically erasable programmable read only memory),eeprom),可擦除可编程只读存储器(electrical programmable read only memory,eprom),可编程只读存储器(programmable read only memory,prom),只读存储器(read only memory,rom),磁存储器,快闪存储器,磁盘或光盘。
148.所述存储器1101,用于存储程序;
149.所述处理器1102,与所述存储器1101耦合,用于执行所述存储器1101中存储的所述程序,以实现上述各方法实施例提供的方法。
150.进一步,如图7所示,电子设备还包括:通信组件1103、显示器1104、电源组件1105、音频组件1106等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。
151.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各方法实施例提供的方法的步骤或功能。
152.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
153.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom(read only memory,只读存储器)/ram(randomaccess memory,随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
154.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种数据处理方法,其特征在于,包括:接收用户针对预设的自动驾驶仿真流程中第一流程节点的配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。2.根据权利要求1所述的方法,其特征在于,所述预设的自动驾驶仿真流程中还包括已配置有相应的应用程序的第二流程节点。3.根据权利要求1所述的方法,其特征在于,根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程,包括:根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的容器镜像;所述容器镜像包含所述目标应用程序以及运行所述目标应用程序所需的运行环境信息。4.根据权利要求3所述的方法,其特征在于,还包括:根据所述配置后的自动驾驶仿真流程中多个流程节点各自对应的容器镜像,启动所述多个流程节点各自对应的容器;按照所述配置后的自动驾驶仿真流程,利用所述多个流程节点各自对应的容器对自动驾驶进行仿真。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述配置请求中携带有需所述目标应用程序的程序信息;根据所述配置请求,为所述预设自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到目标自动驾驶仿真流程,包括:根据所述程序信息,为所述预设自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到目标自动驾驶仿真流程。6.根据权利要求5所述的方法,其特征在于,还包括:向所述用户的客户端提供所述第一流程节点对应的多个备选应用程序;其中,所述客户端将所述用户从所述多个备选应用程序的选择操作生成所述配置请求;所述配置请求中携带有所述用户选中的目标备选应用程序的程序信息;根据所述程序信息,为所述预设自动驾驶仿真流程中所述第一流程节点配置相应的应用程序,以得到目标自动驾驶仿真流程第一流程节点,包括:根据所述程序信息,为所述预设的自动驾驶仿真流程中所述第一流程节点配置所述用户选中的目标备选应用程序,以得到目标自动驾驶仿真流程。7.一种数据处理方法,其特征在于,包括:响应于用户针对预设的自动驾驶仿真流程中第一流程节点的配置操作,生成配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉
及的多个预设仿真功能一一对应;将所述配置请求发送给服务端,以由所述服务端根据所述配置请求为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。8.一种自动驾驶仿真方法,其特征在于,包括:接收用户针对预设的自动驾驶仿真流程中第一流程节点的配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;根据所述配置后的自动驾驶仿真流程,对自动驾驶进行仿真。9.一种数据处理系统,其特征在于,包括:客户端和服务端;其中,所述客户端,用于:响应于用户针对预设的自动驾驶仿真流程中第一流程节点的配置操作,生成配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;将所述配置请求发送给所述服务端;所述服务端,用于:接收所述配置请求;根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。10.根据权利要求9所述的系统,其特征在于,所述服务端,还用于:根据所述配置后的自动驾驶仿真流程,对自动驾驶进行仿真。11.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器,用于存储程序;所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现权利要求1至8中任一项所述的方法。12.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被计算机执行时能够实现权利要求1至8中任一项所述的方法。
技术总结
本申请实施例提供一种数据处理、自动驾驶仿真方法、系统、设备及存储介质。其中,方法包括如下的步骤:接收用户针对预设的自动驾驶仿真流程中第一流程节点的配置请求;所述预设的自动驾驶仿真流程中的多个流程节点与所述预设的自动驾驶仿真流程所涉及的多个预设仿真功能一一对应;根据所述配置请求,为所述预设的自动驾驶仿真流程中所述第一流程节点配置相应的目标应用程序,以得到配置后的自动驾驶仿真流程;所述目标应用程序用于实现所述第一流程节点对应的预设仿真功能;其中,所述配置后的自动驾驶仿真流程用于对自动驾驶进行仿真。本申请实施例提供的资源处理方法能够降低仿真开发难度,提高仿真开发速度。提高仿真开发速度。提高仿真开发速度。
技术研发人员:杨志远
受保护的技术使用者:阿里云计算有限公司
技术研发日:2023.04.14
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
