ADAS 车辆属性

我们已在 Android 14 中添加了以下新的 ADAS 属性

下图说明了这些新功能。

Supported ADAS features

图 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

设计主题

以下设计主题应用于新添加的属性。

属性 说明
ENABLED
  • 用于指示功能是否已启用或停用的属性。
  • 布尔属性,其中 true 表示已启用,false 表示已停用。
  • 可以作为 只读 实现的 ReadWrite 属性。
STATE
  • 用于通过预定义状态列表传达功能状态的属性。
  • 具有已定义枚举的 Int32 属性。
  • 用于支持向后兼容性的 OTHER 字段。
  • 只读 属性。
  • 镜像或全局区域类型。
  • 使用 ErrorStates.aidl 中定义的值。
  • 使用 getSupportedEnumValues() API(位于 AreaIdConfig.java 中)。
其他
  • 当需要用户输入时,功能的 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 中定义的受支持状态。

    AEB states defined in AutomaticEmergencyBrakingState.aidl

    图 2. AutomaticEmergencyBrakingState.aidl 中定义的 AEB 状态。

    此图提供了 USER_OVERRIDE 状态不受支持时 AEB 的示例。受支持的状态应通过 AreaIdConfig.java 中的 getSupportedEnumValues() API 指定。

    AEB when user override state not supported

    图 3. USER_OVERRIDE 状态不受支持时的 AEB。

    在图 4 所示的 AEB 示例中,突出显示了导致 AEB 变为不可用的错误。这演示了应如何使用 ErrorState.aidl 中定义的值。这些错误不会导致 CarPropertyManager 抛出异常,而是与应用共享,就像对 CarPropertyValue 的任何其他更改一样。

    Error causes AEB to become unavailable

    图 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) 上的状态变化。

    LCA states defined in LaneCenteringAssistState.aidl

    图 5. LaneCenteringAssistState.aidl 中定义的 LCA 状态。

    此 LCA 示例突出显示了导致 LCA 变为不可用的错误。这演示了如何使用 ErrorState.aidl 中定义的值。这些错误不会导致 CarPropertyManager 抛出错误,而是与应用共享,就像共享对 CarPropertyValue 的其他更改一样。

     Error causes LCA to become unavailable.

    图 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 中所有已定义的状态。

    HOD when all defined states in HandsOnDetectionDriverState.aidl are supported.

    图 7. 支持 HandsOnDetectionDriverState.aidl 中所有已定义状态时的 HOD。

    除了 HANDS_ON_DETECTION_STATE 属性之外,HOD 还提供单独的警告属性 HANDS_ON_DETECTION_WARNING。图 8 说明了 HOD 警告值的状态图。

    HOD warning values

    图 8. 支持 HandsOnDetectionWarning.aidl 中所有已定义值时的 HOD。