驾驶系统及其构建方法、车辆、存储介质技术方案

技术编号:35857257 阅读:15 留言:0更新日期:2022-12-07 10:44
本申请涉及驾驶系统及其构建方法、车辆、存储介质,所述系统包括:部署于处理器之上的安全基座;虚拟机,其部署于所述安全基座上;驾驶模块,其部署于所述虚拟机上;以及设备驱动模块,其部署于所述安全基座上,其中,所述驾驶模块通过所述设备驱动模块实现对外设的访问。模块通过所述设备驱动模块实现对外设的访问。模块通过所述设备驱动模块实现对外设的访问。

【技术实现步骤摘要】
驾驶系统及其构建方法、车辆、存储介质


[0001]本申请涉及用于车辆的驾驶系统,具体而言,涉及驾驶系统及其构建方法、车辆、存储介质。

技术介绍

[0002]目前,在自动驾驶领域,越来越多的厂商希望使用Linux系统作为承载自动驾驶模块的操作系统,这是因为Linux系统上存在大量的开源生态资源可以使用。例如,深度学习框架、视觉识别开源模块等等。但由于Linux系统本身达不到高可靠等级,这也导致不少厂商仍然使用商用的微内核操作系统,例如,QNX系统。所以,如何既能使用Linux系统的开源生态资源又能达到较高的可靠性成为业内研究的一个方向。
[0003]有鉴于此,需要提出一种改进的系统架构。

技术实现思路

[0004]本申请的实施例提供了一种驾驶系统及其构建方法、车辆、存储介质,用于以可靠的方式构建用于自动驾驶等的设备驱动。
[0005]根据本申请的一方面,提供一种驾驶系统。所述系统包括:部署于处理器之上的安全基座;虚拟机,其部署于所述安全基座上;驾驶模块,其部署于所述虚拟机上;以及设备驱动模块,其部署于所述安全基座上,其中,所述驾驶模块通过所述设备驱动模块实现对外设的访问。
[0006]在本申请的一些实施例中,可选地,所述安全基座基于微内核系统。
[0007]在本申请的一些实施例中,可选地,所述安全基座基于sel4系统或者QNX系统。
[0008]在本申请的一些实施例中,可选地,所述虚拟机基于Linux系统。
[0009]在本申请的一些实施例中,可选地,所述驾驶模块用于执行自动/辅助驾驶任务。
[0010]在本申请的一些实施例中,可选地,所述系统还包括部署于所述虚拟机上的功能性框架,并且所述驾驶模块能够调取所述功能性框架。
[0011]根据本申请的另一方面,提供一种车辆,所述车辆包括如上文所述的任意一种驾驶系统。
[0012]根据本申请的另一方面,提供一种构建驾驶系统的方法,所述方法包括如下步骤:在处理器之上部署安全基座;在所述安全基座上部署虚拟机和设备驱动模块;以及在所述虚拟机上部署驾驶模块,其中,所述驾驶模块通过所述设备驱动模块实现对外设的访问。
[0013]在本申请的一些实施例中,可选地,所述安全基座基于微内核系统。
[0014]在本申请的一些实施例中,可选地,所述安全基座基于sel4系统或者QNX系统。
[0015]在本申请的一些实施例中,可选地,所述虚拟机基于Linux系统。
[0016]在本申请的一些实施例中,可选地,所述驾驶模块用于执行自动/辅助驾驶任务。
[0017]在本申请的一些实施例中,可选地,所述方法还包括:在所述虚拟机上部署功能性框架,并且所述驾驶模块能够调取所述功能性框架。
[0018]根据本申请的另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令由处理器执行时,使得所述处理器执行如上文所述的任意一种方法。
[0019]本申请的一些实施例提供的驾驶系统及其构建方法、车辆、存储介质能够以可靠的方式构建用于自动驾驶等的设备驱动,避免了由于单一模块故障导致整个系统退服,从而提升了车辆的安全性。
附图说明
[0020]从结合附图的以下详细说明中,将会使本申请的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。
[0021]图1示出了根据本申请的一个实施例的驾驶系统;图2示出了根据本申请的一个实施例的构建驾驶系统的方法;图3示出了根据一些实施例的驾驶系统。
具体实施方式
[0022]出于简洁和说明性目的,本文主要参考其示范实施例来描述本申请的原理。但是,本领域技术人员将容易地认识到相同的原理可等效地应用于所有类型的驾驶系统及其构建方法、车辆、存储介质,并且可以在其中实施这些相同或相似的原理,任何此类变化不背离本申请的真实精神和范围。
[0023]图3示出了一种基于Linux系统的(自动)驾驶系统30的架构图,出于清晰示出本专利技术原理的角度考虑,图中还示出了处理器和外设等周边模块。如图所示,驾驶系统30基于处理器20(例如,System on Chip(SOC))部署了一个安全基座(hypervisor)301;在安全基座(hypervisor)301之上部署Linux 虚拟机302;设备驱动模块304部署在Linux内核303空间内,而驾驶模块305也部署于Linux 虚拟机302之上。如图所示,驾驶模块305可以通过设备驱动模块304访问外设40。但是,这种架构存在一个问题:如果设备驱动模块304中的某个设备驱动出现故障,可能导致整个Linux 虚拟机302崩溃,也会殃及到用户空间的(自动)驾驶模块305。这对于对安全性要求很高的车辆驾驶应用而言是难以想象的。
[0024]有鉴于此,以下将提出一种可以用于自动驾驶应用的驾驶系统架构,该架构既可以使用Linux作为操作系统内核从而可以使用基于Linux的广泛开源生态资源,同时又满足高可靠的需求。
[0025]根据本申请的一方面,提供一种驾驶系统。如图1所示,除了驾驶系统10(以下简称系统10)之外,图中还示出了处理器20和外设40等周边模块。其中,系统10包括如下层次架构:部署于处理器20之上的安全基座(hypervisor)101,部署于安全基座101上的虚拟机102(其包括内核103)和设备驱动模块104,部署于虚拟机102上的驾驶模块105。其中,驾驶模块105通过设备驱动模块104实现对外设的访问。根据系统10的结构,设备驱动模块104将不再部署于虚拟机102之上,从而防止单一驱动故障导致整个虚拟机102不能正常工作。
[0026]在本申请的一些实施例中,安全基座101基于微内核系统具体而言,安全基座101可以基于sel4系统或者QNX系统。
[0027]安全基座(hypervisor)类似于操作系统的操作系统,其可以用于协调多个虚拟
机。在汽车领域,有观察认为hypervisor未来可能全面接管车辆的各种硬件资源,并把他们抽象成逻辑资源池,并按需分配给每个虚拟机。
[0028]此外,微内核(Micro kernel)系统是提供操作系统核心功能的内核的精简版本系统,是一种能够提供必要服务的操作系统内核。其中,这些必要的服务包括任务、线程、交互进程通信(IPC,Inter-Process Communication)以及内存管理等等。而所有服务将在用户模式下运行,处理这些服务同处理其他的任何一个程序一样。因为每个服务只是在自己的地址空间运行。所以这些服务之间彼此之间都受到了保护。
[0029]正是由于微内核这种构造,使得其具有如下有点,特别适用于实现车辆的自动驾驶功能:其能够使得不同的API、文件系统,甚至不同的操作系统的特性在一个系统中共存。微内核系统非常灵活,当运行一个应用程序时,只需把选定的系统服务加载到系统中即可。而修改了服务以后可以通过联机进行测试;并不需要重本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种驾驶系统,其特征在于,所述系统包括:部署于处理器之上的安全基座;虚拟机,其部署于所述安全基座上;驾驶模块,其部署于所述虚拟机上;以及设备驱动模块,其部署于所述安全基座上,其中,所述驾驶模块通过所述设备驱动模块实现对外设的访问。2.根据权利要求1所述的系统,其中,所述安全基座基于微内核系统。3.根据权利要求2所述的系统,其中,所述安全基座基于sel4系统或者QNX系统。4.根据权利要求1所述的系统,其中,所述虚拟机基于Linux系统。5.根据权利要求4所述的系统,其中,所述驾驶模块用于执行自动/辅助驾驶任务。6.根据权利要求5所述的系统,其中,所述系统还包括部署于所述虚拟机上的功能性框架,并且所述驾驶模块能够调取所述功能性框架。7.一种车辆,其特征在于,所述车辆包括如权利要求1

6中任一项所述的驾驶系统。8.一种构建驾驶系统的方法,其特征在于,所...

【专利技术属性】
技术研发人员:罗金华
申请(专利权)人:蔚来汽车科技安徽有限公司
类型:发明
国别省市:

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

1