ซอฟต์แวร์ที่กำหนดรถยนต์ (SDV) ของ Android Automotive OS (AAOS) มี สถาปัตยกรรมแบบโมดูลาร์ที่มุ่งเน้นบริการ (SOA) ซึ่งออกแบบมาสำหรับโดเมนการประมวลผลยานยนต์รุ่นถัดไป นอกเหนือจากอินโฟเทนเมนต์ แพลตฟอร์ม SDV ของ AAOS สร้างขึ้นบนรากฐาน Android แบบ Headless ที่มีน้ำหนักเบาและบูตได้อย่างรวดเร็ว (SDV Core ซึ่งคล้ายกับ Microdroid) โดยทำงานในเครื่องเสมือนที่แยกกัน (VirtIO) เพื่อลด เวลาบูตและหน่วยความจำที่ใช้ ขณะเดียวกันก็เชื่อมต่อบริการของยานพาหนะโดยใช้ โปรโตคอลต่างๆ เช่น SOME/IP, ชุดบริการ VSIDL และการผสานรวม HAL ยานพาหนะ (VHAL)
เช่น SDV จะเปิดใช้งานรถอย่างรวดเร็วเมื่อผู้ใช้เข้าใกล้ ในการกำหนดค่าบางอย่าง SDV จะแสดงเนื้อหาของแผงหน้าปัดคลัสเตอร์เมื่อผู้ใช้เริ่มโต้ตอบกับรถยนต์ด้วย
การผสานรวมกับระบบสาระบันเทิงของ Android (AAOS IVI)
SDV ได้รับการพัฒนาให้ผสานรวมกับระบบสาระบันเทิงในรถยนต์ (IVI) ของ Android Automotive OS (AAOS) อย่างใกล้ชิด ซึ่งช่วยให้การสื่อสารระหว่าง 2 ระบบนี้มีความปลอดภัยขั้นสูงและเป็นแบบในตัว
SDV ทำงานเป็นเครื่องเสมือน
สถาปัตยกรรมได้รับการออกแบบมาให้ทำงานเป็นระบบปฏิบัติการที่ทำงานภายใน เครื่องเสมือนบนไฮเปอร์ไวเซอร์ที่รองรับ VirtIO ซึ่งช่วยให้การทดสอบและ การผสานรวมในระบบคลาวด์เป็นไปได้ง่ายขึ้น นอกจากนี้ สถาปัตยกรรมยังมีเครื่องเสมือนหลายเครื่อง ใน CPU เดียวกันเพื่อการแยก และการออกแบบที่ไม่ขึ้นกับแพลตฟอร์มซึ่งช่วยลด ต้นทุนการผสานรวม
เชื่อมต่อบริการ SDV ระหว่าง VM
เป้าหมายอย่างหนึ่งของโครงการริเริ่ม SDV คือการลดต้นทุนในการผสานรวมซอฟต์แวร์ของบุคคลที่สาม องค์ประกอบสำคัญของความพยายามด้าน SDV คือการเชื่อมต่อบริการต่างๆ ในเครื่องเสมือน (VM) เครื่องเดียวหรือหลายเครื่องอย่างราบรื่น
ใน Android 17 (26Q2) ขึ้นไป นักพัฒนาบริการจะกำหนดอินเทอร์เฟซ RPC และหัวข้อการเผยแพร่/การสมัครรับข้อมูลโดยใช้ภาษาคำจำกัดความของอินเทอร์เฟซบริการยานพาหนะ (VSIDL, .vsidl) และบัฟเฟอร์โปรโตคอล (.proto) ซึ่งคอมไพเลอร์ vsidlc จะแปลเป็นการเชื่อมโยงไลบรารีของไคลเอ็นต์ การออกแบบที่ไม่ขึ้นอยู่กับ Transport นี้ช่วยให้ไลบรารีของไคลเอ็นต์มิดเดิลแวร์สามารถแยก Transport ระหว่างกระบวนการและระหว่าง VM ได้ ซึ่งรวมถึงซ็อกเก็ต VirtIO (vsock), อีเทอร์เน็ต, Binder, gRPC และ Fast Message Queue (FMQ) ในขณะเดียวกันก็รองรับโปรโตคอลหน่วยควบคุมอิเล็กทรอนิกส์ (ECU) ภายนอก เช่น SOME/IP (ISomeIpStack) ด้วย
ชิ้นส่วนยานยนต์ที่ Google พัฒนา
ทีม SDV ของ Google กำลังพัฒนาคอมโพเนนต์ยานยนต์ทั่วไปหลายรายการเพื่อทดสอบ Use Case ของยานยนต์ SDV ซึ่งรวมถึงการจัดการเป็นกลุ่มบริการ การจัดการโหมดพลังงานของยานพาหนะ การผสานรวม SOME/IP และการวัดและส่งข้อมูล
การรองรับการวัดและส่งข้อมูล
การปฏิบัติตามข้อกำหนดที่จำเป็นสำหรับ OEM ต้องใช้ระบบการวัดและส่งข้อมูล ที่ออกแบบมาอย่างดีเพื่อตรวจสอบยานพาหนะ ปรับปรุงลักษณะการทำงานของระบบ และสร้างรายได้จากกรณีการใช้งาน บางอย่าง สถาปัตยกรรม SDV ผสานรวมกับข้อมูลการวัดและส่งข้อมูลทางไกลของยานพาหนะ วัตถุประสงค์หลักของระบบการวัดและส่งข้อมูลคือการรวบรวมข้อมูลยานพาหนะโดยไม่ต้องมีการอัปเดต
การวัดและส่งข้อมูลทางไกลจะกำหนดภาษาใหม่ที่ออกแบบใน protobuf ซึ่งแสดงสถานการณ์การรวบรวมข้อมูล ภาษานี้กำหนดการเก็บรวบรวมข้อมูลจากบริการ SOA กระบวนการที่ประมวลผลข้อมูลที่ Edge และสร้างรายงานเมตริกสำหรับการใช้งานการวัดและส่งข้อมูล เพื่ออัปโหลด การวัดและส่งข้อมูลประกอบด้วยแบ็กเอนด์ระบบคลาวด์เพื่อสร้างและ ตรวจสอบการกำหนดค่าเมตริกก่อนส่งไปยังยานพาหนะ
การผสานรวม Google Cloud สำหรับการพัฒนาซอฟต์แวร์
ข้อดีอย่างหนึ่งของ SDV คือช่วยให้คุณจำลองและพัฒนาซอฟต์แวร์ SDV ในระบบคลาวด์ได้โดยตรง ไม่ว่าจะใช้ฮาร์ดแวร์เฉพาะในพื้นที่หรือไม่ก็ตาม SDV ใช้เทคโนโลยีที่มีอยู่ของ Google เช่น Cuttlefish SDV ทำงานร่วมกับทีมอื่นๆ เพื่อยืนยันการสนับสนุนความต้องการพิเศษ เช่น โทโพโลยีของเครื่องเสมือนหลายเครื่อง
เทคโนโลยีนี้ยังรองรับการรวมอย่างต่อเนื่องและการส่งมอบอย่างต่อเนื่อง (CI/CD) ในโครงสร้างพื้นฐานของ Google Cloud ก่อนที่จะติดตั้งใช้งานการอัปเดตซอฟต์แวร์ใหม่ๆ ในรถยนต์
เปิดใช้อินเทอร์เฟซผู้ใช้ของแผงหน้าปัดยานพาหนะ
SDV ช่วยให้ผู้ใช้สามารถเข้าถึงอินเทอร์เฟซของคลัสเตอร์เครื่องมือได้โดยการบูตในเวลาประมาณ 1-2 วินาที ความปลอดภัยในการแสดงผลมีอินเทอร์เฟซผู้ใช้สำหรับฟีเจอร์ที่เกี่ยวข้องกับความปลอดภัย เช่น เครื่องมือในรถยนต์ เช่น ความเร็วและ ไฟเตือน