Proprietà del veicolo ADAS

Abbiamo aggiunto le seguenti nuove proprietà ADAS ad Android 14:

Queste nuove funzionalità sono illustrate nella figura seguente.

Funzionalità ADAS supportate

Figura 1. Funzionalità ADAS supportate.

Elenco delle proprietà

Per supportare queste nuove funzionalità, in Android 14 viene aggiunta una lista di proprietà. Sono elencati di seguito.

Proprietà
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

Temi di progettazione

I seguenti temi di progettazione vengono applicati alle proprietà appena aggiunte.

Proprietà Descrizione
STRUMENTI ATTIVATI
  • Proprietà per indicare se una funzionalità è attivata o disattivata.
  • Proprietà booleane in cui true è abilitato e false è disabilitato.
  • Proprietà Read e Write che possono essere implementate come Read-only.
STATO
  • Proprietà per comunicare lo stato della funzionalità tramite un elenco di stati predefiniti.
  • Proprietà Int32 con enum definiti.
  • campo OTHER per supportare la compatibilità con le versioni precedenti.
  • Proprietà Read-only.
  • Tipi di area Specchio o Globale.
  • Utilizza i valori definiti in ErrorStates.aidl.
  • Utilizza l'API getSupportedEnumValues() in AreaIdConfig.java.
Vari
  • COMMAND per le funzionalità quando è richiesto l'input dell'utente.
  • Proprietà WARNING per i casi in cui lo stato può essere rappresentato separatamente.
  • Altre proprietà da supportare:
    • Varianti delle funzionalità, se applicabili.
    • Modifica le impostazioni delle funzionalità, se applicabile.

Esempi di diagrammi di stato

Questa sezione fornisce diagrammi di stato per un sottoinsieme delle funzionalità ADAS supportate per dimostrare come funzionano insieme le proprietà incluse. Abbiamo fornito esempi delle seguenti funzionalità.

  • Frenata di emergenza automatica (AEB)
  • Assistente al mantenimento della corsia (LCA)
  • Rilevamento delle mani sul volante (HOD)

Frenata di emergenza automatica

Per AEB sono definite due proprietà, come descritto in questa tabella.

Proprietà Valori
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

Definito in AutomaticEmergencyBrakingState.aidl.

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • Il seguente diagramma di stato di esempio per AEB include gli stati supportati definiti in AutomaticEmergencyBrakingState.aidl.

    Stati AEB definiti in AutomaticEmergencyBrakingState.aidl

    Figura 2. Stati AEB definiti in AutomaticEmergencyBrakingState.aidl.

    Questa figura fornisce un esempio di AEB quando lo stato USER_OVERRIDE non è supportato. Gli stati supportati devono essere specificati tramite l'API getSupportedEnumValues() in AreaIdConfig.java.

    AEB quando lo stato di override utente non è supportato

    Figura 3. AEB quando lo stato USER_OVERRIDE non è supportato.

    Nell'esempio di AEB illustrato nella Figura 4, viene evidenziato l'errore che causa la mancata disponibilità di AEB. Questo mostra come devono essere utilizzati i valori definiti in ErrorState.aidl. Questi errori non comportano la generazione di un'eccezione da parte di CarPropertyManager e vengono invece condivisi con le app allo stesso modo di qualsiasi altra modifica a CarPropertyValue.

    L'errore causa la mancata disponibilità del sistema AEB

    Figura 4. L'errore causa la mancata disponibilità della frenata di emergenza automatica.

    Sistema di mantenimento della corsia

    Il sistema di centraggio della corsia (LCA) fornisce tre proprietà associate e definite.

    Proprietà Valori
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    Definito in LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

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

    LANE_CENTERING_ASSIST_COMMAND

    Definito in LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    Il seguente diagramma di stato illustra il ciclo di vita dell'asset quando sono supportati tutti gli stati definiti in LaneCenteringAssistState.aidl. Le linee verdi possono essere un comando avviato da LANE_CENTERING_ASSIST_COMMAND (se implementato) o tramite un altro meccanismo nel veicolo e riflettono una modifica dello stato su Android Automotive OS (AAOS).

    Stati LCA definiti in LaneCenteringAssistState.aidl

    Figura 5. Stati LCA definiti in LaneCenteringAssistState.aidl.

    Questo esempio di LCA evidenzia un errore che causa la mancata disponibilità dell'LCA. Questo mostra come utilizzare i valori definiti in ErrorState.aidl. Questi errori non comportano la generazione di un errore da parte di CarPropertyManager e vengono invece condivisi con le app nello stesso modo in cui vengono condivise le altre modifiche a CarPropertyValue.

     L'errore causa la mancata disponibilità di LCA.

    Figura 6. L'errore causa la mancata disponibilità di LCA.

    Rilevamento con le mani

    Queste tre proprietà associate sono definite per il rilevamento hands-on (HOD).

    Proprietà Descrizione
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    Definito in HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    Definito in HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    Di seguito è riportato un esempio di HOD, in cui sono supportati tutti gli stati definiti in HandsOnDetectionDriverState.aidl.

    HOD quando sono supportati tutti gli stati definiti in HandsOnDetectionDriverState.aidl.

    Figura 7. HOD quando sono supportati tutti gli stati definiti in HandsOnDetectionDriverState.aidl.

    Oltre alla proprietà HANDS_ON_DETECTION_STATE, HOD fornisce anche una proprietà di avviso separata, HANDS_ON_DETECTION_WARNING. Il diagramma di stato per i valori di avviso HOD è illustrato nella Figura 8.

    Valori di avviso HOD

    Figura 8. HOD quando sono supportati tutti i valori definiti in HandsOnDetectionWarning.aidl.