ADAS 車輛屬性

我們已在 Android 14 中新增下列 ADAS 屬性:

下圖說明這些新功能。

支援的 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-onlyReadWrite 屬性。
STATE
  • 透過預先定義的狀態清單傳達功能狀態的屬性。
  • 具有已定義的列舉項目的 Int32 屬性。
  • OTHER 欄位支援回溯相容性。
  • Read-only 屬性。
  • 鏡像或全球區域類型。
  • 使用 ErrorStates.aidl 中定義的值。
  • AreaIdConfig.java 中使用 getSupportedEnumValues() API。
其他
  • COMMAND 屬性:當功能需要使用者輸入內容時,可用於這類功能。
  • WARNING 屬性,用於表示狀態時可單獨表示。
  • 其他支援的屬性:
    • 視情況提供功能變化版本。
    • 視需要調整功能設定。

狀態圖表範例

本節針對部分支援的 ADAS 功能提供狀態圖,說明其中的屬性如何協同運作。我們提供下列功能的範例。

  • 自動緊急煞車 (AEB)
  • 車道居中輔助 (LCA)
  • 手部偵測 (HOD)

自動緊急煞車

如表格所述,系統為 AEB 定義了兩個屬性。

資源
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

AutomaticEmergencyBrakingState.aidl 中定義。

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • 以下的 AEB 範例狀態圖表包含 AutomaticEmergencyBrakingState.aidl 中定義的支援狀態。

    在 AutomaticEmergencyBrakingState.aidl 中定義的 AEB 狀態

    圖 2. 在 AutomaticEmergencyBrakingState.aidl 中定義的 AEB 狀態。

    此圖顯示不支援 USER_OVERRIDE 狀態時的 AEB 範例。您應透過 AreaIdConfig.java 中的 getSupportedEnumValues() API 指定支援的狀態。

    使用者覆寫狀態不支援時的 AEB

    圖 3. 當不支援 USER_OVERRIDE 狀態時,會使用 AEB。

    在圖 4 所示的 AEB 範例中,系統會醒目顯示導致 AEB 無法使用的錯誤。這會示範如何使用 ErrorState.aidl 中定義的值。這些錯誤不會導致 CarPropertyManager 擲回例外狀況,而是與應用程式共用的方式,與對 CarPropertyValue 的任何其他變更相同。

    錯誤導致 AEB 無法使用

    圖 4. 錯誤會導致 AEB 無法使用。

    車道居中輔助功能

    車道中心輔助 (LCA) 提供三種相關聯和已定義的屬性。

    資源
    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

    下圖是狀態圖表,說明當系統支援 LaneCenteringAssistState.aidl 中所有定義的狀態時,LCA 的運作方式。綠色線可能是從 LANE_CENTERING_ASSIST_COMMAND (已實作時) 啟動的指令,也可能是透過車輛中的其他機制啟動,並反映 Android Automotive OS (AAOS) 的狀態變更。

    LaneCenteringAssistState.aidl 中定義的 LCA 狀態

    圖 5. 在 LaneCenteringAssistState.aidl 中定義的 LCA 狀態。

    這個 LCA 範例強調了導致 LCA 無法使用的錯誤。這會示範如何使用 ErrorState.aidl 中定義的值。這些錯誤不會導致 CarPropertyManager 擲回錯誤,而是與應用程式共用的方式,與共用 CarPropertyValue 變更的其他變更相同。

     發生錯誤,導致 LCA 無法使用。

    圖 6. 錯誤導致 LCA 無法使用。

    手部偵測

    這三個相關聯的屬性是為了手動偵測 (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 中所有定義的狀態。

    支援 HandsOnDetectionDriverState.aidl 中所有已定義狀態時的障礙。

    圖 7. 當系統支援 HandsOnDetectionDriverState.aidl 中定義的所有狀態時,就會啟用 HOD。

    除了 HANDS_ON_DETECTION_STATE 屬性外,HOD 也提供另一個警告屬性 HANDS_ON_DETECTION_WARNING。圖 8 顯示 HOD 警告值的狀態圖表。

    HOD 警告值

    圖 8. 支援 HandsOnDetectionWarning.aidl 中所有定義值時的 HOD。