自动驾驶操作系统现状与发展趋势

文/奚美丽 张远骏(东风商用车有限公司技术中心)

在软件定义汽车的大趋势下,汽车OS是传统汽车实现智能汽车升级的关键。E/E架构升级包括硬件、软件、通信架构三大升级,芯片+操作系统+中间件+应用算法软件+数据构建核心技术闭环,汽车操作系统是软件定义汽车生态循环发展的灵魂。

1 操作系统是实现软件定义汽车的灵魂

操作系统是指控制和管理整个计算系统的硬件和软件资源,并合理地组织调度计算机的工作和资源,以提供给用户和其它软件方便的接口和环境的程序集合。

传统汽车因不同域之间要求的实时性、安全性、通信带宽不尽相同,传统汽车主机厂/Tier 1供应商无法一步到位,他们多采用跨域融合方案(即3个域或5个域等)。所以,随着域的逐渐形成,域操作系统将逐渐形成。传统车企操作系统将由独立的多个操作系统/系统程序,向少数/一个操作系统发展。

图1为E/E架构由分布式-域控制-中央集中式不断升级的示意图。

图1 E/E架构由分布式-域控制-中央集中式不断升级

汽车操作系统是从传统汽车电子基础软件不断演变而来。传统汽车电子产品由汽车电子控制装置和车载电子设备组成,汽车电子控制装置包括发动机电控系统(EMS)、自动变速器控 制单元(TCU)、车身电子稳定系统(ESP)、电池管理系统(BMS)等涉及安全、行驶性能的装置;车载电子设备包括仪 表、中控、抬头显示(HUD)、流媒体后视镜等,这类装置与用 户体验有关,不涉及行驶、安全性能,见图2。

图2 汽车操作系统是从传统汽车电子基础软件不断演变而来

在软件定义汽车的大趋势下,汽车OS是传统汽车实现智能汽车升级的关键。

E/E架构升级包括硬件、软件、通信架构三大升级,(由下至上)芯片+操作系统+中间件+应用算法软件+数据构建核心技术闭环,汽车操作系统是软件定义汽车生态循环发展的灵魂。狭义操作系统专指内核(如Linux、QNX),提供内存管理、文件管理、CPU调度管理、输入输出管理功能;广义OS从下至上包 括从BSP、操作系统内核、中间件及库组件等硬件和上层应用之间的所有程序。从图3车载智能计算平台架构能清晰地看到广义操作系统和狭义操作系统的范围。

图3 车载智能计算平台架构

广义操作系统由功能软件和系统软件组成,系统软件是针对汽车场景定制的复杂大规模嵌入式系统运行环境。由硬件抽象层、操作系统内核和中间件组成。

硬件抽象层又可分为BSP和Hypervisor。BSP是内核与硬件 之间的接口层,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可以在多平台上移植;Hypervisor是硬件虚拟化技术,提供虚拟平台支持多操作系统。

操作系统内核即狭义操作系统,如Vxworks、RT-Linux等。提供操作系统最基本的功能,负责管理系统的进程、内存、设备驱动程序、文件和网络系统等。

中间件处于应用和操作系统中间的软件,实现异构网络环境下软件互联和互操作等共性问题,提供标准接口、协议,具有较高的移植性。

功能软件包括自动驾驶的核心共性功能模块,例如自动驾驶通用框架模块、网联模块和云控模块。

2 智能汽车操作系统的分类

图4 自动驾驶操作系统的组成

按照实时性和非实时性分为实时性操作系统(RTOS) 和非实时性操作系统。实时性操作系统即保证在一定时间限制内完成特定功能的操作系统,特点包括速度快、吞吐量大、代码精简、代码规模小等,除这些外,“实时性”才是RTOS的 最大特征,其它的都不算是,也就是指实时程序必须保证在严格的时间限制内响应。典型的实时性操作系统有VxWorks、QNX、RTLinux等。

非实时性操作系统又称通用操作系统,常用于支持更多应用和接口的信息娱乐系统中,相对于实时操作系统,功能更为强大,组件也更为复杂,最大的特点是开源,有很强的定制开发灵活空间,又可以充分发挥硬件的性能,像AGL、GENIVI等协会  或联盟,都致力于将开源Linux操作系统推广至汽车领域中。

操作系统的演化过程分为6步,见图5、图6。

 图5 操作系统演化步骤

图6 操作系统演进示意图

①早期嵌入式开发:直接在裸机上写程序,没有操作系统。

②随着软件复杂度的上升,嵌入式OS逐渐形成。早期ECU 执行功能较为单一,早期嵌入式OS主要使用的基础软件程序或简单的嵌入式实时OS。

③更复杂的OS:汽车座舱领域使用更为复杂的OS,即Linux和QNX。

④产品级OS:操作系统上再集成通讯协议栈,形成了产品级的Linux Kernel内核和QNX。

⑤产品级OS基础上再加上中间件和桌面环境:可以可视化地去操作一些功能,例如ubuntu。

⑥在第5步的基础上再加上应用软件:在Linux基础上不仅集成了中间件、桌面环境,还加上部分应用软件,例如Android和AliOS。

按照对底层操作系统的改造程度,可以将操作系统分为三类

(见图7):

图7 按照对底层操作系统的改造程度的分类

图8 汽车广义操作系统市场规模预测

①基础型操作系统:编写底层操作系统和所有系统组件,如系统内核、底层驱动等,有的还包括虚拟机,目前的基础型操作系统有QNX、Linux等。

企业开发现状:编写操作系统需要花费太大的人力、物力, 目前基本没有企业会全新开发底层操作系统。

②定制型操作系统:在基础型操作系统之上进行定制化开发,如修改内核、硬件驱动、运行时环境、应用程序框架等。

企业开发现状:定制型操作系统的典型代表有大众VW.OS、特斯拉Version、Google车载Android、华为鸿蒙OS、AliOS等,它们已经属于自主研发的独立操作系统。

③ROM型汽车操作系统:基于基础型操作系统(例如Linux、安卓)进行有限的定制化开发,不涉及系统内核更改,一般只修改操作系统自带的应用程序等。

企业开发现状:大部分的主机厂一般都选择开发ROM型操作系统,国外主机厂多选用Linux作为底层操作系统,国内大多基于Android定制汽车操作系统,例如比亚迪DiLink、奇瑞GKUI、蔚来NIO OS、小鹏Xmart OS。

3 汽车广义操作系统市场规模预测

根据Mckinsey Analysis预测,2020年全球汽车广义操作系统(功能软件、狭义操作系统、中间件)市场规模达200亿美元,到2025年达370亿美元,复合年增长率(CGAR)增加13.1%;到2030年达500亿美元,十年CAGR增加9%。

4 自动驾驶汽车OS的特点

座舱OS的特点

智能座舱操作系统主要为车载信息娱乐服务以及车内人机交互提供控制平台,是汽车实现座舱智能化与多源信息融合的运行环境。主流车型的智能座舱操作主要有QNX、Linux、Android等。 传统智能座舱操作系统中,QNX占据了绝大部分份额。近年来, 智能座舱的娱乐与信息服务属性越发凸显,开源的Linux以及在手机端拥有大量成熟信息服务资源的Android被众多主机厂青睐。

座舱OS的实时性与可靠性要求不高,智能座舱操作系统需要支持多样化的应用与服务,拥有丰富的生态资源(见图9)。

图9 座舱OS的特点

智能座舱操作系统领域,目前还没有统一的国际标准。

车控OS的特点

车控操作系统主要用于车辆底盘控制、动力系统和自动驾驶。车控OS的作用是为车载控制ECU的硬件与算法提供接口与 交互平台。

车控OS可以分为嵌入式实时操作系统和基于POSIX标准的操作系统。嵌入式实时操作系统用于传统的车辆控制,例如动力系统与底盘控制等,是电控系统的内核与基石,能够利用有限资源处理多个任务,对实时性要求高。基于POSIX标准的操作系统适用于自动驾驶所需要的高性能计算和高带宽通信。

随着自动驾驶的发展,现有车控OS面临以下挑战:①无法达到高计算类应用的要求;②原有基于CAN、FlexRay等协议的总线系统已经不再满足需求;③车控操作系统,在架构层面必须要拥有良好的功能解耦、可扩展及可兼容性。

自动驾驶车控OS应该具备以下特点:①高实时性,一个方面是系统任务调度的时钟周期要在毫秒级,另一个方面是高优先级的任务不能被低优先级任务所阻塞;②高可靠性, 即车控操作系统要具有很高的RAS(Reliability, Accessibility&Serviceability)特性;③功能安全,即应符合IEC61508和ISO26262中的功能安全等级;④信息安全,即应该具备可信存储、可信通信、可信计算、多重安全防护等安全能力;⑤高性能计算能力,表现在强大的计算能力、强大的数据吞吐能力、高度的灵活性/扩展性/可编程性、需要快速学习力和易用性。

5 三大主要底层OS

全球汽车座舱底层OS高度集中。座舱域安全等级较低,现阶段需要较复杂的OS支持大量的应用和接口。自动驾驶域还未真正形成,自动驾驶的OS格局尚不明朗,考虑到重新开发底层OS的成本大,自动驾驶OS或基于Linux/QNX内核发展而来。QNX:非开源、安全实时QNX是一款微内核、嵌入式、非开源、安全实时的操作系 统。目前归黑莓公司所有。其内核小巧,运行速度快,安全/稳定 性高,是全球首款通过ISO26262 ASIL-D安全认证的实时操作系统。QNX常用于安全稳定性较高的数字仪表中。

黑莓为汽车行业开发了车载信息娱乐系统(QNX CAR Platform for Infotainment)、数字座舱系统(QNX Platform for Digital Cockpits),和驾驶辅助系统平台(QNX Platform for ADAS)。为开发人员提供良好工具选择,具有良好的人机交互界面。

Linux:开源、功能强大

Linux具有内核紧凑高效等特点,可以充分发挥硬件的性能。它与QNX相比最大优势在于开源,具有很强的定制开发灵活 度。Linux常用于支持更多应用和接口的信息娱乐系统中。AGL 和GENIVI协会致力于将开源Linux操作系统推广至汽车领域中。

AGL开源项目拟建立基于Linux的联网汽车内部使用的开源平台

图10 传统座舱向智能座舱的演化

图11 2019全球汽车座舱3大底层OS的市场份额

AGL现有150多个成员单位,2014年,Linux基金会发布了开源AGL(Automotive Grade Linux)规范1.0版本,它是首个开放式车载信息娱乐(IVI)软件规范。其中70%的代码(包括操作系统、中间件和应用程序框架)已编写完成,车企可以专注于剩下的30%个性化定制开发,以保证不同品牌的差异化,而且AGL不收取任何许可费。AGL已经不只局限IVI领域,未来将向仪表盘、座舱域 、自动驾驶等领域延伸。

现阶段,它仍未通过ISO 26262标准。2020年3月,国内中国移动、德赛西威、中科创达等公司加入了AGL。

GENIVI拟实现车载信息娱乐系统开源平台的普及   GENIVI现有170多个成员单位,GENIVI基于Linux提供开源软件,车企通过整合不同的应用和中间件实现差异化的车载信息娱乐产品,缩短车企开发周期,降低成本。其中80%的软件在消费电子及通讯行业已经被开发,可直接应用,15%需要调整才适用于汽车,最后的5%需要自己开发。GENIVI将继续开发剩余 5%的代码,并开放给车企。

Android:Linux的发行版本

Android是Google公司和开放手机联盟基于Linux开发的操作系统。国内车载IVI系统常基于Android开发。国内互联网公司、造车新势力基于Android推出了自己的汽车操作系统,如阿里AliOS、百度小度车载OS、比亚迪DiLink、蔚来NIO OS、小鹏Xmart OS。

Android系统的系统架构从下至上依次为Linux内核层、系统运行库层、系统程序框架层、应用程序层。

6 车企&互联网&科技公司发布的操作系统

特斯拉: Version操作系统

特斯拉操作系统Version基于Linux内核深度改造而成,可支持信息娱乐系统(IVI)/驾驶辅助系统(ADAS)等。对于信息安全问题,特斯拉使用了Linux系统中的内核模块:安全增强型Linux(SELinux),通过访问权限控制,增强了操作系统信息安全性。采用开源Linux,特斯拉不依赖软件供应商,自己完全掌握堆栈,若发现问题通过OTA修正与升级。特斯拉已经通过OTA对其操作系统进行了多次重大升级。

大众VW.OS平台

VW.OS是一个可运行多个底层系统(如Linux、QNX、Vxworks)的平台,它简化智能座舱、自动驾驶、车身控制等之间的交互技术,由于各家供应商接口和协议不相同,高度依赖AutoSAR实现中间件标准化,因此产生大量模块、组件以支持来 自不同供应商的软件。2020年起,大众品牌的电动汽车都将采用该操作系统。

表1 Android系统的优、缺点

表2 特斯拉OS模式的优缺点

表3 大众VW.OS的优缺点

戴姆勒:MB.OS

戴姆勒希望在公司内部建立软件开发自研的能力,来替换来自外部的供应商的技术服务。大概在2024-2025年,戴姆勒车辆 上的软件操作系统将完成向 MB.OS的转换。戴姆勒计划开发的车载操作系统MB.OS并不仅仅基于安卓做UI的修改,通过改变用 户的交互界面和操作逻辑体现个性化,它更类似于从底层创建一个汽车的安卓或者iOS,将软件部分与硬件部分进行解耦,从而减少后期应用软件在适配不同硬件时复杂的重复性工作。

Google车载安卓系统:Android automotive OS

Android automotive OS是将手机Android的系统架构替换为与车相关的模块。包括:

①Car App:包括OEM和第三方开发的App;

②Car API:提供汽车App特有的接口;

③Car Service:系统中与车有关的服务;

④Vehicle Network Service:汽车的网络服务;

⑤vehicle HAL:汽车硬件抽象层描述。

车载安卓系统的灵活可定制性和可修改编辑性大大降低。其应用可能会受限。

华为操作系统

(1)鸿蒙操作系统HOS

第一个面向全场景微内核的分布式OS,可实现座舱软硬件解耦,南北向开放,同时华为对语音交互、视觉识别、音频优化等核心能力开发了基础服务。该系统支持与车企联合定义开放接口,使得其合作伙伴可以快速开发,构建应用生态。

图12 Android Automotive架构

鸿蒙自动驾驶OS微内核成为我国首个通过ASIL-D认证的 OS内核。该内核于2019年9月获得Security领域高等级信息安全认证(CC EAL 5+),该系统内核已成为业界首个拥有Security & Safety双高认证的商用OS内核。

(2)智能驾驶操作系统AOS

华为的智能驾驶操作系统AOS能够同时满足智能驾驶软件开发、车规数据驱动开发等的核心要求,目前已通过ASIL-D等安全认证。在此基础上,华为针对智能驾驶系统对确定性的高要求,在通信调动以及运行环境方面做了优化。

目前基于华为的MDC自动驾驶硬件平台以及智能驾驶操作系 统AOS,已经有大量的合作伙伴在进行开发。

(3)智能车控操作系统VOS

车控在汽车新架构中主要承担ECU从分散走向集中的功能, 形成统一的车控系统,实现软件定义差异化、个性化动力体验。

华为智能车控操作系统VOS,原生支持异构多核,模型化工 具链,兼容AUTOSAR。可以使得原来多ECU的集中开发变得简单高效。

同时,华为智能车控操作系统VOS相比于现有的车控系统将 更加开放。华为把基础的OS开源,帮助车企实现自主可控。同时,华为的VOS车控系统,不仅支持华为自己的微处理器芯片, 而且会支持全世界的,包括恩智浦、英飞凌和其它操作芯片。同时,该系统对外开放,能够支持各个车企在上面开发自己的车控软件。

(4)跨域集成软件框架Vehicle Stack

在三个域控制系统的基础上,还需要一个跨域的集成调度能力。华为Vehicle Stack便是面向服务的跨域集成软件框架,使能整车特性快速开发、验证、部署。同时,通过分布式通信、数据和安全框架,集成跨域能力与统一开放,可以按照整车的应用场景和体验需求调用系统能力,实现性能、体验最优。

据称,Vehicle Stack支持不同车型间的架构重用,并且支持丰富的自动化工具链,车型开发周期可以大幅降低。

但是,当前华为智能汽车解决方案尚未完全落地应用,市场对其方案实力未能形成清晰认知,需要落地方案向市场证明产品实力。

普华基础软件有限公司

普华基础软件有限公司是中国软件企业中唯一的AUTOSAR 高级合作伙伴。

普华基础软件的微内核操作系统研发,支持ARM、MIPS、 X86三种处理器指令集,搭建了面向工控的集成开发和仿真验证环境,形成了自主可控安全可靠的工业操作系统——普华微内核工业操作系统软件V1.0,在智能制造、汽车电子以及轨道交通三个工业领域进行了示范应用。

普华灵智ORIENTAIS操作系统于近期通过车规功能安全认证,是国内第一个满足ISO 26262 ASIL D最高安全等级要求的AUTOSAR操作系统产品,打破了国外多年在汽车电子操作系统领域的垄断。

普华基础软件将以智能驾驶技术为牵引,以AUTOSAR等开放架构标准为基础,研制面向智能汽车和新能源汽车的操作系统、基础软件和软硬件计算平台,支撑整车企业和零部件企业的技术创新、产品研发和产业化应用。

阿里:AliOS操作系统

在智能汽车领域,将AliOs定位于IVI领域。其前身YunOS以 Linux Kernel为内核,架构类似与Android。系统搭载了自主设计、架构、研发的核心虚拟机,并增加了云服务相关模块。

其提供与安卓Dalvik虚拟机兼容的运行环境,与上汽合资斑 马公司进行车载业务推广。

中科创达

2013年开始进军智能汽车领域,几年时间内,形成了集智能网联汽车操作系统技术,Kanzi UI引擎和设计生态、智能视觉技术、智能座舱、安全驾驶等多元化产品及服务于一体的供应链条,目前已经助力全球众多汽车客户打造未来智能汽车产品,到2024年将有超过4000万辆汽车应用中科创达丰富个性化的智能驾驶相关技术。

全球采用中科创达汽车智能操作系统和解决方案的公司超过100家。目前其与上汽零束、广汽研发院、滴滴出行有合作。

东软睿驰的操作系统

东软睿驰的操作系统基于Android进行深度开发,符合功能安全的OS相关基础软件有:

—NeuSar

—NeuSar Tool

—Cyber Security

NeuSar是面向量产的自动驾驶汽车操作系统的开发平台, 为自主研发自动驾驶系统的整车厂及零部件供应商提供下一代汽车通讯和计算架构的系统平台。

东软睿驰建立智能座舱生态,目前与本田(中国)合资成立海纳新思智行服务有限公司,与广汽研究院成立了SDV联合创新中心。

百度:Apollo操作系统

2017年,百度发布基于Android定制的对话式人工智能操作系统DuerOS。Apollo已经形成自动驾驶、车路协同、智能网联三大开放平台。车联网方面,百度推出小度车载OS,是针对座舱的智能语音方案。自动驾驶方面,百度Apollo是一个基于QNX 的自动驾驶平台。

中兴:Digital CAR操作系统

中兴已经完成智能操作系统的研发,正与北汽、上汽展开合作。

腾讯:车联TAI汽车智能系统

腾讯车联“All in Car”是腾讯车联网解决方案。AI in Car系统并不是真正意义上的OS,而更像一种解决方案,这种解决方案基于腾讯在安全、内容、社交、语音、大数据、AI等方面的优  势,根据车厂的实际需要按需输出。

车联AI in Car系统汇集了腾讯体系内安全平台、内容平台、大数据、服务生态和AI能力,为行业和合作伙伴提供智能化、个  性化服务,助力车企迈入汽车智联网。

目前腾讯已经与广汽、长安、吉利、比亚迪、东风柳汽等主机厂达成战略合作。All in Car助力腾讯车联网进入了前装化方式。

7 自动驾驶汽车OS的发展趋势

智能汽车操作系统的发展

手机操作系统目前有Android系统——开源路线的代表,和 iOS系统——一体式闭环模式的代表。

Android系统开源、自由的策略形成了丰富的软件生态,形成统一标准接口,使软硬件移植性较强。但是开源是一把双刃剑,把权限给第三方时,也留下诸多安全漏洞,导致安全性差。

iOS系统采用芯片-操作系统-手机一体式的模式,操作系统是非开源路线,不考虑移植性,代码执行效率高,系统运行流畅。iOS系统安全性、稳定性好,对用户隐私的保护性好。

表4 BAT操作系统对比

表5 主流车载OS对比

专门针对汽车开发全新OS内核(狭义操作系统)成本过高,生态也难以打造。

座舱OS方面,大多数车企、Tier1选择在开源底层OS(安卓/Linux)的基础上打造专属操作系统(ROM型),迅速建立软件生态;互联网企业凭自身的应用生态迅速切入汽车领域,构建生态体系。

自动驾驶OS方面,为达成安全性和稳定性要求,车企、Tier1会选择更基础的OS(Linux/QNX)构建自动驾驶基础平台,再由Tier2根据个性化需求定制差异化产品。

一体式闭环技术路线在自动驾驶发展初期优势明显,壁垒较高。例如特斯拉芯片-操作系统-车机一体式闭环开发,初期优势明显,但是传统产业链无法在短时间内打通AI芯片-操作系统-中间件-核心算法-数据几个核心技术闭环。

智能汽车操作系统的趋势:虚拟机辅助软硬件的一体化聚合虚拟机和中间层软件分别辅助车载系统。Hypervisor(虚拟机)是运行在物理服务器和操作系统之间的中间软件层,可用于同步支持 Android、Linux、QNX多系统。

目前操作系统的倾向性,在生态上是很难扭转的,但如果要对域控制器进一步合并,特别是对偏向娱乐的Android和偏向安全的QNX合并,则彼此无法替代。这里的技术方案就是Hypervisor,在QNX hypervisor之上搭建Android等操作系统, 对合并域控制器很有帮助,如图13。

图13 合并域控制技术方案

目前虚拟机管理的概念被引入智能座舱操作系统。随着液晶仪表以及其它安全功能的普及,供应商不需要装载多个硬件来实现不同的功能需求,只需要在车载主芯片上进行虚拟化的软件配置,形成多个虚拟机,在每个虚拟机上运行相应的软件即可满足需求。图14为下一代智能座舱软硬件一体化聚合示意图。

图14 下一代智能座舱软硬件一体化聚合示意图

现在行业领先虚拟机有:QNX Hypervisor、ACRN、PikeOS和哈曼Device Virtualization,用于服务底层操作系统。

8 主机厂如何开发车载操作系统

传统主机厂正在从车辆销售变为车辆服务销售。汽车的利润模式未来可能变成提供软件和数据服务。所以,主机厂对操作系统的自主权是实现目标的前提。

为了实现软硬件解耦,主机厂有必要开发车载操作系统。每个车型都有传感器型号不同、控制器芯片与架构不同的问题,之前部署应用软件时,会针对每一车型的硬件平台做软件适配与部署。如果软件与硬件实现解耦,只需通过调整操作系统与不同硬件平台的适配,操作系统与不同硬件平台的适配工作量远小于应用软件和硬件平台进行适配的工作量。

为了实现软件定义汽车,主机厂有必要开发车载操作系统。为主机厂对汽车进行OTA升级奠定基础。在功能应用场景新增与扩展,使用逻辑、人机交互策略更新时,更易由主机厂主导进行,不必依赖于各个供应商。只有对车载操作系统内核、运转机理等研究得越深,主机厂在后续部署应用软件时能参与的部分才越多,开发的自由度才越高。

为了实现掌控数据所有权,主机厂有必要开发车载操作系统。拥有车辆使用过程数据的所有权,车载操作系统扮演重要的一环。

车企对车载OS布局根据战略格局以及自身实力划分为3种形式:①定制化开发;②ROM方式;③超级APP。

图15 完善的车载系统层级框架

图16 主机厂开发车载操作系统的几种方式

猜你喜欢

转载自blog.csdn.net/m0_63922408/article/details/125278158