Propiedades del vehículo ADAS

Agregamos las siguientes nuevas propiedades ADAS a Android 14:

Estas nuevas capacidades se ilustran en la siguiente figura.

Funciones ADAS compatibles

Figura 1. Funciones ADAS compatibles.

Lista de propiedades

Para admitir estas nuevas funciones, se agrega 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

Temas de diseño

Los siguientes temas de diseño se aplican a las propiedades recién agregadas.

Propiedad Descripción
ACTIVADO
  • Propiedades para indicar si una característica está habilitada o deshabilitada.
  • Propiedades booleanas en las que true está habilitado y false está deshabilitado.
  • Propiedades Read y Write que se pueden implementar como Read-only .
ESTADO
  • Propiedades para comunicar el estado de la característica a través de una lista de estados predefinidos.
  • Propiedades int32 con enumeraciones definidas.
  • OTHER campo para admitir compatibilidad con versiones anteriores.
  • Propiedades Read-only .
  • Tipos de área espejo o global.
  • Utiliza valores definidos en ErrorStates.aidl .
  • Utilice la API getSupportedEnumValues() en AreaIdConfig.java .
Misceláneas
  • Propiedades COMMAND para funciones cuando se requiere la entrada del usuario.
  • Propiedades WARNING para cuando el estado se puede representar por separado.
  • Otras propiedades a apoyar:
    • Variaciones de funciones cuando corresponda.
    • Ajuste la configuración de las funciones cuando corresponda.

Ejemplos de diagramas de estado

Esta sección proporciona diagramas de estado para un subconjunto de las funciones ADAS compatibles para demostrar cómo funcionan juntas las propiedades incluidas. Hemos proporcionado ejemplos de las siguientes características.

  • Frenado automático de emergencia (AEB)
  • Asistente de centrado de carril (LCA)
  • Detección práctica (HOD)

Frenado automático de emergencia

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

Propiedad Valores
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

Definido en AutomaticEmergencyBrakingState.aidl .

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • El siguiente diagrama de estado de muestra para AEB incluye los estados admitidos definidos en AutomaticEmergencyBrakingState.aidl .

    Estados AEB definidos en AutomaticEmergencyBrakingState.aidl

    Figura 2. Estados AEB definidos en AutomaticEmergencyBrakingState.aidl.

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

    AEB cuando el estado de anulación del usuario no es compatible

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

    En el ejemplo de AEB ilustrado en la Figura 4, se resalta el error que hace que AEB deje de estar disponible. Esto demuestra cómo se deben utilizar los valores definidos en ErrorState.aidl . Estos errores no dan como resultado una excepción lanzada por CarPropertyManager y, en cambio, se comparten con las aplicaciones de la misma manera que cualquier otro cambio en CarPropertyValue .

    El error hace que AEB deje de estar disponible

    Figura 4. El error hace que AEB deje de estar disponible.

    Asistente de centrado de 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

    Definido en LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

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

    LANE_CENTERING_ASSIST_COMMAND

    Definido en LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    El siguiente diagrama de estado ilustra 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 está implementado) o iniciado a través de otro mecanismo en el vehículo y reflejar un cambio de estado en el sistema operativo Android Automotive (AAOS).

    Estados de LCA definidos en LaneCenteringAssistState.aidl

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

    Este ejemplo de LCA destaca un error que hace que LCA deje de estar disponible. Esto demuestra cómo utilizar los valores definidos en ErrorState.aidl . Estos errores no provocan que CarPropertyManager arroje un error y, en cambio, se comparten con las aplicaciones de la misma manera que se comparten otros cambios en CarPropertyValue .

    El error hace que LCA deje de estar disponible.

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

    Detección práctica

    Estas tres propiedades asociadas se definen para la detección práctica (HOD).

    Propiedad Descripción
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    Definido en HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    Definido 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 , HOD también proporciona una propiedad de advertencia independiente, HANDS_ON_DETECTION_WARNING . El diagrama de estado para los valores de advertencia de HOD se ilustra en la Figura 8.

    Valores de advertencia HOD

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