ADAS araç özellikleri

Android 14'e aşağıdaki yeni ADAS mülklerini ekledik:

Bu yeni özellikler aşağıdaki şekilde gösterilmiştir.

Desteklenen ADAS özellikleri

Şekil 1. Desteklenen ADAS özellikleri.

Tesis listesi

Bu yeni özellikleri desteklemek için Android 14'e bir özellik listesi eklendi. Bunlar aşağıda listelenmiştir.

Özellikler
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

Tema tasarımı

Aşağıdaki tasarım temaları yeni eklenen tesislere uygulanır.

Özellik Açıklama
ETKİN
  • Bir özelliğin etkin olup olmadığını belirten özellikler.
  • true'ün etkin ve false'ün devre dışı olduğu Boole özellikleri.
  • Read-only olarak uygulanabilen Read ve Write özellikleri.
DURUM
  • Önceden tanımlanmış bir durum listesi aracılığıyla özellik durumunu bildirecek özellikler.
  • Tanımlı bir liste içeren int32 özellikleri.
  • OTHER alanını ekleyin.
  • Read-only mülkleri.
  • Yansıtma veya Küresel alan türleri.
  • ErrorStates.aidl içinde tanımlanan değerleri kullanır.
  • AreaIdConfig.java'te getSupportedEnumValues() API'yi kullanın.
Çeşitli
  • Kullanıcı girişi gerektiren özellikler için COMMAND mülkleri.
  • Durum ayrı olarak temsil edilebildiğinde WARNING mülkleri.
  • Desteklenecek diğer mülkler:
    • Mümkün olduğunda özellik varyasyonları.
    • Uygun durumlarda özellik ayarlarını düzenleyin.

Durum diyagramı örnekleri

Bu bölümde, desteklenen ADAS özelliklerinin bir alt kümesi için durum şemaları sağlanarak dahil edilen özelliklerin birlikte nasıl çalıştığını gösterilmektedir. Aşağıdaki özelliklere örnekler ekledik.

  • Otomatik acil durum freni (AEB)
  • Şerit ortasına yerleştirme yardımı (LCA)
  • El kullanma algılama (HOD)

Otomatik acil durum freni

Bu tabloda açıklandığı gibi, AEB için iki özellik tanımlanır.

Özellik Değerler
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

AutomaticEmergencyBrakingState.aidl dosyasında tanımlanır.

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • AEB için aşağıdaki örnek durum şeması, AutomaticEmergencyBrakingState.aidl içinde tanımlanan desteklenen durumları içerir.

    AutomaticEmergencyBrakingState.aidl dosyasında tanımlanan AEB durumları

    Şekil 2. AutomaticEmergencyBrakingState.aidl dosyasında tanımlanan AEB durumları.

    Bu resimde, USER_OVERRIDE durumu desteklenmediğinde AEB örneği gösterilmektedir. Desteklenen durumlar, AreaIdConfig.java içindeki getSupportedEnumValues() API ile belirtilmelidir.

    Kullanıcının geçersiz kılma durumu desteklenmediğinde AEB

    Şekil 3. USER_OVERRIDE durumu desteklenmediğinde AEB.

    Şekil 4'te gösterilen AEB örneğinde, AEB'nin kullanılamamasına neden olan hata vurgulanmıştır. Bu örnekte, ErrorState.aidl bölümünde tanımlanan değerlerin nasıl kullanılacağı gösterilmektedir. Bu hatalar, CarPropertyManager tarafından istisna atılmasına neden olmaz. Bunun yerine, CarPropertyValue'ta yapılan diğer tüm değişikliklerle aynı şekilde uygulamalarla paylaşılır.

    Hata, AEB'nin kullanılamaz hale gelmesine neden oluyor

    Şekil 4. Hata, AEB'nin kullanılamamasına neden oluyor.

    Şerit ortasına yerleştirme yardımı

    Şerit merkezileştirme yardımı (LCA), ilişkili ve tanımlanmış üç özellik sağlar.

    Özellik Değerler
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    LaneCenteringAssistState.aidl içinde tanımlanır

    VehiclePropertyType:INT32

    • OTHER
    • ENABLED
    • ACTIVATION_REQUESTED
    • ACTIVATED
    • USER_OVERRIDE
    • FORCED_DEACTIVATION_WARNING
    • ErrorState

    LANE_CENTERING_ASSIST_COMMAND

    LaneCenteringAssistCommand.aidl içinde tanımlanır

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    Aşağıdaki durum şemasında, LaneCenteringAssistState.aidl bölümünde tanımlanan tüm durumların desteklendiği durumlarda LCA gösterilmektedir. Yeşil çizgiler, LANE_CENTERING_ASSIST_COMMAND üzerinden (uygulandığında) veya araçtaki başka bir mekanizma üzerinden başlatılan bir komut olabilir ve Android Automotive OS'teki (AAOS) durum değişikliğini yansıtabilir.

    LaneCenteringAssistState.aidl dosyasında tanımlanan LCA durumları

    Şekil 5. LaneCenteringAssistState.aidl'de tanımlanan LCA durumları.

    Bu LCA örneğinde, LCA'nın kullanılamamasına neden olan bir hata vurgulanmaktadır. Bu görsel, ErrorState.aidl içinde tanımlanan değerlerin nasıl kullanılacağını gösterir. Bu hatalar, CarPropertyManager'nin hata vermesine neden olmaz. Bunun yerine, CarPropertyValue değişikliğinde yapılan diğer değişikliklerin paylaşıldığı şekilde uygulamalarla paylaşılır.

     Hata, LCA'nın kullanılamamasına neden olur.

    Şekil 6. Hata, LCA'nın kullanılamamasına neden olur.

    Uygulamalı algılama

    Bu üç ilişkili özellik, uygulamalı algılama (HOD) için tanımlanır.

    Özellik Açıklama
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    HandsOnDetectionDriverState.aidl içinde tanımlanır

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    HandsOnDetectionWarning.aidl bölümünde tanımlanmıştır

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    Aşağıda, HandsOnDetectionDriverState.aidl içinde tanımlanan tüm durumların desteklendiğini gösteren bir HOD örneği verilmiştir.

    HandsOnDetectionDriverState.aidl düzeyinde tanımlanan tüm durumlar desteklendiğinde HOD.

    Şekil 7. HandsOnDetectionDriverState.aidl düzeyinde tanımlanan tüm durumlar desteklendiğinde HOD.

    HOD, HANDS_ON_DETECTION_STATE özelliğine ek olarak HANDS_ON_DETECTION_WARNING ayrı bir uyarı özelliği de sunar. HOD uyarı değerlerinin durum diyagramı Şekil 8'de gösterilmiştir.

    HOD uyarı değerleri

    8. Şekil. HandsOnDetectionWarning.aidl dosyasında tanımlanan tüm değerler desteklendiğinde HOD.