ADAS vehicle properties

We've added the following new ADAS properties to Android 14:

These new capabilities are illustrated in the following figure.

Supported ADAS features

Figure 1. Supported ADAS features.

List of properties

To support these new features, a list of properties is added to Android 14. They're listed below.

Properties
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

Design themes

The following design themes are applied to newly added properties.

Property Description
ENABLED
  • Properties to indicate if a feature is enabled or disabled.
  • Boolean properties in which true is enabled and false is disabled.
  • Read and Write properties that can be implemented as Read-only.
STATE
  • Properties to communicate feature state through a list of predefined states.
  • Int32 properties with defined enums.
  • OTHER field to support backward compatibility.
  • Read-only properties.
  • Mirror or Global area types.
  • Uses values defined in ErrorStates.aidl.
  • Use the getSupportedEnumValues() API in AreaIdConfig.java.
Miscellaneous
  • COMMAND properties for features when user input is required.
  • WARNING properties for when state can be represented separately.
  • Other properties to support:
    • Feature variations when applicable.
    • Adjust feature settings when applicable.

State diagram examples

This section provides state diagrams for a subset of the supported ADAS features to demonstrate how the included properties work together. We've provided examples of the following features.

  • Automatic emergency braking (AEB)
  • Lane centering assist (LCA)
  • Hands-on detection (HOD)

Automatic emergency braking

Two properties are defined for AEB as described in this table.

Property Values
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

Defined in AutomaticEmergencyBrakingState.aidl.

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • The following sample state diagram for AEB includes the supported states defined in AutomaticEmergencyBrakingState.aidl.

    AEB states defined in AutomaticEmergencyBrakingState.aidl

    Figure 2. AEB states defined in AutomaticEmergencyBrakingState.aidl.

    This figure provides an example of AEB when the USER_OVERRIDE state is not supported. Supported states should be specified through the getSupportedEnumValues() API in AreaIdConfig.java.

    AEB when user override state not supported

    Figure 3. AEB when the USER_OVERRIDE state isn't supported.

    In the AEB example illustrated in Figure 4, the error that causes AEB to become unavailable is highlighted. This demonstrates how values defined in ErrorState.aidl should be used. These errors don't result in an exception thrown by CarPropertyManager and are instead shared with apps in the same way as any other change to CarPropertyValue.

    Error causes AEB to become unavailable

    Figure 4. Error causes AEB to become unavailable.

    Lane centering assist

    Lane centering assist (LCA) provides three associated and defined properties.

    Property Values
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    Defined in LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

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

    LANE_CENTERING_ASSIST_COMMAND

    Defined in LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    The following state diagram illustrates LCA when all the defined states in LaneCenteringAssistState.aidl are supported. Green lines can either be a command initiated from the LANE_CENTERING_ASSIST_COMMAND (when implemented) or initiated through another mechanism in the vehicle and reflect a state change on the Android Automotive OS (AAOS).

    LCA states defined in LaneCenteringAssistState.aidl

    Figure 5. LCA states defined in LaneCenteringAssistState.aidl.

    This LCA example highlights an error that causes LCA to become unavailable. This demonstrates how to use the values defined in ErrorState.aidl. These errors don't result in CarPropertyManager throwing an error and are instead shared with apps in the same way that other changes to CarPropertyValue change are shared.

     Error causes LCA to become unavailable.

    Figure 6. Error causes LCA to become unavailable.

    Hands-on detection

    These three associated properties are defined for hands-on detection (HOD).

    Property Description
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    Defined in HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    Defined in HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    Illustrated below is an example of HOD, in which all the defined states in HandsOnDetectionDriverState.aidl are supported.

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

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

    In addition to the HANDS_ON_DETECTION_STATE property, HOD also provides a separate warning property, HANDS_ON_DETECTION_WARNING. The state diagram for the HOD warning values is illustrated in Figure 8.

    HOD warning values

    Figure 8. HOD when all defined values in HandsOnDetectionWarning.aidl are supported.