我们已在 Android 14 中添加了以下新的 ADAS 属性
- 自动紧急制动 (AEB)
- 手握检测 (HOD)
- 车道居中辅助 (LCA)
- 前方碰撞预警 (FCW)
- 盲点警告 (BSW)
- 车道偏离警告 (LDW)
- 车道保持辅助 (LKA)
- 紧急车道保持辅助 (ELKA)
- 标准巡航控制 (CC)
- 自适应巡航控制 (ACC)
下图说明了这些新功能。
图 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 |
|
STATE |
|
其他 |
|
状态图示例
本节提供了一系列受支持的 ADAS 功能的状态图,以演示包含的属性如何协同工作。我们提供了以下功能的示例。
- 自动紧急制动 (AEB)
- 车道居中辅助 (LCA)
- 手握检测 (HOD)
自动紧急制动
为 AEB 定义了两个属性,如下表所述。
属性 | 值 |
---|---|
AUTOMATIC_EMERGENCY_BRAKING_ENABLED |
VehiclePropertyType:BOOLEAN |
|
OTHER ENABLED ACTIVATED USER_OVERRIDE ErrorState |
以下 AEB 示例状态图包含 AutomaticEmergencyBrakingState.aidl
中定义的受支持状态。
图 2. AutomaticEmergencyBrakingState.aidl 中定义的 AEB 状态。
此图提供了 USER_OVERRIDE
状态不受支持时 AEB 的示例。受支持的状态应通过 AreaIdConfig.java
中的 getSupportedEnumValues()
API 指定。
图 3. USER_OVERRIDE 状态不受支持时的 AEB。
在图 4 所示的 AEB 示例中,突出显示了导致 AEB 变为不可用的错误。这演示了应如何使用 ErrorState.aidl
中定义的值。这些错误不会导致 CarPropertyManager
抛出异常,而是与应用共享,就像对 CarPropertyValue
的任何其他更改一样。
图 4. 错误导致 AEB 变为不可用。
车道居中辅助
车道居中辅助 (LCA) 提供三个关联且已定义的属性。
属性 | 值 |
---|---|
LANE_CENTERING_ASSIST_ENABLED |
VehiclePropertyType:BOOLEAN |
|
|
|
|
以下状态图说明了支持 LaneCenteringAssistState.aidl
中所有已定义状态时的 LCA。绿线可以是来自 LANE_CENTERING_ASSIST_COMMAND
(如果已实现)的命令,也可以是通过车辆中的其他机制启动的命令,并反映 Android Automotive OS (AAOS) 上的状态变化。
图 5. LaneCenteringAssistState.aidl 中定义的 LCA 状态。
此 LCA 示例突出显示了导致 LCA 变为不可用的错误。这演示了如何使用 ErrorState.aidl
中定义的值。这些错误不会导致 CarPropertyManager
抛出错误,而是与应用共享,就像共享对 CarPropertyValue
的其他更改一样。
图 6. 错误导致 LCA 变为不可用。
手握检测
为手握检测 (HOD) 定义了以下三个关联属性。
属性 | 说明 |
---|---|
HANDS_ON_DETECTION_ENABLED |
VehiclePropertyType:BOOLEAN |
|
|
|
|
下图说明了 HOD 的示例,其中支持 HandsOnDetectionDriverState.aidl
中所有已定义的状态。
图 7. 支持 HandsOnDetectionDriverState.aidl 中所有已定义状态时的 HOD。
除了 HANDS_ON_DETECTION_STATE
属性之外,HOD 还提供单独的警告属性 HANDS_ON_DETECTION_WARNING
。图 8 说明了 HOD 警告值的状态图。
图 8. 支持 HandsOnDetectionWarning.aidl 中所有已定义值时的 HOD。