STPA를 활용한 자율주행자동차의 시뮬레이션 기반 오류 주입 시나리오 및 안전조치 시간 연구 A Study on Simulation Based Fault Injection Test Scenario and Safety Measure Time of Autonomous Vehicle Using STPA원문보기
자율주행자동차의 안전에 대한 중요성이 강조되면서 안전성 및 신뢰성 향상을 위한 개발 검증 지침인 ISO-26262의 적용과 자율주행자동차의 안전성 검증에 대한 중요성이 높아지고 있다. 특히 미국자동차공학회 기준 Level 3 이상의 자율주행자동차는 운전자 대신 주변 환경을 감지하고 판단한다. 따라서 자율주행 기능에 이상이 생기거나 오작동 발생 시 안전에 심각한 영향을 미칠 수 있으므로 자율주행자동차는 고장 및 오작동에 대비하여 안전개념을 적용하고 이를 검증해야 한다. 본 연구에서는 ISO-26262 Part3 프로세스와 시스템 이론적 프로세스 분석 방법론인 STPA를 활용하여 자율주행자동차의 안전성 평가 및 검증을 위한 오류 주입 시나리오를 연구하고 시뮬레이션 기반의 오류 주입 테스트를 통해 안전개념 설계를 위한 안전조치 시간을 연구하였다.
자율주행자동차의 안전에 대한 중요성이 강조되면서 안전성 및 신뢰성 향상을 위한 개발 검증 지침인 ISO-26262의 적용과 자율주행자동차의 안전성 검증에 대한 중요성이 높아지고 있다. 특히 미국자동차공학회 기준 Level 3 이상의 자율주행자동차는 운전자 대신 주변 환경을 감지하고 판단한다. 따라서 자율주행 기능에 이상이 생기거나 오작동 발생 시 안전에 심각한 영향을 미칠 수 있으므로 자율주행자동차는 고장 및 오작동에 대비하여 안전개념을 적용하고 이를 검증해야 한다. 본 연구에서는 ISO-26262 Part3 프로세스와 시스템 이론적 프로세스 분석 방법론인 STPA를 활용하여 자율주행자동차의 안전성 평가 및 검증을 위한 오류 주입 시나리오를 연구하고 시뮬레이션 기반의 오류 주입 테스트를 통해 안전개념 설계를 위한 안전조치 시간을 연구하였다.
As the importance of autonomous vehicle safety is emphasized, the application of ISO-26262, a development verification guideline for improving safety and reliability, and the safety verification of autonomous vehicles are becoming increasingly important, in particular, SAE standard level 3 or higher...
As the importance of autonomous vehicle safety is emphasized, the application of ISO-26262, a development verification guideline for improving safety and reliability, and the safety verification of autonomous vehicles are becoming increasingly important, in particular, SAE standard level 3 or higher level autonomous vehicles detect and decision the surrounding environment instead of the human driver. Therefore, if there is and failure or malfunction in the autonomous driving function, safety may be seriously affected. So autonomous vehicles, it is essential to apply and verity the safety concept against failure and malfunctions. In this study, we study the fault injection scenarios for safety evaluation and verification of autonomous vehicles using ISO-26262 part3 process and STPA were studied and safety measures for safety concept design were studied through simulation bases fault injection test.
As the importance of autonomous vehicle safety is emphasized, the application of ISO-26262, a development verification guideline for improving safety and reliability, and the safety verification of autonomous vehicles are becoming increasingly important, in particular, SAE standard level 3 or higher level autonomous vehicles detect and decision the surrounding environment instead of the human driver. Therefore, if there is and failure or malfunction in the autonomous driving function, safety may be seriously affected. So autonomous vehicles, it is essential to apply and verity the safety concept against failure and malfunctions. In this study, we study the fault injection scenarios for safety evaluation and verification of autonomous vehicles using ISO-26262 part3 process and STPA were studied and safety measures for safety concept design were studied through simulation bases fault injection test.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
STPA 적용을 통해 도출한 Causal factor를 기반으로 자율주행자동차의 주요 위험원을 유발시킬 수 있는 제어기의 입출력 변수와 조건을 확인하였다. 도출된 입출력 변수 및 오작동 조건과 자율주행자동차의 주행 조건을 결합하여 오류 주입 사니리오를 연구하였다. 오류는 제어기가 입력값을 잘못 판단하는 경우를 모사하기 위해 제어기의 입력단에 변조된 센서 데이터를 주입하는 형식으로 수행하였고, 입력값은 정상적인데 제어기 내의 오류로 인해 제어기 출력 값이 잘못되는 경우는 제어기 출력단의 값을 변조시키는 방식으로 진행하였다.
본 논문에서는 STPA 기법을 이용하여 자율주행자동차의 안전성 평가를 위한 종방향 및 횡방향 오류 주입 시나리오에 대한 연구를 수행하였다. 자율주행시스템의 Control Structure를 기반으로 제어기의 입출력 변수를 기반으로 오류 주입에 대한 시나리오를 구성하여 자율주행자동차의 5개의 주요 Hazard에 대한 오류주입 시나리오를 도출하였으며, 도출된 시나리오 중 자율주행자동차의 의도치 않은 가속 및 의도치 않은 조향 시나리오의 시뮬레이션을 통해 실제 오류 발생 여부 확인과 함께 안전 조치 시간에 대하여 연구하였다.
본 논문에서는 자율주행자동차의 자율주행시스템을 ISO-26262 Part3 프로세스와 STPA(Systems Theoretic Process Analysis) 기법을 이용하여 시뮬레이션 기반의 자율주행시스템의 안전개념 검증을 위한 오류주입 시험 시나리오에 대한 연구를 수행하고 시나리오 중 “의도치 않은 가속”과 “의도치 않은 조향”에 대한 오류주입 시뮬레이션을 통해 안전개념 설계 시 필요한 안전 조치 시간에 대한 연구를 수행하였다.
가설 설정
종방향 오류 주입 시나리오는 차량의 속도, 차간 거리, 주입 오류로 3가지 범주를 기반으로 도출하였다. 종방향 오류의 경우 횡방향 자율주행시스템은 정상적으로 작동하고 있는 것으로 가정하고 의도치 않은 가속 및 감속, 미감속과 같은 Hazard를 통해 사고가 발생하는데 주입 오류 별 차량의 속도와 차간 거리가 사고와 가장 연관된 범주라 판단하였다. 의도치 않은 가속인 경우 저속에서 높은 가속도에 의한 가속이 발생하는 경우도 고려하여 저속(30km/h), 중속(60km/h), 고속(100km/h) Case로 세분화 하였으며, 의도치 않은 감속과 미감속 시나리오의 경우는 중속과 고속만을 고려하였다.
제안 방법
자율주행시스템은 차량에 장착된 센서 및 GPS 데이터를 바탕으로 주행환경을 인식하여 운전을 보조하거나 스스로 주행함으로써 주행 안전성 및 편의성을 향상시키는 차세대 지능형 자동차를 말한다.(Chu, 2011) 자율주행시스템을 구성하는 요소는 센서, 제어기, 액추에이터로 구분되지만 본 논문에서는 자율주행자동차의 기능제어기만을 고려하여 연구를 수행하였다.
STPA 적용을 통해 도출한 Causal factor를 기반으로 자율주행자동차의 주요 위험원을 유발시킬 수 있는 제어기의 입출력 변수와 조건을 확인하였다. 도출된 입출력 변수 및 오작동 조건과 자율주행자동차의 주행 조건을 결합하여 오류 주입 사니리오를 연구하였다.
STPA 실행단계의 두 번째 내용은 UCA를 발생시키는 요인을 분석하는 Causal Factor를 분석하는 것이다. UCA의 발생 요인은 종방향 및 횡방향 제어기의 입력 및 출력 시그널의 값이 정상 상태의 값과 상이할 경우 발생하는 것으로 분석하였다. 아래 [Table 6]은 [Fig.
도출된 시나리오를 기반으로 본 논문에서는 종/횡방향 시스템의 대표적인 오류인 의도치 않은 가속(H1)과 의도치 않은 조향(H5)에 대한 오류 주입 시뮬레이션을 실시하였다. 횡방향 시스템은 Redundancy 구조로 되어 있으며 오류 주입 시간 이후 시스템은 정상 상태로 돌아오는 구조로 설계하였다.
, 2002)로 결정하였다. 또한 차량의 주행 속도는 저속 영역보다 고속 영역에서의 조향에 대한 위험도가 크므로 고속 주행상황 (100km/h)으로 설정하였다. 아래 [Table 9]와 같이 횡방향 오류 주입 시나리오를 정리하였다.
본 논문에서 도출한 시나리오에서 사용되는 오류 주입에 대한 변수는 센서-제어기-액추에이터 사이에서의 CAN을 통해 전달 가능한 데이터 값의 최소값(Min), 최대값(Max)으로 정하였으며 값에 대한 기준은 본 논문의 시뮬레이션 모델인 ASM과 보유하고 있는 시험 차량 및 실제 센서의 CAN 통신 프로토콜 자료를 참고하였고 아래 [Table 7]과 같이 정리하였다.
의도치 않은 조향에 대한 시뮬레이션 결과는 아래 [Table 11]과 같다. 시뮬레이션을 진행한 곡선로는 350m의 곡선반지름과 좌측 방향으로 선회하는 방향으로 설정되어있으며 100km/h의 속도로 주행 중 STPA 분석으로 도출된 변수에 오류를 주입하여 시뮬레이션을 진행하였다.
5m로 설정하였다. 오류 주입 시험은 제어로직의 입출력 단에 사용자의 임의의 시간과 임의의 값을 넣을 수 있도록 모델 인터페이스를 구성하였고 dSPACE의 ControlDesk 툴을 활용하여 오류 주입을 수행하였다.
도출된 입출력 변수 및 오작동 조건과 자율주행자동차의 주행 조건을 결합하여 오류 주입 사니리오를 연구하였다. 오류는 제어기가 입력값을 잘못 판단하는 경우를 모사하기 위해 제어기의 입력단에 변조된 센서 데이터를 주입하는 형식으로 수행하였고, 입력값은 정상적인데 제어기 내의 오류로 인해 제어기 출력 값이 잘못되는 경우는 제어기 출력단의 값을 변조시키는 방식으로 진행하였다.
오류 주입 시나리오를 도출하기 위해 주입을 수행할 오류에 대한 Case를 정의하였다. 일반적으로 오류 주입 Case는 Open Circuit, Short to GND, Short to VBAT, Short to signal measurement channel, Short to signal generation channel, Short to bus channel 등 전기적 신호에 의한 오류가 일반적이지만 본 논문에서는 위에 언급된 어떠한 오류로 인해 발생되는 Signal 수준의 오류 Case를 정의하여 시나리오를 도출하였다. 오류 Case는 아래 [Fig.
본 논문에서는 STPA 기법을 이용하여 자율주행자동차의 안전성 평가를 위한 종방향 및 횡방향 오류 주입 시나리오에 대한 연구를 수행하였다. 자율주행시스템의 Control Structure를 기반으로 제어기의 입출력 변수를 기반으로 오류 주입에 대한 시나리오를 구성하여 자율주행자동차의 5개의 주요 Hazard에 대한 오류주입 시나리오를 도출하였으며, 도출된 시나리오 중 자율주행자동차의 의도치 않은 가속 및 의도치 않은 조향 시나리오의 시뮬레이션을 통해 실제 오류 발생 여부 확인과 함께 안전 조치 시간에 대하여 연구하였다.
횡방향 오류에 해당되는 의도치 않은 조향(H5)에 대하여 오류 주입 시험을 수행하였다. 제어기의 출력 값에 대한 오류 주입 시간은 100ms 단위로 올리면서 차로이탈 까지 걸리는 시간과 최대 횡 가속도를 측정하였다. 의도치 않은 조향에 대한 시뮬레이션 결과는 아래 [Table 11]과 같다.
종방향 오류 주입 시나리오는 차량의 속도, 차간 거리, 주입 오류로 3가지 범주를 기반으로 도출하였다. 종방향 오류의 경우 횡방향 자율주행시스템은 정상적으로 작동하고 있는 것으로 가정하고 의도치 않은 가속 및 감속, 미감속과 같은 Hazard를 통해 사고가 발생하는데 주입 오류 별 차량의 속도와 차간 거리가 사고와 가장 연관된 범주라 판단하였다.
종방향 오류에 해당되는 항목 중 의도치 않은 가속(H1)에 대하여 오류 주입 시험을 수행하였다. 의도치 않은 가속에 대한 오류 주입 시험의 결과는 아래 [Table 10]과 같다.
도출된 시나리오를 기반으로 본 논문에서는 종/횡방향 시스템의 대표적인 오류인 의도치 않은 가속(H1)과 의도치 않은 조향(H5)에 대한 오류 주입 시뮬레이션을 실시하였다. 횡방향 시스템은 Redundancy 구조로 되어 있으며 오류 주입 시간 이후 시스템은 정상 상태로 돌아오는 구조로 설계하였다.
횡방향 오류 주입 시나리오는 종방향 오류 주입 시나리오의 3가지 범주 중 차간 거리 대신 도로의 곡선반지름을 범주에 추가하여 도출하였다. 횡방향 오류 주입의 경우 전방 및 후방 차량 보다는 차로 이탈로 인한 인접 차선의 차량이나 장애물과의 사고가 일어나는 경우를 고려하였다.
횡방향 오류에 해당되는 의도치 않은 조향(H5)에 대하여 오류 주입 시험을 수행하였다. 제어기의 출력 값에 대한 오류 주입 시간은 100ms 단위로 올리면서 차로이탈 까지 걸리는 시간과 최대 횡 가속도를 측정하였다.
대상 데이터
시뮬레이션 환경은 독일의 dSPACE사의 ASM 모델을 사용했으며 ControlDesk 툴을 이용하여 모델의 입력 및 출력 단에 오류를 주입할 수 있게 구성하였다. 본 논문에서의 차선 이탈 판단여부는 차량의 전륜 바퀴의 측면이 차선을 넘어가는 순간으로 판단하였으며 차량의 폭은 1.8m, 도로의 폭은 3.5m로 설정하였다. 오류 주입 시험은 제어로직의 입출력 단에 사용자의 임의의 시간과 임의의 값을 넣을 수 있도록 모델 인터페이스를 구성하였고 dSPACE의 ControlDesk 툴을 활용하여 오류 주입을 수행하였다.
이론/모형
(Hwang et al., 2010) 본 논문에서 자율주행시스템의 기능별 오작동을 도출하기 위해 사용된 가이드워드는 “No or Not, Incorrect”를 사용하였다.
시뮬레이션 환경은 독일의 dSPACE사의 ASM 모델을 사용했으며 ControlDesk 툴을 이용하여 모델의 입력 및 출력 단에 오류를 주입할 수 있게 구성하였다. 본 논문에서의 차선 이탈 판단여부는 차량의 전륜 바퀴의 측면이 차선을 넘어가는 순간으로 판단하였으며 차량의 폭은 1.
자율주행시스템의 오작동 정의는 가이드 워드 기반의 분석 기법인 HAZOP 기법을 사용하여 도출하였다. HAZOP 기법에서 No or Not, More, Less 등과 같은 가이드워드들은 위험원을 도출하는 과정에서 시스템의 여러 상태와 결함되어 설계의도에서 벗어날 수 있는 이상 현상들을 식별하여 위험원의 발생을 찾게 되는 개념이다.
STPA의 실행 단계에서는 Unsafe Control Action(이하 UCA)을 정의하고 UCA가 발생되는 요인을 분석하는 Causal Factor 분석이 수행된다. 첫 번째로 UCA 분석은 안전하지 않은 제어 명령을 정의하는 단계로 앞에서 사용된 Guide Word 개념을 사용하는 HAZOP 기법(Whang et al., 2010) 과 유사한 형식으로 진행된다. STPA에서 UCA를 정의하는 방법은 아래 4가지 분류에 따라 진행된다.
성능/효과
350R의 곡선반경에서 제어기의 출력 값인 Steering Wheel Angle 값에 대하여 오류를 주입한 결과 Max 값을 300ms 동안 주입 시 약 0.85s 후 차선을 이탈하였다. 시뮬레이션을 수행하는 도로 환경은 좌측으로 선회하는 형태의 곡선로이다.
17초 경 Fault가 주입되어 차량이 가속하였고 약 19초에 충돌이 발생하였다. STPA 분석을 통해 도출된 D_Spd 변수는 오류 주입 결과 의도치 않은 가속이 일어나지는 않았다. 이는 D_Spd 변수 단독 오류 발생으로는 차량의 오작동이 발생하지 않음을 추측할 수 있다.
의도치 않은 가속에 대한 오류 주입 시험의 결과는 아래 [Table 10]과 같다. STPA 수행을 통해 선정된 변수들에 오류를 주입한 결과 D_Spd, Hor_Ang 외 모든 경우에서 기능에 대한 오작동이 발생하였다. [Table 10]의 차량 속도가 30km/h, 60km/h인 경우 원래의 설정된 속도는 100km/h로 주행인 상황이며 전방 차량의 속도에 Time gap 1s 의 차간 거리를 유지하다가 오작동이 발생되는 경우를 시험하였다.
STPA에서 도출된 Causal Factor를 바탕으로 한 종방향 및 횡방향 오류주입 시뮬레이션 결과 자율주행자동차의 오작동으로 정의한 사항들이 나타났다. 하지만, 오작동 발생 여부가 중요한 것이 아니라 오작동이 발생 되었을 때 자율주행자동차는 해당 오류를 검지하여 안전한 주행을 보장해야하는 것이 더욱 중요하다.
또한 전방 Object의 횡방향 위치를 판단하는 수평 각(Hor_Ang)은 ±7 (deg)로 좁은 영역이기 때문에 Time gap 1초의 차간 거리에서는 Min / Max 값을 주입해도 전방에 차량이 있는 것으로 인식하여 의도치 않은 가속이 일어나지 않았다. Time gap 2초의 경우 의도치 않은 가속이 일어났지만 전방 차량과의 상대거리가 줄어들면서 전방 차량을 인식하고 설정된 속도로 다시 감속하여 주행하는 결과를 확인하였다. 마지막으로 운전자가 설정하는 항속 속도 V_Set_CC 값에 오류를 주입한 결과 단독 주행 상황에서는 차량이 의도치 않은 가속이 발생하는 것을 확인하였다.
Time gap 2초의 경우 의도치 않은 가속이 일어났지만 전방 차량과의 상대거리가 줄어들면서 전방 차량을 인식하고 설정된 속도로 다시 감속하여 주행하는 결과를 확인하였다. 마지막으로 운전자가 설정하는 항속 속도 V_Set_CC 값에 오류를 주입한 결과 단독 주행 상황에서는 차량이 의도치 않은 가속이 발생하는 것을 확인하였다.
본 논문에서 수행된 종방향 오류 주입 시뮬레이션 결과 중에 저속 상황인 30km/h 상황에서 A_x(max), D_Long(Max) 오류 주입 시 종방향 가속도가 약 4.7m/s2이 발생되어 [Table 12]의 Qx (충돌 회피 변수) 기준으로 C3에 해당되는 것을 알 수 있다. 시스템의 오작동 발생 시 Controllability 등급을 C0-C1 수준으로 제한하기 위해서는 아래 [Fig.
의도치 않은 가속에 대한 시나리오 결과 제어기의 출력 값인 A_x와 입력 값인 D_Long 값 각각의 Max 값을 입력한 결과 의도치 않은 가속이 발생하였으며 저속에서의 가속도가 높게 나온 것을 확인할 수 있었다.
의도치 않은 가속의 경우 제어기의 출력 값인 A_x 값과 입력 값인 D_Long 값에 오류를 주입하여 오작동 발생 여부를 확인하였고, 이를 통해 Controllability를 C0-C1 수준으로 낮추기 위해서는 안전 조치 시간을 0.16 초 이내에 의도치 않은 가속을 차단하고 Safe state에 도달하여 안전한 주행을 수행해야 함을 확인하였다.
의도치 않은 조향의 경우 제어기의 출력 값인 Steering Wheel Angle과 입력 값인 Curvature와 Lateral Offset 값에 오류를 주입하여 오작동 발생 여부를 확인하였고, 오류 주입 시 차선 이탈 시간을 도출하여 안전 조치 시간을 200ms 이내에 의도치 않은 조향을 차단하고 Safe state에 도달하여 안전한 주행을 수행해야 함을 확인 하였다.
후속연구
본 논문에서는 STPA를 통해 도출된 모든 경우의 시나리오를 바탕으로 시뮬레이션 진행을 수행하지 못하였지만, 향후 각 변수 별 오류 주입을 통한 오작동 여부 및 다양한 속도와 속도에 맞는 설계 곡률 별 시뮬레이션을 통한 안전 조치 시간을 연구할 예정이다.
질의응답
핵심어
질문
논문에서 추출한 답변
자율주행자동차의 수준이 Level 3로 발전한다면 시스템은 어떠한 것이 보장되어야 하는가?
자율주행자동차의 수준이 Level 3로 발전한다면 운전자는 전방 및 주변 상황을 주시해야하는 의무가 사라지며 자율주행시스템이 대신하여 전방 및 주변 상황을 검지하고 판단하여 제어를 수행하게 된다. 따라서 시스템 고장 또는 오류로 인한 위험 상황 발생 시 경고를 통해 운전자에게 차량의 상태를 알려야 하며 운전자에게 제어권을 넘길 때까지 시스템은 설계된 안전개념을 통해 안전한 동작을 보장해야한다. 안전개념의 적용 유무를 검증하기 위해 사용되는 시험 방법은 오류주입 시험으로 임의의 오류를 시스템에 주입하여 오작동을 일으키고 적용된 안전개념이 동작하여 차량의 안전한 주행을 보장하는지 검증하는 방법이다.
DDT(Dynamic Driving Task)란 무엇인가?
DDT(Dynamic Driving Task)는 차량의 조향 및 감속, 가속의 행위를 통해 차량을 제어하는 것이고, OEDR(Object and Event Detection and Response)은 차량 주변의 물체 및 발생하는 이벤트에 대한 반응을 나타내는 것이다. Fallback은 시스템 이상이나 고장 등 돌발 상황 발생 시 누가 제어권을 가지고 있는지를 나타낸다.
STPA를 진행하기 위한 준비 단계로는 무엇이 있는가?
STPA를 진행하기 위한 준비 단계로는 사고 상황(Accident)과 위험원(Hazard)를 식별하고 시스템의 제어 구조도를 통해 제어 명령을 식별해야 한다. 사고 상황은 인명, 재산 손실, 환경오염, 임무 손실 등을 초래하는 바람직하지 않거나 예상치 못한 사건으로 정의되며 본 논문에서는 자율주행시스템의 오작동으로 인해 발생할 수 있는 사고 상황으로 설명된다.
참고문헌 (10)
Chae H. S., Jeong Y. H., Yi K. S., Choi I. S. and Min K. C.(2016), "Safety Performance Evaluation Scenarios for Extraordinary Service Permission of Autonomous Vehicle," Transactions of KSAE, vol. 24, no. 5, pp.495-503.
Chu K. Y., Han J. H., Lee M. C., Kim D. C. and Sunwoo M. H.(2011), "Development of an Autonomous Vehicle: AI," Transactions of KSAE, vol. 19, no. 4, pp.146-154.
Hwang J. G., Jo H. J., Han C. H., Cho W. S., Ahn J. and Ha D. M.(2010), "A Study on the Hazop-KR for Hazard Analysis of Train Control Systems," Journal of the Korean Society for Railway, vol. 13, no. 4, pp.396-403.
ISO-22179(2009), Intelligent transport systems - Full speed range adaptive cruise control(FSRA) systems - Performance requirements and test procedures.
J3016(2016), Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles.
Kang M. W., Son B. S., Dho C. U. and Kang J. K.(2002), "Development of Accident Prediction Models at Freeway Curve Section Based on Geometric Characteristics," Journal of the Korean Society of Civil Engineers, vol. 22, no. 6D, pp.1077-1088.
Kim D. Y., Lim J. H., Lee H. K., Choi I. S., Shin J. K., Hong Y. S. and Park K. H.(2017), "Development of Fault Injection Simulation Environment for ADAS Systems and Cases Studies of Fail-Safety Evaluation," Transaction of KSAE, vol. 25, no. 6, pp.767-777.
Wanner D., Drugge L. and Trigell A. S.(2017), "Fault Classification Method for the Driving Safety of Electrified Vehicles," International Journal of Vehicle Mechanics and Mobility, vol. 52, no. 5, pp.704-732.
Yang H. S. and Kwon G. H.(2017), "STAMP/STPA applied train software safety analysis case study," Korea Software Conference Proceeding, pp.607-609.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.