W Androidzie 14 dodaliśmy te nowe właściwości ADAS:
- Automatyczne hamowanie awaryjne (AEB)
- Wykrywanie trzymania kierownicy (HOD)
- Asystent utrzymania na środku pasa ruchu (LCA)
- Ostrzeżenie przed kolizją z przodu (FCW)
- Ostrzeżenie o martwym polu
- Ostrzeżenie o zjechaniu z pasa ruchu (LDW)
- Asystent pasa ruchu (LKA)
- Asystent utrzymania pasa ruchu w sytuacjach awaryjnych (ELKA)
- Standardowy tempomat (CC)
- Tempomat adaptacyjny (ACC)
Nowe funkcje przedstawia poniższy rysunek.
Rysunek 1. Obsługiwane funkcje ADAS.
Lista właściwości
Aby obsługiwać te nowe funkcje, do Androida 14 dodaliśmy listę właściwości. Znajdziesz 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 projektów
Do nowo dodanych usług stosowane są te motywy projektu:
Właściwość | Opis |
---|---|
WŁĄCZONE |
|
STAN |
|
Różne |
|
Przykłady diagramów stanów
W tej sekcji znajdziesz diagramy stanów dla podzbioru obsługiwanych funkcji ADAS, które pokazują, jak działają ze sobą uwzględnione właściwości. Poniżej znajdziesz przykłady tych funkcji.
- Automatyczne hamowanie awaryjne (AEB)
- Asystent utrzymania pasa ruchu (LCA)
- Wykrywanie trzymania kierownicy (HOD)
Automatyczne hamowanie awaryjne
Dla AEB zdefiniowano 2 właściwości, które zostały opisane w tej tabeli.
Właściwość | Wartości |
---|---|
AUTOMATIC_EMERGENCY_BRAKING_ENABLED |
VehiclePropertyType:BOOLEAN |
Zdefiniowano w pliku
|
OTHER ENABLED ACTIVATED USER_OVERRIDE ErrorState |
Poniższy przykładowy diagram stanów dla AEB zawiera obsługiwane stany zdefiniowane w AutomaticEmergencyBrakingState.aidl
.
Rysunek 2. Stany AEB zdefiniowane w pliku AutomaticEmergencyBrakingState.aidl.
Ilustracja przedstawia przykład AEB, gdy stanUSER_OVERRIDE
nie jest obsługiwany. Obsługiwane stany należy określić za pomocą interfejsu API getSupportedEnumValues()
w AreaIdConfig.java
.
Rysunek 3. AEB, gdy stan USER_OVERRIDE nie jest obsługiwany.
Na przykładzie AEB przedstawionym na rysunku 4 wyróżniono błąd, który powoduje niedostępność AEB. Pokazuje to, jak należy używać wartości zdefiniowanych w ErrorState.aidl
. Te błędy nie powodują zgłoszenia wyjątku przez CarPropertyManager
, ale są udostępniane aplikacjom w taki sam sposób jak każda inna zmiana CarPropertyValue
.
Rysunek 4. Błąd powoduje, że AEB staje się niedostępny.
Asystent utrzymania na środku pasa ruchu
Asystent utrzymania pasa ruchu (LCA) udostępnia 3 powiązane i zdefiniowane właściwości.
Właściwość | Wartości |
---|---|
LANE_CENTERING_ASSIST_ENABLED |
VehiclePropertyType:BOOLEAN |
Zdefiniowano w |
|
Zdefiniowano w |
|
Poniższy diagram stanów ilustruje LCA, gdy obsługiwane są wszystkie zdefiniowane stany w
LaneCenteringAssistState.aidl
. Zielone linie mogą być poleceniem zainicjowanym z poziomu LANE_CENTERING_ASSIST_COMMAND
(jeśli jest zaimplementowane) lub za pomocą innego mechanizmu w pojeździe i odzwierciedlać zmianę stanu w systemie operacyjnym Android Automotive (AAOS).
Rysunek 5. Stany LCA zdefiniowane w pliku LaneCenteringAssistState.aidl.
Ten przykład LCA pokazuje błąd, który powoduje niedostępność LCA. Ten przykład pokazuje, jak używać wartości zdefiniowanych w ErrorState.aidl
.
Te błędy nie powodują zgłaszania błędu przez CarPropertyManager
, ale są udostępniane aplikacjom w taki sam sposób jak inne zmiany w CarPropertyValue
.
Rysunek 6. Błąd powoduje, że LCA staje się niedostępny.
Wykrywanie dotyku
Te 3 powiązane właściwości są zdefiniowane na potrzeby wykrywania dotyku (HOD).
Właściwość | Opis |
---|---|
HANDS_ON_DETECTION_ENABLED |
VehiclePropertyType:BOOLEAN |
Zdefiniowano w |
|
Zdefiniowano w |
|
Ilustracja poniżej przedstawia przykład HOD, w którym obsługiwane są wszystkie zdefiniowane stany w HandsOnDetectionDriverState.aidl
.
Rysunek 7. HOD, gdy obsługiwane są wszystkie zdefiniowane stany w pliku HandsOnDetectionDriverState.aidl.
Oprócz właściwości HANDS_ON_DETECTION_STATE
HOD udostępnia też oddzielną właściwość ostrzegawczą HANDS_ON_DETECTION_WARNING
. Diagram stanów dla wartości ostrzegawczych HOD przedstawiono na rysunku 8.
Rysunek 8. HOD, gdy obsługiwane są wszystkie zdefiniowane wartości w pliku HandsOnDetectionWarning.aidl.