Proprietà dei veicoli 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à, ad Android 14 viene aggiunto un elenco 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 design

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

Proprietà Descrizione
STRUMENTI ATTIVATI
  • Proprietà per indicare se una funzionalità è attivata o disattivata.
  • Proprietà booleane in cui true è attivata e false è disattivata.
  • 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 enumerazioni definite.
  • OTHER per supportare la compatibilità con le versioni precedenti.
  • Read-only.
  • Tipi di aree globali o di tipo Mirror.
  • 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 quando lo stato può essere rappresentato separatamente.
  • Altre proprietà da supportare:
    • Variazioni delle funzionalità, se applicabili.
    • Modifica le impostazioni delle funzionalità, se applicabili.

Esempi di diagrammi di stato

Questa sezione fornisce diagrammi di stato per un sottoinsieme delle funzionalità ADAS supportate per dimostrare come le proprietà incluse interagiscono tra loro. Di seguito sono riportati alcuni esempi delle seguenti funzionalità.

  • Frenatura di emergenza automatica (AEB)
  • Lane centering Assist (LCA)
  • Rilevamento di utilizzo (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 l'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 mostra 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 dell'override utente non è supportato

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

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

    Un errore rende AEB non disponibile

    Figura 4. L'errore causa la mancata disponibilità dell'AEB.

    Assistenza per il mantenimento della corsia

    L'assistenza al centratura 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 l'LCA 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 da un altro meccanismo nel veicolo e riflettono una variazione di stato nel sistema operativo Android Automotive (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'analisi. Questo mostra come utilizzare i valori definiti in ErrorState.aidl. Questi errori non generano un errore in CarPropertyManager e vengono invece condivisi con le app nello stesso modo in cui vengono condivise altre modifiche a CarPropertyValue.

     L'errore causa la mancata disponibilità del LCA.

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

    Rilevamento di utilizzo

    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 tutti gli stati definiti in HandsOnDetectionDriverState.aidl sono supportati.

    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 tutti i valori definiti in HandsOnDetectionWarning.aidl sono supportati.