Właściwości pojazdu ADAS

Do Androida 14 dodaliśmy następujące nowe właściwości ADAS:

Te nowe możliwości przedstawiono na poniższym rysunku.

Obsługiwane funkcje ADAS

Rysunek 1. Obsługiwane funkcje ADAS.

Lista nieruchomości

Aby obsługiwać te nowe funkcje, do Androida 14 dodano listę właściwości. Są one wymienione poniżej.

Nieruchomości
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

Motywy projektowe

Do nowo dodanych właściwości stosowane są następujące motywy projektowe.

Nieruchomość Opis
WŁĄCZONY
  • Właściwości wskazujące, czy funkcja jest włączona, czy wyłączona.
  • Właściwości logiczne, w których true jest włączona, a false jest wyłączona.
  • Właściwości Read i Write , które można zaimplementować jako Read-only .
PAŃSTWO
  • Właściwości umożliwiające przekazywanie stanu funkcji za pomocą listy predefiniowanych stanów.
  • Właściwości Int32 ze zdefiniowanymi wyliczeniami.
  • Pole OTHER obsługujące kompatybilność wsteczną.
  • Właściwości Read-only .
  • Typy obszarów lustrzanych lub globalnych.
  • Używa wartości zdefiniowanych w ErrorStates.aidl .
  • Użyj funkcji API getSupportedEnumValues() w AreaIdConfig.java .
Różnorodny
  • Właściwości COMMAND dla funkcji, gdy wymagane jest wprowadzenie danych przez użytkownika.
  • WARNING , kiedy stan może być reprezentowany osobno.
  • Inne właściwości do obsługi:
    • Różnice w funkcjach, jeśli mają zastosowanie.
    • Dostosuj ustawienia funkcji, jeśli ma to zastosowanie.

Przykłady diagramów stanu

W tej sekcji znajdują się diagramy stanu dla podzbioru obsługiwanych funkcji ADAS, aby zademonstrować, w jaki sposób uwzględnione właściwości współpracują ze sobą. Podajemy przykłady następujących funkcji.

  • Automatyczne hamowanie awaryjne (AEB)
  • Asystent centrowania pasa ruchu (LCA)
  • Wykrywanie praktyczne (HOD)

Automatyczne hamowanie awaryjne

Zdefiniowano dwie właściwości AEB, jak opisano w tej tabeli.

Nieruchomość Wartości
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

Zdefiniowane w AutomaticEmergencyBrakingState.aidl .

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • Poniższy przykładowy diagram stanu dla AEB zawiera obsługiwane stany zdefiniowane w AutomaticEmergencyBrakingState.aidl .

    Stany AEB zdefiniowane w pliku AutomaticEmergencyBrakingState.aidl

    Rysunek 2. Stany AEB zdefiniowane w pliku AutomaticEmergencyBrakingState.aidl.

    Ten rysunek przedstawia przykład AEB, gdy stan USER_OVERRIDE nie jest obsługiwany. Obsługiwane stany należy określić za pomocą funkcji API getSupportedEnumValues() w AreaIdConfig.java .

    AEB, gdy stan obejścia użytkownika nie jest obsługiwany

    Rysunek 3. AEB, gdy stan USER_OVERRIDE nie jest obsługiwany.

    W przykładzie AEB pokazanym na rysunku 4 podświetlony jest błąd powodujący niedostępność AEB. To pokazuje, jak należy używać wartości zdefiniowanych w ErrorState.aidl . Te błędy nie powodują wyjątku zgłoszonego przez CarPropertyManager i zamiast tego są udostępniane aplikacjom w taki sam sposób, jak każda inna zmiana w CarPropertyValue .

    Błąd powoduje, że funkcja AEB staje się niedostępna

    Rysunek 4. Błąd powoduje, że AEB staje się niedostępne.

    Asystent centrowania pasa ruchu

    Asystent pasa ruchu (LCA) zapewnia trzy powiązane i zdefiniowane właściwości.

    Nieruchomość Wartości
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    Zdefiniowane w LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

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

    LANE_CENTERING_ASSIST_COMMAND

    Zdefiniowane w LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    Poniższy diagram stanów ilustruje LCA, gdy obsługiwane są wszystkie stany zdefiniowane w LaneCenteringAssistState.aidl . Zielone linie mogą być poleceniem zainicjowanym z LANE_CENTERING_ASSIST_COMMAND (jeśli jest zaimplementowane) lub zainicjowanym przez inny mechanizm w pojeździe i odzwierciedlać zmianę stanu w systemie operacyjnym Android Automotive OS (AAOS).

    Stany LCA zdefiniowane w pliku LaneCenteringAssistState.aidl

    Rysunek 5. Stany LCA zdefiniowane w pliku LaneCenteringAssistState.aidl.

    Ten przykład LCA podkreśla błąd, który powoduje, że LCA staje się niedostępna. To pokazuje, jak używać wartości zdefiniowanych w ErrorState.aidl . Te błędy nie powodują zgłoszenia błędu przez CarPropertyManager i zamiast tego są udostępniane aplikacjom w taki sam sposób, w jaki udostępniane są inne zmiany zmiany CarPropertyValue .

    Błąd powoduje, że LCA staje się niedostępne.

    Rysunek 6. Błąd powoduje, że LCA staje się niedostępne.

    Wykrywanie praktyczne

    Te trzy powiązane właściwości są zdefiniowane na potrzeby wykrywania ręcznego (HOD).

    Nieruchomość Opis
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    Zdefiniowane w HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    Zdefiniowano w HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    Poniżej zilustrowano przykład HOD, w którym obsługiwane są wszystkie stany zdefiniowane w HandsOnDetectionDriverState.aidl .

    HOD, gdy obsługiwane są wszystkie stany zdefiniowane w pliku HandsOnDetectionDriverState.aidl.

    Rysunek 7. HOD, gdy obsługiwane są wszystkie stany zdefiniowane w HandsOnDetectionDriverState.aidl.

    Oprócz właściwości HANDS_ON_DETECTION_STATE , HOD udostępnia również osobną właściwość ostrzegawczą, HANDS_ON_DETECTION_WARNING . Diagram stanu wartości ostrzegawczych HOD przedstawiono na rysunku 8.

    Wartości ostrzegawcze HOD

    Rysunek 8. HOD, gdy obsługiwane są wszystkie wartości zdefiniowane w HandsOnDetectionWarning.aidl.