SOTIF<span class="txt-0119">(자율주행에 대한 안전표준)</span> : 한컴MDS

자율주행 시스템에 대한 안전 표준

SOTIF(Safety Of The Intended Functionality: ISO/PAS21148)

SOTIF는 ‘의도된 기능의 안전성’이라고 불리며, 기능안전(Functional Safety: ISO 26262)과 같이 오작동, 고장, 결함에 관련된 것을 다루는 것이 아닌 운전자가 예측 가능한 기능의 오용(제조사가 의도하지 않은 방식으로 사용), 센서나 시스템의 성능 한계, 예기치 못한 도로 환경의 변화와 같은 주제를 다룹니다. 현재는 자율주행 단계 0 ~ 2 수준의 시스템에 SOTIF를 적용하고 있지만 향후에는 더 높은 단계에도 적용될 것입니다. 이러한 SOTIF는 차량 주행 중 발생할 수 있는 문제에 대해 미리 검토하고, 최대한의 안전을 확보하기 위해 필요합니다.

SOTIF의 최종 목표는 의도치 않은 동작이 발생할 확률을 줄이기 위해서 unknown 상황을 줄이고 SOTIF 기능 안전 확보 활동을 통해 위험 상황을 줄이는 것입니다.

SOTIF는 부족한 자율주행 경험을 보완하기 위한 안전 관련 표준으로, 위험 상황을 줄이기 위해 자율주행 시스템을 검증하게 됩니다. 이러한 위험 상황을 실제 차량으로 검증하기에는 무리가 있기 때문에 가상 검증을 통해 이뤄집니다.가상 검증을 위해서는 센서 모델, 차량 시스템 모델, 교통 시나리오뿐만 아니라 주간/야간 상황, 여러 노이즈 모델 등 자율주행 기능에 영향을 줄 수 있는 모델과 시나리오가 필요합니다. dSPACE에서는 다양한 개발환경을제공하고있으며, dSPACE Tool-chain을 사용하여 SOTIF 기능 안전 확보를 위한 환경을 구현할 수 있습니다.

SOTIF의 주요 개념

Risk는 Known safe/risk, Unknown safe/risk, 총 4가지로 분류됩니다. SOTIF 표준에서는 Area 2, Area 3에 해당되는 Known risk와 Unknown risk에 대해 다룹니다. 안전 확보 활동을 하기 전에는 Area 2, 3의 영역이 넓지만, SOTIF 표준을 준수함으로써 이 두 영역을 최소화하고 Known safe를 최대화하여 안전한 상태의 시나리오를 확보하는 것이 주요 목적입니다.


- Area 2(Known risk): 눈부심, 폭우, 폭설 등 날씨로 인해 발생하는 위험 상황, 사용자의 휴대폰 사용과 같은 운전자 부주의로 인해 발생하는 위험 상황

- Area 3(Unknown risk): 전혀 예상할 수 없는 위험 상황

[SOTIF(SafetyOfTheIntendedFunctionality) 위험 상황 분류]

SOTIF 대응을 위한 dSPACE Tool chain

SOTIF 표준에 대응하기 위해 dSPACE는 통합 개발 환경을 제공하고 있습니다. 아래의 dSPACE tool chain을 사용하여 SOTIF 안전 확보를 위한 환경을 구축할 수 있습니다.

Hardware

RCP(Rapid Control Prototyping) 장비 : 차량 제어기(ECU) 대신 사용

HIL(Hardware-in-the-loop) 장비 : 양산 전 ECU 테스트

Software

ConfigurationDesk : IO 설정 및 제어 모델 구현

AutomationDesk : Test case 설계 및 자동화 테스트 수행

ControlDesk : 실시간으로 시뮬레이션을 제어하고 데이터를 계측

ASM : 차량 동역학 및 교통 환경을 시뮬레이션하기 위한 모델

ModelDesk : GUI를 통해 차량 파라미터 수정, 도로 및 시나리오 생성

MotionDesk : 3D 애니메이션으로 차량의 거동 확인

[테스트 프로세스 및 Tool chain 소개]

Area별 테스트 방법

[Area 2] Known risk

Known risk는 Verification을 통해 평가됩니다. 이때 사용되는 테스트 방법은 requirement-based testing(요구사항 기반 테스트)입니다. 이 방법은 ISO 26262에서 사용하는 방법과 유사합니다.

Requirement와 test goal을 제공해주시면 Test Designer가 해당 내용을 바탕으로 Test specification을 작성합니다. Test developer는 Test specification을 바탕으로 Test case와 Test parameter를 개발하고 이러한 데이터들은 Data management를 통해 관리됩니다.

[Requirement-based testing(요구사항 기반 테스트)]

[Area 3] Unknown risk

Unknown risk는 Validation을 통해 평가됩니다. 이때 사용되는 테스트 방법은 scenario-based testing(시나리오 기반 테스트)입니다. Unknown risk는 전혀 예상할 수 없는 위험 상황을 나타내기 때문에 수많은 시나리오를 바탕으로 테스트를 수행해야 합니다.

Top level requirement와 use case를 제공해 주시면 Test designer가 Logical scenario를 구체화합니다. Test developer는 Logical scenario를 바탕으로 Simulation scenario와 Scenario parameter를 생성합니다. 이 과정을 통해 생성된 scenario를 잔재 위험 (residual risk)이 최소화될 때까지 반복하여 시뮬레이션 합니다.

[Scenario-based testing(시나리오 기반 테스트)]

SOTIF 활용사례

PATAC(범아시아 자동차 기술연구소) : SOTIF 표준에 따라 LKA 테스트 수행 사례

PATAC(Pan Asia Technical Automotive Center)는 dSPACE를 통해 개발 환경을 구축하여 SOTIF 표준에 따라 LKA(Line Keeping Assistant)에 대한 테스트를 수행했습니다.
LKA는 차선을 모니터링하는 카메라에 의해 작동되며, 차량이 경로를 이탈하려는 경우 시스템이 개입하여 경로를 수정하는 운전 보조시스템입니다.LKA는EPS(ElectricPowerSteering)를통해 생성하는 스티어링토크가 원하는 효과를 낼 수 있도록 효율적이어야 하지만, 동시에 운전자에게 부정적인 영향을 미치지 않도록 부드러워야 합니다. 실제 주행 테스트에서는 운전자가 일반적인 곡선을 따라갈 때 LKA는 CAN 버스를 통해EPS에 보정된스티어링 토크를 전달합니다. 보정된 스티어링 토크는 시험 주행 동안 점진적으로 증가합니다. 이러한 과정은 운전자가더 이상 차선을유지할수 없어질 때까지 계속됩니다. 이러한 테스트를 수행하기 위해구성된 개발 환경에서는 다양한  dSPACE tool을 사용했습니다.

PATAC에서는 dSPACE SYNECT과 AutomationDesk를 활용하여 자동화 테스트 스크립트를 작성했습니다. 기존 방식대로 테스트 스크립트를 작성했다면 수동으로 모든 테스트 스크립트를 작성했겠지만, dSPACE tool을 사용함으로써 작성하고자 하는 것과 유사한 기존 스크립트로부터 새로운 테스트 스크립트를 자동으로 생성할 수 있었습니다. 또한, Excel 매크로 파일을 통해 테스트 케이스의 매개변수화를 지원함으로써 작업 프로세스를 단순화하였습니다.

자율주행 차량의 기능에 대한 테스트는 HIL 테스트 플랫폼을 사용하거나 제어기 역할을 하는 dSPACE MicroAutoBox을 사용하여 수행했습니다. 이때 사용되는 테스트 프로토콜은 실차 테스트 주행뿐만 아니라 HIL 테스트에서도 자동으로 생성되어 하나의 tool을 사용하여 모든 테스트를 통합적으로 수행할 수 있었습니다.

[SOTIF에 따른 자동화 테스트의 일반적인 프로세스]

Use Case : SOTIF Test with dSPACE Tool-chain

Use case 1: Real vehicle-in-the-loop(VIL) test

검증 단계

Step1) 로깅 데이터 취득

Step2) 테스트 케이스 작성

Step3) 자동차 테스트를 위한 테스트 스크립트 작성

Step4) Host PC에서 자동화 테스트 수행

Step5) Test device(범용제어기)의 작동

Step6) Real vehicle-in-the-loop 테스트 수행

Step7) 자동 리포트 생성

[Driver-in-the-loop test with VEOS]

Use case 2: Hardware-in-the-loop(HIL) test

검증 단계

Step1) 로깅 데이터 취득

Step2) 테스트 케이스 작성

Step3) 자동차 테스트를 위한 테스트 스크립트 작성

Step4) Host PC에서 자동화 테스트 수행

Step5) Test device(범용제어기, 실제어기)의 작동

Step6) Hardware-in-the-loop 테스트 수행

Step7) 자동 리포트 생성

[Hardware-in-the-loop test]

Use case 3: Driver-in-the-loop(DIL) test

검증 단계

Step1) 로깅 데이터 취득

Step2) 테스트 케이스 작성

Step3) 자동차 테스트를 위한 테스트 스크립트 작성

Step4) Host PC에서 자동화 테스트 수행

Step5) Test device(범용제어기, 실제어기, HIL 장비)의 작동

Step6) Driver-in-the-loop 테스트 수행

Step7) 자동 리포트 생성

[Driver-in-the-loop test]

Use case 4: Driver-in-the-loop(DIL) test with VEOS

검증 단계

Step1) 로깅 데이터 취득

Step2) 테스트 케이스 작성

Step3) 자동차 테스트를 위한 테스트 스크립트 작성

Step4) Host PC에서 자동화 테스트 수행

Step5) Virtual test device(VEOS, PC 기반의 가상 검증 플랫폼)의 작동

Step6) Driver-in-the-loop 테스트 수행

Step7) 자동 리포트 생성

[Driver-in-the-loop test with VEOS]

제 품문 의
top