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_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 |
|
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
|
OTHER ENABLED ACTIVATED USER_OVERRIDE ErrorState |
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.