ארכיטקטורת מערכת SDV ב-AAOS

מערכת ההפעלה Android Automotive‏ (AAOS) לרכב מוגדר באמצעות תוכנה (SDV) ומספקת ארכיטקטורה מודולרית, מבוססת-שירותים (SOA) שמיועדת לתחומי מחשוב לרכב מהדור הבא, מעבר לבידור ומידע. פלטפורמת AAOS SDV מבוססת על Android קל משקל, ללא ממשק משתמש, עם אתחול מהיר (SDV Core, דומה ל-Microdroid). היא פועלת במכונות וירטואליות מבודדות (VirtIO) כדי לקצר את זמן האתחול ולצמצם את נפח הזיכרון, תוך קישור בין שירותים לרכב באמצעות פרוטוקולים כמו SOME/IP, חבילות שירות VSIDL ושילוב של Vehicle HAL ‏ (VHAL).

לדוגמה, SDV מפעיל את הרכב במהירות כשמשתמש מתקרב. במקרים מסוימים, SDV מציג גם את התוכן של לוח המחוונים של הרכב כשמשתמש מתחיל לבצע פעולות ברכב.

שילוב עם מערכות מידע ובידור (IVI) של Android Automotive OS‏ (AAOS)

פיתחנו את SDV כדי לשלב אותה בצורה הדוקה עם מערכת המידע והבידור (IVI) של Android Automotive OS ברכב (AAOS IVI). השילוב הזה מאפשר תקשורת מאובטחת ומתקדמת בין שתי המערכות.

‫SDV פועל כמכונות וירטואליות

הארכיטקטורה מיועדת לפעול כמערכת הפעלה שפועלת בתוך מכונה וירטואלית בהיפר-ויז'ר עם תמיכה ב-VirtIO. כך קל יותר לבצע בדיקות ושילובים בענן. הארכיטקטורה מציעה גם כמה מכונות וירטואליות באותו מעבד לצורך בידוד, ועיצוב בלתי תלוי בפלטפורמה שמפחית את עלויות השילוב.

קישור שירותי SDV בין מכונות וירטואליות

אחת המטרות של יוזמת ה-SDV היא להפחית את העלות של שילוב תוכנות של צד שלישי. רכיב מרכזי במאמץ של SDV הוא חיבור חלק בין שירותים במכונה וירטואלית אחת או יותר (VM).

ב-Android 17 (26Q2) ואילך, מפתחי שירותים מגדירים ממשקי RPC ונושאים של פרסום והרשמה באופן הצהרתי באמצעות שפת ההגדרה של ממשק שירותי הרכב (VSIDL, ‏ .vsidl) ומאגרי פרוטוקולים (.proto), שהקומפיילר vsidlc מתרגם לקישורי ספריית לקוחות. העיצוב הזה, שלא תלוי בשיטת ההעברה, מאפשר לספריית הלקוח של תוכנת הביניים לבצע הפשטה של שיטות העברה בין תהליכים ובין מכונות וירטואליות – כולל שקעי VirtIO‏ (vsock), Ethernet,‏ Binder,‏ gRPC ו-Fast Message Queue‏ (FMQ) – וגם תומך בפרוטוקולים חיצוניים של יחידת בקרה אלקטרונית (ECU), כמו SOME/IP‏ (ISomeIpStack).

רכיבים לרכב שפותחו על ידי Google

כדי לבדוק תרחישי שימוש ב-SDV לרכב, צוות Google SDV מפתח כמה רכיבים נפוצים לרכב. הם כוללים תזמור שירותים, ניהול של מצב ההפעלה של הרכב, שילוב של SOME/IP וטלמטריה.

תמיכה בטלמטריה

כדי לעמוד בדרישות החיוניות של יצרני ציוד מקורי (OEM), צריך מערכת טלמטריה מתוכננת היטב שתאפשר לעקוב אחרי כלי הרכב שלהם, לשפר את התנהגות המערכת ולייצר הכנסות ממקרים מסוימים של שימוש. ארכיטקטורת ה-SDV משולבת עם טלמטריית הרכב. המטרה העיקרית של הטלמטריה היא לאסוף נתונים על כלי רכב בלי לדרוש עדכון.

טלמטריה מגדירה שפה חדשה, שתוכננה ב-protobuf, שמבטאת תרחישים של איסוף נתונים. השפה הזו מגדירה איסוף נתונים משירותי SOA, תהליכים שמעבדים נתונים בקצה ויוצרת דוחות מדדים להעלאה של אפליקציית הטלמטריה. הטלמטריה כוללת קצה עורפי בענן ליצירה ולאימות של הגדרות מדדים לפני שליחתן לרכב.

שילוב של Google Cloud בפיתוח תוכנה

אחד היתרונות של SDV הוא שהוא מאפשר לכם לדמות ולפתח תוכנת SDV ישירות בענן, עם או בלי חומרה מקומית ייעודית. ב-SDV נעשה שימוש בטכנולוגיות קיימות של Google, כמו Cuttlefish. צוות SDV עובד עם צוותים מקבילים כדי לוודא שיש תמיכה בצרכים המיוחדים שלו, כמו טופולוגיה של כמה מכונות וירטואליות.

הטכנולוגיה הזו תומכת גם באינטגרציה רציפה ובמסירה רציפה (CI/CD) בתשתית של Google Cloud לפני פריסת עדכוני תוכנה חדשים ברכב.

הפעלת ממשק המשתמש של לוח המחוונים ברכב

ה-SDV מאפשר את ממשק המשתמש של מכשיר האשכול על ידי אתחול תוך שנייה אחת או שתיים בערך. Display Safety מספק ממשק משתמש לתכונות שקשורות לבטיחות. לדוגמה, מכשירים ברכב כמו מהירות ונורות אזהרה.