广告

自动驾驶OS有哪些?未来自动驾驶OS的话语权掌握在谁手里?

2021-09-01 汽车电子与软件 阅读:
值得注意的是,自研自动驾驶OS已取得成功的车企或自动驾驶公司,无论特斯拉还是Waymo、Mobileye、华为或苹果,都有一个共同点:有自主研发的ASIC芯片。那么,有没有这样一种可能:打算自研自动驾驶OS的车企,先从英伟达或Mobileye挖个芯片大牛来担任自动驾驶负责人或CTO,然后,一手抓芯片,一手抓OS?

站在车企的角度看,QNX有点像Mobileye——尽管“易用”,但限制了车企的自主性;而Linux则有点像英伟达——比较“难用”,但赋予了车企很大的自主权及面向未来的兼容性。Dwxednc

随着车企对软件技术投入的加大和能力的提升,Linux在自动驾驶市场的占有率大将会逐步上升,而QNX的市占率则会逐步下降;同时,对基于Linux自研OS失败的车企而言,还有QNX这条“退路”可以依赖,这反而让他们在自研OS时少了些“后顾之忧”。Dwxednc

值得注意的是,自研自动驾驶OS(已取得成功)的车企或自动驾驶公司,无论特斯拉还是WaymoMobileye、华为或苹果,都有一个共同点:有自主研发的ASIC芯片。那么,有没有这样一种可能:打算自研自动驾驶OS的车企,先从英伟达或Mobileye挖个芯片大牛来担任自动驾驶负责人或CTO,然后,一手抓芯片,一手抓OS?Dwxednc

Dwxednc

随着电动车的EE架构从分布式向集中式演进、自动驾驶等级从L2向L2+、NOA/NOP乃至L4演进,系统对自动驾驶OS(操作系统)的要求也越来越高。并且,由于事关生命安全,自动驾驶OS对实时性及可靠性的要求要远高于车载娱乐系统的OS。 

OS的价值主要在于可以更好地分配、调度运算和存储资源,但在分布式EE架构下,各ECU基本只处理某一项单一任务,并不存在资源“分配和调度”的需求;甚至连Mobileye的EyeQ 3和EyeQ 4,也只是跑单任务的ASIC,只需要处理摄像头的数据,因此,用Tier 1的MCU就可以了,不需要高性能的OS。Dwxednc

MCU的代码行数少,流程和功能简单,并且逻辑也不复杂,因此,用MCU的风险系数很低。Dwxednc

而到了域控制器时代,许多项功能都被集成到一颗性能强大的SoC芯片上,尤其是,在自动驾驶功能从L2向L2+、NOA演讲的过程中,传感器的种类和数量大幅增加、需要处理的数据量更是呈指数级增加,如此复杂的任务,简单的MCU已经搞不定了,必须需要有一个强大的实时操作系统才能搞定。 Dwxednc

从L2到L4,操作系统对实时性、功能安全、信息安全的要求都在提高。Dwxednc

以往,对自动驾驶OS关注较多的是芯片厂商、L4级自动驾驶方案公司、特斯拉,而大部分车企对自动驾驶OS涉猎甚少。Dwxednc

某美国ADAS芯片厂商市场部负责人告诉《九章智驾》:“我们在2019年问很多车厂、Tier 1‘你们对什么操作系统感兴趣’,结果都大家都一头雾水,没怎么思考过。博世又很强势,觉得 RTOS搭配经典AUTOSAR的方案挺好的,但往多摄像头发展,RTOS是否可行,没有人知道。Dwxednc

但随着L2+、NOA/NOP等高级自动驾驶功能逐渐成为新车的标配,无论有没有兴趣,有进取心的车企都必须要硬着头皮“恶补”关于自动驾驶OS的课程;个别车企甚至打算自研OS。Dwxednc

然而,自动驾驶OS尽管重要,但并没有芯片和激光雷达那么“热门”,这也导致很多人对它有些误解。比如,一旦某公司要自研自动驾驶OS,就会被不少人解读为“自研底层操作系统”,甚至有媒体的报道中会出现“基于Linux的底层操系统”这样的硬伤Dwxednc

那么,目前可用的自动驾驶OS有哪些?车企所谓的“自研OS”究竟是什么意思?基于不同的内核自研OS有什么区别?未来,自动驾驶OS的话语权会掌握在谁手里?Dwxednc

带着这些疑团,笔者在去年11月中旬参加了焉知汽车组织的自动驾驶操作系统论坛,并在会后跟黑莓QNX IOT事业部大中华区首席代表董渊文、地平线市场拓展与战略规划副总裁李星宇及大众问问CEO张人杰等人做了深入交流。Dwxednc

一:狭义OS和广义OS 

首先需要厘清两个概念:狭义OS和广义OS。Dwxednc

车载智能计算平台自下而上可大致划分为硬件平台、系统软件(硬件抽象层+OS内核+中间件)、功能软件(库组件+中间件)和应用算法软件等四个部分。狭义上的OS特指可直接搭载在硬件上的OS内核;而广义OS从下至上包括从BSP、操作系统内核、中间件及库组件等硬件和上层应用之间的所有程序。Dwxednc

Dwxednc

图片摘自公众号“筋斗云与自动驾驶”Dwxednc

系统软件,主要由硬件抽象层,操作系统内核以及中间件三部分组成,硬件抽象层里包含BSP和Hypervisor。

Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,也可叫做VMM(virtual machine monitor),即虚拟机监视器。Hypervisors是一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Dwxednc

BSP(board support package)即板级支持包,也是介于主板硬件和操作系统之间的一层,主要目的是支持操作系统,使之能够更好的运行于硬件主板。Dwxednc

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

中间件,作为底层操作系统和这些应用程序之间的桥梁,是对软硬件资源进行管理、分配和调度的平台,充当着软件和硬件解耦的关键角色。 Dwxednc

具体来说,中间件通常对传感器、计算平台等资源进行抽象,对算法、子系统、功能采取模块化的管理,通过提供的统一接口,让开发人员能够专注于各自业务层面的开发,而无需了解无关的细节。这为开发者快速、高效、灵活地开发和集成自动驾驶软件提供了极大的便利。Dwxednc

功能软件,包含自动驾驶的核心功能模块,如相关算法的编程框架(如TensorFlow、Caffe、PaddlePaddle等)。Dwxednc

自动驾驶OS内核的格局较为稳定,主要玩家为QNX(Blackberry)、Linux(开源基金会)、VxWorks(风河)。因打造全新OS需要花费太大的人力、物力,目前基本没有企业会开发全新的OS内核。Dwxednc

当前,无论是Waymo、百度、特斯拉、Mobileye,还是一众自动驾驶初创公司、车企,所谓的自研自动驾驶OS,都是指在上述现成内核的基础之上自研中间件和应用软件。Dwxednc

由于基于QNX开发中间件相对简单,并且受QNX官方的约束比较大,而基于Linux开发中间件有很高的技术壁垒,开发者们也可以享有更大的自主权,因此,通常,很多公司提到的“自研OS”,都特指对Linux内核做相应裁剪,并在此基础上开发中间件和应用软件。Dwxednc

华为的AOS,究竟是基于完全自研的OS内核还是基于Linux内核的中间件,外界存在两种说法:有不少人认为是“完全自研”,但也有不少操作系统领域的从业者认为,AOS仍是基于Linux内核的,但对Linux的内核做了深度裁剪、加了一些安全固件及特有的驱动程序,并在此基础上开发了中间件。Dwxednc

需要强调的是,“中间件”这个词的含义略显模糊——系统软件和功能软件里都包含了“中间件”,那企业自研的“中间件”,究竟是哪一块呢?自研操作系统可分为定制型和ROM型,定制型即修改了OS内核里的软件及“系统软件里的中间件”,而ROM型修改的范围则仅限于“功能软件里的中间件”。Dwxednc

Dwxednc

图片摘自“筋斗云与自动驾驶”的知乎账号Dwxednc

此外,大众正在自研的自动驾驶OS,也是一个广义的OS。准确地说,是一个将Linux、QNX和VxWorks等多个底层OS整合到一起的平台。Dwxednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
文章来源及版权属于汽车电子与软件,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
汽车电子与软件
汽车电子与软件
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了