广告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3Nmednc

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

3Nmednc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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