Właściwości pojazdu ADAS

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

Te nowe funkcje zostały opisane 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 zbiorczymi.
  • 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
  • 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 stosownych przypadkach).
    • 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 ze sobą współpracują. Poniżej przedstawiamy przykłady tych funkcji.

  • Automatyczne hamowanie awaryjne (AEB)
  • Asystent utrzymania 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 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.

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

    AEB, gdy stan zastępowania przez 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, ale 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 funkcja AEB staje się niedostępna.

    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 sekcji 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 dotykania ekranu (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 przedstawiono przykładowy stan HOD, w którym obsługiwane są wszystkie stany zdefiniowane 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 Otwórz dane udostępniamy też osobną właściwość ostrzeżenia HANDS_ON_DETECTION_WARNING. Diagram stanu wartości ostrzeżenia 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.