自动驾驶的底层原理

随着智能网联汽车的发展,车载传感器的数量日益增加,日趋完善的性能对车载计算平台算力的需求更高。相较于低级别的自动驾驶,高等自动驾驶系统从传感器获取的数据量大大增加,而自动驾驶系统的良好运行需要车载计算平台对这些数据进行准确、高效的处理,高级别自动驾驶中车载计算平台的芯片算力需求还将持续提升。
 

智能网联汽车计算平台架构核心构成:硬件平台+系统软件+功能软件。

一、核心软件梳理

(一)核心软件产业格局总览

驾驶域计算平台涉及的软件,从底层往上,主要包括系统软件、功能软件、应用软件。

自动驾驶的底层原理的图1

驾驶域软件层分类:系统软件-功能软件-应用软件

系统软件层面,主要包括BSP(板级支持包)、hypervisor(虚拟化)、狭义OS内核、中间件组件等。

功能软件层面,主要为自动驾驶的核心共性功能模块,包括自动驾驶通用框架、网联模块、运控模块等,功能软件结合系统软件,共同构成宏观意义上给的自动驾驶操作系统。

应用软件层面,应用软件主要包括场景算法(涵盖数据感知、多元融合、决策规划、控制执行等)、数据地图等。

针对不同软件层,我们从传统tier1、OEM及其子公司、科技巨头、第三方软件供应商四个维度对产业主要参与方进行了梳理。

自动驾驶的底层原理的图2

驾驶域不同软件层具备业务布局的公司梳理

(二)系统软件1:硬件抽象层—Hypervisor 与 BSP

1. Hypervisor

管理并虚拟化底层硬件Hypervisor 虚拟化技术可以有效实现资源整合和隔离。自动驾驶操作系统是基于异构分布硬件,应用程序如 AI 计算和实时安全功能可能分别依赖不同的内核环境和驱动,但在物理层面共享 CPU 等。

自动驾驶的底层原理的图3

Hypervisor典型架构

主流的虚拟机技术提供商包括BlackBerry QNX Hypervisor及Intel与Linux基金会主导的ACRN(开源)。截至目前,只有QNX Hypervisor应用到量产车型,它也是目前市场上唯一被认可功能安全等级达到ASIL D级的虚拟化操作系统。

自动驾驶的底层原理的图4

车载Hypervisor 主要供应商

注:(1)RIM 为黑莓母公司;(2)2017 年中科创达、诚迈科技入选黑莓 VAI 计划,一旦成为 VAI 项目合作伙伴,将可以基于黑莓的嵌入式技术开发集成服务、安全关键型解决方案,包括黑莓 QNX Neutrino 实时操作系统、QNX Momentics 工具套件、QNX 管理程序、应用程序和媒体 QNX SDK、QNX 无线架构、QNX 认证操作系统、QNX 医用操作系统、Certicom 工具包、Certicom 管理的公钥基础设施以及 Certicom 资产管理系统,应用包括汽车电子、医疗器械、智能电网、动力控制和工业自动化;(3)润和软件已开发出基于IntelApollolake 平台并采用 ACRN 虚拟化技术方案的智能驾驶舱方案

2. BSP

保证硬件运行的底层软件,不同的OS对应于不同定义形式的BSP

BSP(Board Support Package),中文即板级支持包。对于一般的嵌入式系统,硬件部分需要嵌入式硬件工程师设计硬件电路,新出厂的电路板,需要BSP来保证其能稳定工作,在此基础之上,才能进行下一步的软件开发。

BSP是介于主板硬件和操作系统之间的系统软件之一,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写,这样才能与上层OS保持正确的接口,良好的支持上层OS。

BSP同时具有硬件相关性和操作系统相关性。因此BSP的开发不仅需要具备一定的硬件知识,例如CPU的控制、中断控制器的设置、内存控制器的设置及有关的总线规范等,同时还要求掌握操作系统所定义的BSP接口。

自动驾驶的底层原理的图5

嵌入式系统对应的BSP开发内容

车载芯片BSP涉及到的企业比较多,涵盖芯片制造商、第三方软件服务商、整车厂。但是不同类型的开发商具备不同的特点,比如芯片制造商,最懂底层硬件,但开发人手有限,整车厂软件能力积累相对不足,第三方软件服务商往往具备较好的竞争优势,通常具备丰富的底层开发经验对底层硬件和上层软件理解深刻,技术较强,人员规模扩张性也较好。

自动驾驶的底层原理的图6

车载芯片BSP开发领域典型参与方梳理

(三)系统软件2:操作系统标准与 OS 内核

1.车载OS分类

车控OS与座舱OS从功能实现角度,车载操作系统可以大致分为车控操作系统和智能座舱操作系统:

(1)车控操作系统:主要对应自动驾驶域、动力域、底盘域,用于实现车身底盘控制、动力系统和自动驾驶;

(2)智能座舱操作系统:主要对应于座舱域,用于实现车载娱乐信息系统功能以及实现HMI相应功能。

在前述基础上,我们可以进一步划分车控操作系统:

(1)嵌入式实时操作系统RTOS:用于传统的车辆控制,适用于动力系统与底盘控制等领域;

(2)基于POSIX标准的操作系统,适用于自动驾驶所需要的高性能计算和高宽带通信。

自动驾驶的底层原理的图7

车控操作系统分类

传统车控ECU采用的符合OSEK/VDX和Classic AUTOSAR标准的RTOS。在传统的分布式EE架构下,特定的ECU针对处理特定功能,常见ECU包括EMS发动机电控系统,ABS制动防抱死控制、变速箱牵引力控制TCU、电子稳定控制EPS、电子动力转向EPS,新能源汽车整车控制VCU,电池管理系统BMS等。通常情况下,车用ECU主要由MCU、存储器、I/O和外围电路组成,其中MCU为核心。

传统ECU实施的功能有限,运行相对简易,并不需要高性能的OS来实现资源的调度和分配。不过因为涉及车控环节,相关系统属于复杂测控系统,如果系统任务的响应不及时或有延迟过大,就可能导致严重的安全隐患。因此汽车电控ECU必须是高稳定性的嵌入式实时性操作系统(RTOS),实时性的含义是系统保证在一定时间限制内完成特定功能,目前主流的电控操作系统基本都兼容OSEK/VDX和ClassicAUTOSAR这两类汽车电子软件标准。

值得指出的是,AUTOSAR与OSEK都是汽车电子软件的标准,AUTOSAR基于OSEK/VDX发展而来。OSEK/VDX是基于ECU开发的操作系统标准,起源于20世纪90年代,AUTOSAR基于整体汽车电子开发的功能标准,发起于2003年。

自动驾驶的底层原理的图8

符合OSEK/VDX标准的典型车控OS

自动驾驶OS目前大多参考Adaptive AUTOSAR平台,其定义采用了基于POSIX标准的操作系统,可以为支持POSIX标准的操作系统及不同的应用需求提供标准化的平台接口和应用服务。从实际功能执行来看,可以将ECU的软件平台分为三类:基于信息娱乐的ECU、传统的基于控制的ECU,以及执行自动驾驶功能的ECU。

Classic AUTOSAR标准解决了传统车控ECU的需求,但是,如高级辅助驾驶和自动驾驶,需要在车辆上引入高度复杂和计算资源需求量大的软件,同时这些软件在车辆上必须完全兼容和绝对安全,而且未来随着汽车电子及软件功能的大幅增长,最终可能向基于中央计算机的车辆集中式电子电气架构,对于自动驾驶域控制器或计算平台这种控制器,Classic AUTOSAR无法满足其需求,需要高度灵活、高性能且支持HPC、动态通讯等特性的新软件架构平台。

2018年,为了迎合未来汽车智能化、网联化的需求,AUTOSAR联盟推出了一个全新的平台,将AP加入到原有的AUTOSAR平台中,形成Adaptive AUTOSAR平台,并于2018年10月迎来了适用于面向量产的首次发布,另外还将原有平台更名为Classic AUTOSAR平台。

自动驾驶的底层原理的图9

不同类型ECU对软件平台的要求

2. 驾驶域OS内核

QNX、Linux、Vxworks三分天下

驾驶域OS按照定义范围可大致分为狭义和广义两种:

(1)狭义OS:特指可直接搭载在硬件上的OS内核;

(2)广义OS:从下至上包括从BSP、OS内核、中间件及库组件等系统软件。

OS内核又称为底层OS,旨在提供操作系统最基本的功能,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

自动驾驶的底层原理的图10

狭义OS主要包括QNX、Linux和VxWorks

自动驾驶OS内核的格局较稳定,主要产品为QNX(Blackberry)、Linux(开源基金会)、VxWorks(Wind River System)。因打造全新OS需要花费太大的人力、物力,目前基本没有企业会开发全新的OS内核。目前Waymo、百度、特斯拉、Mobileye等企业都是在现有的OS内核基础上自研中间件和应用软件。

此外,QNX系统生态较为封闭,Linux和VxWorks均是开源。Linux和VxWorks所有内核源代码都向客户开放,客户可做一定的裁剪。如果选择QNX内核,整车厂无法做裁剪,但客户可自己编写中间件和应用软件。2017年黑莓公司成立VAI(ValueAdded Integrator)项目,中科创达、诚迈科技作为以系统集成商的身份加入黑莓嵌入式合作伙伴计划VAI项目,将基于黑莓QNX嵌入式技术(包括黑莓QNX Neutrino实时操作系统、QNX管理程序、QNX无线架构、QNX认证操作系统等)提供集成服务解决方案,其应用包括汽车电子、医疗器械、智能电网、动力控制和工业自动化。

从费用和开发难度看,QNX需要付费,不过开发难度较小,代码量也较少,Linux不需要收费,但是开发难度较大,容易出Bug。

自动驾驶的底层原理的图11

主流OS内核对比

(四)功能软件:中间件及核心共性功能模块

1.中间件

中间件是介于应用系统和系统软件之间的一类软件,位于客户机服务器的操作系统之上,管理计算资源和网络通信。根据IDC的定义,中间件是一种独立的软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。

中间件的主要任务,是负责各类应用软件模块之间的通信以及对底层系统资源的调度。它的优点,是可以大大降低应用层软件的开发难度,使研发工程师可以完全把注意力集中到功能算法的开发上。

而目前最为业内所熟知的中间件当属Classic AUTOSAR中的RTE(Runtime Environment),它不仅负责上层SWC(Sofware Component)之间的通讯,也同时负责对SWC进行调度以及对底层操作系统及通讯服务的调用。

自动驾驶的底层原理的图12

中间件在分布式系统中的用途示意图

自动驾驶的底层原理的图13

基础中间件类别划分

智能驾驶中间件的市场空间正在快速增长。以TTTech Auto(TTTech拆分的汽车子业务板块)为例,该公司推出的智能驾驶中间件(MotionWise安全软件平台)客户包括安波福、奥迪、宝马、大陆集团、戴姆勒等,营收规模从2018年的1920万美元增加至2019年的8872万美元,2020年预计营收在1.9亿至2亿美元。

不过,由于中间件涉及到较高的功能安全等级,市场门槛也要高于应用层软件。

中间件领域,传统Tier1和科技巨头布局较少。从主要自动驾驶Tier1产品与场景布局来看,博世、大陆和采埃孚在国外Tier1中布局最全面,其中博世和采埃孚在2020年均推出面向自动驾驶的中间件产品。

2020年7月,博世推出针对高级自动驾驶应用的中间件—Iceoryx (冰羚),兼容ROS2和Adaptive AutoSAR的接口,满足不同开发阶段的需求。

2020年12月,采埃孚发布中间件ZF Middleware,提供可以集成到整车制造商软件平台的模块化解决方案。同时,该中间件将于2024年搭载在量产车辆上。

值得注意的是,国外Tier 1在功能落地的同时,开始渗透底层系统研发,搭建系统与软件应用之间的连接桥梁。博世、采埃孚相继发布中间件产品,以期通过全面的传感器产品布局,为主机厂集中配置自动驾驶方案,降低系统集成的复杂性,降低开发成本和加快产品落地。

自动驾驶的底层原理的图14

自动驾驶感知层产品及场景算法主要布局梳理

2. 核心共性功能模块

除API中间件外,自动驾驶的核心共性功能模块构成了功能软件的主要部分。核心共性功能模块包括自动驾驶通用框架、网联、云控等,结合系统软件,共同构成完整的自动驾驶操作系统,支撑自动驾驶技术实现。

自动驾驶的底层原理的图15

自动驾驶的底层原理的图16

自动驾驶的底层原理的图17

计算平台功能软件中的五大核心共性模块

(五)应用软件:种类多,包括场景算法、数据地图等

应用层软件运行在广义操作系统之上,具体负责自动驾驶功能实现。典型的计算平台,在装载运行系统软件和功能软件构成的操作系统后,向上支撑应用软件开发,最终实现整体功能实现。应用层软件内容繁杂,包括场景算法(涵盖数据感知、决策规划、控制执行等)、数据地图、人机交互(HMI)等。

我们仅以场景算法进行阐述,典型的场景算法设计数据感知、决策规划、控制执行等。其中感知类算法包括SLAM算法(涵盖视觉处理、激光雷达、多传感器融合等)、自动驾驶感知算法。决策类算法包括自动驾驶规划算法、自动驾驶决策算法,执行类算法主要为自动驾驶控制算法。

目前该领域涉足的产业参与方繁多,从整车厂、传统Tier1,到初创类公司、科技巨头以及独立的软件供应商等在该领域都积极发力。

自动驾驶的底层原理的图18

自动驾驶的底层原理的图19

应用层主要算法梳理

自动驾驶的底层原理的图20

自动驾驶的底层原理的图21

应用层算法主要目的及编程语言

数据地图(高精度地图)也是应用层又一典型软件。传统车载导航地图使用者是人,传统电子导航地图会描绘出道路,部分道路会区分车道,而高精度地图不仅会描绘道路,会真实地反映出道路的实际样式,高精度地图为了让自动驾驶系统更好地识别交通情况,会把道路形状的细节进行详细、精确展示。

高精度地图对于智能驾驶不可或缺,从视野范围看,高精度地图不受遮挡,不存在距离和视觉的缺陷,在特殊天气条件下,高精度地图依旧可以发挥作用;从误差看,高精度地图可以有效消除部分传感器误差,在部分路况条件下,可以有效对现有传感器系统进行补充修正。此外,高精度地图还可以构建驾驶经验数据库,通过多维时空数据的挖掘,分析危险区域,为驾驶者提供新的驾驶经验数据集。

自动驾驶的底层原理的图22

自动驾驶的底层原理的图23

高精度地图对高等级自动驾驶系统而言不可或缺

从目前竞争格局看,高精度地图领域呈现四维图新(腾讯产业基金为公司第二大股东,截至2021年3月底,腾讯产业基金持股5%)、高德(阿里巴巴全资孙公司)、百度三足鼎立态势。百度为国内最早开展高精度地图研究的公司,2013年启动无人车项目研发,高德拥有阿里巴巴全力支持,进展较快,四维图新为国内老牌图商。

自动驾驶的底层原理的图24

自动驾驶的底层原理的图25

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注