高通自动驾驶靠软件开发革新力压英伟达自动驾驶芯片

描述

 

抛开价格不谈,英伟达自动驾驶芯片毫无疑问是最强的,设计范围在2019年底确定的Orin至今仍是量产最强的自动驾驶芯片,但除了奔驰外的欧美大厂更倾向于选择高通平台,这是因为高通的新软件开发体系更符合欧美大厂的需求,直白讲就是软件研发成本更低,周期更短,从以前的数年变为数周乃至数天。这就是高通和亚马逊AWS联合的CI/CD软件开发体系。软件越复杂,这种开发体系效率提升越明显。  

传统汽车软件开发的V模式

SoC芯片

图片来源:KPIT

传统汽车软件开发的V模式,软件开发遵循僵化、迟钝的瀑布法,并使用高度离散的工具链。开发过程被分割为不同的阶段,只有前一个阶段结束,后一个阶段才会开始。许多开发过程都需要手动完成。从工具链的一个部分切换到下一个部分也是如此。采用这种方法,即使很微小的软件版本升级都需要耗时六到八个月。每换一个车型或一个SoC芯片,所有的工作都需要重复一遍,且软件上车后,基本就算完成了软件开发工作。

传统的瀑布式,分离软件开发体系

SoC芯片

图片来源:EY

软件定义汽车如果采用这种传统方法,会带来天价开发费用和超过数年的开发周期,因此汽车行业借鉴IT行业的经验,导入了CI/CD,CI即Continuous Integration,CD即Continuous Deployment或Continuous Delivery,持续集成/持续部署(交付),高通和AWS合作最早将CI/CD代入汽车工业,应用得最为熟练。智能驾驶领域,软件异常复杂,需要大量的仿真测试,又牵涉到持续更新,还是数据驱动型,是CI/CD的最佳应用领域,反过来,智能驾驶领域必须用CI/CD,否则开发周期和成本都会很高。

软件定义汽车的标准化软件开发平台,即软件工厂架构

SoC芯片

图片来源:EY

当然不仅是智能驾驶领域,整个汽车软件领域都能推广CI/CD。

SoC芯片

图片来源:CY

持续集成(CI)是指频繁地(每天至少一次)将代码集成到主干,其好处主要有:快速发现错误;每完成一点更新就集成到主干,可以快速发现、定位错误;防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

软件开发教父Martin Fowler说过:“持续集成并不能消除Bug,而是让它们非常容易被发现和改正。”持续集成(CI)开发人员将会频繁地向主干提交代码,这些新提交的代码在最终合并到主干前,需要经过自动化集成、静态代码解析和自动化测试流进行验证,目标是快速确认开发人员新提交的变更是正确且适合在代码库中进一步使用的,有助于降低总体构建成本,并在开发周期的早期发现缺陷。

CI持续集成架构

SoC芯片

图片来源:网络

在持续集成(CI)方法中,软件将实现自动化编译,软件开发的各个步骤都将包含在 “CI链” 中,因为一个环节的输出将成为下一个环节的输入。持续部署(CD)是指在车辆上市后自动部署新的软件版本。CI/CD以及持续测试(CT),现在都可以在汽车上实现,但在汽车行业,测试新的高级应用程序会造成独特的难题,原因是测试需要在实体车辆上或者在测试台上的复杂模拟环境中进行。例如,想象一下对特定软件进行测试有多复杂,该软件需要分析来自多个雷达和摄像头的输入信息,以便自主执行操控,如超过公路上慢速行驶的汽车,或者在车辆、行人及其它障碍物遍布的复杂城市环境中进行导航。

持续测试

SoC芯片

图片来源:Aptiv

理想的方法是通过基于云的集中化平台,使开发人员能够在位于世界任何测试中心的相关测试台上执行任何测试,从而消除开发和测试过程中的瓶颈。这些测试可以安排软件在环(SIL)、硬件在环(HIL)甚至车辆在环(VIL),以便进行更真实的测试。此方法可以利用全球资源,达到处理当今艰巨挑战所需的规模。

CI/CD的无穷循环

SoC芯片

图片来源:MathWorks

CI/CD的具体执行就是DevOps

SoC芯片

图片来源:AWS

高通与AWS联合的云开发平台正是基于CI/CD的理念

SoC芯片

图片来源:AWS

AWS基于云的自动驾驶数据驱动开发流程

SoC芯片

图片来源:AWS

AWS原生云汽车软件开发

SoC芯片

图片来源:AWS

CI/CD环,省略很多目标搭建和基础测试

SoC芯片

图片来源:AWS

高通数字底盘与软件定义汽车架构

SoC芯片

图片来源:高通

云端的Digital Twin基本上可等同于物理SoC芯片,也有叫虚拟VECU,将SoC完全抽象化。当然英伟达也有Digital Twin,不过那是针对AI领域的,英伟达也有云端仿真测试,即NVIDIA DRIVE Sim,不过那主要还是依靠Omniverse的仿真,不是VECU。Omniverse主要瞄准游戏开发和工业AI领域,与VECU差别很大,顺便一提digital twin最早还是英伟达提出来的。

SoC芯片

图片来源:新思科技

SoC芯片

图片来源:MathWorks

SiL软件在环环节必备VECU,当然这需要SoC芯片厂家配合,做中央计算软件定义汽车必备最高的4级虚拟ECU,即全二进制虚拟ECU,实际上这样需要ARM这样的内核架构供应商协助。

SoC芯片

图片来源:TATA

高通自5G网络部署时期对DevOps已经具备非常深厚的基础,基本上高通把那一套搬到了汽车领域,而芯片从一开始就考虑原生云开发,就考虑了和AWS合作,这是高通足以抗衡英伟达的原因。不过在中国,软件开发人力资源充沛,软件开发成本低,且大多是全新开发项目,让基于原生云和CI/CD(DevOps)的软件开发优势不明显,但对老牌欧美厂家和大型Tier1来说,原生云和CI/CD(DevOps)的软件开发几乎是必备的,大众、宝马、奥迪、通用、三星哈曼、博世、法雷奥、马瑞利、松下、ZF、麦格纳、电装、黑莓、大陆汽车、LG基本都是如此。芯片厂家提供必要的支持,芯片厂家目前主要有高通和NXP。这些厂家和Tier1基本都选择了高通平台作为主力平台。

  


审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分