美国汽车工程师学会(SAE)定义了6个无人驾驶等级:从L0级的完全驾驶员控制,到L5级实现完全自动驾驶,正对应中国工信部实施的汽车驾驶自动化等级:0到5级。两种标准的整体分级方法类似,级别越高,责任规划就越倾向从驾驶人转为机动车辆。
图片来源:SAE官方网站
由此,自动驾驶系统的安全性成为智能驾驶向高阶推进的核心挑战。
要实现高等级的安全性,一方面需要部署数量更多、精度更高的传感器,另一方面需要大算力以及同大算力匹配的底层硬件系统。这些需求在驱动汽车行业从E/E分布式架构转向功能域和中央计算架构,汽车功能的集成化进一步带来了“硬件趋同、软件定义”的行业呼声。
什么是“硬件趋同、软件定义”:OEM所选择的芯片种类和域控硬件平台趋于标准化,这为“软件定义汽车”提供了前提,OEM基于服务和场景进行软件开发,通过OTA实现功能的快速迭代,从而满足愈发多样的市场需求。
这一模式中,中间件(Middleware)起到非常重要的作用。对于多核异构的底层计算架构而言,中间件可以提供操作系统无法覆盖的服务需求,例如提供通信、调度、时间同步、诊断等功能;对于应用层,中间件可以提供标准API接口,简化应用的开发、集成和复用难度。
总体而言,中间件是位于操作系统和应用程序之间的软件层。它使系统的各个组件能够更灵活地部署和交互,让软件开发人员专注于开发其应用程序的业务逻辑上,而不将精力花费在不同软件组件的连接上。
华玉通软联合创始人毕晓鹏提出,中间件不仅可以实现软硬解耦、软件与操作系统解耦,也是进一步实现软软解耦的关键。尤其在智能驾驶功能域中,大量节点需要进行频繁的信息交互,在多核异构的大算力架构下,融合来自不同传感器的感知信息、核内通信、跨核通信、跨芯片通信、跨域通信,都需要通信中间件(Communication Middleware)从中协调。
毕晓鹏 华玉通软联合创始人
DDS作为通信中间件主流方案的优势
毕晓鹏介绍,行业内主流的通信中间件解决方案是DDS(Data Distribution Service),译为数据分发服务,由对象管理组织OMG进行定义,是基于DCPS(以数据为中心的发布订阅)模型的一种中间件协议和API标准。
图片来源:华玉通软
首先,DDS强调以数据为中心。区别于其他以消息为中心的通信中间件,DDS能知晓数据类型、控制和共享这些数据,并基于对传输内容的理解,为业务逻辑开发者提供灵活的通信逻辑的控制方法,例如基于内容的过滤。
第二,DDS会提供丰富的服务质量QoS(Quality of Service)配置选项,用户可以根据具体的智能驾驶应用场景选择最优化的通信策略,例如可靠性(Reliability)、持久性(Durability)等。
使用QoS的好处在于:在面对不同应用场景时,工程师不必通过代码实践对应的通信逻辑。例如配置冗余时,不需要协调不同节点间的逻辑,配置适当的QoS即可以帮助订阅方自动订阅信息,并在主节点和冗余节点间进行切换。
QoS是DDS在动态化、高要求、不可预测的复杂环境中提供灵活适应的数据传输服务的关键因素。毕晓鹏表示,除协议中的标准配置外,华玉通软目前已经拓展到60~70种QoS策略服务。
此外,DDS还具备动态发现、高可扩展性、高可伸缩性、无单点失效、应用程序可移植性等优势。
DDS另一个重点是动态发现(Dynamic Discovery),动态发现机制大大增强了DDS应用程序的扩展性和移植性,实现大家广泛需求的"即插即用",应用程序上线或下线前,无需告知任何服务方或数据交互节点,只需要发布或订阅自己感兴趣的主题,即可完成对于该主题对应数据的发送和接收。DDS实体之间(包括Participant与Participant之间、Writer与Reader之间)的相互发现和匹配,全部在底层的DDS发现机制中实现,用户应用层面实现最大程度的解耦。
毕晓鹏认为,非DDS其他通信中间件大多数只完成了信息从发布方传输到订阅方的工作,而以数据为中心的DDS更能简化应用层的逻辑开发或集成,包括通信安全方面,工程师也可通过配置的方式灵活地加入身份认证、读写权限、信息加密等安全模块属性。
图片来源:华玉通软
总结来说,DDS可以帮助用户最大程度实现通信自动化,做到"即插即用",在工程化系统部署和未来架构扩展时,使用DDS可以大幅降低整体工作量和系统复杂度。
华玉推出“雨燕”通信中间件 实现全面自研
智能网联时代,车机从单独的个体转化为数字网络生态的一部分,车路协同、车车通信成为必经之路,继续使用开源DDS和海外软件商提供的DDS产品在信息安全方面会遭遇潜在的挑战。毕晓鹏认为,当前的国际形势之下,在关键领域发展自研,实现国产自主可控是非常重要的事情,这也是华玉通软几年前开始布局DDS,发展智能驾驶领域高性能通信中间件技术的一大驱动因素。
此外,DDS本身有很高的技术壁垒,华玉通软实现全面自研,也有助于在DDS软件成型后期的工程化阶段满足客户的定制化需求:多核传输、不同操作系统、不同场景下的QoS定制、复杂场景下的稳定性、以及与AUTOSAR CP和AUTOSAR AP的集成等要求。
图片来源:华玉通软
经过多年的技术积累,华玉通软已经建立了DDS自研的技术壁垒。毕晓鹏表示,华玉通软目前推出的“雨燕”通信中间件(SWIFT DDS) 是国内首个基于DDS标准完全独立自主研发的高性能通信中间件,提供以数据为中心、描述分布式网络环境下数据交互行为的实时通信服务,从架构到源代码,完全独立自主研发,未使用开源模块。
“雨燕”在操作系统层可适配Linux,QNX,VxWorks,Android,AUTOSAR AP/CP以及FreeRTOS等实时操作系统,硬件层可适配Nvidia Orin、NXP S32G、TI TDA4、Infineon TC39x等车厂常用芯片。华玉提供的“雨燕”通信中间件产品包括核心软件和工具链两个部分,核心软件主要包括标准版本“雨燕”、“雨燕”实时版本(SWIFT DDS-RT)以及DDS Security等协议扩展模块,工具链包含数据类型定义、通信系统配置、通信监控、录包回放、代码自动生成等服务和功能。
除“雨燕”标准版之外,华玉通软专门提供“雨燕”实时版本,供用户在资源有限的MCU上或者异构芯片的R核或者M核上进行DDS的部署和通信支持。两个版本都会提供无裁剪、全功能的DDS逻辑实现以及QoS完整策略。华玉同时提供DDS所有扩展模块,以及整套工具链支撑,旨在帮助客户在实际应用中实现软件全生命周期的高效集成和部署。
“雨燕”通信中间件产品结构图 图片来源:华玉通软
“雨燕”四大优势 瞄准全域互通互联
“雨燕”通信中间件的核心优势为何?毕晓鹏围绕华玉目前与OEM、Tier1进行的工作实践,进行了以下总结:
第一,性能优秀。搭载英伟达的芯片进行定量化测试,对比开源版本的DDS,“雨燕”延迟更低、数据吞吐量更大,更关键的是,多节点运行时CPU等资源占有率更加稳定。
图片来源:华玉通软
第二,通信安全。“雨燕”的安全模块可以帮助客户实现身份认证、信息加密、读写权限控制等多重安全机制,并允许进行细颗粒度的配置。无需应用开发工程师再自行开发通信安全逻辑,由于安全机制选项可直接在配置文件中进行调整,也免去了修改代码反复编译带来的复杂度。
第三,适配性强。“雨燕”对多种底层通信方式提供支持,包括UDP/IP, TCP/IP, 共享内存,零拷贝以及核间通信,目前华玉也正在推进DDS和TSN的结合。对于汽车平台生态系统,华玉也分别在AUTOSAR CP和AUTOSAR AP上进行了集成,供客户更灵活地进行选择。
图片来源:华玉通软
第四,落地经验。毕晓鹏表示,华玉通软目前已经同多家头部OEM和Tier 1企业进行定点合作,在多种硬件平台和复杂的应用场景下进行了“雨燕”通信中间件和工具链的实践验证,并根据需求为客户提供定制化的解决方案,积累了丰富的工程经验。
图片来源:华玉通软
毕晓鹏说,华玉通软的初衷是专注于智能驾驶基础软件的研发与创新,“希望通过具备完全自主知识产权的底层核心技术,帮助客户构建新电子电器架构下的互联互通”。基于已经成熟的“雨燕”通信中间件产品,华玉通软会陆续融入包括确定性调度、执行管理、升级管理等中间件模块,支持不同的操作系统和硬件平台,对上层应用提供安全实时的运行环境,用完全自主的基础软件平台为软件定义汽车提供坚实的底层支撑。
(以上内容根据华玉通软联合创始人毕晓鹏博士于2022年8月4日由盖世汽车、AUTOSAR组织联合主办的2022第三届软件定义汽车论坛暨AUTOSAR中国日发表的《高性能通信中间件在智能驾驶中的应用》主题演讲进行理解和整理。)