พร็อพเพอร์ตี้ยานพาหนะ ADAS

เราได้เพิ่มพร็อพเพอร์ตี้ ADAS ใหม่ต่อไปนี้ลงใน Android 14

ความสามารถใหม่เหล่านี้แสดงไว้ในรูปภาพต่อไปนี้

ฟีเจอร์ ADAS ที่รองรับ

รูปที่ 1 ฟีเจอร์ ADAS ที่รองรับ

รายการพร็อพเพอร์ตี้

เราได้เพิ่มรายการพร็อพเพอร์ตี้ลงใน Android 14 เพื่อรองรับฟีเจอร์ใหม่เหล่านี้ ซึ่งมีรายการดังนี้

พร็อพเพอร์ตี้
ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP
ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_DISTANCE

AUTOMATIC_EMERGENCY_BRAKING_ENABLED
AUTOMATIC_EMERGENCY_BRAKING_STATE

BLIND_SPOT_WARNING_ENABLED
BLIND_SPOT_WARNING_STATE

CRUISE_CONTROL_ENABLED
CRUISE_CONTROL_TYPE
CRUISE_CONTROL_STATE
CRUISE_CONTROL_COMMAND
CRUISE_CONTROL_TARGET_SPEED

EMERGENCY_LANE_KEEP_ASSIST_ENABLED
EMERGENCY_LANE_KEEP_ASSIST_STATE
FORWARD_COLLISION_WARNING_ENABLED
FORWARD_COLLISION_WARNING_STATE

HANDS_ON_DETECTION_ENABLED
HANDS_ON_DETECTION_DRIVER_STATE
HANDS_ON_DETECTION_WARNING

LANE_DEPARTURE_WARNING_ENABLED
LANE_DEPARTURE_WARNING_STATE

LANE_KEEP_ASSIST_ENABLED
LANE_KEEP_ASSIST_STATE

LANE_CENTERING_ASSIST_ENABLED
LANE_CENTERING_ASSIST_COMMAND
LANE_CENTERING_ASSIST_STATE

ธีมการออกแบบ

เราได้ใช้ธีมการออกแบบต่อไปนี้กับพร็อพเพอร์ตี้ที่เพิ่มใหม่

พร็อพเพอร์ตี้ คำอธิบาย
เปิดใช้
  • พร็อพเพอร์ตี้เพื่อระบุว่าฟีเจอร์เปิดใช้อยู่หรือปิดใช้อยู่
  • พร็อพเพอร์ตี้บูลีนที่ true หมายถึงเปิดใช้ และ false หมายถึง ปิดใช้
  • พร็อพเพอร์ตี้ Read และ Write ที่สามารถนำไปใช้เป็น Read-only ได้
สถานะ
  • พร็อพเพอร์ตี้เพื่อสื่อสารสถานะฟีเจอร์ผ่านรายการสถานะที่กำหนดไว้ล่วงหน้า
  • พร็อพเพอร์ตี้ Int32 ที่มี Enum ที่กำหนดไว้
  • ช่อง OTHER เพื่อรองรับการทำงานร่วมกับเวอร์ชันก่อนหน้า
  • พร็อพเพอร์ตี้ Read-only
  • ประเภทพื้นที่ Mirror หรือ Global
  • ใช้ค่าที่กำหนดไว้ใน ErrorStates.aidl
  • ใช้ getSupportedEnumValues() API ใน AreaIdConfig.java.
เบ็ดเตล็ด
  • พร็อพเพอร์ตี้ COMMAND สำหรับฟีเจอร์ที่ต้องใช้ข้อมูลจากผู้ใช้
  • พร็อพเพอร์ตี้ WARNING สำหรับกรณีที่สามารถแสดงสถานะแยกกันได้
  • พร็อพเพอร์ตี้อื่นๆ ที่รองรับ
    • รูปแบบฟีเจอร์เมื่อมี
    • ปรับการตั้งค่าฟีเจอร์เมื่อมี

ตัวอย่างแผนภาพสถานะ

ส่วนนี้มีแผนภาพสถานะสำหรับฟีเจอร์ ADAS ที่รองรับบางส่วนเพื่อแสดงให้เห็น ว่าพร็อพเพอร์ตี้ที่รวมอยู่ทำงานร่วมกันอย่างไร เราได้แสดงตัวอย่างฟีเจอร์ต่อไปนี้

  • ระบบเบรกฉุกเฉินอัตโนมัติ (AEB)
  • ระบบช่วยควบคุมรถให้อยู่กลางเลน (LCA)
  • การตรวจจับการจับพวงมาลัย (HOD)

ระบบเบรกฉุกเฉินอัตโนมัติ

เราได้กำหนดพร็อพเพอร์ตี้ 2 รายการสำหรับ AEB ตามที่อธิบายไว้ในตารางนี้

พร็อพเพอร์ตี้ ค่า
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

กำหนดไว้ใน AutomaticEmergencyBrakingState.aidl

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • แผนภาพสถานะตัวอย่างต่อไปนี้สำหรับ AEB มีสถานะที่รองรับซึ่งกำหนดไว้ใน AutomaticEmergencyBrakingState.aidl.

    สถานะ AEB ที่กำหนดไว้ใน AutomaticEmergencyBrakingState.aidl

    รูปที่ 2 สถานะ AEB ที่กำหนดไว้ใน AutomaticEmergencyBrakingState.aidl

    รูปนี้แสดงตัวอย่าง AEB เมื่อระบบไม่รองรับสถานะ USER_OVERRIDE คุณควรระบุสถานะที่รองรับผ่าน getSupportedEnumValues() API ใน AreaIdConfig.java

    AEB เมื่อระบบไม่รองรับสถานะการลบล้างของผู้ใช้

    รูปที่ 3 AEB เมื่อระบบไม่รองรับสถานะ USER_OVERRIDE

    ในตัวอย่าง AEB ที่แสดงในรูปที่ 4 เราได้ไฮไลต์ข้อผิดพลาดที่ทำให้ AEB ไม่พร้อมใช้งาน ซึ่งแสดงให้เห็นวิธีใช้ค่าที่กำหนดไว้ใน ErrorState.aidl ข้อผิดพลาดเหล่านี้จะไม่ทำให้เกิดข้อยกเว้นที่แสดงโดย CarPropertyManager แต่จะแชร์กับแอปในลักษณะเดียวกับการเปลี่ยนแปลงอื่นๆ ใน CarPropertyValue

    ข้อผิดพลาดทำให้ AEB ไม่พร้อมใช้งาน

    รูปที่ 4 ข้อผิดพลาดทำให้ AEB ไม่พร้อมใช้งาน

    ระบบช่วยควบคุมรถให้อยู่กลางเลน

    ระบบช่วยควบคุมรถให้อยู่กลางเลน (LCA) มีพร็อพเพอร์ตี้ที่เชื่อมโยงและกำหนดไว้ 3 รายการ

    พร็อพเพอร์ตี้ ค่า
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    กำหนดไว้ใน LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • ENABLED
    • ACTIVATION_REQUESTED
    • ACTIVATED
    • USER_OVERRIDE
    • FORCED_DEACTIVATION_WARNING
    • ErrorState

    LANE_CENTERING_ASSIST_COMMAND

    กำหนดไว้ใน LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    แผนภาพสถานะต่อไปนี้แสดง LCA เมื่อระบบรองรับสถานะทั้งหมดที่กำหนดไว้ใน LaneCenteringAssistState.aidl เส้นสีเขียวอาจเป็นคำสั่งที่เริ่มต้นจาก LANE_CENTERING_ASSIST_COMMAND (เมื่อมีการใช้งาน) หรือเริ่มต้นผ่านกลไกอื่นในรถยนต์ และแสดงถึงการเปลี่ยนแปลงสถานะ ใน Android Automotive OS (AAOS)

    สถานะ LCA ที่กำหนดไว้ใน LaneCenteringAssistState.aidl

    รูปที่ 5 สถานะ LCA ที่กำหนดไว้ใน LaneCenteringAssistState.aidl

    ตัวอย่าง LCA นี้ไฮไลต์ข้อผิดพลาดที่ทำให้ LCA ไม่พร้อมใช้งาน ซึ่งแสดงให้เห็นวิธีใช้ค่าที่กำหนดไว้ใน ErrorState.aidl ข้อผิดพลาดเหล่านี้จะไม่ทำให้ CarPropertyManager แสดงข้อผิดพลาด แต่จะ แชร์กับแอปในลักษณะเดียวกับการเปลี่ยนแปลงอื่นๆ ใน CarPropertyValue

     ข้อผิดพลาดทำให้ LCA ไม่พร้อมใช้งาน

    รูปที่ 6 ข้อผิดพลาดทำให้ LCA ไม่พร้อมใช้งาน

    การตรวจจับการจับพวงมาลัย

    เราได้กำหนดพร็อพเพอร์ตี้ที่เชื่อมโยง 3 รายการต่อไปนี้สำหรับการตรวจจับการจับพวงมาลัย (HOD)

    พร็อพเพอร์ตี้ คำอธิบาย
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    กำหนดไว้ใน HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    กำหนดไว้ใน HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    ตัวอย่าง HOD ที่แสดงด้านล่างนี้เป็นกรณีที่ระบบรองรับสถานะทั้งหมดที่กำหนดไว้ใน HandsOnDetectionDriverState.aidl

    HOD เมื่อรองรับสถานะที่กำหนดทั้งหมดใน HandsOnDetectionDriverState.aidl

    รูปที่ 7 HOD เมื่อระบบรองรับสถานะทั้งหมดที่กำหนดไว้ใน HandsOnDetectionDriverState.aidl

    นอกจากพร็อพเพอร์ตี้ HANDS_ON_DETECTION_STATE แล้ว HOD ยังมีพร็อพเพอร์ตี้ประกาศเตือนแยกต่างหาก HANDS_ON_DETECTION_WARNING ด้วย แผนภาพสถานะสำหรับค่าคำเตือน HOD แสดงไว้ในรูปที่ 8

    ค่าประกาศเตือน HOD

    รูปที่ 8 HOD เมื่อระบบรองรับค่าทั้งหมดที่กำหนดไว้ใน HandsOnDetectionWarning.aidl