Właściwości pojazdu ADAS

Do Androida 14 dodaliśmy te nowe właściwości ADAS:

Te nowe funkcje zostały zilustrowane na rysunku poniżej.

Obsługiwane funkcje ADAS

Rysunek 1. Obsługiwane funkcje ADAS.

Lista właściwości

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

Właściwoś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 projektowania

Do nowo dodanych usług stosuje się te motywy projektowe.

Właściwość Opis
WŁĄCZONE
  • 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.
STATE
  • Właściwości, które informują o stanie funkcji za pomocą listy wstępnie zdefiniowanych stanów.
  • Właściwości typu int32 z zdefiniowanymi typami.
  • Pole OTHER zapewnia zgodność wsteczną.
  • Read-only usług.
  • Typy obszarów: lustrzany lub globalny.
  • Używa wartości zdefiniowanych w polu ErrorStates.aidl.
  • Użyj interfejsu API getSupportedEnumValues() w AreaIdConfig.java.
Różne
  • Właściwości COMMAND w przypadku funkcji, które wymagają danych wejściowych użytkownika.
  • Właściwości WARNING, gdy stan może być reprezentowany oddzielnie.
  • Inne właściwości do obsługi:
    • odmiany funkcji, w razie potrzeby;
    • W razie potrzeby dostosuj ustawienia funkcji.

Przykłady diagramów stanu

W tej sekcji znajdziesz diagramy stanów dla podzbioru obsługiwanych funkcji ADAS, które pokazują, jak te właściwości współpracują ze sobą. Poniżej przedstawiamy przykłady tych funkcji.

  • Automatyczne hamowanie awaryjne (AEB)
  • Asystent utrzymywania pasa ruchu (LCA)
  • wykrywanie obecności rąk (HOD);

Automatyczne hamowanie awaryjne

W przypadku AEB zdefiniowano 2 właściwości, jak opisano w tej tabeli.

Właściwość Wartości
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

Zdefiniowane w dokumentach: AutomaticEmergencyBrakingState.aidl.

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • Poniższy przykładowy diagram stanów systemu AEB zawiera obsługiwane stany zdefiniowane w dokumentacji AutomaticEmergencyBrakingState.aidl.

    Stany AEB zdefiniowane w pliku AutomaticEmergencyBrakingState.aidl

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

    Rysunek przedstawia przykład AEB, gdy stanUSER_OVERRIDEnie jest obsługiwany. Obsługiwane stany należy określić w interfejsie API getSupportedEnumValues() w pliku AreaIdConfig.java.

    AEB, gdy stan zastępowania użytkownika nie jest obsługiwany

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

    W przykładzie AEB na rysunku 4 błąd, który powoduje, że AEB jest niedostępne, jest wyróżniony. Pokazuje to, jak należy używać wartości zdefiniowanych w .ErrorState.aidl Te błędy nie powodują wyjątku CarPropertyManager, a zamiast tego są udostępniane aplikacjom w taki sam sposób jak każda inna zmiana w CarPropertyValue.

    Błąd powoduje niedostępność AEB

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

    Asystent utrzymywania pasa ruchu

    System utrzymywania pojazdu na pasie ruchu (LCA) zapewnia 3 powiązane i zdefiniowane właściwości.

    Właściwość 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

    Na poniższym diagramie stanów pokazano LCA, gdy wszystkie zdefiniowane stany w LaneCenteringAssistState.aidl są obsługiwane. Zielone linie mogą być poleceniem inicjowanym z poziomu LANE_CENTERING_ASSIST_COMMAND (jeśli jest wdrożone) lub inicjowane za pomocą innego mechanizmu w pojazdach i odzwierciedlają stan systemu operacyjnego Android Automotive (AAOS).

    Stany LCA zdefiniowane w pliku LaneCenteringAssistState.aidl

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

    Ten przykład LCA pokazuje błąd, który powoduje niedostępność LCA. Ten film pokazuje, jak używać wartości zdefiniowanych w .ErrorState.aidl Te błędy nie powodują błędu w CarPropertyManager, a zamiast tego są udostępniane aplikacjom w taki sam sposób jak inne zmiany w CarPropertyValue.

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

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

    wykrywanie obecności rąk;

    Te 3 powiązane właściwości są zdefiniowane na potrzeby wykrywania dłoni (HOD).

    Właściwość 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

    Zdefiniowane w HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    Poniżej przedstawiamy przykładowy stan HOD, w którym obsługiwane są wszystkie zdefiniowane stany w elementach HandsOnDetectionDriverState.aidl.

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

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

    Oprócz właściwości HANDS_ON_DETECTION_STATE w ramach usługi O właściwości w Google Ads zawiera też osobną właściwość ostrzegającą HANDS_ON_DETECTION_WARNING. Diagram stanów dla wartości ostrzeżenia dotyczącego HOD przedstawiono na rysunku 8.

    Wartości ostrzeżeń dotyczących HOD

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