W Androidzie 14 dodaliśmy te nowe właściwości ADAS:
- Automatyczne hamowanie awaryjne (AEB)
- Wykrywanie rąk na kierownicy (HOD)
- Asystent utrzymania na pasie ruchu (LCA)
- Ostrzeżenie przed kolizją z przodu (FCW)
- Ostrzeżenie o martwym polu (BSW)
- Ostrzeżenie o opuszczeniu pasa ruchu (LDW)
- Asystent utrzymania na pasie ruchu (LKA)
- Asystent utrzymania na pasie ruchu w nagłych wypadkach (ELKA)
- Standardowy tempomat (CC)
- Tempomat adaptacyjny (ACC)
Te nowe funkcje są przedstawione na ilustracji poniżej.
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. Znajdują się one 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 projektowe
Do nowo dodanych właściwości stosowane są te motywy projektowe.
| Właściwość | Opis |
|---|---|
| WŁĄCZONO |
|
| STAN |
|
| Pozostałe postanowienia |
|
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ą razem dołączone właściwości. Podajemy przykłady tych funkcji:
- Automatyczne hamowanie awaryjne (AEB)
- Asystent utrzymania na pasie ruchu (LCA)
- Wykrywanie rąk na kierownicy (HOD)
Automatyczne hamowanie awaryjne
Dla AEB zdefiniowano 2 właściwości opisane w tej tabeli.
| Właściwość | Wartości |
|---|---|
AUTOMATIC_EMERGENCY_BRAKING_ENABLED |
VehiclePropertyType:BOOLEAN |
|
Zdefiniowana w
|
OTHERENABLEDACTIVATEDUSER_OVERRIDEErrorState |
Ten przykładowy diagram stanów dla AEB zawiera obsługiwane stany zdefiniowane w
AutomaticEmergencyBrakingState.aidl.
Rysunek 2. Stany AEB zdefiniowane w AutomaticEmergencyBrakingState.aidl.
Ten rysunek przedstawia przykład AEB, gdy stan
USER_OVERRIDE
nie jest obsługiwany. Obsługiwane stany należy określić za pomocą
getSupportedEnumValues()
interfejsu API w AreaIdConfig.java.
Rysunek 3. AEB, gdy stan USER_OVERRIDE nie jest obsługiwany.
W przykładzie AEB przedstawionym na rysunku 4 wyróżniono błąd, który powoduje, że AEB staje się niedostępne. Pokazuje to, jak należy używać wartości zdefiniowanych w
ErrorState.aidl
should be used. Te błędy nie powodują zgłoszenia wyjątku przez
CarPropertyManager ale są udostępniane aplikacjom w taki sam sposób jak inne
zmiany w CarPropertyValue.
Rysunek 4. Błąd powoduje, że AEB staje się niedostępne.
Asystent utrzymania na pasie ruchu
Asystent utrzymania na pasie ruchu (LCA) ma 3 powiązane i zdefiniowane właściwości.
| Właściwość | Wartości |
|---|---|
LANE_CENTERING_ASSIST_ENABLED |
VehiclePropertyType:BOOLEAN |
|
Zdefiniowana w
|
|
|
Zdefiniowana w
|
|
Ten diagram stanów przedstawia LCA, gdy obsługiwane są wszystkie stany zdefiniowane w
LaneCenteringAssistState.aidl
są obsługiwane. Zielone linie mogą być poleceniem zainicjowanym przez
LANE_CENTERING_ASSIST_COMMAND
(jeśli jest zaimplementowane) lub zainicjowanym przez inny mechanizm w pojeździe i odzwierciedlać zmianę stanu
w systemie operacyjnym Android Automotive (AAOS).
Rysunek 5. Stany LCA zdefiniowane w LaneCenteringAssistState.aidl.
Ten przykład LCA wyróżnia błąd, który powoduje, że LCA staje się niedostępne. Pokazuje to, jak używać wartości zdefiniowanych w
ErrorState.aidl.
Te błędy nie powodują zgłoszenia błędu przez CarPropertyManager, ale są
udostępniane aplikacjom w taki sam sposób jak inne zmiany w CarPropertyValue
są udostępniane.
Rysunek 6. Błąd powoduje, że LCA staje się niedostępne.
Wykrywanie rąk na kierownicy
Dla wykrywania rąk na kierownicy (HOD) zdefiniowano te 3 powiązane właściwości.
| Właściwość | Opis |
|---|---|
HANDS_ON_DETECTION_ENABLED |
VehiclePropertyType:BOOLEAN |
|
Zdefiniowana w
|
|
|
Zdefiniowana w
|
|
Poniżej przedstawiamy przykład HOD, w którym obsługiwane są wszystkie stany zdefiniowane w
HandsOnDetectionDriverState.aidl są obsługiwane.
Rysunek 7. HOD, gdy obsługiwane są wszystkie stany zdefiniowane w HandsOnDetectionDriverState.aidl.
Oprócz właściwości HANDS_ON_DETECTION_STATE funkcja HOD udostępnia też oddzielną
właściwość ostrzeżenia HANDS_ON_DETECTION_WARNING. Diagram stanów dla wartości ostrzeżenia HOD jest
przedstawiony na rysunku 8.
Rysunek 8. HOD, gdy obsługiwane są wszystkie wartości zdefiniowane w HandsOnDetectionWarning.aidl.