O veículo definido por software (SDV, na sigla em inglês) do Android Automotive OS (AAOS) oferece uma arquitetura modular e orientada a serviços (SOA) projetada para domínios de computação automotiva de próxima geração além do infoentretenimento. Criada em uma base Android sem interface gráfica leve e de inicialização rápida (SDV Core, semelhante ao Microdroid), a plataforma SDV do AAOS é executada em máquinas virtuais isoladas (VirtIO) para reduzir o tempo de inicialização e o consumo de memória, interconectando os serviços do veículo usando protocolos como SOME/IP, pacotes de serviços VSIDL e integração do HAL veicular (VHAL).
Por exemplo, o SDV ativa rapidamente o veículo quando um usuário se aproxima. Em algumas configurações, o SDV também mostra o conteúdo do painel de instrumentos do cluster quando um usuário começa a interagir com o veículo.
Integração com o Android Infotainment (AAOS IVI)
O SDV foi desenvolvido para integração estreita com o sistema de infoentretenimento no veículo (IVI) do Android Automotive OS (AAOS). Isso permite uma comunicação integrada, segura e avançada entre os dois sistemas.
O SDV é executado como máquinas virtuais
A arquitetura foi projetada para operar como um sistema operacional executado em uma máquina virtual em um hipervisor compatível com VirtIO. Isso facilita os testes e a integração na nuvem. A arquitetura também oferece várias máquinas virtuais na mesma CPU para isolamento e um design independente de plataforma que reduz os custos de integração.
Interconectar serviços de SDV em VMs
Um dos objetivos da iniciativa SDV é reduzir o custo da integração de software de terceiros. Um dos principais componentes do SDV é interconectar serviços de maneira integrada em uma ou várias máquinas virtuais (VMs).
No Android 17 (26Q2) e versões mais recentes, os desenvolvedores de serviços definem interfaces RPC e
tópicos de publicação/assinatura de forma declarativa usando a linguagem de definição
de interface de serviços de veículos (VSIDL, .vsidl) e buffers de protocolo (.proto),
que o compilador vsidlc traduz em vinculações de biblioteca de cliente. Esse design independente de transporte permite que a biblioteca cliente de middleware abstraia transportes entre processos e entre VMs, incluindo sockets VirtIO (vsock), Ethernet, Binder, gRPC e Fast Message Queue (FMQ), além de oferecer suporte a protocolos de unidade de controle eletrônico (ECU) externos, como SOME/IP (ISomeIpStack).
Componentes automotivos desenvolvidos pelo Google
Para testar casos de uso automotivos do SDV, a equipe do Google SDV está desenvolvendo vários componentes automotivos comuns. Isso inclui orquestração de serviços, gerenciamento do modo de energia do veículo, integração SOME/IP e telemetria.
Suporte para telemetria
Para atender aos requisitos essenciais dos OEMs, é necessário um sistema de telemetria bem projetado para monitorar os veículos, melhorar o comportamento do sistema e monetizar determinados casos de uso. A arquitetura SDV se integra à telemetria do veículo. O objetivo principal da telemetria é coletar dados do veículo sem exigir uma atualização.
A telemetria define uma nova linguagem, projetada em protobuf, que expressa cenários de coleta de dados. Essa linguagem define a coleta de dados dos serviços de SOA, processa esses dados na borda e cria relatórios de métricas para o upload do aplicativo de telemetria. A telemetria inclui um back-end na nuvem para gerar e validar configurações de métricas antes de enviá-las ao veículo.
Integração do Google Cloud para desenvolvimento de software
Um dos benefícios do SDV é que ele permite simular e desenvolver software de SDV diretamente na nuvem, com ou sem hardware local especializado. A SDV usa tecnologias do Google, como o Cuttlefish. A SDV trabalha com as equipes equivalentes para verificar o suporte às necessidades especiais, como a topologia de várias máquinas virtuais.
Essa tecnologia também oferece suporte à integração e entrega contínuas (CI/CD) na infraestrutura do Google Cloud antes de implantar novas atualizações de software no veículo.
Ativar a interface do usuário dos instrumentos do veículo
O SDV ativa a interface do usuário do instrumento de cluster inicializando em aproximadamente um ou dois segundos. A Segurança de display oferece uma interface do usuário para recursos relevantes de segurança. Por exemplo, instrumentos do carro, como velocidade e luzes indicadoras.