Propiedades del vehículo ADAS

Agregamos las siguientes propiedades nuevas de ADAS a Android 14:

Estas nuevas capacidades se ilustran en la siguiente figura.

Funciones de ADAS compatibles

Figura 1: Funciones de ADAS compatibles.

Lista de propiedades

Para admitir estas nuevas funciones, se agregó una lista de propiedades a Android 14. Se enumeran a continuación.

Propiedades
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

Diseña temas

Los siguientes temas de diseño se aplican a las propiedades agregadas recientemente.

Propiedad Descripción
HABILITADO
  • Propiedades para indicar si una función está habilitada o inhabilitada.
  • Propiedades booleanas en las que true está habilitado y false está inhabilitado.
  • Propiedades Read y Write que se pueden implementar como Read-only.
ESTADO
  • Propiedades para comunicar el estado de la función a través de una lista de estados predefinidos.
  • Propiedades Int32 con enumeraciones definidas.
  • Se agregó el campo OTHER para admitir la retrocompatibilidad.
  • Propiedades Read-only
  • Tipos de áreas de Mirror o Global
  • Usa los valores definidos en ErrorStates.aidl.
  • Usa la API de getSupportedEnumValues() en AreaIdConfig.java.
Varios
  • Propiedades COMMAND para funciones cuando se requiere la entrada del usuario.
  • Propiedades WARNING para cuando el estado se puede representar por separado.
  • Otras propiedades que se admitirán:
    • Variaciones de funciones cuando corresponda
    • Ajusta la configuración de las funciones cuando corresponda.

Ejemplos de diagramas de estado

En esta sección, se proporcionan diagramas de estado para un subconjunto de las funciones de ADAS compatibles para demostrar cómo funcionan juntas las propiedades incluidas. Proporcionamos ejemplos de las siguientes funciones.

  • Frenado automático de emergencia (AEB)
  • Asistencia para centrar el carril (LCA)
  • Detección de manos en el volante (HOD)

Frenado automático de emergencia

Se definen dos propiedades para el AEB, como se describe en esta tabla.

Propiedad Valores
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

Se define en AutomaticEmergencyBrakingState.aidl.

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • En el siguiente diagrama de estado de ejemplo para AEB, se incluyen los estados admitidos definidos en AutomaticEmergencyBrakingState.aidl.

    Estados del AEB definidos en AutomaticEmergencyBrakingState.aidl

    Figura 2: Estados del AEB definidos en AutomaticEmergencyBrakingState.aidl.

    En esta figura, se proporciona un ejemplo del AEB cuando no se admite el estado USER_OVERRIDE. Los estados admitidos se deben especificar a través de la API de getSupportedEnumValues() en AreaIdConfig.java.

    AEB cuando no se admite el estado de anulación del usuario

    Figura 3: AEB cuando no se admite el estado USER_OVERRIDE.

    En el ejemplo de AEB que se ilustra en la figura 4, se destaca el error que provoca que el AEB deje de estar disponible. En este ejemplo, se muestra cómo se deben usar los valores definidos en ErrorState.aidl. Estos errores no generan una excepción que arroje CarPropertyManager, sino que se comparten con las apps de la misma manera que cualquier otro cambio en CarPropertyValue.

    El error provoca que la AEB deje de estar disponible

    Figura 4: El error provoca que el AEB deje de estar disponible.

    Asistencia para centrar el carril

    El asistente de centrado de carril (LCA) proporciona tres propiedades asociadas y definidas.

    Propiedad Valores
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    Se define en LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

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

    LANE_CENTERING_ASSIST_COMMAND

    Se define en LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    En el siguiente diagrama de estado, se ilustra el LCA cuando se admiten todos los estados definidos en LaneCenteringAssistState.aidl. Las líneas verdes pueden ser un comando iniciado desde LANE_CENTERING_ASSIST_COMMAND (cuando se implementa) o iniciado a través de otro mecanismo en el vehículo, y reflejan un cambio de estado en el SO Android Automotive (AAOS).

    Estados de LCA definidos en LaneCenteringAssistState.aidl

    Figura 5: Estados de LCA definidos en LaneCenteringAssistState.aidl.

    En este ejemplo de LCA, se destaca un error que hace que la LCA deje de estar disponible. En este ejemplo, se muestra cómo usar los valores definidos en ErrorState.aidl. Estos errores no hacen que CarPropertyManager arroje un error, sino que se comparten con las apps de la misma manera que se comparten otros cambios en CarPropertyValue.

     El error hace que la LCA deje de estar disponible.

    Figura 6: El error hace que la LCA deje de estar disponible.

    Detección práctica

    Estas tres propiedades asociadas se definen para la detección de manos en el volante (HOD).

    Propiedad Descripción
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    Se define en HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    Se define en HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    A continuación, se ilustra un ejemplo de HOD, en el que se admiten todos los estados definidos en HandsOnDetectionDriverState.aidl.

    HOD cuando se admiten todos los estados definidos en HandsOnDetectionDriverState.aidl.

    Figura 7: HOD cuando se admiten todos los estados definidos en HandsOnDetectionDriverState.aidl.

    Además de la propiedad HANDS_ON_DETECTION_STATE, el HOD también proporciona una propiedad de advertencia independiente, HANDS_ON_DETECTION_WARNING. En la figura 8, se ilustra el diagrama de estados para los valores de advertencia de HOD.

    Valores de advertencia de HOD

    Figura 8: Es el HOD cuando se admiten todos los valores definidos en HandsOnDetectionWarning.aidl.