CN115909852A - 自动驾驶实训方法、装置、系统、设备及存储介质 - Google Patents
自动驾驶实训方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN115909852A CN115909852A CN202211631494.4A CN202211631494A CN115909852A CN 115909852 A CN115909852 A CN 115909852A CN 202211631494 A CN202211631494 A CN 202211631494A CN 115909852 A CN115909852 A CN 115909852A
- Authority
- CN
- China
- Prior art keywords
- training
- task
- practical
- mirror image
- practical training
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种自动驾驶实训方法、装置、系统、设备、存储介质以及计算机程序产品,涉及人工智能技术领域,尤其涉及自动驾驶以及云平台技术领域。具体实现方案为:接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务;获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包;将实训数据集和任务代码包添加进基础实训镜像,得到待实训镜像;基于待实训镜像创建实训容器,并通过实训容器演练实训任务。提高了自动驾驶的实训效率。
Description
技术领域
本公开涉及人工智能技术领域,具体涉及自动驾驶以及云平台技术领域,尤其涉及一种自动驾驶实训方法、装置、系统、设备、存储介质以及计算机程序产品。
背景技术
随着人工智能技术以及第五代移动通信技术的逐渐普及,自动驾驶技术在车辆上的使用率也越来越高,因此亟需培养大量的专业人员对自动驾驶相关技术进行学习和开发,以适应行业的快速发展。由于自动驾驶技术涉及多学科知识的交叉融合,所包含的内容分散且庞杂,因此需要通过实训完成相关知识的教学。
发明内容
本公开提供了一种自动驾驶实训方法、装置、系统、设备、存储介质以及计算机程序产品,提高了自动驾驶的实训效率。
根据本公开的一方面,提供了一种自动驾驶实训方法,包括:接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务;获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包;将实训数据集和任务代码包添加进基础实训镜像,得到待实训镜像;基于待实训镜像创建实训容器,并通过实训容器演练实训任务。
根据本公开的另一方面,提供了一种自动驾驶实训装置,包括:接收模块,被配置为接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务;获取模块,被配置为获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包;添加模块,被配置为将实训数据集和任务代码包添加进基础实训镜像,得到待实训镜像;演练模块,被配置为基于待实训镜像创建实训容器,并通过实训容器演练实训任务。
根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述自动驾驶实训方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行上述自动驾驶实训方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现上述自动驾驶实训方法。
根据本公开的再一方面,提供了一种自动驾驶实训平台包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述自动驾驶实训方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开可以应用于其中的示例性系统架构图;
图2是根据本公开的自动驾驶实训方法的一个实施例的流程图;
图3是根据本公开的自动驾驶实训方法的另一个实施例的流程图;
图4是根据本公开的自动驾驶实训方法的又一个实施例的流程图;
图5是根据本公开的自动驾驶实训装置的一个实施例的结构示意图;
图6是根据本公开的自动驾驶实训系统的一个实施例的结构示意图;
图7是根据本公开的自动驾驶实训系统中云平台的资源架构示意图;
图8是根据本公开的自动驾驶实训方法在云平台上的应用流程示意图;
图9是用来实现本公开实施例的自动驾驶实训方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了可以应用本公开的自动驾驶实训方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101可以通过网络102与服务器103交互,终端设备101上可以安装有网页浏览器应用或实训服务应用,服务器103可以提供各种数据服务,例如,用户可以通过终端设备101上的网页浏览器登陆服务器103,并发起实训请求,服务器103可以根据该实训请求为用户提供相关的实训服务。
需要说明的是,终端设备101可以是硬件,也可以是软件。当终端设备101为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
需要说明的是,本公开实施例所提供的自动驾驶实训方法一般由服务器103执行,相应地,自动驾驶实训装置一般设置于服务器103中。
继续参考图2,其示出了根据本公开的自动驾驶实训方法的一个实施例的流程200。该方法包括以下步骤:
步骤201、接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务。
在本实施例中,自动驾驶实训方法的执行主体(例如图1所示的服务器103)可以首先获取自动驾驶实训请求,其中,自动驾驶实训请求可以是学习者通过其使用的终端(例如图1所示的终端设备101)发起的。本实施例中的自动驾驶实训,主要用于帮助学习者了解自动驾驶的软件功能和架构,使得学习者能够进行测试运维以及二次开发。上述执行主体在获取到自动驾驶实训请求后,可以进一步确定自动驾驶实训请求所指定的实训任务。在本实施例的一些可选实现方式中,学习者在发起实训请求时,可以自主指定想要完成的实训任务。在本实施例的另一些可选实现方式中,上述执行主体可以根据学习者之前的实训记录和实训结果,为其选定实训任务。例如,若未获取到该学习者之前的实训记录,则说明其第一次参加实训,可以为其选择基础类的实训任务;若获取到该学习者之前的实训记录,则可以选择之前实训结果为不合格的实训任务,进行本次实训。
在本实施例中的一些可选实现方式中,自动驾驶实训任务包括以下至少一项:定位实训任务、高精度地图实训任务、感知实训任务、决策规划实训任务、控制实训任务和中间件通信实训任务。在本实施例中,定位是指对车辆位置进行确定,高精度地图是指对高精度地图进行构建,感知是指通过车辆上各类传感器的感知数据进行环境感知,决策规划是指对自动驾驶车辆的路径规划和行为决策,控制是指对自动驾驶车辆的行为进行控制,中间件通信主要是指车载网络的通信功能。相应的,每种功能对应第实训任务,可以用于对该自动驾驶功能相关的数据以及代码进行学习和调试。例如,感知实训任务可以对自动驾驶车辆的各类传感器的感知数据包进行调试和分析。
步骤202、获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包。
在本实施例中,自动驾驶实训方法的执行主体在确定实训任务后,可以获取实训任务需要使用的实训数据集和任务代码包,同时也可以获取基础实训镜像。具体来说,在不同的实训任务中,需要使用的实训数据集也是不一样的。例如,感知实训任务使用的实训数据集主要是车载传感器的感知数据,包括图像传感器采集的图像数据和/或激光雷达采集的点云数据;而控制实训任务使用的实训数据集则可以是一段真实的路测数据。同理,实现每项实训功能的代码也是不同的,每个实训任务都有各自对应的任务代码包。
需要说明的是,无论是实训数据集还是任务代码包,都是预先保存在上述执行主体的存储空间中的,并且与特定的实训任务相绑定。并且,在前述存储空间中,还保存有基础实训镜像。镜像,是一种文件存储形式,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。本实施例中的基础实训镜像,可以被认为是一个包含了自动驾驶相关的各种环境和服务的模板,用于在后续的实训过程中,提供除实训任务之外的其他基础功能。
步骤203、将实训数据集和任务代码包添加进基础实训镜像,得到待实训镜像。
在本实施例中,上述执行主体在得到基础实训镜像、实训数据集和任务代码包之后,可以将实训数据集和任务代码包添加进基础实训镜像,具体可以将实训数据集作为后续实训中要处理的数据,将任务代码包作为处理实训数据集的功能代码,添加到基础实训镜像中后,得到待实训镜像。
需要说明的是,由于在之后的实训中,主要是对实训任务对应的任务代码进行学习和调试,因此本实施例中的任务代码包以源码的形式存在,以方便学员进行学习,而基础实训镜像以二进制码的形式存在,只要实现相关基础功能即可。
步骤204、基于待实训镜像创建实训容器,并通过实训容器演练实训任务。
在本实施例中,上述执行主体在得到待实训镜像后,可以将待实训镜像打包成标准化单元,即容器。容器可以是镜像的一个实例,其状态可以包括运行、停止、删除和暂停。容器的运行过程,就是通过实训容器对实训任务进行演练的过程。学员通过对整个演练过程的观摩和学习,完成对相应自动驾驶功能的实训。
本公开实施例提供的自动驾驶实训方法,首先通过自动驾驶实训请求,确定实训任务,然后获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包,接着将实训数据集和任务代码包添加进基础实训镜像,得到待实训镜像,最后基于待实训镜像创建实训容器,并通过实训容器对实训任务进行演练。通过预先保存的实训数据集和任务代码包,可以快速生成实训镜像,并创建实训容器以完成对实训任务的演练,在这个过程中,不需要进行复杂的系统安装和环境部署,从而大幅提高了自动驾驶的实训效率。
进一步继续参考图3,其示出了根据本公开的自动驾驶实训方法的另一个实施例的流程300。该方法包括以下步骤:
步骤301、接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务。
在本实施例中,步骤301具体操作已在图2所示的实施例中步骤201进行了详细的介绍,在此不再赘述。
步骤302、获取基础实训镜像,以及响应于自动驾驶实训请求指定多个实训任务,分别获取每个实训任务对应的实训数据集和任务代码包。
在本实施例中,自动驾驶实训方法的执行主体在确定自动驾驶实训请求指定的实训任务后,可以首先判断一下实训任务的数量,若确定自动驾驶实训请求指定了多个实训任务,可以分别获取每个实训任务各自对应的实训数据集和任务代码包,并同时获取基础实训镜像。其中,实训数据集、任务代码包和基础实训镜像都已经预先保存于特定的存储空间中,上述执行主体可以直接从访问该存储空间,并从中获取需要的数据。
步骤303、将获取的多个实训数据集和多个任务代码包进行重新编排,得到目标实训数据。
在本实施例中,上述执行主体在获取每个实训任务对应的实训数据集和任务代码包后,可以将获取的多个实训数据集以及多个任务代码包中的内容提取出来,然后按照预定的格式进行重新编排,从而得到目标实训数据。例如,若获取的任务代码包同时包括定位实训任务代码包和控制实训任务代码包,则可以按照代码包的格式对上述两个任务代码包所包含的源码进行重新编排,使得二者在功能上实现相互协作。同时,多个实训数据集中的数据如果存在相关性,可以进行关联和/或融合;如果不存在相关性,则全部直接保存下来。最终,可以得到目标实训数据。
步骤304、将目标实训数据添加进基础实训镜像,得到待实训镜像。
在本实施例中,上述执行主体可以直接将获取的目标实训数据添加进基础实训镜像,从而得到待实训镜像。其中,目标实训数据中的、来源于上述多个实训数据集中的数据,可以作为后续实训中要处理的数据,而来源于上述多个任务代码包中的源码则可以作为实训任务的功能代码。
步骤305、获取实训配置信息。
在本实施例中,自动驾驶实训方法的执行主体在得到待实训镜像后,可以进一步获取实训配置信息。该实训配置信息可以包括当前实训学员为容器配置的名称、部署版本、容器端口、可用内存等信息,也可以包括本次实训所指定的实训任务名称以及相应的实训数据集名称、版本等信息。
步骤306、基于实训配置信息,生成容器部署信息。
在本实施例中,自动驾驶实训方法的执行主体,在得到实训配置信息后,可以基于实训配置信息生成容器部署信息。在容器化部署的过程中,可以将部署操作中的每个步骤都进行命令化,然后集中成一个脚本就可以完成原来复杂的部署过程。本实施例中生成的容器部署信息也可以是一个部署文件,主要是根据实训配置信息去确定在后续的实训过程中,所需要使用的计算资源、容器资源等资源信息。
步骤307、基于容器部署信息和待实训镜像,创建实训容器,并通过实训容器演练实训任务。
在本实施例中,上述执行主体可以首先根据容器部署信息,进行计算资源和容器资源的配置,然后逐一执行容器部署信息中保存的各个部署操作命令,从而由待实训镜像创建并启动一个或者多个实训容器。之后,通过运行实训容器,完成对实训任务的演练。
在本实施例的一些可选实现方式中,若实训请求指定了多个实训任务,在获取了多个实训数据集和多个任务代码包后,可以分别将每个实训数据集及对应的任务代码包添加到基础实训镜像中,此时会得到多个实训任务镜像。之后,在获取实训配置信息的过程中,可以将上述多个实训任务镜像进行融合,具体可以根据实训数据集和任务代码包的存储位置,获取实训数据集文件和任务代码包文件,然后把这些文件的数据内容提取出来,再以一定的格式重新编排,就可以得到融合后的任务镜像,作为待实训镜像。
在本实施例中,自动驾驶实训方法的执行主体可以将多个实训任务对应的、多个实训数据集和多个任务代码包进行重新编排,然后将得到的目标实训数据加入基础实训镜像,生成待实训镜像。在多实训任务的场景下,不再需要为每个任务单独生成实训镜像,而是通过代码重排方式,生成能够同时完成多个任务的单个镜像,极大地提高了镜像的生成效率,从而提供了多任务实训的训练效率。同时,本实施例还通过容器化部署将自动驾驶实训功能所需的代码及运行环境,打包在实训容器中,实现了环境和任务的统一化部署。在演练实训任务时,不再需要额外进行开发环境的部署,,提高了实训任务的可迁移性。
进一步继续参考图4,其示出了根据本公开的自动驾驶实训方法的又一个实施例的流程400。该处理方法包括以下步骤:
步骤401、接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务。
步骤402、获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包。
在本实施例中,步骤401-402具体操作已在图2所示的实施例中步骤201-202中进行了详细的介绍,在此不再赘述。
步骤403、接收对任务代码包的修改操作,得到用户代码包。
在本实施例中,自动驾驶实训方法的执行主体还可以接收对任务代码包的修改操作,并根据该修改操作对任务代码包中的源码进行修改,得到用户代码包。可以理解的是,这里的修改操作可以是由当前进行实训的学员发起的,学员可以根据所学习到的内容,对代码包进行适当修改,并通过后续的演练步骤,来确定当前修改导致的自动驾驶结果。具体地,当前执行主体可以向终端提供在线代码编辑服务,例如通过在线代码编辑器,接收终端用户(实训学员)对任务代码包的修改操作。
可以理解的是,在实训过程中,学员不仅可以对原始代码进行学习和观摩,还可以根据自己的理解,对原始代码进行修改得到用户代码,并进一步根据用户代码的演练效果,来确定自己的学习效果。本实施例通过接收对任务代码包的修改操作,使得学员能够对原始代码进行个性化改变,便于对个人实训效果进行评估,提高了实训的灵活性和全面性。
步骤404、将实训数据集和用户代码包添加进基础实训镜像,得到待实训镜像。
在本实施例中,步骤404与图2所示的实施例中步骤203基本相同,区别仅在于将任务代码包替换为用户代码包,其具体操作已在步骤203中进行了详细的介绍,在此不再赘述。
步骤405、基于待实训镜像创建实训容器。
在本实施例中,步骤405中创建实训容器的方法,与图2所示的实施例中步骤204的创建实训容器的方法相同,其具体操作已步骤204中进行了详细的介绍,在此不再赘述。
本实施例中通过实训容器演练实训任务的方式有两种,其中一种如下述步骤406-408所述,另一种如下述步骤409-410所述。需要说明的是,本实施例的自动驾驶实训方法,可以同时包括步骤406-410,也可以仅包括406-408或409-410中的一项。
步骤406、按照演练步骤,通过实训容器分步演练实训任务。
在本实施例中,可以将整个实训任务划分为多个可执行的演练步骤,在通过实训容器进行实训任务演练时,可以按照演练步骤,一步一步地进行演练。例如,在演练感知实训任务时,若感知实训数据集中的数据为图像传感器采集的图像数据,可以将演练步骤拆分为去除图像噪声、提取目标对象、目标对象识别等步骤。
本领域技术人员应当理解,上述步骤举例仅仅是示意性的举例,在实际应用中,可以根据不同训练任务的目标和需求,具体进行演练步骤的划分,本申请实施例对此不作限定。
步骤407、响应于一个演练步骤执行完毕,获取该演练步骤对应的输出结果。
在本实施例中,自动驾驶实训方法的执行主体在上述一个演练步骤执行完毕后,可以进一步获取这个演练步骤之后输出的演练结果。同样以上述步骤406中的感知实训任务的演练步骤为例,在去除图像噪声这一演练步骤执行完毕后,可以获得去噪后的图像作为输出结果;而在目标对象识别这一演练步骤执行完毕后,可以获得识别结果作为输出结果。
步骤408、对输出结果进行评测,并输出评测结果。
在本实施例中,上述执行主体还可以进一步对输出结果进行评测,并输出评测结果。具体地,可以将输出结果与预先保存的标准结果进行比对,如果输出结果符合标准结果的要求,则输出评测通过的结果,若输出结果不符合标准结果的要求,则输出评测不通过的结果。其中,标准结果的要求既可以是一种唯一结果,例如固定的代码或特定的识别结果(如行人);也可以是一类结果,例如满足特定格式要求的代码数据。
本实施例通过分步演练实训任务,并实时输出对演练步骤的评测结果,实现了断点评测,可以及时确定学员在实训过程中的学习效果,提高了实训效果评估的针对性和时效性。
步骤409、在不同的行车场景下,通过实训容器对实训任务进行多次仿真,得到多个仿真结果。
在本实施例中,上述执行主体在不同的行车场景下,通过实训容器对实训任务进行多次仿真。例如,若当前实训任务针对的红绿灯场景,那么可以获取多个不同的路口场景数据,包括十字路口直行或转向场景、丁字路口直行场景等。然后将这些场景数据也添加到实训容器中,使得实训容器分别对多个行车场景进行仿真,并得到各自的仿真结果。
步骤410、对多个仿真结果进行并行评测,并输出评测结果。
上述执行主体在得到多个仿真结果后,可以分别对每个仿真结果进行评测,如果每个行车场景下的仿真结果都满足应用要求,则输出仿真通过的评测结果;如果有任意一个行车场景下的仿真结果不满足应用要求,则输出仿真未通过的评测结果,从而实现对多个仿真结果的并行评测。具体的评测标准可以包括结果准确性评测和/或行驶安全性评测,其中,结果准确性评测可以用于判断自动驾驶车辆是否按照设定规则(如、设定路线)进行行驶,行驶安全性评测可以用于判断自动驾驶车辆在行驶过程中是否满足交通安全要求。
本实施例通过在多行车场景下对实训任务的仿真结果进行并行评测,可以对实训效果进行客观且全面的评价。
进一步参考图5,作为对上述图2-图4所示方法的实现,本公开提供了一种自动驾驶实训装置的一个实施例,该装置实施例与图2-图4所示的方法实施例相对应,该装置具体可以应用于服务器中。
如图5所示,本实施例的自动驾驶实训装置500可以包括接收模块501、获取模块502、添加模块503和演练模块504。其中,接收模块501,被配置为接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务;获取模块502,被配置为获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包;添加模块503,被配置为将实训数据集和任务代码包添加进基础实训镜像,得到待实训镜像;演练模块504,被配置为基于待实训镜像创建实训容器,并通过实训容器演练实训任务。
在本实施例中,自动驾驶实训装置500中:接收模块501、获取模块502、添加模块503和演练模块504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
在本实施例的一些可选实现方式中,自动驾驶实训任务包括以下至少一项:定位实训任务、高精度地图实训任务、感知实训任务、决策规划实训任务、控制实训任务和中间件通信实训任务。
在本实施例的一些可选实现方式中,获取模块502包括:第一获取单元,被配置为获取基础实训镜像,以及响应于自动驾驶实训请求指定多个实训任务,分别获取每个实训任务对应的实训数据集和任务代码包。
添加模块503包括:编排单元,被配置为将获取的多个实训数据集和多个任务代码包进行重新编排,得到目标实训数据;第一添加单元,被配置为将目标实训数据添加进基础实训镜像,得到待实训镜像。
在本实施例的一些可选实现方式中,演练模块504包括:第二获取单元,被配置为获取实训配置信息;生成单元,被配置为基于实训配置信息,生成容器部署信息;创建单元,被配置为基于容器部署信息和待实训镜像,创建实训容器。
在本实施例的一些可选实现方式中,自动驾驶实训装置500还包括:修改模块,被配置为接收对任务代码包的修改操作,得到用户代码包。
添加模块503包括:第二添加单元,被配置为将实训数据集和用户代码包添加进基础实训镜像,得到待实训镜像。
在本实施例的一些可选实现方式中,演练模块504包括:演练单元,被配置为按照演练步骤,通过实训容器分步演练实训任务;结果获取单元,被配置为响应于一个演练步骤执行完毕,获取该演练步骤对应的输出结果;第一评测单元,被配置为对输出结果进行评测,并输出评测结果。
在本实施例的一些可选实现方式中,演练模块504包括:仿真单元,被配置为在不同的行车场景下,通过实训容器对实训任务进行多次仿真,得到多个仿真结果;第二评测单元,被配置为对多个仿真结果进行并行评测,并输出评测结果。
进一步参考图6,其示出了根据本公开的自动驾驶实训系统的一个实施例的结构示意图。
如图6所示,本实施例的自动驾驶实训系统600可以包括客户端601和云平台602。其中,客户端601,用于向云平台602发起自动驾驶实训请求;云平台602,用于从客户端601接收自动驾驶实训请求,并确定自动驾驶实训请求指定的实训任务;获取基础实训镜像,以及实训任务对应的实训数据集和任务代码包;将实训数据集和任务代码包添加进基础实训镜像,得到待实训镜像;基于待实训镜像创建实训容器,并通过实训容器演练实训任务。
在本实施例中,客户端601可以首先向云平台602发起登陆请求,云平台602在接收到登陆请求后,如果确定该登陆请求满足登陆要求,则允许客户端601登陆云平台602并向云平台发起自动驾驶实训请求,云平台602在从客户端601接收自动驾驶实训请求后,具体执行的自动驾驶实训方法可以参考图2-图4所示方法的实现,在此不再赘述。
在本实施例的一些可选实现方式中,自动驾驶实训系统600,还包括:代理服务端;客户端602,还用于通过代理服务端,获取云平台601的远程终端服务、实训容器服务和在线代码编辑服务。
在本实施例中,代理服务端的作用就是代理客户端去获取云平台上的信息,它可以看作是介于客户端和云平台之间的一台服务器。在这种情况下,客户端不是直接访问云平台而是向代理服务端发出请求,并进一步通过代理服务端获取云平台提供的远程终端服务、实训容器服务和在线代码编辑服务。其中,远程终端服务用于授权客户端远程在线访问云平台,实训容器服务用于构建并运行实训容器,在线代码编辑服务用于接收客户端对任务代码包的修改操作。通过设置代理服务端,可以提高云平台的访问速度和安全性。
进一步参考图7,其示出了本公开自动驾驶实训系统中云平台的资源架构示意图。本实施例中的云平台,其硬件设备可以包括GPU/CPU,存储资源池,网络资源池和弹性资源扩展。在硬件设备上可以构建虚拟化的资源池,包括虚拟化的计算资源池、存储资源池和网络资源池。同时,可以基于K8s(Kubernetes),一种用于自动化部署、扩展和管理容器化应用的容器管理系统,实现对Docker容器的管理,其中,Docker容器技术是一种开源的应用容器引擎。在虚拟化资源池上的系统功能层面,可以建立本申请的自动驾驶实训系统,包括自动驾驶实训调度系统、实训评测系统和实训监控系统。其中,自动驾驶实训调度系统可以包括定位、高精地图、感知、规划和控制等实训模块,用来实现各种实训功能;实训评测系统可以包括断点评测、结果准确性评测和行驶安全性评测,可以用于对实训效果进行全面评测;实训监控系统包括日志监控、业务监控及警报,可以记录每次实训的具体信息。在系统功能层面之上的应用层面,主要包括两大应用场景,即自动驾驶企业员工培训和高校自动驾驶相关专业课程实训,这些企业和专业的人员是自动驾驶功能学习和开发的核心力量,也是自动驾驶云平台的主要受众。
图8是本公开的自动驾驶实训方法在云平台上的应用流程示意图。学员首先需要通过客户端登陆自动驾驶实训云平台,云平台对登陆请求进行鉴权,如果鉴权通过则允许登陆。之后,云平台提供的实训服务有一部分是免费的,另一部分是需要付费或向特定人员定向提供的,学员需要通过免费兑换或积分兑换来换取相关服务。接着,自动驾驶实训调度系统可以根据接收到的实训请求,获取相应的自动驾驶数据集(即实训数据集)和自动驾驶代码包(即任务代码包),以及同时获取自动驾驶实训镜像(即基础实训镜像),并通过将不同的数据集和代码包添加到自动驾驶实训镜像,可以得到不同的实训模块,包括定位实训模块、高精地图实训模块、感知实训模块、决策规划实训模块、控制实训模块和中间件通信实训模块。之后,可以根据学员设定的配置信息以及镜像的基本信息,生成自动驾驶实训配置,然后基于实训配置生成实训容器部署并基于部署创建实训容器。客户端可以通过代理模块访问在线代码编辑器,实现对自动驾驶代码包的修改;还可以通过代理模块获取云平台的远程终端服务和实训容器服务,以实现对实训容器的运行和调试。在容器运行之后,评测分析模块可以对一次运行结果进行单次评测,也可以对多次运行结果进行并行评测。若评测通过,可以生成评测报告,本次实训结束;若评测未通过,则可以将评测结果反馈给自动驾驶实训调度系统,由其重新选择需要的实训任务再次进行实训流程。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质、一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如自动驾驶实训方法。例如,在一些实施例中,自动驾驶实训方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的自动驾驶实训方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行自动驾驶实训方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种自动驾驶实训方法,所述方法包括:
接收自动驾驶实训请求,并确定所述自动驾驶实训请求指定的实训任务;
获取基础实训镜像,以及所述实训任务对应的实训数据集和任务代码包;
将所述实训数据集和任务代码包添加进所述基础实训镜像,得到待实训镜像;
基于所述待实训镜像创建实训容器,并通过所述实训容器演练所述实训任务。
2.根据权利要求1所述的方法,其中,所述自动驾驶实训任务包括以下至少一项:定位实训任务、高精度地图实训任务、感知实训任务、决策规划实训任务、控制实训任务和中间件通信实训任务。
3.根据权利要求1或2所述的方法,其中,所述获取基础实训镜像,以及所述实训任务对应的实训数据集和任务代码包,包括:
获取基础实训镜像,以及响应于所述自动驾驶实训请求指定多个实训任务,分别获取每个实训任务对应的实训数据集和任务代码包;
所述将所述实训数据集和任务代码包添加进所述基础实训镜像,得到待实训镜像,包括:
将获取的多个实训数据集和多个任务代码包进行重新编排,得到目标实训数据;
将所述目标实训数据添加进所述基础实训镜像,得到所述待实训镜像。
4.根据权利要求1所述的方法,其中,所述基于所述待实训镜像创建实训容器,包括:
获取实训配置信息;
基于所述实训配置信息,生成容器部署信息;
基于所述容器部署信息和所述待实训镜像,创建实训容器。
5.根据权利要求1所述的方法,还包括:
接收对所述任务代码包的修改操作,得到用户代码包;
所述将所述实训数据集和任务代码包添加进所述基础实训镜像,得到待实训镜像,包括:
将所述实训数据集和所述用户代码包添加进所述基础实训镜像,得到待实训镜像。
6.根据权利要求1-5任一项所述的方法,所述通过所述实训容器演练所述实训任务,包括:
按照演练步骤,通过所述实训容器分步演练所述实训任务;
响应于一个所述演练步骤执行完毕,获取该演练步骤对应的输出结果;
对所述输出结果进行评测,并输出评测结果。
7.根据权利要求1-5任一项所述的方法,所述通过所述实训容器演练所述实训任务,包括:
在不同的行车场景下,通过所述实训容器对所述实训任务进行多次仿真,得到多个仿真结果;
对所述多个仿真结果进行并行评测,并输出评测结果。
8.一种自动驾驶实训装置,包括:
接收模块,被配置为接收自动驾驶实训请求,并确定所述自动驾驶实训请求指定的实训任务;
获取模块,被配置为获取基础实训镜像,以及所述实训任务对应的实训数据集和任务代码包;
添加模块,被配置为将所述实训数据集和任务代码包添加进所述基础实训镜像,得到待实训镜像;
演练模块,被配置为基于所述待实训镜像创建实训容器,并通过所述实训容器演练所述实训任务。
9.根据权利要求8所述的装置,其中,所述自动驾驶实训任务包括以下至少一项:定位实训任务、高精度地图实训任务、感知实训任务、决策规划实训任务、控制实训任务和中间件通信实训任务。
10.根据权利要求8或9所述的装置,其中,所述获取模块包括:
第一获取单元,被配置为获取基础实训镜像,以及响应于所述自动驾驶实训请求指定多个实训任务,分别获取每个实训任务对应的实训数据集和任务代码包;
所述添加模块包括:
编排单元,被配置为将获取的多个实训数据集和多个任务代码包进行重新编排,得到目标实训数据;
第一添加单元,被配置为将所述目标实训数据添加进所述基础实训镜像,得到所述待实训镜像。
11.根据权利要求8所述的装置,其中,所述演练模块包括:
第二获取单元,被配置为获取实训配置信息;
生成单元,被配置为基于所述实训配置信息,生成容器部署信息;
创建单元,被配置为基于所述容器部署信息和所述待实训镜像,创建实训容器。
12.根据权利要求8所述的装置,还包括:
修改模块,被配置为接收对所述任务代码包的修改操作,得到用户代码包;
所述添加模块包括:
第二添加单元,被配置为将所述实训数据集和所述用户代码包添加进所述基础实训镜像,得到待实训镜像。
13.根据权利要求8-12任一项所述的装置,其中,所述演练模块包括:
演练单元,被配置为按照演练步骤,通过所述实训容器分步演练所述实训任务;
结果获取单元,被配置为响应于一个所述演练步骤执行完毕,获取该演练步骤对应的输出结果;
第一评测单元,被配置为对所述输出结果进行评测,并输出评测结果。
14.根据权利要求8-12任一项所述的装置,其中,所述演练模块包括:
仿真单元,被配置为在不同的行车场景下,通过所述实训容器对所述实训任务进行多次仿真,得到多个仿真结果;
第二评测单元,被配置为对所述多个仿真结果进行并行评测,并输出评测结果。
15.一种自动驾驶实训系统,包括:
客户端,用于向云平台发起自动驾驶实训请求;
云平台,用于从所述客户端接收所述自动驾驶实训请求,并确定所述自动驾驶实训请求指定的实训任务;获取基础实训镜像,以及所述实训任务对应的实训数据集和任务代码包;将所述实训数据集和任务代码包添加进所述基础实训镜像,得到待实训镜像;基于所述待实训镜像创建实训容器,并通过所述实训容器演练所述实训任务。
16.根据权利要求15所述的系统,还包括:代理服务端;
所述客户端,还用于通过所述代理服务端,获取所述云平台的远程终端服务、实训容器服务和在线代码编辑服务。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211631494.4A CN115909852A (zh) | 2022-12-19 | 2022-12-19 | 自动驾驶实训方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211631494.4A CN115909852A (zh) | 2022-12-19 | 2022-12-19 | 自动驾驶实训方法、装置、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115909852A true CN115909852A (zh) | 2023-04-04 |
Family
ID=86476717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211631494.4A Pending CN115909852A (zh) | 2022-12-19 | 2022-12-19 | 自动驾驶实训方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115909852A (zh) |
-
2022
- 2022-12-19 CN CN202211631494.4A patent/CN115909852A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112965466B (zh) | 自动驾驶系统的还原测试方法、装置、设备及程序产品 | |
US11400928B2 (en) | Driverless vehicle testing method and apparatus, device and storage medium | |
CN110765661A (zh) | 自动驾驶仿真场景生成方法及装置、电子设备、存储介质 | |
CN111027486B (zh) | 一种中小学课堂教学效果大数据辅助分析评价系统及其方法 | |
CN104050076A (zh) | 移动终端上的应用软件测试方法、装置及系统 | |
CN114415628A (zh) | 自动驾驶测试方法及装置、电子设备和存储介质 | |
US11237948B2 (en) | Rendering engine component abstraction system | |
CN113093569A (zh) | 自动驾驶的仿真测试方法、装置、设备和存储介质 | |
CN105006183A (zh) | 一种电能表检定实训教学考核模拟仿真方法 | |
CN109732597A (zh) | 一种基于机器人的远程调试方法、装置及控制器 | |
CN110704323A (zh) | 基于轨道交通线路数据的数据自动化测试方法及装置 | |
Sus et al. | Software system for virtual laboratory works | |
US10489728B1 (en) | Generating and publishing a problem ticket | |
De Luca et al. | Semantic analysis of concurrent computing in decentralized IoT and robotics applications | |
CN112149828B (zh) | 基于深度学习框架的算子精度检测方法和装置 | |
CN112001827A (zh) | 教具控制方法及装置、教学设备、存储介质 | |
CN115909852A (zh) | 自动驾驶实训方法、装置、系统、设备及存储介质 | |
WO2023110478A1 (en) | Method for automatically exploring states and transitions of a human machine interface (hmi) device | |
Varela-Aldás et al. | A comparison in the teaching of programming for development kits with IoT | |
CN115455564A (zh) | 一种基于流水线的虚拟汽车自动仿真方法和装置 | |
JP2022136983A (ja) | システム試験手順を使用する統合試験手順の自動生成 | |
Hendriks et al. | An interoperability framework for trials and exercises | |
Aschenbrenner | Human Robot Interaction Concepts for Human Supervisory Control and Telemaintenance Applications in an Industry 4.0 Environment | |
CN110648119A (zh) | 培训方法及装置、存储介质及电子设备 | |
KR20200075407A (ko) | 원자력발전소 사이버 취약성 시험을 위한 가상 물리 시스템 및 그 방법 |
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 |