Propriedades do veículo ADAS

Adicionamos as seguintes novas propriedades ADAS ao Android 14:

Esses novos recursos são ilustrados na figura a seguir.

Recursos ADAS suportados

Figura 1. Recursos ADAS suportados.

Lista de propriedades

Para oferecer suporte a esses novos recursos, uma lista de propriedades foi adicionada ao Android 14. Elas estão listadas abaixo.

Propriedades
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 design

Os seguintes temas de design são aplicados às propriedades recém-adicionadas.

Propriedade Descrição
HABILITADO
  • Propriedades para indicar se um recurso está habilitado ou desabilitado.
  • Propriedades booleanas nas quais true está habilitado e false está desabilitado.
  • Propriedades Read e Write que podem ser implementadas como Read-only .
ESTADO
  • Propriedades para comunicar o estado do recurso por meio de uma lista de estados predefinidos.
  • Propriedades Int32 com enumerações definidas.
  • OTHER campo para oferecer suporte à compatibilidade com versões anteriores.
  • Propriedades Read-only .
  • Tipos de área espelhada ou global.
  • Usa valores definidos em ErrorStates.aidl .
  • Use a API getSupportedEnumValues() em AreaIdConfig.java .
Diversos
  • Propriedades COMMAND para recursos quando a entrada do usuário é necessária.
  • Propriedades WARNING para quando o estado pode ser representado separadamente.
  • Outras propriedades para apoiar:
    • Variações de recursos quando aplicável.
    • Ajuste as configurações de recursos quando aplicável.

Exemplos de diagramas de estado

Esta seção fornece diagramas de estado para um subconjunto de recursos ADAS suportados para demonstrar como as propriedades incluídas funcionam juntas. Fornecemos exemplos dos seguintes recursos.

  • Frenagem automática de emergência (AEB)
  • Assistência de centralização de faixa (LCA)
  • Detecção prática (HOD)

Travagem de emergência automática

Duas propriedades são definidas para AEB conforme descrito nesta tabela.

Propriedade Valores
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

Definido em AutomaticEmergencyBrakingState.aidl .

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • O diagrama de estado de amostra a seguir para AEB inclui os estados suportados definidos em AutomaticEmergencyBrakingState.aidl .

    Estados AEB definidos em AutomaticEmergencyBrakingState.aidl

    Figura 2. Estados AEB definidos em AutomaticEmergencyBrakingState.aidl.

    Esta figura fornece um exemplo de AEB quando o estado USER_OVERRIDE não é suportado. Os estados suportados devem ser especificados por meio da API getSupportedEnumValues() em AreaIdConfig.java .

    AEB quando o estado de substituição do usuário não é compatível

    Figura 3. AEB quando o estado USER_OVERRIDE não é suportado.

    No exemplo do AEB ilustrado na Figura 4, o erro que faz com que o AEB fique indisponível é destacado. Isso demonstra como os valores definidos em ErrorState.aidl devem ser usados. Esses erros não resultam em uma exceção lançada por CarPropertyManager e, em vez disso, são compartilhados com aplicativos da mesma forma que qualquer outra alteração em CarPropertyValue .

    Erro faz com que AEB fique indisponível

    Figura 4. Erro faz com que o AEB fique indisponível.

    Assistência de centralização de pista

    O Lane Centering Assist (LCA) fornece três propriedades associadas e definidas.

    Propriedade Valores
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    Definido em LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

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

    LANE_CENTERING_ASSIST_COMMAND

    Definido em LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    O diagrama de estado a seguir ilustra o LCA quando todos os estados definidos em LaneCenteringAssistState.aidl são suportados. As linhas verdes podem ser um comando iniciado a partir do LANE_CENTERING_ASSIST_COMMAND (quando implementado) ou iniciado através de outro mecanismo no veículo e refletem uma mudança de estado no Android Automotive OS (AAOS).

    Estados LCA definidos em LaneCenteringAssistState.aidl

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

    Este exemplo de LCA destaca um erro que faz com que a LCA fique indisponível. Isto demonstra como usar os valores definidos em ErrorState.aidl . Esses erros não resultam em CarPropertyManager gerando um erro e, em vez disso, são compartilhados com aplicativos da mesma forma que outras alterações em CarPropertyValue são compartilhadas.

    O erro faz com que o LCA fique indisponível.

    Figura 6. Erro faz com que o LCA fique indisponível.

    Detecção prática

    Essas três propriedades associadas são definidas para detecção prática (HOD).

    Propriedade Descrição
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    Definido em HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    Definido em HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    Abaixo está ilustrado um exemplo de HOD, no qual todos os estados definidos em HandsOnDetectionDriverState.aidl são suportados.

    HOD quando todos os estados definidos em HandsOnDetectionDriverState.aidl são suportados.

    Figura 7. HOD quando todos os estados definidos em HandsOnDetectionDriverState.aidl são suportados.

    Além da propriedade HANDS_ON_DETECTION_STATE , HOD também fornece uma propriedade de aviso separada, HANDS_ON_DETECTION_WARNING . O diagrama de estado para os valores de alerta HOD é ilustrado na Figura 8.

    Valores de aviso HOD

    Figura 8. HOD quando todos os valores definidos em HandsOnDetectionWarning.aidl são suportados.