System operacyjny Android Automotive OS (AAOS) Software-Defined Vehicle (SDV) zapewnia modułową architekturę zorientowaną na usługi (SOA), która jest przeznaczona dla domen zasobów obliczeniowych nowej generacji w branży motoryzacyjnej, wykraczających poza systemy informacyjno-rozrywkowe. Platforma SDV AAOS jest oparta na lekkim, szybko uruchamiającym się bezgłowym systemie Android (SDV Core, podobnym do Microdroida). Działa na odizolowanych maszynach wirtualnych (VirtIO), co skraca czas uruchamiania i zmniejsza zużycie pamięci. Jednocześnie łączy usługi pojazdu za pomocą protokołów takich jak SOME/IP, pakiety usług VSIDL i integracja z Vehicle HAL (VHAL).
Na przykład SDV szybko aktywuje pojazd, gdy użytkownik się do niego zbliża. W niektórych konfiguracjach SDV wyświetla też zawartość zestawu wskaźników, gdy użytkownik zaczyna korzystać z pojazdu.
Integracja z Androidem Infotainment (AAOS IVI)
SDV jest opracowywany z myślą o ścisłej integracji z systemem operacyjnym Android Automotive OS In-Vehicle Infotainment (AAOS IVI). Umożliwia to wbudowaną, bezpieczną i zaawansowaną komunikację między tymi dwoma systemami.
SDV działa jako maszyny wirtualne
Architektura jest przeznaczona do działania jako system operacyjny uruchomiony w maszynie wirtualnej na hiperwizorze obsługującym VirtIO. Ułatwia to testowanie i integrację w chmurze. Architektura ta oferuje też wiele maszyn wirtualnych na tym samym procesorze, co zapewnia izolację, a także niezależną od platformy konstrukcję, która obniża koszty integracji.
Łączenie usług SDV między maszynami wirtualnymi
Jednym z celów inicjatywy SDV jest obniżenie kosztów integracji oprogramowania innych firm. Głównym elementem prac nad SDV jest bezproblemowe łączenie usług w ramach jednej lub wielu maszyn wirtualnych.
W Androidzie 17 (26Q2) i nowszych deweloperzy usług definiują interfejsy RPC i tematy publikowania i subskrypcji deklaratywnie za pomocą języka definicji interfejsu usług pojazdu (VSIDL, .vsidl) i buforów protokołu (.proto), które kompilator vsidlc tłumaczy na powiązania biblioteki klienta. Ta niezależna od transportu architektura umożliwia bibliotece klienta oprogramowania pośredniczącego abstrakcję transportów międzyprocesowych i między maszynami wirtualnymi, w tym gniazd VirtIO (vsock), Ethernetu, Bindera, gRPC i Fast Message Queue (FMQ), a także obsługę zewnętrznych protokołów elektronicznej jednostki sterującej (ECU), takich jak SOME/IP (ISomeIpStack).
Komponenty samochodowe opracowane przez Google
Aby testować przypadki użycia SDV w motoryzacji, zespół Google SDV opracowuje kilka popularnych komponentów samochodowych. Obejmują one orkiestrację usług, zarządzanie trybem zasilania pojazdu, integrację SOME/IP i telemetrię.
Obsługa telemetrii
Spełnienie podstawowych wymagań producentów OEM wymaga dobrze zaprojektowanego systemu telemetrii, który umożliwia monitorowanie pojazdów, ulepszanie działania systemu i zarabianie na określonych przypadkach użycia. Architektura SDV jest zintegrowana z telemetrią pojazdu. Głównym celem telemetrii jest zbieranie danych o pojeździe bez konieczności aktualizacji.
Telemetria definiuje nowy język zaprojektowany w protokole protobuf, który opisuje scenariusze zbierania danych. Ten język definiuje zbieranie danych z usług SOA, przetwarzanie tych danych na urządzeniach brzegowych i tworzenie raportów o wskaźnikach na potrzeby aplikacji telemetrycznej, która je przesyła. Telemetria obejmuje backend w chmurze, który generuje i weryfikuje konfiguracje wskaźników przed wysłaniem ich do pojazdu.
Integracja z Google Cloud na potrzeby tworzenia oprogramowania
Jedną z zalet SDV jest to, że umożliwia symulowanie i opracowywanie oprogramowania SDV bezpośrednio w chmurze, ze specjalistycznym sprzętem lokalnym lub bez niego. SDV korzysta z istniejących technologii Google, takich jak Cuttlefish. Zespół SDV współpracuje z innymi zespołami, aby sprawdzić, czy obsługiwane są jego specjalne potrzeby, takie jak topologia wielu maszyn wirtualnych.
Ta technologia obsługuje też tryb ciągłej integracji i tryb ciągłego dostarczania (CI/CD) w infrastrukturze Google Cloud przed wdrożeniem nowych aktualizacji oprogramowania w pojeździe.
Włączanie interfejsu użytkownika instrumentów pojazdu
SDV włącza interfejs użytkownika klastra instrumentów, uruchamiając go w ciągu około 1–2 sekund. Display Safety udostępnia interfejs użytkownika do funkcji związanych z bezpieczeństwem. Na przykład wskaźniki samochodowe, takie jak prędkościomierz i kontrolki.