Il software per veicoli definiti dal software (SDV) di Android Automotive OS (AAOS) estende Android oltre l'infotainment in-vehicle (IVI) per supportare i domini di calcolo automobilistici.
AAOS SDV viene eseguito in un ambiente multi-VM su un sistema automobilistico su chip (SoC), in genere insieme a un sistema IVI. AAOS SDV è un'istanza Android headless che sfrutta la virtualizzazione con i driver VirtIO.
Questa architettura consente alla stessa immagine di sistema di essere eseguita in ambienti virtuali basati su cloud (Cuttlefish) o su qualsiasi hypervisor conforme a VirtIO sull'hardware di destinazione. AAOS SDV fornisce una piattaforma standardizzata, aggiornabile e sicura per le funzioni del veicolo non IVI.
Figura 1. Ambiente AAOS.
Funzionalità chiave
Le funzionalità chiave di AAOS SDV sono descritte in questa sezione.
Sviluppo basato su cloud (gemello digitale)
AAOS SDV viene eseguito sul dispositivo virtuale Cuttlefish, consentendo un digital twin degli ambienti di calcolo del veicolo nel cloud o sulle macchine locali. Ciò consente lo sviluppo e il test del software del veicolo, dai singoli servizi alle interazioni multi-VM, prima che l'hardware fisico sia disponibile, accelerando il time to market.
Componenti chiave:
- Cuttlefish: emula l'ambiente SDV multi-VM.
- Android Studio for Platform (ASfP): fornisce strumenti per lo sviluppo e il deployment di servizi basati su Rust in Cuttlefish.
Visualizzazione sul quadro strumenti e a criticità mista
AAOS SDV supporta casi d'uso, come i quadri strumenti digitali, che richiedono la visualizzazione a criticità mista, che mostra informazioni critiche per la sicurezza come le spie di avvertimento (telltales) insieme a contenuti grafici avanzati. Questa visualizzazione deve essere disponibile all'inizio della sequenza di avvio del veicolo.
Componenti chiave:
- SDV Media: abilita le funzionalità grafiche e multimediali in una VM non IVI.
- Display Safety: fornisce percorsi di rendering funzionalmente sicuri e di avvio anticipato per informazioni e spie di avvertimento del cluster critiche.
Integrazione e comunicazione dei servizi automobilistici
La piattaforma facilita l'integrazione con le architetture di rete dei veicoli esistenti utilizzando un'architettura orientata ai servizi (SOA). Sono inclusi la comunicazione tra VM, la gestione del ciclo di vita dei servizi e la comunicazione con i servizi su altre ECU.
Componenti chiave:
- SDV Core OS: fornisce un'istanza Android headless per i servizi principali:
- Comunicazione tra VM
- Rilevamento e gestione dei servizi
- Aggiornamenti di sistema e gestione dell'alimentazione
- Punti di integrazione per i servizi di diagnostica, configurazione e calibrazione
- Broker SOME/IP: consente la comunicazione tra i servizi SDV e i servizi ECU esterni utilizzando middleware orientato ai servizi scalabile su IP (SOME/IP).
Elaborazione dei dati sul dispositivo
AAOS SDV include framework per la raccolta dei dati sul dispositivo e l'elaborazione edge.
SDV Telemetry facilita la raccolta dei dati sul dispositivo e l'elaborazione edge per i servizi da veicolo a cloud, con supporto per la configurazione dinamica.
Obiettivi
- Consentire ai partner di valutare le funzionalità e l'architettura di AAOS SDV
- Convalidare i workflow e gli strumenti per gli sviluppatori, incluso Android Studio for Platform (ASfP) per lo sviluppo basato su Rust
- Raccogliere feedback tecnici su API, progettazione del sistema e documentazione
Ambito
- Accesso: si basa sul ramo
maindi Android. - Ambiente: emulatore Cuttlefish multi-VM.
- Configurazione: una delle seguenti configurazioni:
- Configurazione del progetto Google Cloud con script per l'utilizzo in un tenant partner o in un ambiente di valutazione Qwiklabs
- Configurazione della macchina locale
- Focus: valutazione della piattaforma, esperienza di sviluppo e feedback.
- Non incluso:
- Sviluppo del programma per veicoli di produzione; per il software pronto per la produzione, contatta il tuo partner di Sviluppo aziendale di Google.
- Software completo di funzionalità
- Benchmarking dettagliato delle prestazioni
Inizia
Per istruzioni sulla configurazione e sull'utilizzo dell'ambiente, vedi Inizia.