Propriedades do veículo ADAS

Adicionamos as seguintes propriedades de ADAS ao Android 14:

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

Recursos de ADAS compatíveis

Figura 1. Recursos de ADAS compatíveis.

Lista de propriedades

Para oferecer suporte a esses novos recursos, uma lista de propriedades foi adicionada ao Android 14. Eles estão listados 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

Criar temas

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

Propriedade Descrição
ATIVADO
  • Propriedades para indicar se um recurso está ativado ou desativado.
  • Propriedades booleanas em que true está ativado e false está desativado.
  • Propriedades Read e Write que podem ser implementadas como Read-only.
ESTADO
  • Propriedades para comunicar o estado do recurso usando uma lista de estados predefinidos.
  • Propriedades Int32 com enums definidos.
  • Campo OTHER para oferecer 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 a serem compatíveis:
    • Variações de recursos, quando aplicável.
    • Ajuste as configurações do recurso quando aplicável.

Exemplos de diagrama de estado

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

  • Frenagem de emergência automática (AEB)
  • Assistente de centralização na faixa (LCA)
  • Detecção de contato físico (HOD, na sigla em inglês)

Frenagem de emergência automática

Duas propriedades são definidas para o 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 exemplo a seguir para AEB inclui os estados compatíveis definidos em AutomaticEmergencyBrakingState.aidl.

    Estados do AEB definidos em AutomaticEmergencyBrakingState.aidl

    Figura 2. Estados do AEB definidos em AutomaticEmergencyBrakingState.aidl.

    Esta figura mostra um exemplo de AEB quando o estado USER_OVERRIDE não é compatível. Os estados compatíveis precisam ser especificados pela 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 é compatível.

    No exemplo de AEB ilustrado na Figura 4, o erro que causa a indisponibilidade do AEB está destacado. Isso demonstra como os valores definidos em ErrorState.aidl devem ser usados. Esses erros não resultam em uma exceção gerada pelo CarPropertyManager. Em vez disso, eles são compartilhados com os apps da mesma forma que qualquer outra mudança no CarPropertyValue.

    Erro faz com que o AEB fique indisponível

    Figura 4. O erro faz com que a AEB fique indisponível.

    Assistente de centralização na faixa

    O assistente de centralização na faixa (LCA, na sigla em inglês) oferece 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 a LCA quando todos os estados definidos em LaneCenteringAssistState.aidl são compatíveis. As linhas verdes podem ser um comando iniciado pelo LANE_CENTERING_ASSIST_COMMAND (quando implementado) ou por outro mecanismo no veículo e refletir uma mudança de estado no Android Automotive OS (AAOS).

    Estados da LCA definidos em LaneCenteringAssistState.aidl

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

    Este exemplo de LCA destaca um erro que faz com que a LCA fique indisponível. Isso demonstra como usar os valores definidos em ErrorState.aidl. Esses erros não fazem com que CarPropertyManager gere um erro. Em vez disso, eles são compartilhados com os apps da mesma forma que outras mudanças em CarPropertyValue.

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

    Figura 6. O erro faz com que a LCA fique indisponível.

    Detecção prática

    Essas três propriedades associadas são definidas para detecção de contato (HOD, na sigla em inglês).

    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

    Confira abaixo um exemplo de HOD, em que todos os estados definidos em HandsOnDetectionDriverState.aidl são compatíveis.

    HOD quando todos os estados definidos em HandsOnDetectionDriverState.aidl são compatíveis.

    Figura 7. HOD quando todos os estados definidos em HandsOnDetectionDriverState.aidl são compatíveis.

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

    Valores de alerta de HOD

    Figura 8. HOD quando todos os valores definidos em HandsOnDetectionWarning.aidl são compatíveis.