如何高效可靠「低成本」地搭建面向量产的SOA软件平台
当下,主机厂在汽车智能化层面的竞争日益激烈。特别是在智能驾驶上,市场对于成本更低、功能更丰富、体验更好用的智能驾驶功能需求愈发强烈。“卷价格”和“卷技术”的背后,意味着算法应用数量大幅增加,功能更加复杂,而成本却要一步步下探。因此,如何以更高效率和更低的成本,去搭建面向量产的智能驾驶域控平台,并保证SOA软件架构达到严苛的安全及质量标准,最终以高质量“降本增效”的方式实现复杂算法的快速集成和上车,成为当前各家主机厂在智能驾驶研发时的核心需求,而功能完善的中间件,则是解决上述挑战最核心的产品。
在某知名Tier 1为某头部主机厂打造的面向量产的L2+智能驾驶域控平台项目中,华玉提供了全自研的中间件平台解决方案,帮助客户在极短时间内搭建起了完善的SOA架构,并完成上层算法与中间件的快速适配、集成与实车验证,构建了平台化的智驾解决方案。
具体来说,客户希望基于1颗地平线J5和1颗TI TDA4的硬件平台,打造高性价比6V5R的行泊一体智驾方案,并需要一套完整的中间件满足已有算法集成的全部底层需求,且具备灵活性和可扩展性。
通信层面
6V5R的方案需要实现大量的感知数据、分类数据、融合数据、路径规划数据,以及车控数据等在J5与TDA 4芯片间、TDA4 A核内部、以及TDA 4 A核与TDA 4 main域R核(2核)及 MCU域R核(4核)之间,进行可靠、实时、安全的传输。通信系统中包含20+个参与者(Participant)、200+个主题(Topic),以及对应数量的各类实体(DataWriter、DataReader等),通信场景包括5ms-40ms不同周期下的跨芯片、核内、核间的一发一收、一发多收、一收多发等不同场景。
作为解决方案,华玉将SWIFT DDS部署在了地平线J5、TDA4 A核、main域R核以及MCU域的R核上,为整个平台建立统一的通信架构。在上述场景中,每秒传输数据包数量为12000+,每秒DDS通信总数据量接近2GB。SWIFT DDS对下适配了UDP、SHM、Zero Copy、RPMSG等不同的通信渠道,用户在应用层可灵活选择可用且最适合的通信方式进行数据收发。在J5与TDA4之间,SWIFT DDS通过UDP的传输方式,实现64Byte大小的数据包平均延迟小于80us,1MB大小的数据包平均延迟小于11ms。在TDA4上的A核与R核之间,SWIFT DDS通过RPMSG核间通信方式,实现256KB大小的数据包平均延迟小于100us,且实现零丢包,确保了关键数据在核内、核间及芯片间实现实时、稳定和可靠传输。此外,SWIFT DDS实现了R核上的轻量化部署,协议栈初始化仅需要30KB空间。
调度层面
运行Linux的TDA4-A核上在任务拓扑关系中包含了多种类型任务:不同周期的时间触发型任务、事件触发型任务、存在依赖关系的任务、以及多个自由任务;在运行AutoSAR CP的TDA4-R核上则包含了5ms、10ms、20ms、40ms等不同周期的任务,同时,这些跨核的任务间存在一条对端到端有明确的延时限制的任务链,跨越感知->融合->决策->规划->控制。在上述场景要求下,所有的任务都必须得到编排和调度,保证在满足触发条件时被正确地启动和执行。
华玉的“海鸥”确定性调度中间件(SEAGULL DS)帮助客户实现了所有50+个任务的精准调度。在工程化过程中,客户只需定义和提供每个算法模块的预期触发方式和类似period、deadline、core_affinity等任务属性,SEAGULL DS工具会自动生成全局调度表,对每一个任务以及任务链进行全局排布和调度。在满足触发条件情况下, SEAGULL DS的确定性调度策略实现了算法任务在每个超周期内的确定性执行,避免了不必要的资源冲突和损耗,大幅度提升执行效率,同时降低任务链端到端的延迟及抖动。
集成和部署
同时,为支持客户核心算法模块快速地在包括通信、调度、执行管理在内的整个中间件平台上进行集成和部署,华玉为客户提供部署集成工具链Green Engine,直接对接客户已有的算法模块,客户只需提供算法API接口交互数据类型定义、模块间依赖关系及算法库,即可通过Green Engine界面化的工具自动完成全部集成工作。与中间件相关的代码和配置文件会自动生成于工程中,用户可直接编译即可生成最终的可执行文件。此举为客户工程师的开发工作节省了80%以上的代码量和时间成本,同时可以最大化地保证代码的一致性和稳定性,使客户可以快速完成台架仿真环境测试和实车调试。
简而言之,客户的开发工程师只需要关注算法业务逻辑函数中相关业务的代码实现,无需直接对接中间件, Green Engine会自动解析上层应用及应用间的交互关系,并自动生成中间件粘合代码,完成自动化系统集成,这进一步简化了上层应用的开发流程。此外,Green Engine中所使用的中间件全部由华玉自研,从根本上保障了中间件模块之间的兼容性,保障系统的高稳定性和高可靠性。
在整个项目中,客户通过部署华玉全自研的中间件平台,为客户大幅度降低了开发成本并缩短开发时间。从开发人员投入及时间上看,华玉在项目期间平均投入了2-3名工程师驻场,帮助客户完成域控平台的系统适配及集成,完全解耦上层算法与软件的集成工作,为客户节省约360+人/月的工作量,将原本搭建面向量产的SOA软件架构所需时间从1年节省至3个月,在保障系统可靠性的同时,大幅提升了集成效率,真正实现了高质量的降本增效。