Android Automotive OS (AAOS) 软件定义型车辆 (SDV) 提供模块化、面向服务的架构 (SOA),专为下一代汽车计算领域(信息娱乐之外)而设计。AAOS SDV 平台基于轻量级、快速启动的 Android 基础 (Microdroid) 构建,可在隔离的虚拟机 (VirtIO) 中运行,以缩短启动时间并减少内存占用空间,同时使用 SOME/IP、VSIDL 服务软件包和车载 HAL (VHAL) 集成来标准化车辆通信。
例如,当用户靠近时,SDV 会快速启动车辆。在某些配置中,当用户开始与车辆互动时,SDV 还会显示集群仪表的内容。
与 Android 信息娱乐系统 (AAOS IVI) 集成
SDV 旨在与 Android Automotive OS 车载信息娱乐 (AAOS IVI) 系统紧密集成。这样便可在两个系统之间实现内置、安全且高级的通信。
SDV 以虚拟机的形式运行
该架构旨在作为操作系统在支持 VirtIO 的 Hypervisor 上的虚拟机中运行。这有助于在云端进行测试和集成。该架构还可在同一 CPU 上提供多个虚拟机以实现隔离,并采用独立于平台的设计来降低集成成本。
实现 SDV 通信堆栈标准化
SDV 计划的目标之一是降低集成第三方软件的成本。SDV 的一个主要组成部分是标准化内部通信堆栈,以实现虚拟机内进程之间以及与其他虚拟机之间的通信。
SDV 还使用现有的 Android 通信技术,包括 Binder、gRPC 和 FMQ。这些 API 封装在一个新的 API Surface 中,以提供灵活性和专注于汽车性能和对象模型的设计。
Google 开发的汽车组件
为了测试 SDV Automotive 用例,Google SDV 团队正在开发多个常见的汽车组件。这些功能包括服务编排、车辆电源模式管理、SOME/IP 集成和遥测。
遥测支持
为了满足 OEM 的基本要求,需要设计完善的遥测系统来监控车辆、改进系统行为,并实现某些用例的创收。SDV 架构与车辆遥测技术相集成。遥测的关键目标是收集任何车辆数据,而无需更新。
遥测定义了一种新的语言(采用 protobuf 设计),用于表达数据收集场景。该语言定义了从 SOA 服务收集数据、在边缘处理数据,以及为遥测应用创建要上传的指标报告。遥测包括一个云后端,用于在将指标配置发送到车辆之前生成并验证这些配置。
Google Cloud 集成,适用于软件开发
SDV 的一个优势在于,无论是否使用专门的本地硬件,您都可以直接在云端模拟和开发 SDV 软件。SDV 使用现有的 Google 技术,例如 Cuttlefish。SDV 与其同级团队合作,验证对多虚拟机拓扑等特殊需求的支持。
在将新软件更新部署到车辆之前,此技术还支持在 Google Cloud 的基础架构中进行持续集成和持续交付 (CI/CD)。
启用车辆仪表界面
SDV 通过在大约一到两秒内启动,启用集群仪表用户界面。显示安全提供了一个与安全相关的功能界面。例如,车速表和指示灯等汽车仪表。