ADAS 차량 속성

Android 14에 다음과 같은 새로운 ADAS 속성이 추가되었습니다.

이러한 새로운 기능은 다음 그림에 나와 있습니다.

지원되는 ADAS 기능

그림 1. 지원되는 ADAS 기능

속성 목록

이러한 새로운 기능을 지원하기 위해 속성 목록이 Android 14에 추가되었습니다. 아래에 나열되어 있습니다.

속성
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

디자인 테마

새로 추가된 속성에는 다음과 같은 디자인 테마가 적용됩니다.

속성 설명
사용 설정됨
  • 기능이 사용 설정되었는지 또는 사용 중지되었는지 나타내는 속성입니다.
  • `true`가 사용 설정되고 `false`가 사용 중지되는 불리언 속성입니다.
  • ReadWrite 속성으로 구현할 수 있습니다. Read-only.
상태
  • 미리 정의된 상태 목록을 통해 기능 상태를 전달하는 속성입니다.
  • 정의된 열거형이 있는 Int32 속성입니다.
  • 이전 버전과의 호환성을 지원하는 OTHER 필드입니다.
  • Read-only 속성입니다.
  • 미러 또는 전역 영역 유형입니다.
  • `ErrorStates.aidl`에 정의된 값을 사용합니다. Uses values defined in ErrorStates.aidl.
  • getSupportedEnumValues() 에서 AreaIdConfig.java API를 사용합니다.
기타
  • 사용자 입력이 필요한 기능의 COMMAND 속성입니다.
  • 상태를 별도로 나타낼 수 있는 경우의 WARNING 속성입니다.
  • 지원할 기타 속성:
    • 해당하는 경우 기능 변형입니다.
    • 해당하는 경우 기능 설정을 조정합니다.

상태 다이어그램 예

이 섹션에서는 포함된 속성이 함께 작동하는 방식을 보여주기 위해 지원되는 ADAS 기능의 하위 집합에 관한 상태 다이어그램을 제공합니다. 다음 기능의 예를 제공했습니다.

  • 자동 비상 제동 (AEB)
  • 차선 중앙 유지 보조 (LCA)
  • 직접식 감지 (HOD)

자동 비상 제동

이 표에 설명된 대로 AEB에 두 가지 속성이 정의되어 있습니다.

속성
AUTOMATIC_EMERGENCY_BRAKING_ENABLED VehiclePropertyType:BOOLEAN

AUTOMATIC_EMERGENCY_BRAKING_STATE

AutomaticEmergencyBrakingState.aidl에 정의되어 있습니다.

VehiclePropertyType:INT32

  • OTHER
  • ENABLED
  • ACTIVATED
  • USER_OVERRIDE
  • ErrorState
  • AEB의 다음 샘플 상태 다이어그램에는 AutomaticEmergencyBrakingState.aidl에 정의된 지원되는 상태가 포함되어 있습니다.

    AutomaticEmergencyBrakingState.aidl에 정의된 AEB 상태

    그림 2. AutomaticEmergencyBrakingState.aidl에 정의된 AEB 상태

    이 그림은 USER_OVERRIDE 상태가 지원되지 않는 경우의 AEB 예를 제공합니다. 지원되는 상태는 getSupportedEnumValues() API를 통해 AreaIdConfig.java 지정해야 합니다.

    사용자 재정의 상태가 지원되지 않는 경우 AEB

    그림 3. USER_OVERRIDE 상태가 지원되지 않는 경우의 AEB

    그림 4에 나와 있는 AEB 예에서는 AEB를 사용할 수 없게 만드는 오류가 강조표시되어 있습니다. 이는 ErrorState.aidl 에 정의된 값을 사용하는 방법을 보여줍니다. 이러한 오류로 인해 CarPropertyManager에서 예외가 발생하지 않으며 대신 다른 CarPropertyValue 변경사항과 동일한 방식으로 앱과 공유됩니다.

    오류로 인해 AEB를 사용할 수 없게 됨

    그림 4. 오류로 인해 AEB를 사용할 수 없게 됨

    차선 중앙 유지 보조

    차선 중앙 유지 보조 (LCA)는 세 가지 연결된 정의된 속성을 제공합니다.

    속성
    LANE_CENTERING_ASSIST_ENABLED VehiclePropertyType:BOOLEAN

    LANE_CENTERING_ASSIST_STATE

    에 정의되어 있습니다.LaneCenteringAssistState.aidl

    VehiclePropertyType:INT32

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

    LANE_CENTERING_ASSIST_COMMAND

    에 정의되어 있습니다.LaneCenteringAssistCommand.aidl

    VehiclePropertyType:INT32

    • ACTIVATE
    • DEACTIVATE

    다음 상태 다이어그램은 LaneCenteringAssistState.aidl 에 정의된 모든 상태가 지원되는 경우의 LCA를 보여줍니다. 녹색 선은 LANE_CENTERING_ASSIST_COMMAND 에서 시작된 명령어(구현된 경우)이거나 차량의 다른 메커니즘을 통해 시작되어 Android Automotive OS (AAOS)의 상태 변경을 반영할 수 있습니다.

    LaneCenteringAssistState.aidl에 정의된 LCA 상태

    그림 5. LaneCenteringAssistState.aidl에 정의된 LCA 상태

    이 LCA 예에서는 LCA를 사용할 수 없게 만드는 오류를 강조표시합니다. 이는 ErrorState.aidl에 정의된 값을 사용하는 방법을 보여줍니다. 이러한 오류로 인해 CarPropertyManager에서 오류가 발생하지 않으며 대신 CarPropertyValue 의 다른 변경사항이 공유되는 것과 동일한 방식으로 앱과 공유됩니다.

     오류로 인해 LCA를 사용할 수 없게 됩니다.

    그림 6. 오류로 인해 LCA를 사용할 수 없게 됨

    직접식 감지

    이러한 세 가지 연결된 속성은 직접식 감지 (HOD)에 정의되어 있습니다.

    속성 설명
    HANDS_ON_DETECTION_ENABLED VehiclePropertyType:BOOLEAN

    HANDS_ON_DETECTION_STATE

    `HandsOnDetectionDriverState.aidl`에 정의되어 있습니다. HandsOnDetectionDriverState.aidl

    VehiclePropertyType:INT32

    • OTHER
    • HANDS_ON
    • HANDS_OFF
    • ErrorState

    HANDS_ON_DETECTION_WARNING

    `HandsOnDetectionWarning.aidl`에 정의되어 있습니다. HandsOnDetectionWarning.aidl

    VehiclePropertyType:INT32

    • OTHER
    • NO_WARNING
    • WARNING
    • ErrorState

    아래에는 HandsOnDetectionDriverState.aidl에 정의된 모든 상태가 지원되는 HOD의 예가 나와 있습니다.

    HandsOnDetectionDriverState.aidl에 정의된 모든 상태가 지원되는 경우 HOD

    그림 7. HandsOnDetectionDriverState.aidl에 정의된 모든 상태가 지원되는 경우의 HOD

    HOD는 HANDS_ON_DETECTION_STATE 속성 외에도 별도의 경고 속성인 HANDS_ON_DETECTION_WARNING을 제공합니다. HOD 경고 값의 상태 다이어그램은 그림 8에 나와 있습니다.

    HOD 경고 값

    그림 8. HandsOnDetectionWarning.aidl에 정의된 모든 값이 지원되는 경우의 HOD