国汽智控副总裁於大维演讲全文《软件定义汽车·智能驾驶操作系统开发与实践》

2022-08-04 20:28:33·  来源:国汽智控订阅号  
 
8月2日,由中国智能网联汽车产业创新联盟基础软件工作组、国汽智控(北京)科技有限公司、电子科技大学联合协办的CICV2022“SDV时代的智能汽车基础软件”专题分

8月2日,由中国智能网联汽车产业创新联盟基础软件工作组、国汽智控(北京)科技有限公司、电子科技大学联合协办的CICV 2022“SDV时代的智能汽车基础软件”专题分会在亦创国际会展中心顺利召开,分会由国汽智控总经理、首席技术官尚进博士担任会议主席。

会上,国汽智控研发副总裁於大维发表《软件定义汽车·智能驾驶操作系统开发与实践》主题演讲,全文如下:

图片

大家好,很高兴在这里和大家一起分享关于软件定义汽车的一些思考,以及国汽智控在软件定义汽车整体理念下的产品技术架构和研发实践。软件定义汽车是当今智能驾驶汽车行业中一个非常活跃的技术领域。谈到软件定义汽车,我们需要回顾一下整体汽车电子电气架构演进的技术路线。起初汽车EE架构是由分布离散、数量众多的硬件ECU组成,汽车软件开发也是面向硬件,基于ECU的独立纵向开发。这种软件开发模式显然无法满足日益复杂且规模不断扩大的智能驾驶功能和应用需求。EE架构的发展趋势向集中化域控演进。ECU数量逐渐减少,功能也日益集中在少数域控上,并且向更加集中化发展。今天的智能驾驶汽车可以比作四个轮子上的计算中心,集中域控目前实际上是高算力、高性能、多计算单元的计算机系统 (HPC)。有了高算力的计算系统,我们才有可能开展大规模复杂的软件工程,支持高阶智能驾驶AI算法和功能应用开发,并把算法和功能的计算和逻辑结果通过网关和总线下发到车控,然后通过所谓Drive-by-Wire,实现汽车数字化转型、实现智能驾驶。当然,未来E/E架构的进一步发展需要突破单车的物理局限,通过车路云协同把自动驾驶和智能驾驶拓展到更广阔的领域。

图片

从另一个方面来看,智能驾驶今天面临很多挑战,最主要的包括海量数据处理、复杂功能和快速升级迭代的需求。智能驾驶汽车每天产生的数据量都是爆炸性增长,异构数据形态千变万化,例如车辆、底盘、传感器、环境、自驾算法、智能驾舱数据等等,数据特性和处理要求也具有很大的差异性;与过去相比,自动驾驶功能也越来越复杂,客户需求、系统设计、代码实现也都在不断地迭代和变化,这些都需要一个快速迭代开发模式。所有这些,只有在更加集中、高算力高性能的域控计算机系统才能展开更大规模的软件工程,体现软件工程的巨大优越性,这也是软件定义汽车目前发展的趋势。通过软件赋能智能驾驶汽车;通过软件进一步体现产品差异化、架构差异化;通过软件提供灵活、快速、敏捷的升级迭代。软件定义汽车的核心就是开发智能驾驶操作系统,相比传统操作系统如Linux,这里指的是广义操作系统,狭义操作系统在这里就会变成内核组件或者组成部分,通过标准接口封装,提供基础操作系统的一系列服务,更广义操作系统是在这些内核服务基础上,通过服务南向支持跨异构平台,北向支持功能和应用开发。随着智能驾驶软件开发越来越复杂,我们需要有一套完整合理的软件开发模式和软件开发架构才能做到, 把一个大的复杂的系统进行拆解,使其模块化、抽象化、层次化,层次之间提供标准规范的数据接口、功能 API和工具链,做到可移植化。这就是所谓基于服务的开发模式 (SOA)。这也是在ICT行业里比较成熟的方案,通过ICT和汽车行业在软件开发方面的融合,在满足功能安全的前提下,提高复杂软件工程的敏捷性和开发效率。总结一下,软件定义汽车的核心就是开发智能驾驶操作系统,而智能驾驶操作系统的核心是基于服务架构和开发模式。软件定义汽车要做到软硬解耦,这个非常关键,前面提到的E/E架构演进,最开始,是由数量众多的硬件ECU组成,软件开发和硬件紧耦合,无法满足无法开展大规模、复杂系统开发。软件定义汽车的第一个特性就是软硬解耦,通过软硬解耦,软件才能聚焦算法功能和应用本身的开发,做到最优化。另外提到过,自动驾驶的特性之一就是海量数据的处理,所有算法功能应用都是数据驱动,包括传感器数据、车辆底盘数据、用户数据等,软件定义汽车以数据驱动为导向,从数据接入、数据抽象、预处理、AI算法和功能应用服务,从东向西完整的端到端数据处理和生命周期管理。下面介绍一下国汽智控智能驾驶操作系统ICVOS的产品架构。大家可能熟悉2019年发布的《车载智能计算基础平台参考架构1.0》,它是智能驾驶操作系统最具有代表性的架构,也是我司产品开发架构的基础。主要分为四个层面:异构硬件平台,系统软件包括原来狭义的操作系统,包括功能软件和应用软件,这也是智控整体产品设计的架构基础。

图片

图中展示的是国汽智控智能驾驶操作系统ICVOS,是智能驾驶全栈操作系统基础软件。由于时间关系我这里简单阐述一下整体框架, 从下往上来简单来看,最底层是异构硬件平台,跨平台支持多种不同传感器、执行器、硬件计算单元以及不同车辆平台;系统软件包括原来说的狭义操作系统的Linux,这些成为操作系统的内核,可以提供基本的操作系统服务,例如功能调度、文件系统、内存、接口等。中间件提供高性能的数据通信和服务;然后是功能软件,其核心是以数据驱动的从传感器接入一直到控制的端到端数据处理流程,也叫数据流。对算法、自动驾驶和其他相关功能所需要的逻辑进行编排、组合、调度和实时运行管理,达到系统高实时、高性能和高稳定性的运行,同时承载各种智能驾驶相关的基础服务;最上面是智能驾驶应用开发,利用数据流和系统平台提供的服务,进行定制化应用开发。跨平台支持异构硬件要做好其实是非常难的一件事,因为每个硬件特性和处理流程都不尽相同。我们需要开发一套跨平台硬件抽象适配层,提取共性特性,提供平台适配所需的驱动、工具链和其他软件包,让适配平台变得比较便利,降低门槛,提高效率。为此我们也一直在努力开发迭代,支持跨平台服务。数据流是功能软件的重要组成部分。通过数据驱动,实现智能驾驶所需的感知、融合、规划、控制算法和其他功能所需要的高性能、实时性端到端的数据处理,并对这些功能逻辑进行编排、部署和实时调度,达到高实时、低延时和车规功能安全;同时数据流也承载多种服务,例如可插扩算法、环境模型、数据上传、数据安全、监控管理等都是功能软件的核心。中间件包括两个层面:高性能数据通讯和服务封装。通过高性能通讯层优化,实现跨核、跨域、跨板卡通信;通过中间件服务封装,上面运行的功能软件可以很容易适配不同种类中间件,例如ROS2、AP、DDS、冰凌等。很多客户的自动驾驶算法和应用来自第三方供应商,为了支持多种应用定制化开发,ICVOS提供一系列应用开发SDK,也是SOA的一种体现,例如配置SDK、算法SDK、模式管理SDK等,提供完整规范的接口、适配工具和基础共性实现,能够让第三方算法和应用基于数据流服务进行编排、加载、运行和生命周期管理,实现灵活敏捷的适配和其他定制化开发。另外这里简单提一下,随着智能驾驶功能的日益复杂,代码量的急剧增加,需求也经常有临时变更,往往很多部门同时产品和项目开发,产品、架构、软件硬件、软件研发、功能安全、质量、仿真、测试、集成等等,面对大规模复杂的软件工程,如何实现高效开发,也是一个非常关键的问题。国汽智控在产品开发中融合了DevOps和CI/CD的流程,通过技术架构、功能安全和质量,对产品需求、设计和临时变更需求进行快速审议和决策,在满足功能安全和质量的前提下,利用多种自动化工具,持续开发、持续测试、持续集成,缩短开发周期,加速开发迭代,提高开发效率。总结一下,软件定义汽车就是在集中域控计算系统上,基于多层次SOA,进行大规模软件工程,开发高性能、车规级智能驾驶操作系统。国汽智控在软件定义汽车的理念下,开发基于服务的智能驾驶操作系统ICVOS,并提供一系列SDK和工具链,支持整车厂和应用开发者进行灵活、敏捷地进行平台适配、定制化应用开发和产品落地。以上就是我的分享,谢谢大家!

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号