{{detailStore.author.is_follow?'已关注':'关注'}}
首页推荐
管理
自动驾驶OS 市场的现状及未来
文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一:狭义 OS 和广义 OS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

二.OS 内核:QNX 、Linux、VxWorks

以是否对需要执行的任务划分优先级为标准,OS 内核可分为分时 OS 和实时 OS 两种。前者对各个用户/作业都是完全公平的,不区分任务的紧急性;而后者指在高优先级的紧急任务需要执行时,能够在某个严格的时间限制内抢占式切换到该任务上。

由于事关安全,自动驾驶需要的实时 OS。QNX 和 VxWorks 均属于实时 OS,但 Linux 是分布式 OS。

前段时间,有人质疑特斯拉“拿(Linux)分时系统做操作系统,是对生命最大的不负责”,然而,这个质疑未必成立——特斯拉的Linux系统是不是实时操作系统,以及是否按照车规级功能安全规格开发,还有待证实。

图片摘自高工智能汽车

诚然,Linux 原本是分布式 OS,但 Linux 对应实时性改进的工作从未停止过。在经过优化后,Linux 内核也分为抢占式内核和非抢占式内核,其中,抢占式内核的实时性足以满足自动驾驶的需求。

安霸半导体上海软件研发高级总监孙鲁毅在去年 8 月份发的《关于中国市场汽车智能驾驶主控芯片操作系统的思考》一文种提到,2005 年,Linux2.6 的发布,就开始支持内核可抢占式调度 CONFIG_PREEMPT,此选项使得内核态程序只要不被 spinlock 保护或者在中断处理程序里,都可被更高优先级的内核线程抢占。

这就使得很多任务执行的时候,任务调度延迟大大改善。默认配置通常可以做到调度延迟在 1 到几个毫秒。实时性补丁CONFIG_PREEMPT_RT 项目也已经比较成熟,可以手动打补丁添加提升内核的实时性。这些优化大大改善了 Linux 的实时性,使得 Linux 实际已经成为硬实时操作系统。

德国不莱梅大学曾做过一项测试,这项测试表明在系统满负荷长时间运转时,Linux 标准内核不加任何补丁也不亚于常见各种实时操作系统的实时性。

QNX 是一个半封闭系统,而 Linux 和 VxWorks 均是开源系统。所谓“半封闭”,即 QNX 的内核,客户是不能改的,但客户可自己编写中间件和应用软件;所谓开源,即所有内核源代码都向客户开放,客户可根据自己的实际需求裁剪,可配置性很高。

Linux 基金会在 2012 年启动了开源项目 Automotive Grade Linux (简称 AGL),目前成员已经超过 100 家。当前,Linux 在汽车市场的应用主要在信息娱乐系统,不过,AGL 的最终目标,是提供满足安全关键系统的功能安全目标,从而服务自动驾驶应用。

按照 AGL 的设想,未来成员企业可以共享 70% 的代码,另外 30% 则是不同品牌厂商进行差异化开发,从而保障各自的商业化利益。

QNX 早在 2011 年就通过了 ISO26262 ASIL-D 安全认证,这是第一个通过这项认证的实时操作系统。与 Linux 的免费不同,QNX 需要商业收费,但凭着其安全性、稳定性和实时性,QNX 仍牢牢占据汽车嵌入式操作系统市占率第一的位置。

QNX 是微内核,即内核中只有最基本的调度、内存管理,驱动、文件系统等都是用户态的守护进程去实现的。其优点是超级稳定,驱动等的错误只会导致相应进程死掉,不会导致整个系统都崩溃。

据黑莓 QNX IOT 事业部大中华区首席代表董渊文介绍,目前,通用、沃尔沃、奥迪、上汽、吉利、蔚来、理想、小鹏等均用QNX作为自动驾驶OS。

黑莓提供给各自动驾驶客户的 QNX 系统是一个无差别的标准版,但BSP驱动是定制版。

BSP 包括了 Bootloader(以基础支持代码来加载操作系统的引导程序)、HAL(硬件抽象层)代码、驱动程序、配置文档等,是内核与硬件之间的接口层,目的是为操作系统提供虚拟硬件平台,使其具有硬件无关性,可以在多平台上移植。

与 QNX 相比,Linux 更大的优势在于开源,在各种 CPU 架构上都可以运行,可适配更多的应用场景,并有更为丰富的软件库可供选择,因此,具有很强的定制开发灵活度。

并且,Linux 是宏内核,即除了最基本的进程、线程管理、内存管理外,文件系统,驱动,网络协议等等都在内核里面,其优点是效率高,可以充分发挥硬件的性能。

此外,Linux 的免费也对车企有很强的吸引力。

李星宇在演讲中提到,近几年,Linux 在自动驾驶产业的使用率在攀升,“科技公司、Tier 1 和车企均会基于 Linux 进行投入”。

但 Linux 内核的的组件要比 QNX 复杂得多,因而稳定性也要差得多,开发进程中的 bug 经常会导致整个系统挂掉。因此,基于 Linux 做开发的门槛很高。

张人杰说:“Linux 平台有几千万行代码,而这些代码又不是你设计的,你怎么确保它的安全性?你只能是在外围做一些加减,你对代码的理解能力决定了你能否解决这些 bug。目前,Lunix 官方承认的 bug 就上万个了。在一定时间内,这些 bug 问题不大。但在某些条件下,就会引起很大的麻烦。”  

Linux 迟迟未能通过 ISO 26262 标准。相比之下,QNX 的代码和功能架构都比较简单,代码也总共只有 30 万行代码,出现故障的可能性远远小于 Linux。

《高工智能汽车》在最近的一篇文章中还提到了基于 Linux 做开发的两大挑战:

1、作为开源的操作系统,Linux 在被用于安全关键系统时,在代码库不断更新的情况下,存在安全认证失效的问题,因此,汽车制造商需要不断重新做安全认证,但这可能会带来额外的成本支出。

2、后续的补丁管理和版本对齐过于复杂。一家早期选择 AGL 的汽车制造商工程师表示,至少有 4 家 Tier 1 为他们的特定产品提供了不同版本的 Linux 内核,这意味着他们需要为不同的补丁管理 4 个不同的 AGL 内核。为摆脱这些麻烦,他们正在为下一代产品从 AGL 转向 QNX 作准备。

既然如此,Waymo、特斯拉、百度和 Mobileye 为何还要基于 Linux 做开发?成本考虑是一方面,更重要的,是为了减少对软件供应商的依赖,“这些代码都是开源的,而我的能力又足够强,可以在性能优化上做更多的工作。”

特斯拉就尝到了采用 Linux4.4 开源操作系统做开发的好处。由于自己完全掌握核心技术,不必受制于操作系统厂商,每次只要一发现问题便立即通过 OTA 进行快速修正与升级,提升用户体验。

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

随着车企对软件技术投入的加大和能力的提升,Linux 在自动驾驶市场的占有率大将会逐步上升,而 QNX 的市占率则会逐步下降。

风河 VxWorks 的实时性已经在航空电子、医疗电子和工业安全等领域的几十亿台设备上得到了充分的验证。风河高级产品经理王鹏在此前的一次直播中说:任何“实时”Linux 的实时性都无法跟 VxWorks 相比。

VxWorks 也是开源的。VxWorks 实时操作系统由 400 多个相对独立、短小精悍的目标模块组成,但用户可获所有源代码并根据需要对 OS 内核在源代码层面进行裁剪和配置。

VxWorks 的影响力主要在航空电子,汽车板块在其营收中占比的不高,因此,此前,风河的资源重点并没有放在汽车市场上。但近些年,风河对汽车业务的投入力度正在加大。

风河不光是能够直接卖商用性的产品,它也会提供专业定制化服务。在奥迪 A8 的项目中,风河除了提供 VxWorks,还为 TTTech 汽车业务分公司提供了开发板卡支持包、中间件开发和网络栈集成。

宝马-ME-英特尔联盟的自动驾驶 OS 内核,一度采用了 VxWorks。现代的自动驾驶量产车上也在使用 Vxworks。

2018 年 10 月,风河宣布其将为 TTTech Auto 最新版本的安全软件平台 MotionWise 提供支持,用于自动驾驶应用。

2019 年 2 月,VxWorks 通过了 ISO 26262 ASIL-D 认证。

VxWorks 虽然和 Linux 同为开源系统,但两者的区别在于:后者是免费的,前者则要收取一笔高昂的授权费,开发定制成本也很高,这限制了其市场占有率的增长。

当然,各种自动驾驶 OS 之间并非截然对立的关系。

如百度的 Robotaxi 系统,一个比较普遍的说法是“在 Linux 内核上运行”,但赛灵思系统架构师兼市场总监毛广辉的说法是:感知部分是在 Linux 行运行,而非感知部分则是在 QNX 上运行。“

奥迪 A8 上用了至少两套自动驾驶 OS,其中英伟达的 Tegra K1 芯片上用的是 Linux 内核,而英特尔的 FPGA Cyclone 上用的是 VxWorks 内核。

简单地说,车企在选择 OS 内核时,主要考虑开放性、可扩展性、易用性、安全性、可靠性及成本等因素,再结合自己的需求及能力体系来做权衡。

各 OS 内核的简单比较如下:

表格中部分数据来自 安霸半导体上海软件研发高级总监 孙鲁毅的文章《关于中国市场汽车智能驾驶主控芯片操作系统的思考》。

三.中间件:厂商提供or自研

在自动驾驶 OS 内核厂商中,风河还会为车企提供定制化的中间件。奥迪 A8 的 FPGA Cyclone 上跑的中间件,便由风河提供。此外,宝马—Mobileye—英特尔三方合作的项目中的中间件,也一度由风河提供。

但对车企或自动驾驶公司来说,使用 OS 厂商提供的中间件,只是权宜之计。到后面,每家公司都需要基于一个安全的内核来做符合自己独特需求的中间件。

如 Mobileye 在去年年底宣布,正在为下一代 EyeQ®5 芯片切换到基于 Linux 的操作系统做最后的量产准备。按照 Mobileye 的说法,“宝马作为量产搭载客户之一,已经对这套系统进行了全方位的安全评估和严格测试”。

《高工智能汽车》在最近的报道中点评道:“对于 Mobileye 来说,这也是其开放战略的关键一步。EyeQ5 操作系统从之前专有的、定制的操作系统切换到 Linux,将增加后续客户定制化开发的灵活性,同时向 AGL 超过 100 多家成员企业进行开放。”

张人杰说:“一个车企相比于另一个车企技术的差异性、先进性,在很大程度上取决于你的整体框架,而框架又取决于 OS 的中间件组合,各种不同中间件最终组成了你的基础框架。”

因此,对车企或自动驾驶公司来说,自研中间件,不是你愿不愿意的事情,而是你必须去做的事。有进取心的车企,基本都在自研自动驾驶 OS 的中间件,只不过有的车企说出来了,有的没说而已。 

QNX 可为客户提供一部分中间件,但大部分中间件还是靠客户自己/委托第三方开发。只不过,由于基于 QNX 开发中间件相对简单,算不上多牛逼的事情,因此,很少有公司会在 PR 中强调自己开发了基于 QNX 的中间件。

如果使用 Linux 内核,则中间件就只能全部由自己来搞定了。这是一条更有价值、但也注定更艰辛的路。

张人杰说:“基于 QNX 内核做开发,车企是通过做加法的过程完成中间件的设计;而基于 Linux 做开发,则是先做减法、再做加法,难度显然要大得多。”(做减法的过程中,稍有不慎,就可能把重要的内容给裁剪掉。)

据前百度自动驾驶部门骨干成员透露,百度在跟车企合作的自主泊车项目上应车厂的要求而采用了 QNX 内核;但在要求更高的 Robotaxi 上,则基于 Linux 内核开发中间件。

百度开发的中间件并非是一个全新的系统,而是基于开源系统 ROS 做裁剪、打补丁,但这里仍然存在很高的技术壁垒。

ROS 的前身是斯坦福人工智能实验室机器人项目的 STAIR,后来由 Willow garage 组织维护,它是免费开源框架,软件架构很清晰。原生的 ROS 本是机器人 OS,并不能直接满足无人驾驶的所有需求,但百度针对原生 ROS 的弊端一一做了优化:

1. 原生 ROS 各个节点之间互相通信,需要依赖一个统一的 ROS Master 作为中转。如果 ROS Master 出问题了,则任何两个节点之间的通信便受到影响。

针对这个问题,百度 Apollo 采用一种叫 RTPS 的服务发现协议,对 ROS 做了“去中心化”改造。即现在的 rosnode接口不再依赖于一个独立的 master 来进行管理,而是将其全部放置与一个公共域 demain 中,域中的每个 rosnode 都有域中其他节点的信息,这样就可以消除单点故障。

以上两段内容及图片摘自CSDN博主「逐风的小黄」在2019年3月份的文章《Apollo开源软件ROS定制版差异化分析》。

2. ROS 传递的消息不支持向前兼容,接口兼容性问题会对历史数据的使用造成很大的影响。在自动驾驶领域,海量的历史数据是宝库,如果用不了,就造成极大的浪费。

对这一问题,百度 Apollo 框架采用的方案是使用开源的 protobuf 封装成 ROS msg,来代替原生的 ROS msg, protobuf 提供了良好的消息向前兼容性。

3. 如果一个 ROS 节点被挟持,黑客可以通过这个节点将资源耗尽,进而将这个系统搞垮。ROS node 和 node 之间的消息被截获或者伪造,那么自动驾驶汽车可能会被黑客控制。

针对这一问题,百度采用 linux container 这种轻量级虚拟化技术,把每个 ROS Node 放入沙盒,限制每个 ROS node 权限。节点与节点的通信消息可以进行加密解密处理,防止中间人攻击。

除了百度的 Apollo,博世、宝马、nuTonomy、Autoware 和 Udacity 等公司也基于 ROS 开发自动驾驶技术。

第三方软件公司 Apex 公司基于 ROS 2.0 开发自动驾驶软件,该公司花大量精力对 ROS 2.0 进行优化。在 2019 年 2 月份,Apex 拿到了丰田、沃尔沃、捷豹路虎、海拉等车企和 Tier 1 的投资,这意味着,这些公司也在考虑使用 ROS  开发自动驾驶技术。

但基于 Linux 内核和 ROS 中间件做开发这条路走起来会特别艰辛。

去年年底,某先前一直基于 ROS 做开发的自动驾驶明星初创公司宣布改用 QNX 的方案,对方的工程师给出的理由是:“QNX 系统更安全,并且在可靠性和稳定性上有更大的保证”。

看来,在基于 Linux 自研 OS 失败后,车企及自动驾驶公司还有 QNX 这个“退路”可以依赖,这反而使他们在自研OS 时少了些“后顾之忧”。

不过,中途从 Linux 切换至 QNX 引发的工作量特别大。首先,两个内核的差异很大,这意味着,之前基于 Linux 开发的中间件现在都不能用了,得从头再来;此外,功能软件和算法迁移、优化的工作量也很大,甚至,有一些算法是需要做大幅度修改的。

因此,最各自动驾驶公司/车企来说,基于哪个内核做中间件的开发,最好能从一开始就对自己的需求、能力体系、风险承受能力做一个充分的评估,然后再选择最适合自己的方案。

四.自动驾驶 OS 的话语权会掌握在谁的手里?

那么,对车企来说,选择用什么内核做开发,是否完全可以自己说了算呢?这个问题的答案,有多个不同的版本。

董渊文的说法是,QNX 已跟英伟达、高通等自动驾驶芯片厂商之间建立起深度合作,但跟英伟达是弱绑定,而跟高通是强绑定。即英伟达可以在 Xavier、Orin 中预集成 QNX,但也会给车企自主选择权;而高通 Snapdragon Ride 的客户则只能用 QNX 作为自动驾驶 OS,“没有自主选择权”。

一自动驾驶初创公司的工程师说,他们使用的 QNX 是黑莓和芯片厂商针对特定芯片集成优化后的版本,保证在该芯片上可以达到最优的系统性能。

张人杰认为,QNX 跟英伟达和高通的捆绑,很容易理解。“一个 OS 做出来了还不够,想要获得成功,其核心点还在于建立一个强大的生态(软件+硬件)。没有强大的芯片,先进 OS 的优势也发挥不出来。在行业竞争的前期,OS 厂商一定要跟芯片厂商形成非常强的战略耦合。”

这种绑定,是双赢,不仅 OS 厂商可以通过跟芯片厂商的绑定做大软件的安装量,芯片厂商通过跟安全可靠的 OS 捆绑,也会让芯片更好卖。

但某自动驾驶芯片厂商 CMO 认为,这只是一种过于乐观的假设,“对 QNX 来说,只有全面拥抱芯片公司,芯片公司才能把你的 OS 推给 OEM,但 OEM 就非得选你吗?”

这位 CMO 说:“现阶段,QNX 是性价比最高的方案,但如果你不是足够好的话,哪怕芯片厂商再怎么推,OEM 也不会选你,然后,芯片厂商也会转而扶持另一家 OS 厂商。Windows 以后,再在任何行业出现下一个如 Windows 这种有话语权的 OS 的可能性非常低。“

博世 AI 部门一位管理人员说:“芯片不会愿意被某一个 OS 给绑死的,除非芯片就是这家 OS 厂商自己的,像苹果的 M1 之于 MacOS。”

安霸孙鲁毅曾在文章中提到:“汽车市场的 OS 选择主要来自于开发团队的经验积累,或者来自于主控芯片厂的 SDK 的默认支持。”所谓默认支持,即芯片厂商的 SDK 基于哪个 OS 开发的,就决定了车企只能用什么 OS。

但也有许多人并不认同这种说法。

如某主机厂自动驾驶负责人说:“OS 通过中间件可以和芯片在软件上解耦。”

某自动驾驶初创公司工程师说:“自动驾驶芯片厂商的 SDK 通常不会只适配一个 OS,客户主要还是根据自己的需求选择最合适的 OS。我们用英伟达的芯片,但 QNX 和 Linux 的 OS 我们都使用过,不存在被芯片供应商绑架的问题。”

上述芯片厂商 CMO 说:我们推出的 SDK 会兼容多个不同的 OS。如果客户有某种特殊要求,我们会额外增加。

国内操作系统初创公司国汽智控 CEO 尚进在接受《甲子光年》采访时说,国汽智控对整车厂的一大吸引力便是“不绑定芯片供应商”“华为、地平线、黑芝麻以及英伟达都是我们的合作伙伴”。

总的来说,对使用什么样的 OS,车企和芯片公司的话语权是高于 OS 厂商的。一位受访者说:“话语权来自于谁离用户更近,OS 当然有一定的决定权,但 OS 提供的只是基础功能,应用层都是车企一方做的,因为它离用户最近,知道用户需要什么。”

董渊文在演讲中提到:“QNX 没有自己的 Roadmap,主机厂的意志和钱,决定了 QNX 的 Roadmap。”这也印证了“车企的话语权更大”一说。

不过,地平线 CEO 余凯认为,如果在未来出现一个“智能汽车 OS”,将自动驾驶 OS 和智能座舱 OS 整合到一起,并建立起强大的开发者生态和应用生态,则这个 OS 在车企面前会有比较大的话语权。

国汽智控副总裁杨柯和地平线市场拓展与战略规划副总裁李星宇都提到一个观点:从 IT 时代 30 来年的历史看,通常,一款 OS 只会基于一款硬件架构进行深度打磨,无论 PC 时代的 win-tel 还是移动互联网时代的安卓—ARM 都是如此。你很难在 ARM 上面把 windows 优化得特别到位,也很难在 x86 架构上面把安卓优化得非常到位。

李星宇说:“目前,自动驾驶 OS 还处于百家争鸣的阶段,随着竞争的加剧,会跑出一个玩家来把底层 OS 和芯片深度打磨,实现最佳的体验。届时, 自动驾驶 OS 市场就从百舸争流变成一枝独秀。”

在智能手机时代,苹果是自研 OS 和芯片并深度打磨的代表,而在自动驾驶产业,截至目前,这样的玩家有五家:Waymo、特斯拉、苹果、Mobileye、华为。其中,苹果是唯一一家自研 OS 内核的玩家。

只做芯片的话,应用节奏会受制于 OS 厂商的进度;而只做 OS 的话,性能优化

会受制于芯片厂商的节奏。但两个都自己做,就不存在这种顾虑了。微软在去年年底决定自研 PC 芯片,在很大程度上就是这个动机。

Waymo、特斯拉、苹果三家的OS和芯片虽然牛逼,但都是为自有业务服务的,不外供;而 Mobileye、华为却定位为Tier 1,Mobileye 的芯片算力较低,在L4市场上竞争力不足,因此,以当前的产业格局看,华为是L4市场上唯一同时具备自动驾驶芯片与 OS 的供应商。

华为的 MDC810 是已量产自动驾驶计算平台中算力最高的一款,并且,MDC 平台上使用的 CPU 也是自研的;其自动驾驶 OS 内核已获得业界 Safety 领域最高等级功能安全认证(ISO 26262 ASIL-D)。据了解,华为的自动驾驶 OS 将在北汽极狐的阿尔法S上率先商用。

最近,有人戏称要提供操作系统的华为“不仅仅是 Tier 1,而且还是 tier 0”——构建以自己为中心的完整的生态,最终成为智能汽车时代的“微软”。

某 OS 产业资深人士说,接下来,华为的目标应是在该内核之上搭建很多中间件和应用框架、应用程序,并确保这些组件也能达到功能安全要求。此外,为了吸引更多的开发者,华为还需要打造出一套稳定高效的工具链。

在谈到华为“芯片+OS”的格局时,一位从华为跳槽到博世的工程师说:“没芯片、没 OS,是博世跟华为最大的差距;其中,在从分布式架构走向集中式架构的过程中,OS 比芯片更加重要,这个是真正的大脑。博世如果搞不定这些东西的话,到后面只会越来越被动。”

再开个脑洞:苹果一度声称自己不造车,而是生产和销售“自动驾驶系统”。假如有朝一日苹果增加了 To B 业务,也要做 Tier 1 了,那这个市场就更加热闹了。

当然,若华为、Waymo 都造车,则其 Tier 1 身份便可能“保不住”,这样,则华为、Waymo 都跟特斯拉和苹果一样,成为自研芯片+OS 的汽车制造商;而 Mobileye 则成为唯一一家自研芯片 +OS 的供应商,接下来,Mobileye 的挑战在于,如何尽快推出高算力的自动驾驶芯片。

未尽之语:

自动驾驶 OS 市场的玩家数量正在快速增加。

长期以来,提起斑马网络的 AliOS,业内的第一反应都是“智能座舱操作系统”,但在 2020 年底,斑马网络公司获得了德国莱茵 TÜV Rheinland 颁发了的 ISO 26262 汽车功能安全管理体系认证证书,其证书的等级为“ASIL-D”等级,当时,新闻通稿中说“这标志着斑马整体研发体系符合汽车功能安全最高等级要求,为打造更加安全的智能驾驶操作系统提供关键保障”。

看来,AliOS 并不甘心只做智能座舱操作系统,它有着更大的野心。

上个月,全球最大Linux系统厂商——红帽公司宣布,计划为汽车行业创建一个新的基于 Linux 的企业级操作系统,并提供从“信息娱乐到辅助驾驶系统”的一系列 ISO 26262 认证。

也是在最近,Tier 1 采埃孚和T TTech Auto 也被曝出正在开发操作系统和软件生态系统。采埃孚都入局了,博世和大陆还会远吗?也许,说不定博世已经在开发自动驾驶 OS 了?

此外,有些“出人意料”的是,曾在去年将乘用车自动驾驶和卡车自动驾驶技术分别交给英伟达和 Waymo 的戴姆勒公司,也在4月中旬宣布将建设软件中心,自主研发操作系统。

不过,市场上是否真的需要这么多的“自研自动驾驶 OS”(特指基于 Linux 的自研)呢?

从构建开发者生态及产品性能优化的角度考虑,OS 市场需要一定的集中度,这样才能确保买家 OS 厂商都能“分到”足够多的开发者,同时,实现更大的装机量。

由于汽车市场的体量足够大,几家头部 OS 厂商们均有机会建立起庞大的开发者生态,实现很大的装机量,但自研 OS 的车企,面临的挑战则要大得多。

车企自研的 OS,更多是“自产自销”,并不会对外开放,哪怕车企愿意开放,友商们也未必愿意使用。某车企高级总监在接受《甲子光年》采访时说:“这意味着当销量不足以分摊软件系统的开发成本时,自主软件将无法实现迭代更新,甚至维护。”

此外,我们发现,自研自动驾驶 OS(并取得成功)的车企或自动驾驶公司,无论特斯拉还是 Waymo、Mobileye、华为或苹果,都有一个共同点是:有自主研发的 ASIC 芯片。

董渊文曾在论坛的演讲中道破其中的玄机:“特斯拉因为用的是自研的 ASIC 芯片,很多算法并不需要靠 Linux 去调度,因此,使用 Linux 做自动驾驶开发相对比较容易,但对其他厂商则不然。”

所以,也许,车企能在自研自动驾驶 OS 上取得成功的前提是,有自研的 ASIC 芯片?

正在自研自动驾驶 OS 的大众,已于近日被曝出计划自研自动驾驶芯片——大概率也会是 ASIC。奔驰没有芯片,但他们正在跟英伟达深度合作,那么,后续开发自动驾驶 OS 会不会也跟英伟达合作?

有几家中国车企也打算自研自动驾驶 OS,对他们来说,自研用于自动驾驶的 ASIC 芯片也是势在必行?

我的同事孙利老师有这样一个判断:接下来,芯片人才在自动驾驶圈的地位会越来越高,很多自动驾驶负责人会从芯片行业产生。 那么,有没有这样一种可能:打算自研自动驾驶 OS 的车企,先从英伟达或 Mobileye 挖个芯片大牛来担任自动驾驶负责人或 CTO,然后,一手抓芯片,一手抓 OS?

备注一:跟作者交流、投稿请添加作者微信charitableman。加微信前请务必说明自己所在公司、岗位及真实姓名,否则无法验证通过,多谢理解。

备注二:接下来,《九章智驾》会刊发几篇独家/首发的重大新闻/深度分析文章,如果您不想错过,欢迎扫描下方二维码关注“九章智驾”。

写评论
积分赞赏
点赞
评论区
  • 编辑
  • {{is_favourite ? '已收藏' : '收藏'}}
  • 举报
  • 加入黑名单
  • 删除
  • 取消置顶
  • 置顶推荐
    • 6小时
    • 12小时
    • 24小时
    • 3天
    • 一周
    • 长期
  • {{digest?'撤销精华':'设为精华'}}
回到顶部
  • 全部评论{{detailStore.commentnum}} 条
  • 只看作者
  • 最热
  • 最新
  • 最早

「待审核」

{{ comment.relativeTime }} 已被赞赏 {{comment.integral}} 积分 回复

暂无相关评论

发表一下个人看法吧