Właściwości pojazdu ADAS

Dodaliśmy do Androida 14 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 projektowe

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 służące do przekazywania informacji o stanie cechy za pomocą listy wstępnie zdefiniowanych stanów.
  • Właściwości typu int32 z zdefiniowanymi typami enumeracji.
  • Pole OTHER zapewnia zgodność wsteczną.
  • Read-only usługi.
  • Typy obszarów: lustrzany lub globalny.
  • Używa wartości zdefiniowanych w 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 obsługiwane usługi:
    • odmiany funkcji, w razie potrzeby;
    • W razie potrzeby dostosuj ustawienia funkcji.

Przykłady diagramu stanu

W tej sekcji znajdziesz diagramy stanów dla podzbioru obsługiwanych funkcji ADAS, które pokazują, jak uwzględnione usługi ze sobą współpracują. 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 robots.google EmergencyBrakingState.aidl.

    Ten rysunek zawiera przykład AEB, gdy stan USER_OVERRIDE nie 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, 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 funkcja AEB staje się niedostępna.

    Asystent utrzymywania pasa ruchu

    Asystent wyśrodkowania pasa (LCA) udostępnia 3 powiązane i zdefiniowane właściwości.

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

    LANE_CENTERING_ASSIST_STATE

    Definicja: 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 wyróżnia błąd, który sprawia, że ten sam lokalny punkt sprzedaży jest niedostępny. 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 praktyczne

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

    Właściwość Opis
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    Definicja: 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 zdefiniowane stany w elementach HandsOnDetectionDriverState.aidl.

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

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

    Oprócz właściwości HANDS_ON_DETECTION_STATE w ramach usługi dotyczącej danych o opłatach za korzystanie z usługi udostępniana jest też osobna właściwość ostrzeżenia HANDS_ON_DETECTION_WARNING. Diagram stanu wartości ostrzeżenia HOD przedstawiono na rysunku 8.

    Wartości ostrzeżeń HOD

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