自动驾驶领域的代码处理方法、装置、设备和计算机存储介质制造方法及图纸

技术编号:21184297 阅读:26 留言:0更新日期:2019-05-22 15:00
本发明专利技术提供了一种自动驾驶领域的代码处理方法、装置、设备和计算机存储介质。其中方法包括:获取源代码;启动docker虚拟化环境,包括:挂载所述源代码至docker容器,所述docker容器基于自动驾驶系统的运行环境构建;挂载设备和配置文件至docker容器,所述设备模拟自动驾驶系统设备;将所述docker容器的端口映射至物理机端口;基于所述docker虚拟化环境,对所述源代码进行编译和调试。本发明专利技术采用docker虚拟化技术实现对源代码的编译和调试,相比较部署于实物上进行调试的方式,提高可研发效率,降低了成本。

Code Processing Method, Device, Equipment and Computer Storage Media in Autopilot Field

The invention provides a code processing method, device, device and computer storage medium in the field of automatic driving. The method includes obtaining the source code, starting the docker virtualization environment, including installing the source code to the docker container, building the docker container based on the operation environment of the automatic driving system, mounting the device and the configuration file to the docker container, simulating the automatic driving system equipment, mapping the port of the docker container to the physical machine port, and based on the docker The source code is compiled and debugged in a virtualized environment. The invention adopts docker virtualization technology to realize the compilation and debugging of source code, and improves the research and development efficiency and reduces the cost compared with the way deployed on the physical object for debugging.

【技术实现步骤摘要】
自动驾驶领域的代码处理方法、装置、设备和计算机存储介质
本专利技术涉及计算机应用
,特别涉及一种自动驾驶驾驶领域的代码处理方法、装置、设备和计算机存储介质。
技术介绍
无人驾驶车辆,也称为自动驾驶车辆,是智能车辆的一种,主要依靠车内的以计算机系统为主的自动驾驶系统来实现无人驾驶的目的。其通过车载传感器来感知车辆周围环境,自动规划行车路线并控制车辆达到预定目标。集自动控制、体系结构、人工智能、视觉计算等众多技术于一体。在自动驾驶车辆的各部分功能代码的研发过程中,目前采用的方式大多是在实物(实际车辆)上进行代码调试,这种方式需要将代码部署于各种自动驾驶车辆上,一方面,效率低下,另一方面成本较高。
技术实现思路
有鉴于此,本专利技术提供了一种自动驾驶领域的代码处理方法、装置、设备和计算机存储介质,以便于提高研发效率,降低研发成本。具体技术方案如下:一方面,本专利技术提供了一种自动驾驶领域的代码处理方法,该方法包括:获取源代码;启动应用容器引擎docker虚拟化环境,包括:挂载所述源代码至docker容器,所述docker容器基于自动驾驶系统的运行环境构建;挂载设备和配置文件至docker容器,所述设备模拟自动驾驶系统设备;将所述docker容器的端口映射至物理机端口;基于所述docker虚拟化环境,对所述源代码进行编译和调试。根据本专利技术一优选实施方式,所述获取源代码包括:从预设的地址下载源代码至物理机的存储空间。根据本专利技术一优选实施方式,所述自动驾驶系统的运行环境包括:操作系统、驱动软件以及所述源代码的开发需要的软件依赖。根据本专利技术一优选实施方式,构建所述docker容器包括:从镜像仓库下载与所述自动驾驶系统的运行环境对应的docker镜像;基于所述docker镜像启动docker容器。根据本专利技术一优选实施方式,所述设备包括以下至少一种:物理机的显卡、网络设备和控制器局域网络CAN卡。根据本专利技术一优选实施方式,所述配置文件包括以下至少一种:网络配置文件和账户配置文件。根据本专利技术一优选实施方式,该方法还包括:将调试通过的编译结果发送给云端服务器,以便自动驾驶车辆通过空中下载技术OTA从所述云端服务器获取所述编译结果。另一方面,本专利技术还提供了一种自动驾驶领域的代码处理装置,该装置包括:获取单元,用于获取源代码;启动单元,用于启动docker虚拟化环境,包括:挂载所述源代码至docker容器,所述docker容器基于自动驾驶系统的运行环境构建;挂载设备和配置文件至docker容器,所述设备模拟自动驾驶系统设备;将所述docker容器的端口映射至物理机端口;开发单元,用于基于所述docker虚拟化环境,对所述源代码进行编译和调试。根据本专利技术一优选实施方式,该装置还包括:构建单元,用于构建所述docker容器,包括:从镜像仓库下载与所述自动驾驶系统的运行环境对应的docker镜像;基于所述docker镜像启动docker容器。根据本专利技术一优选实施方式,该装置还包括:发送单元,用于将调试通过的编译结果发送给云端服务器,以便自动驾驶车辆通过空中下载技术OTA从所述云端服务器获取所述编译结果。再一方面,本专利技术还提供了一种设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。再一方面,本专利技术还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行行述的方法。由以上技术方案可以看出,本专利技术采用docker虚拟化技术实现对源代码的编译和调试,相比较部署于实物上进行调试的方式,提高了研发效率,降低了成本。【附图说明】图1为本专利技术实施例提供的主要方法流程图;图2为本专利技术实施例提供的启动docker虚拟化环境的流程图;图3为本专利技术实施例提供的代码处理装置的结构示意图;图4示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器的框图。【具体实施方式】为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。现有技术中采用在实物(实际车辆)上进行代码调试的方式,效率低下且成本较高,而现有离线的研发环境则往往与车端在硬件和软件上都是异构的,无法模拟车端的状态,导致离线调试后的产出部署到车端后,程序行为不符合预期甚至无法工作。本申请基于docker虚拟化技术,对车端环境进行虚拟化,以适配离线调试端的各种开发环境。下面结合实施例对本专利技术提供的方法进行详细描述。图1为本专利技术实施例提供的主要方法流程图,如图1中所示,该方法可以包括以下步骤:在101中,获取源代码。从预设的地址下载源代码至物理机的存储空间。其中源代码可以开发出的新功能代码,可以是对之前功能代码进行更新后的功能代码,也可以是对重大漏洞进行修复后的功能代码等等。在本专利技术实施例中,可以从服务器端下载源代码至物理机的存储空间,也可以是从统一的代码仓库中下载源代码至物理机的存储空间,也可以是接收从其他设备传输来的源代码并将其存储至物理机的存储空间。在102中,启动docker虚拟化环境。docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的容器中实现虚拟化。本步骤中启动的docker虚拟化环境模拟车端真实硬件和软件环境。具体地,如图2中所示,本步骤可以具体包括以下步骤:在1021中,挂载源代码至docker容器,该docker容器基于自动驾驶系统的运行环境构建。将源代码挂载至虚拟化环境的指定目录下,该目录可以依据具体的开发项目进行定义,例如挂载至目录“/apollo”下。其中,自动驾驶系统的运行环境主要是软件环境,例如可以包括:操作系统、驱动软件以及所述源代码的开发需要的软件依赖。具体可以包括名称、版本号、目录结构等信息。其中涉及到docker容器的构建,具体可以包括:从镜像仓库下载与自动驾驶系统的运行环境对应的docker镜像,基于该docker镜像启动docker容器。镜像仓库是集中存放docker镜像的仓库,不同物理机可以从该仓库中下载docker镜像。docker镜像是docker容器运行时的只读模板,通过docker镜像启动docker容器,运行服务。在本专利技术实施例中,可以预先基于各种自动驾驶系统的运行环境构建好docker镜像并统一存储于镜像仓库,本步骤中根据自动驾驶系统的运行环境从镜像仓库中下载对应的docker镜像即可。然后基于下载的该docker镜像启动docker容器,从而完成docker容器的构建。在本专利技术实施例中并不限制docker镜像的具体构建方法,可以利用任何方法构建得到的docker镜像。1022、挂载设备和配置文件至docker容器,该设备模拟自动驾驶系统设备。设备和配置文件的挂载指的是将设备目录和配置文件的目录挂载至虚拟化环境的指定目录下,使得设备和配置文件能够与虚拟化环境相关联从而能够被访问。具体地,设备可以挂载于诸如“/dev”目录下,配置文件可以挂载于诸如“/etc”目录下。上述的设备是对自动驾驶系统设备进行模拟,主要体现在硬件设备的模拟。可以具体包括以下至少一种:物理机的显卡、网络设备和CAN(ControllerAreaNetwo本文档来自技高网...

【技术保护点】
1.一种自动驾驶领域的代码处理方法,其特征在于,该方法包括:获取源代码;启动应用容器引擎docker虚拟化环境,包括:挂载所述源代码至docker容器,所述docker容器基于自动驾驶系统的运行环境构建;挂载设备和配置文件至docker容器,所述设备模拟自动驾驶系统设备;将所述docker容器的端口映射至物理机端口;基于所述docker虚拟化环境,对所述源代码进行编译和调试。

【技术特征摘要】
1.一种自动驾驶领域的代码处理方法,其特征在于,该方法包括:获取源代码;启动应用容器引擎docker虚拟化环境,包括:挂载所述源代码至docker容器,所述docker容器基于自动驾驶系统的运行环境构建;挂载设备和配置文件至docker容器,所述设备模拟自动驾驶系统设备;将所述docker容器的端口映射至物理机端口;基于所述docker虚拟化环境,对所述源代码进行编译和调试。2.根据权利要求1所述的方法,其特征在于,所述获取源代码包括:从预设的地址下载源代码至物理机的存储空间。3.根据权利要求1所述的方法,其特征在于,所述自动驾驶系统的运行环境包括:操作系统、驱动软件以及所述源代码的开发需要的软件依赖。4.根据权利要求1或3所述的方法,其特征在于,构建所述docker容器包括:从镜像仓库下载与所述自动驾驶系统的运行环境对应的docker镜像;基于所述docker镜像启动docker容器。5.根据权利要求1所述的方法,其特征在于,所述设备包括以下至少一种:物理机的显卡、网络设备和控制器局域网络CAN卡。6.根据权利要求1所述的方法,其特征在于,所述配置文件包括以下至少一种:网络配置文件和账户配置文件。7.根据权利要求1所述的方法,其特征在于,该方法还包括:将调试通过的编译结果发送给云端服务器,以便自动驾驶车辆通过空中下载技术OTA从所述云端...

【专利技术属性】
技术研发人员:荆荣讯李云龙周清陈臣
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1