We've added the following new ADAS properties to Android 14:
- Automatic emergency braking (AEB)
- Hands on detection (HOD)
- Lane centering assist (LCA)
- Forward collision warning (FCW)
- Blind spot warning (BSW)
- Lane departure warning (LDW)
- Lane keep assist (LKA)
- Emergency lane keep assist (ELKA)
- Standard cruise control (CC)
- Adaptive cruise control (ACC)
These new capabilities are illustrated in the following figure.
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_GAPADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_DISTANCEAUTOMATIC_EMERGENCY_BRAKING_ENABLEDAUTOMATIC_EMERGENCY_BRAKING_STATEBLIND_SPOT_WARNING_ENABLEDBLIND_SPOT_WARNING_STATECRUISE_CONTROL_ENABLEDCRUISE_CONTROL_TYPE CRUISE_CONTROL_STATECRUISE_CONTROL_COMMANDCRUISE_CONTROL_TARGET_SPEEDEMERGENCY_LANE_KEEP_ASSIST_ENABLEDEMERGENCY_LANE_KEEP_ASSIST_STATE | FORWARD_COLLISION_WARNING_ENABLEDFORWARD_COLLISION_WARNING_STATEHANDS_ON_DETECTION_ENABLEDHANDS_ON_DETECTION_DRIVER_STATEHANDS_ON_DETECTION_WARNINGLANE_DEPARTURE_WARNING_ENABLEDLANE_DEPARTURE_WARNING_STATELANE_KEEP_ASSIST_ENABLEDLANE_KEEP_ASSIST_STATELANE_CENTERING_ASSIST_ENABLEDLANE_CENTERING_ASSIST_COMMANDLANE_CENTERING_ASSIST_STATE | 
Design themes
The following design themes are applied to newly added properties.
| Property | Description | 
|---|---|
| ENABLED | 
 | 
| STATE | 
 | 
| Miscellaneous | 
 | 
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 | 
| 
 Defined in 
         | 
 OTHERENABLEDACTIVATEDUSER_OVERRIDEErrorState | 
The following sample state diagram for AEB includes the supported 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.
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.
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 | 
| 
 Defined in
         | 
 
 | 
| 
 Defined in
         | 
 
 | 
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).
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.
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 | 
| 
 Defined in
         | 
 
 | 
| 
 Defined in
           | 
 
 | 
Illustrated below is an example of HOD, in which all the 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.
Figure 8. HOD when all defined values in HandsOnDetectionWarning.aidl are supported.
