以下文章来源于OS与AUTOSAR研究 ,作者thatway
汽车智能化也可以说是软件定义汽车,里面最重要的两个基石就是芯片SoC和操作系统OS,也是国产化替代迫切需要解决的卡脖子问题,否则现代汽车上的安全、舒适、智能等属性将无法实现。
上图把目前主流汽车软硬件实现,最重要的一些信息画了出来,也就是说如果我们要去研发这些软硬件需要从哪里入手。首先汽车操作系统是个统称不是一个系统,需要多个操作系统去支撑,不要被广告上说的我们自研了一个操作系统所忽悠,自研其中一个最简单的也可以这么说,至少需要3个操作系统:智能座舱OS、智能驾驶OS、安全车载OS,这里面涉及目前汽车电子构架,在之前的文章里面就提到过三域构架:
AUTOSAR入门-汽车电子构架演进(四) 未来已来
对于之前的演进可以参考公众号之前的文章:
AUTOSAR入门-汽车电子构架演进(三)通向未来
汽车电子构架演进(二)AUTOSAR的组成和演进
AUTOSAR入门-汽车电子架构演进(一)ECU和域控制器
AUTOSAR入门-江湖
智能座舱操作系统主要为汽车信息娱乐服务以及车内人机交互提供控制平台,是汽车实现座舱智能化与多源信息融合的运行环境,对操作系统的实时性与可靠性要求并不严苛。
主流车型的智能座舱操作主要包括QNX、Linux、Android等,传统智能座舱操作系统中QNX占据了绝大部分份额,近年来,智能座舱的娱乐与信息服务属性越发凸显,开源的Linux以及在手机端拥有大量成熟信息服务资源的Android被众多主机厂青睐,成为后起之秀。此外,国外少量车型还采用了Win CE等作为智能座舱操作系统。
智能座舱强调人机交互,是传统手机厂商最擅长的部分,例如华为和小米,手机UI交互直接无缝切换用户习惯到汽车上,还可以跟手机互联。就是一个天然的生态,可以说把手机安装到汽车座舱里面直接就可以用,什么听歌联网看电影导航打游戏功能都跟手机一模一样。然后再加一点汽车的APP就可以了。
从技术角度说,基本被目前稳定的安卓系统所霸占,各家基本都是在安卓的基础上改了下UI。毕竟目前成熟的人机交互当属手机了,可以直接用,而且很好用。
为什么说安卓很成熟?主要原因就是用户量,用的人多就稳定,就符合用户习惯,胜者为合理。再搞一套真可能没人用。
安全车载操作系统主要面向经典车辆控制领域,如动力系统、底盘系统和车身系统等,该类操作系统对实时性和安全性要求极高,生态发展已趋于成熟。
安全车载操作系统主要是实时操作系统RTOS,主要应用对象是 ECU。ECU对安全车载操作系统最基本的要求是高实时性,系统需要在规定时间内完成资源分配、任务同步等指定动作。嵌入式实时操作系统具有高可靠性、实时性、交互性以及多路性的优势,系统响应极高,通常在毫秒或者微秒级别,满足了高实时性的要求。
目前,主流的安全车载操作系统都兼容 OSEK/VDX 和 Classic AUTOSAR 这两类汽车电子软件标准。其中,Classic 平台基于 OSEK/VDX 标准,定义了安全车载操作系统的技术规范。
这块是传统汽车厂商擅长的,例如BBA等,但是传统汽车厂商存在供应商的问题,就是说这块的东西其实不是传统车厂自己研发的,直接给车厂供货的是Tier One,一级供应商,一级供应商的东西也不全是自己的,需要从Tier two购买,但是可以负责集成,也可以叫主机厂,例如博世、大陆等。
华为不做自己品牌的汽车,就是不想当整车厂,想当Tier one方案整合商,模仿博世。这样不像整车厂巨大的资金投入,投入少只卖方案可以挣更多的钱。就像:
一流公司做标准,
二流公司做品牌,
三流公司做服务,
四流公司做价格。
研发RTOS相对来说不是太困难,做的安全,实时性高就比较困难了,国内的很多公司做出来也过了ASIL D的安全认证还是可以的。
车载OS上面目前运行的是AUTOSAR CP,将来的趋势就是AUTOSAR AP,OS也必须从RTOS过渡到微内核了。
随着智能化、网联化技术的发展,智能汽车感知融合、决策规划和控制执行功能带来了更为复杂算法并产生大量的数据,需要更高的计算能力与数据通信能力。基于 OSEK/VDX 和 Classic AUTOSAR 软件架构的安全车载操作系统已经不能满足未来自动驾驶汽车的发展需求,AUTOSAR 组织为面向更复杂的域控制器和中央计算平台的集中式电子电气架构推出 Adaptive AUTOSAR 平台。
Adaptive AUTOSAR 定义采用了基于 POSIX 标准的操作系统,可以为支持 POSIX 标准的操作系统及不同的应用需求提供标准化的平台接口和应用服务,主要是为了适应汽车智能化的发展需求。Adaptive AUTOSAR 处于发展初期,其生态建设获得 Tier1、主机厂的普遍认可尚需时日。
智能驾驶就是为了支撑AI算法应用的OS,例如摄像头的数据采集处理,雷达的数据采集处理等,这些AI算法是APP需要运行在一个OS上面。按经验来说一般这些算法使用C++编写,所以底层的OS需要满足POSIX标准才能运行。从业务上说智能驾驶涉及到驾驶员的人身安全对安全性要求比较高。
智能驾驶算法硬件哪家强?当然是国外英伟达,国内地平线,支撑他们AI算法的OS目前应该都是Linux或者QNX,谁让Linux也是装机量大,非常成熟的呢。虽然从技术角度有很多缺点理论上不够安全,但是效果上还是可以的。最省钱,最快速的使用起来,占领市场才是王道。
对于QNX是一个微内核,更加的安全好用,但是要收费,不开源。国内的华为鸿蒙和阿里OS都也是微内核也已经推向商用,就是想替换这个QNX的吧。
智能驾驶操作系统主要面向智能驾驶领域,应用于智能驾驶域控制器,该类操作系统对安全性和可靠性要求较高,同时对性能和运算能力的要求也较高。该类操作系统目前在全世界范围内日趋成熟,但生态尚未完备。
上面介绍的三种OS,有没有可能有这一种会统一其他两种呢?答案是有的,就是微内核,而且是大势所趋。
首先智能驾驶OS商用很多的QNX就是微内核,QNX的前身是黑莓手机,说明这东西也可以做手机用,也就是智能座舱OS,然后安全车控OS的AUTOSAR AP也在呼唤微内核。
目前华为的鸿蒙就是一个很好的例子,其为微内核,在手机上也用了,手表什么其他IOT产品上都用了,装机量几亿,该有的bug都修补的差不多了,口碑还可以。直接把鸿蒙OS的手机移到车上就是智能座舱OS,然后在鸿蒙上自研AI的软硬件就更顺了,最后就是鸿蒙OS上支持AUTOSAR AP。华为的可怕就在于别人炒概念捞钱的时候,它还真干,因为华为不上市不需要炒概念。
学习别人先进的技术,才能模仿造出来自己的,从而超越对手。
电动汽车一哥还是要属于特斯拉,不论其技术先进与否,其在商业上是成功的,也就是路是通的。很多时候不需要创新,只要照抄对手就能挣钱,思维模式还是需要变。
特斯拉这直接Linux+QT,硬件直接X86/AMD(PC级别),妥妥的不按常规汽车技术出牌的野路子。就是把嵌入式最成熟的技术直接拿来用,抛开汽车软件那一堆的规范例如AUTOSAR,站在软件顶级高手的视角:我什么实现不了,并且把软件行业最先进的技术直接拿来用。
其优势在于以计算平台为核心,自研并领先芯片硬件、操作系统、平台软件等。特斯拉自动驾驶软件架构如上图所示,主要特点是其操作系统基于单一Linux内核,打造了整套自动驾驶的软件方案,实现了感知、定位、融合、决策、规划到控制的全流程。
从公开的信息可知,系统基于Ubuntu进行裁剪,对Linux内核进行了实时性改造,这个内核也开源在Github上,深度学习框架基于PyTorch,实时数据处理基于开源流处理平台Kafka,拥有48个独立的神经网络进行多维度数据处理,并且具备强大的OTA升级能力。其FSD(Full Self-Driving使用了ARM)计算平台硬件集成了智能座舱域和自动驾驶域,操作系统通过OTA软件升级,充分利用数据、云计算生态,开创汽车产品价值和服务的新模式。
除了一哥特斯拉,目前在高端车上都在用的就是英伟达的。也是目前智能驾驶大行其道的原因。做显卡出身的英伟达有强大的算力支撑特别适合做自动驾驶相关的业务。
英伟达(NVIDIA)是全球领先的人工智能计算公司,利用其先进的硬件芯片开发优势,以行业较领先的高性能安全芯片为核心,提供完整的硬件平台和基础软件平台,其架构如上图所示。NVIDIA计算平台硬件目前处在Xavier阶段,下一代平台Orin已发布但并未上市。Xavier是NVIDIA首次生产的车规级系统级芯片,该芯片采用了六种不同类型的处理器。
基于Xavier芯片,NVIDIA提供面向自动驾驶开发的DRIVE AGX Xavier,算力达到30 TOPS,面向L2+和L3级自动驾驶;提供的DRIVE AGX Pegasus使用两块Xavier系统级芯片和两块Turing GPU,算力达到320 TOPS,面向L4级和L5级自动驾驶。NVIDIA Drive系统软件层融合了第三方RTOS+AUTOSAR,设有Hypervisor层,第三方量产RTOS方案通过了ASIL D认证。
Drive OS是一个操作系统的统称,里面有其他几个小的操作系统,包括AUTOSAR OS和QNX及Linux。除了英伟达擅长的AI软硬件,其他的也是利用现成的成熟技术。这一点很值得我们去学习,毕竟国内各大厂目前买来用,那后续肯定是仿制了,后面我会详细分析下这个Drive OS。
Drive OS官网资料:https://developer.nvidia.com/docs/drive/drive-os/archives/6.0.4/linux/sdk/index.html
TogetherOS是Linux支撑智能驾驶。Lantin OS用来支持AUTOSAR AP,用于车控,不过不知道做出来了的不。
上面截图是从下面视频中截取的,有兴趣的可以看下这个视频,直接就明白地平线的操作系统了:
地平线 徐光柳:自动驾驶操作系统TogetherOS的设计与实践
https://www.autosemo.com/%E5%9C%B0%E5%B9%B3%E7%BA%BF-%E5%BE%90%E5%85%89%E6%9F%B3%EF%BC%9A%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9Ftogetheros%E7%9A%84%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%AE%9E%E8%B7%B5/
鸿蒙座舱操作系统HOS+智能驾驶操作系统AOS+智能车控操作系统VOS,三叉戟布局车载操作系统。早在 2020 年 8 月中国汽车论坛上,华为智能汽车解决方案 BU 总裁王军就正式发布了三大车载操作系统。2021 年 6 月的中国汽车论坛上,王军表示HarmonyOS-A 智能座舱操作系统将在今年开始装车并上市。
座舱操作系统HOS:兼具QNX和安卓优势,有望打破车载OS格局
座舱作为人车互动的入口,华为将鸿蒙OS首先应用到该领域。鸿蒙OS作为面向工业控制场景的微内核操作系统,在座舱 领域具备与QNX类似的安全性、实时性等方面的能力。在中控屏操作系统方面,相比Android,鸿蒙座舱操作系统可以实 现手表、手机、车机、智慧屏等多场景的互联互动,具备形成良好生态的潜力。整体来看,鸿蒙HOS有望打破传统座舱领 域被QNX和Android两强统治的格局。
智能驾驶平台:搭载AOS、VOS和MDC内核,兼具高性能和高安全性
华为智能驾驶计算平台是整个自动驾驶的“大脑”,搭载AOS、VOS以及MDC三大内核,该组合实现了高安全性和高性能。AOS和VOS符合ASIL D的功能安全架构和安全机制要求,采用分布式实时通信架构,保障了上层应用的确定性低时延;MDC内核支持着上层智能驾驶应用的开发、调测、部署、运营等全生命周期的核心流程,提供了主流的AI框架及1000多个 AI算子,改善了上层应用和组件开发的便利性。
参考:
其他: