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_GAPADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_DISTANCEAUTOMATIC_EMERGENCY_BRAKING_ENABLEDAUTOMATIC_EMERGENCY_BRAKING_STATEBLIND_SPOT_WARNING_ENABLEDBLIND_SPOT_WARNING_STATECRUISE_CONTROL_ENABLEDCRUISE_CONTROL_TYPE CRUISE_CONTROL_STATECRUISE_CONTROL_COMMANDCRUISE_CONTROL_TARGET_SPEEDEMERGENCY_LANE_KEEP_ASSIST_ENABLEDEMERGENCY_LANE_KEEP_ASSIST_STATE
|
FORWARD_COLLISION_WARNING_ENABLEDFORWARD_COLLISION_WARNING_STATEHANDS_ON_DETECTION_ENABLEDHANDS_ON_DETECTION_DRIVER_STATEHANDS_ON_DETECTION_WARNINGLANE_DEPARTURE_WARNING_ENABLEDLANE_DEPARTURE_WARNING_STATELANE_KEEP_ASSIST_ENABLEDLANE_KEEP_ASSIST_STATELANE_CENTERING_ASSIST_ENABLEDLANE_CENTERING_ASSIST_COMMANDLANE_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
|
OTHERENABLEDACTIVATEDUSER_OVERRIDEErrorState |
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_OVERRIDEnie 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.