CN111666133A - 一种自动驾驶车辆的车载基础设施 - Google Patents

一种自动驾驶车辆的车载基础设施 Download PDF

Info

Publication number
CN111666133A
CN111666133A CN201910163379.0A CN201910163379A CN111666133A CN 111666133 A CN111666133 A CN 111666133A CN 201910163379 A CN201910163379 A CN 201910163379A CN 111666133 A CN111666133 A CN 111666133A
Authority
CN
China
Prior art keywords
module
vehicle
subsystem
control system
infrastructure
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
Application number
CN201910163379.0A
Other languages
English (en)
Inventor
苏磊
靳江明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tusimple Technology Co Ltd
Original Assignee
Beijing Tusimple Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Tusimple Technology Co Ltd filed Critical Beijing Tusimple Technology Co Ltd
Priority to CN201910163379.0A priority Critical patent/CN111666133A/zh
Publication of CN111666133A publication Critical patent/CN111666133A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本发明公开一种自动驾驶车辆的车载基础设施,用以实现自动驾驶车辆的有效稳定行驶。本申请实施例提供车载基础设施和车载自动驾驶控制系统运行在车载服务器中,自动驾驶控制系统包括多个应用模块,车载基础设施包括:调度子系统、消息子系统和安全子系统;其中:调度子系统用于根据预设的资源映射关系,启动资源映射关系中包括的自动驾驶控制系统中的应用模块,其中资源映射关系中包括自动驾驶控制系统的应用模块与车载服务器中硬件资源的映射关系,自动驾驶控制系统的应用模块包括算法模块和管理模块,车载服务器的硬件资源包括车载服务器中的计算资源和存储资源;根据资源映射关系,为启动的应用模块分配对应的硬件资源。

Description

一种自动驾驶车辆的车载基础设施
技术领域
本申请涉及自动驾驶技术领域,特别涉及一种自动驾驶车辆的车载基础设施。
背景技术
目前,在自动驾驶技术领域,通常在车辆中配置自动驾驶控制系统。自动驾驶控制系统通过多种传感装置获取到的环境数据,根据环境数据对车辆所处环境进行感知,并根据感知结果和地图数据,对车辆的运动进行规划和控制。自动驾驶控制系统在自动驾驶的软件架构中属于应用层的系统。自动驾驶控制系统中通常包括多个应用模块,例如包括地图引擎、定位模块、感知模块、导航或路径模块、自动控制模块,以及实现其它功能的模块。
如何使自动驾驶控制系统运行得更加稳定、高效且易于管理,是实现车辆有效且稳定的自动驾驶的关键。
发明内容
有鉴于此,本申请提供了一种自动驾驶车辆的车载基础设施,用以实现自动驾驶车辆中自动驾驶控制系统的稳定高效运行,以及自动驾驶车辆的有效稳定行驶。
本申请实施例提供了一种自动驾驶车辆的车载基础设施,车载基础设施和车载自动驾驶控制系统运行在车载服务器中,自动驾驶控制系统包括多个应用模块,车载基础设施包括:调度子系统、消息子系统和安全子系统;其中:
调度子系统用于根据预设的资源映射关系,启动资源映射关系中包括的自动驾驶控制系统中的应用模块,其中资源映射关系中包括自动驾驶控制系统的应用模块与车载服务器中硬件资源的映射关系,自动驾驶控制系统的应用模块包括算法模块和管理模块,车载服务器的硬件资源包括车载服务器中的计算资源和存储资源;根据资源映射关系,为启动的应用模块分配对应的硬件资源;
消息子系统用于提供自动驾驶控制系统的应用模块之间的数据流传递和数据流同步;
安全子系统用于对自动驾驶控制系统的应用模块之间的通信以及与外界的通信进行鉴权、加解密、入侵检测和隔离。
通过本申请实施例提供的自动驾驶车辆的车载基础设施,能够为自动驾驶控制系统提供任务调度、为执行任务的应用模块分配计算资源和存储资源,并为应用模块之间的数据交互提供数据流传递和同步,以及为应用模块之间的通信和应用模块与外界的通信提供安全服务。从而能够实现车载自动驾驶控制系统的稳定高效运行,并实现自动驾驶车辆的稳定高效运行。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1a为自动驾驶车辆中车载服务器的结构示意图;
图1b为自动驾驶车辆中车载软件系统的结构示意图;
图2为自动驾驶车辆中车载自动驾驶控制系统的示意图;
图3为本申请实施例提供的自动驾驶车辆中的车载基础设施的结构示意图;
图4为本申请实施例提供的自动驾驶控制系统的结构示意图;
图5为本申请实施例提供的自动驾驶车辆中的车载基础设施的另一结构示意图;
图6为本申请实施例提供的自动驾驶车辆中的车载基础设施的另一结构示意图;
图7为本申请实施例提供的自动驾驶车辆中的车载基础设施的另一结构示意图;
图8为本申请实施例提供的自动驾驶车辆中的车载基础设施的另一结构示意图;
图9为本申请实施例提供的自动驾驶车辆中的车载基础设施的另一结构示意图;
图10为本申请实施例提供的自动驾驶车辆中的车载基础设施的另一结构示意图;
图11为本申请实施例的一个示例提供的自动驾驶车辆中的车载基础设施的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在本申请中,术语“车辆”在本申请中广泛地解释为包括任何移动物体,包括例如飞行器、船只、航天器、汽车、卡车、厢式货车、半挂车、摩托车、高尔夫球车、越野车辆、仓库运输车辆或农用车以及行驶在轨道上的运输工具,例如电车或火车以及其它有轨车辆。
本申请中的“车辆”通常可以包括:动力系统、传感器系统、控制系统、外围设备和计算机系统。在其它实施例中,车辆可以包括更多、更少或者不同的系统。
其中,动力系统是为车辆提供动力运动的系统,包括:引擎/马达、变速器和车轮/轮胎、能源单元。
控制系统可以包括控制车辆及其组件的装置的组合,例如转向单元、节气门、制动单元。
外围设备可以是允许车辆与外部传感器、其它车辆、外部计算设备和/或用户进行交互的设备,例如无线通信系统、触摸屏、麦克风和/或扬声器。
基于上述描述的车辆,自动驾驶车辆中还配置有传感器系统和自动驾驶控制装置。
传感器系统可以包括用于感测车辆所处环境的信息的多个传感器,以及改变传感器的位置和/或方向的一个或多个致动器。传感器系统可以包括全球定位系统传感器、惯性测量单元、无线电检测和测距(RADAR)单元、相机、激光测距仪、光检测和测距(LIDAR)单元和/或声学传感器等传感器的任何组合;传感器系统还可以包括监视车辆内部系统的传感器(例如O2监视器、燃油表、引擎温度计等)。
自动驾驶控制装置可以包括车载服务器1以及装载在车载服务器1中的车载软件系统2。如图1a所示,车载服务器1中包括至少一个处理器10和至少一个存储器11,至少一个存储器11中存储有构成车载软件系统2的至少一条机器可执行指令。如图1b所示,车载软件系统2可以包括操作系统21、自动驾驶控制系统22、以及本申请实施例提供的车载基础设施23。
自动驾驶控制系统22包括多个应用模块,如图2所示,应用模块包括算法模块和管理模块,算法模块包括地图引擎、定位模块、感知模块、导航或路径模块、以及自动控制模块等的功能。地图引擎和定位模块用于提供地图信息和定位信息。感知模块用于根据传感器系统获取到的信息和地图引擎提供的地图信息感知车辆所处环境中的事物。导航或路径模块用于根据地图引擎、定位模块和感知模块的处理结果,为车辆规划行驶路径。自动控制模块将导航或路径模块等模块的决策信息输入解析转换成对车辆控制系统的控制命令输出,并通过车载网(例如通过CAN总线、局域互联网络、多媒体定向系统传输等方式实现的车辆内部电子网络系统)将控制命令发送给车辆控制系统中的对应部件,实现对车辆的自动控制;自动控制模块还可以通过车载网来获取车辆中各部件的信息。
下面对本申请实施例提供的车载基础设施23进行详细说明。
如图3所示,本申请实施例提供的车载基础设施23包括调度子系统31、消息子系统32和安全子系统33;其中,
调度子系统31用于根据预设的资源映射关系,启动资源映射关系中包括的自动驾驶控制系统中的应用模块,并根据资源映射关系,为启动的应用模块分配对应的硬件资源;其中,资源映射关系中包括自动驾驶控制系统的应用模块与车载服务器中硬件资源的映射关系,自动驾驶控制系统的应用模块包括算法模块和管理模块,车载服务器的硬件资源包括车载服务器中的计算资源和存储资源;
消息子系统32用于提供自动驾驶控制系统的应用模块之间的数据流传递和数据流同步;
安全子系统33用于对自动驾驶控制系统的应用模块之间的通信以及与外界的通信进行鉴权、加解密、入侵检测和隔离。
通过图3所示的车载基础设施,能够为自动驾驶控制系统提供任务调度、为执行任务的应用模块分配计算资源和存储资源,并为应用模块之间的数据交互提供数据流传递和同步,以及为应用模块之间的通信和应用模块与外界的通信提供安全服务。
下面对车载基础设施进行详细说明。
在本申请的一些实施例中,车载基础设施中的调度子系统31中保存有预设的资源映射关系,资源映射关系中包括自动驾驶控制系统的应用模块与车载服务器中硬件资源的映射关系,自动驾驶控制系统的应用模块包括算法模块和管理模块,车载服务器的硬件资源包括车载服务器中的计算资源和存储资源。计算资源至少包括以下之一:同构或异构的多核CPU、同构或异构的ARM多核CPU、GPU、AI芯片、加密芯片、压缩专用处理器,计算资源中还可以包括其它的硬件、固件或软件的资源,本申请这里不做具体限定。存储资源可以包括多种形态的存储设备的资源,本申请这里不做具体限定。
该资源映射关系可以预先在离线的处理过程中建立得到。例如可以在离线的处理过程中,通过预设的映射规则或者机器学习的方法,使用多核多任务调度技术,根据自动驾驶控制系统中应用模块之间基于任务的数据流、车载服务器中的计算资源的通信拓扑和存储拓扑、以及计算资源的性能建立得到该资源映射关系。
通过资源映射关系可以高效地集成自动驾驶控制系统的应用模块,为自动驾驶控制系统的应用模块合理分配所需的计算资源和存储资源,能够实现自动驾驶控制系统的稳定、高效的运行。
一方面,合理高效地集成自动驾驶控制系统中应用模块,能够提高自动驾驶控制系统运行的稳定性和有效性。本申请实施例基于应用模块之间基于任务的数据流建立资源映射关系,也即通过任务的数据流将自动驾驶控制系统的应用模块系统有机地整合、集成起来,能够提高自动驾驶系统的集成度,能够增强自动驾驶系统运行的稳定性和有效性。
另一方面,为自动驾驶控制系统中的应用模块合理地分配车载服务器中的计算资源和存储资源,也能够提高自动驾驶控制系统运行的稳定性和有效性。在车载服务器中存在异构的多核处理器的情况下,如何有效地将计算任务分配到异构的处理器上,关系到计算任务是否能够正确有效地执行。本申请实施例根据车载服务器中计算资源的通信拓扑和存储拓扑、以及计算资源的性能来建立资源映射关系,能够合理地为应用模块分配所需的计算资源和存储资源,降低自动驾驶控制系统中多个任务(例如多个算法任务和/或多个管理任务)之间的干扰,减少由于计算资源和存储资源的分配不合理、导致应用模块上下文切换、进程缺页和缓冲不命中等现象,以及由于上述因素造成的应用模块的运行不稳定和性能下降,从而能够提高任务的可预测性和确定性,实现任务的稳定和高效的运行,以及实现自动驾驶控制系统的稳定、顺畅、高效的运行。
也即,本申请实施例通过基于任务的数据流来集成自动驾驶控制系统中的应用模块、且为应用模块合理配置计算资源和存储资源,并以此形成资源映射关系,根据资源映射关系来调度应用模块,能够使应用模块的运行以及应用模块之间的数据交互更为稳定高效,从而使自动驾驶控制系统的运行更为稳定高效。
进一步,在本申请的另一些实施例中,调度子系统31在判断自动驾驶控制系统中不包括资源映射关系中的应用模块的情况下,从云端服务器或者远程服务器获取对应的应用模块;并在自动驾驶控制系统中加载获取到的应用模块。通过自动获取资源映射关系中存在、而自动驾驶控制系统中未配置的应用模块,能够为自动驾驶控制系统的研发、测试提供便利。
为了实现对自动驾驶控制系统中的应用模块更为方便有效的管理和监控,在本申请的一些实施例中,还可以将自动驾驶控制系统中的应用模块封装在容器中,通过对容器的管理来实现对应用模块的管理和监控。
在图2所示自动驾驶控制系统的基础上,如图4所示,本申请实施例将自动驾驶控制系统的应用模块封住在容器中,也即一个容器中配置有自动驾驶控制系统的一个应用模块。容器可以为应用模块的运行提供必要的资源、同时为应用模块提供资源和运行环境的隔离。通过容器,也可以更加有效可靠地对应用模块的运行情况进行监控和管理。进一步,对容器进行监控,还可以获取自动驾驶控制系统在实时运行的过程中,容器中的应用模块对计算资源和存储资源的消耗的实际情况,后续可以根据该实际的资源消耗情况来优化对应用模块的资源配置,也即优化资源映射关系,从而更加合理有效地为应用模块分配所需的计算资源和存储资源。
在该类实施例中,如图5所示,在图3所示车载基础设施的基础上,车载基础设施中还相应地包括容器子系统34。
在图5所示的车载基础设施中,调度子系统31启动资源映射关系中各应用模块所在的容器,并且根据资源映射关系为应用模块所在的容器分配对应的硬件资源。
容器子系统34用于管理自动驾驶控制系统中各个容器的生命周期,例如管理各个容器的启动、运行、暂停、结束,也即控制管理自动驾驶控制系统中各个应用模块的运行状态。
容器子系统34还监控自动驾驶控制系统中各个容器的运行情况,生成模块性能报告,模块性能报告中包括容器使用的硬件资源数据和容器中应用模块的运行情况数据;并向云端服务器或者远程服务器上报生成的模块性能报告。其中,容器使用的硬件资源数据至少包括以下之一:各个容器对CPU的使用率、GPU使用率、内存使用率、I/O使用率;容器中应用模块的运行情况数据至少包括以下之一:各个容器中应用模块的进程和/或函数执行时长、进程缺页、缓存命中率、上下文切换的数据。通过模块性能报告,可以了解到容器以及容器中封装的应用模块的运行是否存在异常情况。
进一步地,在另一些实施例中,模块性能报告还可以用于优化资源映射关系。模块性能报告中的硬件资源使用数据反映了应用模块在实际运行过程中执行任务时占用的硬件资源的情况,应用模块的运行情况数据反映了应用模块的运行状况。通过在实时运行过程中应用模块的硬件资源占用情况和应用模块的运行状况,能够对预先确定得到的资源映射关系进行优化。通过持续的优化处理,能够获得更加合理的资源配置,不断地增强自动驾驶控制系统运行的稳定性和可靠性。
在本申请的另一些实施例中,当自动驾驶控制系统中应用模块的配置发生改变后,例如增加新的应用模块或者删除了应用模块,或者车载服务器中的计算资源和存储资源发生改变后,例如增加了新的异构多核处理器、增加了新的存储设备,也可以对资源映射关系进行优化或者重配置,并相应地生成优化的或者重配置的资源映射关系。从而在应用模块或者硬件资源发生改变后,通过资源映射关系,可以高效地对应用模块和硬件资源进行重配置,能够实现较高的配置效率。通过重配置的资源映射关系,能够保证新的自动驾驶控制系统或者新的硬件环境下,自动驾驶控制系统的高效运行,以及能够实现自动驾驶控制系统以及硬件设备的可插拔、模块化、可替换的配置。
在优化或者重配置资源映射关系的处理中,可以根据模块性能报告来调整资源映射关系,得到优化后的或者重配置的资源映射关系;或者通过机器学习的方法,使用模块性能报告中的数据来训练神经网络,得到优化后的或者重配置的资源映射关系。
在调度子系统31获得了优化后的或者重配置的资源映射关系后,可以根据新获得的资源映射关系启动资源映射关系中包括的应用模块,以及根据新获得的资源映射关系为应用模块分配对应的硬件资源。调度子系统31获得优化后的或者重配置的资源映射关系,可以是由远程服务器或者云端服务器发送给调度子系统31的,也可以是由与车载服务器直接连接的控制器发送给调度子系统31的。
在本申请的一些实施例中,为了防止黑客侵入发布非法消息或者非法获取自动驾驶控制系统中的消息,实现自动驾驶控制系统中应用模块之间的安全通信,还可以对容器之间的通信进行话题(topic)级别隔离和控制,以实现应用模块之间的通信的隔离和控制。
在该类实施例中,消息子系统32还用于保存预设的容器之间通信的话题访问权限,其中话题访问权限中包括多个话题的访问权限,一个话题的访问权限包括该话题对应的发布应用模块和订阅应用模块;
容器子系统34还用于读取消息子系统的通信控制模块中保存的话题访问权限;根据该话题访问权限来控制容器之间的通信,使得一个话题访问权限中包括的发布方容器将消息发布到对应的该话题中、订阅方容器接收对应的该话题中的消息。
在该类实施例中,消息子系统32和容器子系统34通过话题访问权限对控制应用模块之间的通信权限进行控制,在一个话题的访问权限中不包括一个发布方的应用模块的情况下,该应用模块不能将消息发布到该话题下,在一个话题的访问权限中不包括一个订阅方的应用模块的情况下,该应用模块不能获取该话题下的消息。从而通过设置话题访问权限,能够监控容器之间的通信情况,实现容器之间以及应用模块之间的通信安全。
在该类实施例中,由于应用模块被封装在容器中,一个容器与该容器中封装的应用模块具有唯一的对应关系,在话题访问权限中,一个话题的访问权限中可以包括发布方的容器标识或者容器中的应用模块的标识,以及包括订阅方的容器标识或者容器中的应用模块的标识,根据容器标识或者应用模块标识即可定位到相应的应用模块。
在本申请的一些实施例中,为了能够更加有效和快速地对自动驾驶车辆中的车载软件系统进行升级,如图6所示,在图3所示车载基础设施的基础上,车载基础设施还可以包括升级子系统35。
升级子系统35用于根据升级文件,从云端服务器或远程服务器获取升级文件中包括的软件模块、固件或硬件的升级配置文件;分别在对应的系统中加载获取到的软件模块、固件或硬件的升级配置文件。
其中,升级文件可以通过远程服务器、云端服务器发送给车载基础设施,也可以直接从连接至车载服务器的近端的控制设备发送给车载基础设施,还可以是车载基础设施从连接至车载服务器的存储设备中读取到的。
升级文件中的软件模块至少包括以下之一:自动驾驶控制系统中的应用模块、管理模块、和/或车载软件基础设施中的软件模块;硬件的升级配置文件至少包括以下之一:车载服务器的硬件的升级配置文件、操作系统的内核的升级配置文件、车载传感器的升级配置文件、车辆部件的升级配置文件。
通过升级子系统35,可以获取车载软件系统的升级文件,并根据升级文件对车载软件系统进行相应的升级。
在本申请的一些实施例中,为了实现对自动驾驶车辆运行的动态管理,如图7所示,在图3所示车载基础设施的基础上,本申请实施例提供的车载基础设施还可以包括管理子系统36,管理子系统36中包括配置管理模块361和设备管理模块362。
配置管理模块361用于在自动驾驶控制系统的运行过程中,动态接收输入的应用模块的参数,并将接收到的参数发送给对应的应用模块,以使应用模块根据接收到的参数进行更新和运行。
其中,动态输入的参数可以是通过远程服务器、云端服务器发送给车载基础设施的,也可以直接从连接至车载服务器的近端的控制设备发送给车载基础设施的。
设备管理模块362用于监控和管理车载服务器中的设备、车载传感器和/或车载设备的运行情况生成监控报告,并向云端服务器或者远程服务器上报监控报告。该监控报告可以包括车载服务器中的设备、车载传感器和/或车载设备的运行性能数据和故障数据。
通过配置管理模块361,可以在自动驾驶车辆实时运行的过程中,对自动驾驶控制系统中应用模块进行动态参数设置,以满足自动驾驶动态变化的需求。通过设备管理模块362,可以对自动驾驶车辆中的硬件设备的运行情况进行监控,以发现硬件设备的异常情况和运行性能。
在本申请的一些实施例中,为了给自动驾驶控制系统中的应用模块和车载基础设施中的子系统或模块提供小规模的数据存储服务,在图7所示车载基础设施的基础上,如图8所示,本申请实施例提供的车载基础设施还可以包括存储子系统37,存储子系统37用于为管理子系统和自动驾驶控制系统的应用模块提供数据存储服务。例如,当管理配置模块361接收到动态输入的参数后,可以对接收到的参数根据存储子系统37提供的服务进行存储。在该类实施例中,存储子系统37通过键值对存储实现数据存储。
进一步地,存储子系统37还可以通过键值对存储提供对自动驾驶控制系统中应用模块的服务发现功能,以发现自动驾驶控制系统中松耦合的应用模块。通过去中心化的服务发现机制,应用模块之间可以轻易地发现感兴趣的应用模块是否上线、并接收相关消息。通过该服务发现机制,自动驾驶控制系统的开发人员无需了解服务发现的细节,能够加速新的应用模块的集成过程。
在本申请的一些实施例中,为了实现对自动驾驶控制系统数据通信全面有效的安全保护,如图9所示,在图3所示车载基础设施的基础上,在本申请实施例提供的车载基础设施的安全子系统33可以包括数字签名模块331、消息认证模块332、加解密模块333、用户管理模块334。
数字签名模块331用于对自动驾驶控制系统的应用模块之间的消息通信进行数字签名处理;
消息认证模块332用于对自动驾驶控制系统的应用模块之间的消息通信进行消息认证处理;
加解密模块333用于对自动驾驶控制系统的应用模块之间的消息通信进行加解密处理;
用户管理模块334用于对远程接入车载软件基础设施的用户进行权限管理。
在本申请的一些实施例中,为了给用户或使用者提供车载基础设施的二次开发工具和资源,如图10所示,在图3所示车载基础设施的基础上,本申请实施例提供的车载基础设施还可以包括工具包(Software Development Kit,SDK)子系统38,工具包子系统38中包括软件SDK模块381和管理SDK模块382;
软件SDK模块381用于提供在车载基础设施中增加新系统或者新模块的接口和工具;
管理SDK模块382用于提供对车载基础设施中的子系统或者模块进行管理的接口和工具。
通过工具包子系统38提供的接口和工具,用户或者使用者可以对车载基础设施进行二次开发,满足用户或使用者的特定需求,使得车载基础设施具备更高的可定制性。
本申请以上多种实施例中提供的车载基础设施,包括图3、图5、图6、图7、图8、图9、图10所示的车载基础设施,在不同的应用场景中,可以根据具体的场景需求来选择设置或合并设置。例如图6、图7、图8、图9、图10所示的车载基础设施可以和图5所示的车辆基础设施进行结合设置,也即基于自动驾驶控制系统中的应用模块部署在容器中的情况,来设置车载基础设施。进一步,图6、图7、图8、图9、图10所示的车载基础设施在图5所示的车辆基础设施进行结合设置之后,也可以相互结合设置。进一步地,图5、图6、图7、图8、图9、图10所示的车载基础设施,均可以在前一个图所示的车载基础设施的基础上进行实施,例如,图6在图5的基础上实现后,图7可以进一步在图6的基础上实现,进而图8可以在图7的基础上实现,依次类推。以上列举了本申请提供的多种实施例中的车载基础设施的组合设置情况,在具体的应用场景中,可以根据具体需求来具体设置,本申请这里不做具体限定。
图11中示出了一个示例性的车载基础设施,该车载基础设施为上述实施例的结合设置,该车载基础设施能够实现图3、图5、图6、图7、图8、图9、图10所示车载基础设施的功能。图11中所示的车载基础设施23包括调度子系统31、消息子系统32、安全子系统33、容器子系统34、升级子系统35、管理子系统36、存储子系统37、SDK子系统38。
在图11所示的系统中,自动驾驶控制系统中的应用模块部署在容器中,调度子系统31根据资源映射关系来启动对应的自动驾驶控制系统中的容器也即应用模块,并为容器分配相应的车载服务器中的计算资源和存储资源。消息子系统32为应用模块也即容器之间的数据通信提供数据流传递和数据流同步。容器子系统34管理自动驾驶控制系统中容器的生命周期,并监控容器中应用模块的运行情况以及实际占用的计算资源和存储资源,并以此形成模块运行报告,该报告可以用于优化资源映射关系。管理子系统36用于接收动态输入的应用模块的运行参数,并将参数传递给对应的容器和应用模块;管理子系统36还对自动驾驶车辆中的硬件设备的运行状况和性能进行监控,并形成报告进行上报。存储子系统37为车载基础设施中的系统和模块以及自动驾驶控制系统中的应用模块提供小规模的数据存储服务,以及提供自动驾驶控制系统中松耦合应用模块的服务发现。升级子系统35用于提供车载软件系统的升级服务,升级子系统35根据升级文件从云端服务器或者远程服务器获取相应的升级配置文件,并在对应的系统中加载获取到的升级配置文件。SDK子系统38为车载基础设施的用户或者使用者提供对车载基础设施进行二次开发的工具和资源。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,对本领域普通技术人员而言,能够理解本申请的方法和装置的全部或者任何步骤或者部件可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件固件、软件或者他们的组合加以实现,这是本领域普通技术人员在阅读了本申请的说明的情况下运用它们的基本编程技能就能实现的。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的上述实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括上述实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种自动驾驶车辆的车载基础设施,其特征在于,车载基础设施和车载自动驾驶控制系统运行在车载服务器中,自动驾驶控制系统包括多个应用模块,车载基础设施包括:调度子系统、消息子系统和安全子系统;其中:
调度子系统用于根据预设的资源映射关系,启动资源映射关系中包括的自动驾驶控制系统中的应用模块,其中资源映射关系中包括自动驾驶控制系统的应用模块与车载服务器中硬件资源的映射关系,自动驾驶控制系统的应用模块包括算法模块和管理模块,车载服务器的硬件资源包括车载服务器中的计算资源和存储资源;根据资源映射关系,为启动的应用模块分配对应的硬件资源;
消息子系统用于提供自动驾驶控制系统的应用模块之间的数据流传递和数据流同步;
安全子系统用于对自动驾驶控制系统的应用模块之间的通信以及与外界的通信进行鉴权、加解密、入侵检测和隔离。
2.根据权利要求1所述的车载基础设施,其特征在于,调度子系统启动资源映射关系中包括的应用模块,包括:启动资源映射关系中的各应用模块所在的容器;其中,每个容器中配置有自动驾驶控制系统的一个应用模块;
调度子系统根据资源映射关系为启动的应用模块分配对应的硬件资源,包括:根据资源映射关系为应用模块所在的容器分配对应的硬件资源。
3.根据权利要求1或2所述的车载基础设施,其特征在于,调度子系统还用于:
在判断自动驾驶控制系统中不包括资源映射关系中的应用模块的情况下,从云端服务器或者远程服务器获取对应的应用模块;
并在自动驾驶控制系统中加载获取到的应用模块。
4.根据权利要求2所述的车载基础设施,其特征在于,车载基础设施还包括容器子系统;
容器子系统用于管理自动驾驶控制系统中各个容器的生命周期,监控自动驾驶控制系统中各个容器的运行情况,生成模块性能报告,模块性能报告中包括容器使用的硬件资源数据和容器中应用模块的运行情况数据;
并向云端服务器或者远程服务器上报生成的模块性能报告,其中,模块性能报告用于优化资源映射关系。
5.根据权利要求4所述的车载基础设施,其特征在于,在模型性能报告中,容器使用的硬件资源数据至少包括以下之一:各个容器对CPU的使用率、GPU使用率、内存使用率、I/O使用率;
容器中应用模块的运行情况数据至少包括以下之一:各个容器中应用模块的进程和/或函数执行时长、进程缺页、缓存命中率、上下文切换的数据。
6.根据权利要求4所述的车载基础设施,其特征在于,调度子系统还用于:
根据优化后的资源映射关系启动资源映射关系中包括的应用模块;
根据优化后的资源映射关系为应用模块分配对应的硬件资源。
7.根据权利要求4所述的车载基础设施,其特征在于,消息子系统还用于保存预设的容器之间通信的话题访问权限,其中话题访问权限中包括多个话题的访问权限,一个话题的访问权限包括该话题对应的发布方容器和订阅方容器;
容器子系统还用于读取消息子系统中保存的话题访问权限;根据该话题访问权限来控制容器之间的通信,使得一个话题访问权限中包括的发布方容器将消息发布到对应的该话题中、话题订阅方容器接收对应的该话题中的消息。
8.根据权利要求1所述的车载基础设施,其特征在于,应用模块和硬件资源之间的资源映射关系是通过多核多任务调度技术,根据应用模块之间基于任务的数据流、计算资源的通信拓扑和存储拓扑、以及计算资源的性能建立的。
9.根据权利要求1所述的车载基础设施,其特征在于,计算资源至少包括以下之一:同构或异构的多核CPU、同构或异构的ARM多核CPU、GPU、AI芯片、加密芯片、压缩专用处理器。
10.根据权利要求1所述的车载基础设施,其特征在于,中间件系统还包括升级子系统;
升级子系统用于根据升级文件,从云端服务器或远程服务器获取升级文件中包括的软件模块、固件或硬件的升级配置文件;
分别在对应的系统中加载获取到的软件模块、固件或硬件的升级配置文件。
11.根据权利要求10所述的车载基础设施,其特征在于,升级文件中的软件模块至少包括以下之一:自动驾驶控制系统中的应用模块、管理模块、和/或车载软件基础设施中的软件模块;
硬件的升级配置文件至少包括以下之一:车载服务器的硬件的升级配置文件、操作系统的内核的升级配置文件、车载传感器的升级配置文件、车辆部件的升级配置文件。
12.根据权利要求1所述的车载基础设施,其特征在于,车载基础设施还包括管理子系统,管理子系统中包括配置管理模块和设备管理模块;
配置管理模块用于在自动驾驶控制系统的运行过程中,动态接收输入的应用模块的参数,并将接收到的参数发送给对应的应用模块,以使应用模块根据接收到的参数进行更新和运行;
设备管理模块用于监控和管理车载服务器中的设备、车载传感器和/或车载设备的运行情况生成监控报告,并向云端服务器或者远程服务器上报监控报告。
13.根据权利要求12所述的车载基础设施,其特征在于,车载基础设施还包括存储子系统,用于为管理子系统和自动驾驶控制系统的应用模块提供数据存储服务。
14.根据权利要求13所述的车载基础设施,其特征在于,存储子系统通过键值对存储实现数据存储;
存储子系统还通过键值对存储提供对自动驾驶控制系统中应用模块的服务发现功能。
15.根据权利要求1所述的车载基础设施,其特征在于,安全子系统包括:数字签名模块、消息认证模块、加解密模块、用户管理模块;其中,
数字签名模块用于对自动驾驶控制系统的应用模块之间的消息通信进行数字签名处理;
消息认证模块用于对自动驾驶控制系统的应用模块之间的消息通信进行消息认证处理;
加解密模块用于对自动驾驶控制系统的应用模块之间的消息通信进行加解密处理;
用户管理模块用于对远程接入车载软件基础设施的用户进行权限管理。
16.根据权利要求1所述的车载基础设施,其特征在于,车载基础设施还包括开发工具包SDK子系统,开发工具包子系统中包括软件SDK模块和管理SDK模块;
软件SDK模块用于提供在车载基础设施中增加新系统或者新模块的接口和工具;
管理SDK模块用于提供对车载基础设施中的子系统或者模块进行管理的接口和工具。
CN201910163379.0A 2019-03-05 2019-03-05 一种自动驾驶车辆的车载基础设施 Pending CN111666133A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910163379.0A CN111666133A (zh) 2019-03-05 2019-03-05 一种自动驾驶车辆的车载基础设施

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910163379.0A CN111666133A (zh) 2019-03-05 2019-03-05 一种自动驾驶车辆的车载基础设施

Publications (1)

Publication Number Publication Date
CN111666133A true CN111666133A (zh) 2020-09-15

Family

ID=72381257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910163379.0A Pending CN111666133A (zh) 2019-03-05 2019-03-05 一种自动驾驶车辆的车载基础设施

Country Status (1)

Country Link
CN (1) CN111666133A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543928A (zh) * 2020-04-30 2021-03-23 华为技术有限公司 数据保护方法及装置
CN115314522A (zh) * 2022-07-25 2022-11-08 北京经纬恒润科技股份有限公司 车载操作系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595973A (zh) * 2013-11-28 2014-02-19 惠州华阳通用电子有限公司 一种车辆实时音视频监控系统及方法
CN103763117A (zh) * 2011-12-31 2014-04-30 华茂云天科技(北京)有限公司 服务和运营管理系统
CN105654808A (zh) * 2016-02-03 2016-06-08 北京易驾佳信息科技有限公司 一种基于实际机动车的机动车驾驶人智能化训练系统
CN108594819A (zh) * 2018-05-03 2018-09-28 济南浪潮高新科技投资发展有限公司 自动驾驶车载计算资源管理系统和方法
CN108845885A (zh) * 2018-07-04 2018-11-20 济南浪潮高新科技投资发展有限公司 一种面向自动驾驶的边缘计算资源管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763117A (zh) * 2011-12-31 2014-04-30 华茂云天科技(北京)有限公司 服务和运营管理系统
CN103595973A (zh) * 2013-11-28 2014-02-19 惠州华阳通用电子有限公司 一种车辆实时音视频监控系统及方法
CN105654808A (zh) * 2016-02-03 2016-06-08 北京易驾佳信息科技有限公司 一种基于实际机动车的机动车驾驶人智能化训练系统
CN108594819A (zh) * 2018-05-03 2018-09-28 济南浪潮高新科技投资发展有限公司 自动驾驶车载计算资源管理系统和方法
CN108845885A (zh) * 2018-07-04 2018-11-20 济南浪潮高新科技投资发展有限公司 一种面向自动驾驶的边缘计算资源管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543928A (zh) * 2020-04-30 2021-03-23 华为技术有限公司 数据保护方法及装置
CN112543928B (zh) * 2020-04-30 2021-12-14 华为技术有限公司 数据保护方法及装置
CN115314522A (zh) * 2022-07-25 2022-11-08 北京经纬恒润科技股份有限公司 车载操作系统

Similar Documents

Publication Publication Date Title
US11538287B2 (en) System, method, and apparatus for managing vehicle data collection
US11637872B2 (en) Systems and methods for allocating and managing resources in an internet of things environment using location based focus of attention
JP2023516760A (ja) 車両データ収集を管理するためのシステム、方法、及び装置
CN114253706A (zh) 用于协调边缘平台的方法和装置
CN114661455A (zh) 用于验证边缘环境中的经训练模型的方法和设备
NL2029044B1 (en) Intelligent data forwarding in edge networks
US20210021431A1 (en) Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager
US20230421571A1 (en) Method for obtaining file based on over-the-air ota technology and related device
EP4203564A1 (en) Adaptive cloud autoscaling
KR20220088306A (ko) 트러스트 크리덴셜의 자동 에스컬레이션
CN111666133A (zh) 一种自动驾驶车辆的车载基础设施
Alshdadi Cyber-physical system with IoT-based smart vehicles
CN114268428A (zh) 用于管理对分散数据湖的访问的方法、系统、设备和制品
Shi et al. Computing Systems for Autonomous Driving
US11815870B2 (en) Carrying out calculation methods with a control unit of a transportation vehicle
Lovas et al. PaaS-oriented IoT platform with Connected Cars use cases
CN115514741A (zh) 一种ota升级方法、装置及计算机可读存储介质
US11792014B2 (en) Systems and methods for vehicle message signing
Weinman Quantitative and qualitative economic benefits of fog
WO2023077018A1 (en) Data flow management for computational loads
Shi et al. Computing Framework for Autonomous Driving
Dellios Designing Secure, Interoperable & Sustainable Automobiles & Global Transportation Services & Systems

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