开源CI/CD管道:破解软件定义车辆的变体管理与OTA更新难题

论文:An OpenSource CI/CD Pipeline for Variant-Rich Software-Defined Vehicles

arXiv:2507.19446
An OpenSource CI/CD Pipeline for Variant-Rich Software-Defined Vehicles
Matthias Weiß, Anish Navalgund, Johannes Stümpfle, Falk Dettinger, Michael Weyrich
Comments: 7 pages, 5 figures
Subjects: Software Engineering (cs.SE); Distributed, Parallel, and Cluster Computing (cs.DC)

研究背景:软件定义车辆的“成长烦恼”

想象一下,未来的汽车不再是“买完即定型”的机械产品,而是像智能手机一样,能通过远程更新不断增加新功能——比如今天升级自动泊车算法,明天新增行人识别能力。这就是软件定义车辆(SDVs) 的核心价值:依靠软件实现动态功能扩展,而这一切都依赖于空中下载(OTA)更新技术。

但SDVs的普及带来了一个棘手问题:软件变体爆炸。不同车型的硬件配置(如传感器、芯片)、地区法规(如排放标准)、用户需求(如豪华版vs基础版),都会导致软件需要“量身定制”。比如同一品牌的两款车,可能因搭载的摄像头型号不同,需要两套不同的图像识别算法;再加上车辆生命周期长达10-15年,频繁的OTA更新会让软件版本和变体数量呈指数级增长。

更麻烦的是,目前汽车行业缺乏统一的软件集成环境,车企、供应商的系统往往各自为战。这就像不同品牌的手机用不同的系统更新通道,既难协同,又容易出故障。因此,如何在复杂的硬件和软件差异中,实现高效、可靠的软件更新,成了SDVs发展的关键瓶颈。

在这里插入图片描述

主要作者及单位信息

本文由德国斯图加特大学工业自动化与软件研究所(IAS)的团队完成,作者包括Matthias Weiß、Anish Navalgund、Johannes St¨umpfle、Falk Dettinger和Michael Weyrich,团队专注于汽车软件自动化与集成研究。

创新点:给SDVs打造“智能更新流水线”

这篇论文的核心创新,是提出了一套专为SDVs设计的开源CI/CD管道。简单说,就是用自动化工具搭建一条“软件生产线”,从代码编写到最终装车更新,全流程标准化、可扩展。它的独特之处在于:

  1. 变体感知能力:能根据车辆的硬件配置(如传感器类型、芯片性能)自动生成适配的软件版本,避免“一刀切”更新导致的兼容问题。
  2. 全类型软件支持:无论是底层的嵌入式固件(如发动机控制程序)、中层的车辆控制软件(如泊车逻辑),还是高层的AI模型(如目标检测算法),都能通过这条管道实现从开发到部署的全流程管理。
  3. 端到端自动化:从代码提交、测试、打包到OTA分发、回滚,全程无需人工干预,且所有步骤都可追溯——就像给软件更新装了“监控摄像头”,出问题能快速定位。
  4. 开源与模块化:基于开源工具(如Docker、ROS2)搭建,车企和供应商可以按需扩展,不用受制于单一厂商的封闭系统。

研究方法:一条“四阶段”流水线如何工作?

为了实现上述目标,团队设计了一套模块化的CI/CD架构,分为四个核心阶段,再加上专门的AI模型管理支线(MLOps管道),形成完整的“软件更新生态”。

1. 核心架构:四阶段流水线

阶段 核心任务 通俗解释
开发阶段 管理源代码和数据(如AI训练数据),根据车辆硬件配置生成“定制化生产计划”(变体特定构建管道) 就像厨师根据食客的饮食禁忌(如过敏食材)调整菜单,这里根据车辆硬件“禁忌”(如不支持某类算法)调整软件构建方案
构建与测试阶段 编译代码、训练AI模型,并通过自动化测试(如单元测试、模拟驾驶场景)验证软件可靠性 相当于工厂生产环节:既要把零件组装成产品(编译/训练),还要通过质检(测试)才能出厂
Artifact存储阶段 按类型存储通过测试的软件(嵌入式二进制文件、容器化应用、AI模型),并做好版本标记 类似仓库分类存储货物,每个“货架”(仓库)都标注了货物型号(版本)和适用场景(硬件兼容性)
部署阶段 由OTA中间件(分“云端调度中心”和“车载接收终端”)负责把软件推送到目标车辆,支持更新回滚 好比快递系统:云端确定“收货地址”(哪辆车需要更新),车载终端负责“签收”(安装)和“退货”(回滚)

2. AI模型专属支线:MLOps管道

对于SDVs中越来越重要的AI模型(如自动驾驶的目标检测),团队单独设计了流程:

  1. 从车辆传感器收集数据(如摄像头拍摄的路面图像);
  2. 清洗、标注数据(如标记“行人”“障碍物”);
  3. 用标注数据训练模型(如YOLOv8目标检测模型)并测试精度;
  4. 打包模型为容器化应用,通过主线CI/CD管道部署到车辆;
  5. 实时监控模型在实际行驶中的表现,数据反馈回第一步,形成“数据-训练-部署”的闭环。

3. 实验验证:用TurtleBots模拟真实场景

为了测试流水线的效果,团队搭建了一个自动代客泊车(AVP)实验室场景:用3台TurtleBot机器人(模拟车辆)、高性能计算机(模拟车载HPC)和后端服务器(模拟云端系统)组成测试环境,重点验证三类软件更新:

  • 嵌入式软件:给两台不同硬件配置的“车辆”推送适配的ECU固件,验证变体识别能力;
  • 控制软件:通过Snapcraft工具自动更新泊车逻辑,验证容器化部署的稳定性;
  • AI模型:给机器人部署两代目标检测模型(V1识别木块和机器人,V2新增锥体识别),验证AI模型更新的无缝性。

主要贡献:让SDVs的软件更新“从混乱到有序”

这项研究的价值,简单说就是“解决了三个关键痛点”:

  1. 驯服变体爆炸:通过变体感知能力,让车企不用为每款车单独维护一套更新系统,降低了开发和维护成本——就像用“万能遥控器”替代一堆不同型号的遥控器。
  2. 加速创新落地:OTA更新全流程自动化,让新功能从研发到上车的时间大幅缩短。比如一个优化的泊车算法,可能从“实验室验证”到“用户可用”只需几天,而不是过去的数月。
  3. 保障安全可靠:自动化测试和回滚机制,能在软件出问题时快速“撤回”,避免大规模故障。实验中,团队成功让“车辆”在更新失败后恢复到上一版本,验证了这一能力。

一段话总结:

本文提出了一种开源CI/CD管道,专为软件定义车辆(SDVs) 设计,以应对其因车辆多样性、云/边缘环境及利益相关者差异导致的软件版本和变体增多、缺乏统一集成环境等挑战。该管道通过容器化开源工具自动化构建、测试和部署阶段,结合自定义OTA中间件实现软件更新分发与回滚,并支持自动驾驶AI模型的持续开发部署。通过自动代客泊车(AVP)场景(涉及TurtleBots和后端服务器)评估,验证了其能实现无缝OTA更新、正确变体选择及跨目标协调,为SDVs的软件变体管理和OTA更新提供了可扩展高效的解决方案。


思维导图:

在这里插入图片描述


详细总结:

  1. 引言

    • 软件定义车辆(SDVs) 具备丰富的连接功能(如增强驾驶行为、车队管理),通过OTA机制持续更新,因车辆、云/边缘环境及利益相关者多样性,导致软件版本和变体激增。
    • 现有挑战:缺乏统一集成环境,连接 mobility 解决方案常孤立开发,需动态协调考虑软硬件 variability 的功能以确保异构系统可靠运行。
    • 本文提出开源CI/CD管道,结合容器化开源工具实现构建、测试、部署自动化,提供标准化、可移植、可扩展的生态系统,支持OTA更新、回滚及自动驾驶AI模型的持续部署。
  2. 背景

    • 变体丰富的SDVs:高可配置性带来软件生态管理复杂性,SDVs生命周期长达10-15年,高频更新与高变体结合易导致软件退化,行业采用软件产品线工程(SPLE)应对,但变体管理仍具挑战。
    • DevOps与CI/CD:DevOps通过CI/CD实现快速可靠更新,MLOps扩展支持AI模型的持续训练与部署;现有工具(如COVESA、SOAFEE)缺乏变体感知部署支持,且难构建封闭ML数据循环。
  3. 管道架构

    • 核心功能域(按CI/CD流程):
      阶段 核心功能 关键输出
      开发阶段 管理源代码、数据准备(AI相关),生成变体特定构建管道 变体适配的构建配置(含依赖、测试参数)
      构建与测试阶段 编译嵌入式软件、构建容器镜像、训练AI模型;执行单元/集成测试、模型验证 通过测试的软件 artifact(二进制、容器、模型)
      Artifact存储 分类存储至二进制仓库(ECU固件)、软件仓库(容器化应用)、模型仓库(AI模型及元数据) 版本化、可追溯的 artifact
      部署阶段 云中间件确定兼容性、协调更新;客户端中间件安装更新、验证完整性 跨ECUs、HPCs、云后端的成功部署
    • MLOps管道:数据收集(传感器数据)→准备(标注、预处理)→训练(超参数调优、评估)→存储(模型仓库)→部署(车载推理节点)→监控(准确性、延迟)。
  4. 评估

    • 实验场景:基于自动代客泊车(AVP) 场景,使用TurtleBots、HPCs、后端服务器及ESP32模拟ECUs。
    • 具体结果:
      • 嵌入式软件更新:2种ECU配置变体成功接收特定OTA包,支持回滚。
      • 车辆控制软件更新:AVP应用通过Snapcraft实现版本跟踪、自动更新,后端API验证功能正常。
      • AI模型更新:2种目标检测变体(YOLOv8模型)成功部署,Version 1检测木块和机器人,Version 2扩展至锥体,部署流程符合CI/CD管道。
  5. 结论

    • 该管道实现了SDVs的稳定、变体感知部署,支持多类型软件(固件、控制软件、AI模型)的OTA更新与回滚,经真实环境验证具可扩展性。
    • 未来方向:扩展至更大规模测试床,增强变体部署与特征模型集成能力。

关键问题:

  1. 问题:该开源CI/CD管道如何应对SDVs中软件变体激增的挑战?
    答案:管道通过开发阶段生成变体特定构建管道(基于目标车辆硬件配置、传感器及计算能力),在部署阶段由OTA云中间件基于部署目标依赖和硬件配置推导更新变体,确保每个更新适配特定车辆的变体组合,同时结合软件产品线工程(SPLE)原则管理共性与变异性,从而应对变体激增挑战。

  2. 问题:在评估中,AI模型更新的具体流程和结果如何?
    答案:流程上,先收集TurtleBot传感器数据并预处理,使用YOLOv8模型训练(Version 1检测木块和机器人,Version 2扩展至锥体),容器化为ROS2节点后通过Docker部署;结果显示,模型成功通过CI/CD管道部署,Version 1准确检测目标,Version 2实现扩展检测,验证了AI模型持续部署的有效性。

  3. 问题:该管道与现有 automotive CI/CD解决方案相比,核心优势是什么?
    答案:相比现有方案,其核心优势在于:1)开源且模块化,结合容器化工具形成标准化、可移植生态系统,支持所有利益相关者访问;2)深度集成变体感知部署,原生支持基于硬件配置和目标依赖的变体选择;3)统一支持多类型软件(嵌入式固件、控制软件、AI模型)的全生命周期管理,包括OTA更新与回滚,而现有工具多缺乏变体支持或集成性不足。

总结:为未来出行按下“加速键”

软件定义车辆是汽车行业的未来,但软件变体管理和OTA更新的复杂性,曾是阻碍这一未来的“绊脚石”。本文提出的开源CI/CD管道,通过模块化设计、变体感知和全流程自动化,为解决这一难题提供了可行方案。

实验结果显示,这套管道能在模拟场景中实现无缝的软件更新、精准的变体匹配和可靠的故障回滚,证明了其在真实车辆中的应用潜力。对于车企来说,这意味着更低的开发成本、更快的功能迭代;对于用户来说,意味着爱车能“越用越智能”,始终保持最佳状态。

未来,随着更多车企加入开源生态,这套管道可能成为SDVs软件管理的“行业标准”,推动汽车从“机械产品”彻底转向“可编程的智能终端”。

解决的主要问题或成果

  • 核心问题:SDVs因硬件多样性和频繁OTA更新导致的软件变体管理复杂、更新效率低、兼容性差。
  • 关键成果
    1. 实现了跨硬件配置的变体特定软件更新,解决“一款软件难适配所有车”的问题;
    2. 构建了支持嵌入式软件、控制软件、AI模型的统一更新管道,打破“各软件各管一段”的割裂状态;
    3. 通过自动代客泊车场景验证,证明了管道能实现无缝OTA更新和快速回滚,可靠性得到验证。
Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐