Ⅰ. 서 론
1. 연구의 배경 및 목적
4차 산업혁명의 대표적인 기술인 자율주행은 교통사고 예방과 교통체증 감소 등을 통해 사회 전반에 큰 영향을 미칠 것으로 예상된다(Kim and Heo, 2018). 자율주행자동차(Automated vehicle, AV)의 원활한 도입을 위해서는 시장에 출시되기 전 철저한 평가를 거치는 과정이 필요하다(Calò et al., 2020;Riedmaier et al., 2020). 이에 따라 자율주행시스템(automated driving system, ADS)의 안전성을 평가하고자 하는 다양한 연구들 이 진행되고 있다. 하지만 부적절하거나 비효율적인 검증 방식은 ADS의 결함을 발견하지 못해 실도로 주행 중 심각한 사고로 이어질 수 있다(Gambi et al., 2019). 특히, 실도로나 주행시험장(proving ground, PG)을 이용 한 평가는 시간과 비용적인 측면에서 비효율적이며, 다양한 상황에 대한 실험이 불가하다. 따라서 실도로 또 는 주행시험장에서 진행하는 ADS의 안전 평가에 대한 대안으로 시뮬레이션을 기반으로 테스트 사례(test case)를 만들어 사용할 필요가 있으며, 선정된 테스트 사례는 AV가 주행가능영역(operational design domain, ODD) 내에서 직면할 수 있는 안전 관련 상황으로 구성한다(Weber et al., 2019). 이러한 테스트 사례를 시간 적 순서에 따른 장면의 전개로 나타낸 것이 시나리오(scenario)이다.
고도로 자율화된 ADS의 안전성을 평가하기 위해서는 복잡한 상황을 담고 있는 AV 평가 시나리오가 필요 하다. 다양한 도로와 주행 상황을 대상으로 하는 시나리오가 꾸준히 개발되고 있으며, 실도로 외에도 PG와 시뮬레이션에서 시나리오를 활용하여 AV의 안전성을 효율적으로 검증할 수 있다(Kim et al., 2023). 특히, 시 뮬레이션을 활용한 평가는 반복적인 실험과 심각도가 높은 사고에 대한 재현, 공간의 확장성 측면에서 이점 을 제공하기에 ADS와 같은 복잡한 기술의 테스트 시 필수적이다(Kusari et al., 2022). 이에 따라 시간과 비용 의 절감이 가능한 시뮬레이션을 활용한 AV 평가 기술은 빠르게 발전하고 있다.
하지만, 최근 개발되고 있는 시나리오와 검증 방식은 복잡한 상황을 다루지 않는 단일 시나리오(single scenario)의 형태이다. 짧은 도로 구간에서 한 가지 상황만을 다루는 단일 시나리오는 긴 도로 구간과 다양한 기하구조가 존재하는 실제 도로를 반영하지 못한다. 또한, 연속적으로 여러 상황이 발생하는 실제 도로 환경 역시도 반영하지 못하는 한계가 있다. 이에 따라 실제 도로와 유사한 환경을 구현하고, 예상치 못한 상황과 같은 다양한 상황이 연속적으로 발생하는 다중 시나리오(multiple scenario)가 필요하다.
이에 본 논문에서는 다중 시나리오 변환을 위한 구체적인 방법론과 이를 시뮬레이션을 통해 구현하기 위 한 조건을 제시하고 검증까지 진행하고자 한다. 다중 시나리오를 통해 효율적인 안전성 평가를 진행하고, 추 가적인 상황의 연출을 통해 평가 강도를 높여 Lv.3 이상의 AV 안정성 평가의 신뢰성을 향상시키고자 한다.
2. 연구의 범위 및 방법
본 연구의 시간적 범위는 시나리오 수집 시기이자 시나리오 구현에 활용한 자율주행 시뮬레이터인 MORAI:SIM의 최종 업데이트 시기인 2023년으로 하였다. 다음으로 공간적 범위는 다중 시나리오를 구현한 대상지인 자율주행 실험도시(K-City)의 고속도로 구간으로 하였다. K-City는 AV의 안전성 평가를 위해 실도 로와 동일한 평가환경을 제공하며, 램프, 기본, 톨게이트 구간 등 다양한 기하구조가 존재한다는 점을 고려 하여 선정하였다.
본 연구에서는 AV 안전성 평가 시나리오에 대한 관련 이론과 연구를 고찰하였다. 문헌 고찰을 통해 다중 시나리오로 변환하기 위해 단일 시나리오를 연결하는 구체적인 방법을 제시하였다. 또한, 이를 시뮬레이션으 로 구현하기 위해 필요한 조건들을 정의하였다. 그리고 MORAI:SIM을 활용하여 다중 시나리오를 구현하고 효과를 검증하였으며, 전체적인 연구의 수행절차는 다음 <Fig. 1>과 같다.
Ⅱ. 관련 이론 및 선행 연구 고찰
1. 관련 이론 고찰
1) AV 안전성 평가 시나리오
AV 안전성 평가 시나리오는 AV가 주행하는 도중 ODD 내에서 마주할 수 있는 안전과 관련된 상황을 시 간상으로 발전시킨 것이다. 특정 상황에 대해 정의한 시나리오를 활용한 실험은 AV의 안전성 평가에 활발 하게 활용되고 있다. 먼저, 독일의 project for the establishment of generally accepted quality criteria, tools and methods as well as scenarios and situations for the release of highly-automated driving functions(PEGASUS) 프로 젝트는 자율주행 기능의 안전성 확보 방법과 요구사항을 체계화하였으며, 시나리오의 구체적인 개발 절차와 방법론을 제시하였다(PEGASUS, 2019). 특히, 시나리오의 개발 절차를 상황(functional), 범위(logical), 시험 (concrete) 시나리오의 세 가지 단계로 구분하였다. 상황 시나리오는 자연어로 시나리오의 상황(도로, 환경 등)을 설명하며, 시나리오의 타입과 상황도, 기하구조 등에 대한 설명이 포함된다. 범위 시나리오는 상황 시 나리오에서 도출한 평가 항목별 요소와 각 요소의 범위를 지정하는 시나리오다. 조정이 가능한 요소를 지정 하고, 해당 요소가 갖는 값의 범위를 정의하여 상황 시나리오를 구체화한다. 시험 시나리오는 범위 시나리오 를 통해 도출한 요소의 범위 내에서 실험에 활용할 특정 실험값을 지정하는 시나리오이며, 가장 구체적인 내 용의 시나리오다(Park et al., 2019). 일본의 SAKURA 프로젝트는 AV의 안전성을 검증하기 위해 시나리오 기 반 평가 절차를 개발하였으며, PEGASUS 프로젝트에서 정의한 상황, 범위, 시험 세 가지 단계의 시나리오를 기반으로 하여 시나리오를 개발하였다. 특히, 범위 시나리오를 개발하기 위해 실제 사고 데이터와 주행궤적 데이터를 활용하여 시나리오 매개변수 항목과 범위를 구성하였다(SAKURA, 2023). 또한, 시험 시나리오를 개 발하기 위해 변수 검색 엔진을 이용하여 범위 시나리오에서 구체적 실험값을 선택한 후 예측 가능한 모든 시나리오 중 실제로 실험이 필요한 시나리오를 도출하였다(SAKURA, 2023). Set Level 프로젝트는 PEGASUS 프로젝트의 시나리오 형태를 기반으로 실도로 테스트의 문제점을 해결하기 위해 시뮬레이션을 이용한 AV의 안전성 평가 방법 및 기준을 마련하였다(SET Level, 2023). the United Nations Economic Commission for Europe(UNECE) Working Party 29(WP.29)의 Validation Method for Automated Driving(VMAD)에서는 AV의 기 능을 평가하는 시나리오 기반의 새로운 평가 방법에 대해 정의하는 new assessment/test methods for automated driving(NATM)을 발표하였다. 또한, 안전성 평가 방법으로 시뮬레이션 테스트, 트랙 테스트, 실도로 테스트를 정의하였다. 이와 함께 VMAD는 평가 방법별 평가 목적과 특징을 제시하여 구체적인 AV의 기능 평가를 위 한 프레임워크를 제공하였다(UNECE, 2021).
2) 자율주행 시뮬레이션 표준
AV 안전성 평가 시나리오가 효율적으로 활용되기 위해서는 시나리오를 시뮬레이션으로 구현하기 위한 표준이 필요하다. 자율주행 시뮬레이션 표준을 활용할 경우 시나리오 파일 작성과 공유가 수월해진다. 이러 한 AV 평가 시나리오의 표준은 Association for Standardization of Automation and Measuring Systems(ASAM)에 서 주행 및 교통 시뮬레이션과 평가 시나리오의 사양 등을 담은 OpenX의 형태로 제정하고 있다(Ko et al., 2022). OpenX에는 다양한 표준이 존재하며, OpenCRG, OpenDRIVE, OpenSCENARIO, OpenOSI, OpenODD, OpenLABEL이 있다(Kim et al., 2023). OpenCRG는 도로 노면을 곡선 정규 그리드(curved regular grid, CRG)의 형태로 정의한 표준이며, OpenDRIVE는 신호 및 교통섬, 도로와 같은 인프라에 대한 정적인 것들에 대한 표 준으로 각 링크와 노드의 ID와 글로벌 좌표계를 제공한다(ASAM, 2023b). OpenSCENARIO는 차량의 주행 및 교통흐름 등과 같은 동적인 컨텐츠를 설명하며, 시나리오 내에서 상호작용하는 객체들과 기상, 신호 정보 등 을 시뮬레이션을 활용한 안전성 평가에 활용하기 위해 정의한 시나리오 작성의 표준이다(ASAM, 2023b). OpenOSI는 자율주행의 절차와 센서 간 인터페이스에 대한 표준을 정의하고 있으며, OpenODD는 international organization for standardization(ISO) 34503과 British Standards Institution(BSI)을 기반으로 시뮬레이션과 호환이 가능한 형태의 ODD를 정의하고 있다(ASAM, 2023a;ASAM, 2023d). 마지막으로 OpenLABEL은 센서 데이터 에 레이블을 부여하여 시나리오에 태그를 지정하는 표준을 정의하고 있다(ASAM, 2023c). 이와 같은 OpenX 표준으로 작성한 시나리오들은 다양한 자율주행 시뮬레이션과 호환되며 손쉽게 사용할 수 있다.
2. 선행 연구 고찰
본 연구에서는 단일 시나리오를 다중 시나리오로 변환하고 이를 검증하기 위하여 AV 안전성 평가 시나리 오에 대한 연구를 검토하였다. 우선, AV 안전성 평가 시나리오의 개발 절차를 제시한 연구를 고찰하였다. Ko et al.(2022)는 AV 안전성 평가 시나리오의 상세한 프레임워크를 개발하였다. PEGASUS 프로젝트 내에서 정의된 시나리오 개발 방법론을 따라 OpenX 형태의 시나리오를 개발하였다. 교통사고 데이터를 기반으로 작성한 시나리오를 상황, 범위, 시험 시나리오로 발전시키는 방법을 제시하였으며, MATLAB을 활용하여 시 나리오 개발 프레임워크의 성능을 검증하였다. Wang et al.(2023)은 평가 시나리오를 자동으로 생성하여 일괄 적으로 테스트하는 방법을 제안하였다. PEGASUS 프로젝트를 기반으로 시나리오를 발전시켰으며, 범위 시나 리오를 시뮬레이션 평가에 필요한 데이터 형식으로 변환하여 시험 시나리오 생성에 활용하였다. 시험 시나 리오는 매개변수를 구체화하여 생성하였으며, PreScan을 통한 배치 테스트를 진행하여 평가 시나리오의 자동 생성 방법의 효과를 검증하였다.
다음으로 시뮬레이션을 통해 단일 시나리오나 다중 시나리오를 구현한 연구를 확인하였다. Chen et al.(2022)은 AV 안전성 평가 시나리오 구축을 위해 ASAM OpenSCENARIO 표준을 조사하고 OpenSCENARIO 기반의 시나리오 생성 방법을 제안하였다. Python 스크립트를 작성하여 평가 시나리오를 자동으로 구축하였 고, Carla 시뮬레이터를 통해 OpenSCENARIO의 호환성과 차선 유지 기능을 확인하였다. 실험 결과, 자동으로 구성된 평가 시나리오는 시뮬레이션을 활용한 평가의 요구사항을 충족하고, 평가 시나리오 작성의 단순화 및 효율성을 크게 향상시켰다. Zhao et al.(2022)는 가상 테스트 시 자동 시험 평가를 활용한 AV 평가 방법을 제안하였다. 자동 시험 평가의 성능을 확인하고자 네 개의 단일 시나리오를 연결하여 복잡한 충돌 시나리오 를 제작하였으며, 이를 시뮬레이션에 구현하여 기존의 평가 방식과 비교하였다. 주행 안전성 및 승차감, 지 능, 효율성 등 네 가지 측면의 평가지표를 활용하였으며, 자동 시험 평가의 결과는 기존 인간이 개입하여 평 가를 진행하는 알고리즘의 결과와 높은 일관성을 갖는 것을 확인하였다.
마지막으로 시나리오의 위험도를 확인하기 위해 시나리오를 검증한 연구를 검토하였다. Lee et al.(2022)는 실제 사고 데이터와 Vision Transformer(ViT) 모델을 활용하여 확장된 AV 안전성 평가 시나리오를 제시하였다. 시나리오를 정상, 사고 취약, 사고, 사고 후 상황의 네 가지로 구분하기 위해 충돌예상시간(time to collision, TTC)을 활용하였으며, 사고 취약 상황은 운전자의 인지반응시간인 1.5초보다 작은 1초 이하의 TTC 값이 나타 나는 상황으로 설정하였다. 자율주행 활용 데이터에 최적화시킨 ViT 모델 학습 결과, 세 가지 취약상황을 도출 하였으며, 대표적으로 갑작스러운 cut-in 발생 상황을 상황 시나리오로 제작하여 제시하였다. Song et al.(2023) 은 충돌 또는 충돌에 가까운 상황을 유발하는 중요 AV 평가 시나리오를 식별하기 위한 접근 방식을 개발하였 다. AV가 네 개의 구간에서 일정한 차로를 연속적으로 주행하며 가감속하는 상황과 주행 중 빈 공간에 자율주 차를 진행하는 상황을 구현하였다. 시나리오를 구별하는 지표로는 TTC와 가가속도를 활용하였으며, TTC의 임계값은 1.5초, 가가속도는 4m/s3로 하여 중요 시나리오를 식별하였다.
3. 시사점
앞선 선행 연구 고찰을 통해 AV의 안전성을 효율적으로 평가하고자 시나리오를 개발하거나 해당 시나리 오를 시뮬레이션에 구현하여 평가하는 연구는 꾸준히 진행되고 있음을 확인하였다. 하지만 대부분의 연구는 길이가 짧은 도로 구간과 하나의 상황만을 다루는 단일 시나리오를 대상으로 진행되고 있어, 다양한 기하구 조와 긴 도로 구간을 대상으로 한 번에 여러 상황에 대한 평가를 진행하기에는 한계가 존재하였다. 이를 보 완하기 위한 복수의 단일 시나리오를 통합하는 일부 연구의 경우 도로의 기하구조나 서로 상이한 기상환경 을 연결하는 데 그쳤고, 다양한 이벤트의 발생이나 차량 거동의 지속적인 변화는 고려하지 않았다. 또한, 복 수의 단일 시나리오를 연결하여 다중 시나리오로 변환하는 과정에 대한 구체적인 방법론과 생성한 다중 시 나리오를 시뮬레이션에 구현하기 위한 조건은 다루고 있지 않았다.
이에 본 연구에서는 연속적으로 다양한 이벤트를 구현하고, 예상치 못한 상황까지 발생시키는 다중 시나 리오를 통해 실제 도로에서의 주행 환경과 유사한 상황을 재현할 수 있는 구체적인 다중 시나리오 변환 및 구현 방법론을 제시하고자 한다. PEGASUS 프로젝트에서 정의된 상황, 범위, 시험 시나리오 단계를 기반으 로 기존의 단일 시나리오를 다중 시나리오로 변환하였고, 단계별로 시나리오의 생성 절차를 정의하였다. 또 한, 다중 시나리오의 실효성을 입증하기 위해 다중 시나리오의 시뮬레이션 내 구현 방법을 정의하고, 시나리 오를 검증하였다. 이를 통해 다중 시나리오를 기반으로 하는 AV 안전성 평가의 가속화를 이루고자 하였다.
Ⅲ. 다중 시나리오 변환 및 구현 방법론
1. 개요
단일 시나리오를 다중 시나리오로 변환하기 위해서는 복수의 단일 시나리오를 연결해야 한다. 따라서 단 일 시나리오들이 안정적으로 연결될 수 있는 단일 시나리오 간 연결 조건에 대한 정의가 필요하다. 이에 본 연구에서는 단일 시나리오 연결 시 필요한 연결 조건들을 정의하고자 한다. 또한, 단일 시나리오 연결을 통 해 생성한 다중 시나리오는 상황 시나리오의 형태이므로 이를 시뮬레이션으로 구현하기 위해서는 구체적인 실험값이 필요하다. 따라서 자연어 형식으로 추상적인 상황만이 제시된 초기의 다중 시나리오를 PEGASUS 프로젝트에서 제시하는 단계에 따라 범위, 시험 시나리오로 발전시키기 위한 방법을 제시하였다. 다음으로 구체적인 실험값이 도출된 시험 시나리오를 시뮬레이션에 구현하기 위한 조건을 정의하였다.
2. 단일 상황 시나리오 연결 방법
다중 시나리오의 효과적인 활용을 위해서는 실제 도로 상황과 최대한 유사한 환경이 반영되어야 한다. 시 나리오 간 연결 조건을 반영하지 않은 채로 복수의 단일 시나리오를 연결할 경우 차량의 주행행태나 전체적 인 교통의 흐름이 부자연스럽게 나타날 수 있으며, 시뮬레이션 상에서는 오류가 발생할 위험이 존재한다. 이 에 따라, 본 연구에서는 실제 도로 상황과 유사하며, 자연스럽게 진행되는 다중 시나리오를 구현하기 위해 시나리오 연결 시 고려해야 하는 연결 조건들을 도출하였다. 본 연구에서 도출한 시나리오 연결을 위해 고려 해야 할 연결 조건들은 다음과 같다.
상기 제시된 조건 중 ‘차량 거동 변화 최소화’는 시나리오 내의 차량이 다음 시나리오로 넘어가기 위해 과 도한 가감속 변화 및 차선 변경이 발생할 경우 실제 도로 상황과는 동떨어지는 부자연스러운 움직임이 발생 하는 것을 방지하기 위함이다. 따라서 차량의 거동을 최소화할 수 있는 시나리오 간의 연결이 필요하다. 다 음으로 ‘차로 수 변화 최소화’는 시나리오 간 2차로 이상의 급격한 차로 수 변화가 발생할 경우 혼잡한 상황 이 발생하는 것을 방지하기 위한 조건이다. 차로 수 변화로 인한 병목 현상은 차량의 차로변경 및 급격한 감 속 등을 발생시켜 원활한 시나리오 구성을 방해하므로 이를 최소화해야 한다. ‘유사한 교통류 활용’은 연결 하고자 하는 시나리오 간의 교통류 편차가 클 경우 동적 객체들의 속도나 거동이 급격하게 변화하며 의도한 교통류의 특성을 반영하지 못하게 되고, 부자연스러운 상황이 연출되는 것을 방지하기 위한 조건이다. ‘상이 한 상황 시나리오 활용’은 동일한 상황의 시나리오 연결로 인해 다중 시나리오의 장점인 다양한 상황에 대 한 평가 능력이 저하되는 문제를 방지하기 위한 조건이다. 따라서 신뢰도 높은 평가를 위해 서로 상이한 상 황을 다루는 시나리오를 연결해야 한다. 마지막으로 ‘전체 동적 객체 및 시나리오 진행 방향 일치’는 이전 시나리오 내 동적 객체의 경로나 전체적인 시나리오의 진행 방향이 이어지는 다음 시나리오와 일치하여야 자연스러운 시나리오의 진행이 가능하다는 점을 반영한 것이다. 서로 일치하지 않는 시나리오의 연결 시 연 속적인 실험에 제한이 발생하여 다중 시나리오의 활용도가 저하될 수 있으므로 이를 고려해야 한다.
3. 다중 시나리오 실험값 도출
3.2장에 따라 변환된 다중 시나리오는 자연어의 형식으로 추상적인 상황만을 담고 있는 상황 시나리오의 형태이다. 하지만, 다중 시나리오를 시뮬레이션에 구현하기 위해서는 구체적인 실험값의 도출이 필요하다. 이에 따라, 본 연구에서는 PEGASUS 프로젝트에서 제시하고 있는 시나리오의 발전 과정을 다중 시나리오에 적용하여 실험값이 도출된 시험 시나리오로 발전시키는 과정을 제시하고자 한다.
우선, 상황 시나리오를 기반으로 범위 시나리오를 생성한다. 범위 시나리오는 시나리오 요소와 각 요소의 범위를 정의하는 단계로, 이를 시뮬레이터의 조건에 맞게 조정하여 특정 값을 도출한 시험 시나리오로 변환 할 경우 시나리오를 시뮬레이션 상에서 구현할 수 있게 된다. 우선, 시나리오 요소와 범위를 정의하기 위해 ISO 34503와 ASAM OpenODD의 ODD 관련 자료를 검토하였다. 시나리오에 활용되는 ODD를 ISO 34503의 ODD 분류체계에 따라 분류하였으며, 시뮬레이션에서 사용 가능한 언어로 변환하기 위해 OpenODD의 표준 을 활용하였다. ODD 중 MORAI:SIM을 통해 구현 가능한 ODD를 도출하여 이를 범위 시나리오의 요소로 정 의하였고, OpenSCENARIO 1.2 형식을 활용하여 실험값을 지정할 수 있도록 사용자가 조정 가능한 요소와 그 요소의 실험값 범위를 정의하였다. 조정 가능한 요소를 사전에 정의하여 구체적인 실험값을 지정하는 시험 시나리오로의 변환이 가능해지고, 이를 통해 시나리오의 다양성과 생성 편의성을 증가시켰다. 범위 시나리오 생성을 위한 시나리오 요소 도출 과정은 다음 <Fig. 2>와 같다.
다음으로, 범위 시나리오를 기반으로 시험 시나리오를 생성한다. 시험 시나리오는 범위 시나리오에서 도 출된 조정 가능한 요소의 범위 내에서 특정한 실험값을 지정하는 단계이다. 범위 시나리오의 요소들을 범위 내에서 조정할 경우 시나리오의 난이도와 복잡성 등을 조절하며 다양한 시나리오를 생성하는 것이 가능하 다. 이때, 랜덤 샘플링 기법을 활용하여 조정 가능한 요소의 실험값을 도출하였다. 랜덤 샘플링 기법은 모든 실험값이 추출될 확률이 동일하여 편향이 적고, 빠른 데이터 추출이 가능하다. 또한, 모집단에 대한 사전지 식이 필요하지 않아 시나리오를 누구나 쉽게 활용할 수 있다. 이를 통해 시험 시나리오에 적용할 특정한 실 험값을 무작위로 도출하여 시뮬레이션에 적용 가능한 시험 시나리오를 생성할 수 있다.
4. 시뮬레이터 내 시나리오 구현 조건 정의
앞서 도출한 시험 시나리오를 OpenSCENARIO의 형식으로 변환하고, 이를 통해 시뮬레이션 내에서 시나 리오를 구현할 수 있다. 본 연구에서는 자율주행 시뮬레이터인 MORAI:SIM을 활용하여 시나리오를 구현했 고, 시나리오 구현 시 필요한 조건들을 OpenSCENARIO의 구성요소별로 정의하였다. OpenSCENARIO의 구성 요소는 크게 Entities와 Init, Story로 구분된다. Entities는 시뮬레이션 내에 활용하고자 하는 모든 객체들의 정 보를 입력하는 단계이며, Init은 Entities에서 정의한 객체들의 초기 속도 및 위치, 주행궤적과 시뮬레이션 전 체 날씨 조건, 신호 정보들을 정의하는 단계이다. Story는 시뮬레이션 동작 중 발생하는 Event와 Event로 인 한 세부적인 객체의 움직임인 Action을 정의하고, 해당 Action의 활성화 및 정지 조건인 Start/Stop Trigger 등 을 포함한다.
먼저 Init에서 시나리오 구현 시 고려해야 할 조건으로 동적 객체의 속도 및 위치에 대한 부분을 도출하였 다. 시뮬레이션 상의 차량은 초기 입력 속도에 맞추어 곧바로 주행하는 것이 아닌, 정지 상태에서 가속을 통 해 설정한 목표 속도에 도달하는 방식이다. 이에 따라 사전에 설정한 목표 속도에 도달하기 위한 충분한 가 속 거리를 고려해 주어야 한다. Story에서는 동적 객체가 운전자 모델과 유사하게 동작하기 위해 고려해야 할 조건들을 도출하였다. 대상 자동차가 차선을 변경하거나 전방 차량 및 장애물을 회피하는 상황을 구현하 기 위해 대상 자동차와 목표 자동차의 Action 수행 시작 위치를 사전에 정의하여 움직임을 제어해야 한다. 또한, Event가 연속적으로 발생할 경우 다음 Event를 동적 객체가 안정적으로 수행할 수 있도록 각 시나리오 간 충분한 주행거리와 시간을 확보해 주어야 한다. 이를 활용하여 복수의 단일 시나리오 연결로 인한 불연속 성 문제를 해결하고 자연스러운 주행 상황을 구현할 수 있다.
Ⅳ. 다중 시나리오 생성 및 검증
1. 개요
앞서 제시한 방법론을 기반으로 본 연구에서는 세 가지의 단일 시나리오를 연결하여 다중 시나리오로 변 환하였다. 또한, 변환한 다중 시나리오를 MORAI:SIM을 통해 구현하고 검증하는 과정까지 진행하였다. 우선, 다중 시나리오를 생성하기 위해 고속도로 구간에 대한 상세한 정보를 담고 있는 단일 상황 시나리오를 수집 하였다. 해당 시나리오 중 시뮬레이션을 통한 평가에 적합한 시나리오를 선별하고, 정의한 시나리오의 요소 및 범위에 맞추어 범위 시나리오로 발전시켰다. 이후 랜덤 샘플링 기법을 활용하여 특정 실험값을 범위 시나 리오에 적용하여 시험 시나리오를 생성하였다. 시험 시나리오를 구현하기 위한 대상지는 고속도로 상황 시 나리오의 활용을 위해 램프 구간 및 기본 구간, 톨게이트 구간이 존재하고, MORAI:SIM 내에 구현되어있는 K-City의 고속도로 구간으로 지정하였다. 최종적으로 시험 시나리오를 OpenSCEANARIO 1.2 형식의 .xosc 파 일로 변환한 후 MORAI:SIM의 K-City 고속도로 구간에 구현하여 다중 시나리오를 검증하였다.
2. 단일 상황 시나리오 수집
본 연구에서는 Ko et al.(2022)에서 개발하였던 고속도로 상황 시나리오를 수집하였다. 해당 시나리오는 고 속도로 구간별로 구분되어 다중 시나리오 생성에 활용하기 유리하다고 판단하였으며, 램프 구간 29건, 기본 구간 35건, 톨게이트 구간 10건의 총 74건을 수집하였다. 시나리오 구성은 ‘시나리오 타입’, ‘전체 상황도’, ‘상세 설명’, ‘기하구조’(차로수, 차로유형), ‘이동객체’(대상 자동차, 목표 자동차 등), ‘시나리오 출처’(사고 빈 도, 사고 심각도) 등으로 이루어져 있다. 시나리오 유형은 주행, 역주행, 차량 추종, 정지, 차선 변경, 차선 침 범, cut-in, cut-out, cut-through 등의 9종류이다.
3. 다중 상황 시나리오 선정
수집한 총 74건의 시나리오에서 기존에 수집한 시나리오 중 교량 및 급격한 커브 구간 등 K-City 내에 존 재하지 않는 유형의 도로이거나 시뮬레이션을 통해 구현이 불가한 시나리오를 제외하여 최종적으로 램프 구 간 25건, 기본 구간 30건, 톨게이트 구간 9건의 총 64건을 본 연구에서 활용하였다. 또한, K-City 내 고속도로 의 경우 구간의 길이가 짧고, 특수한 기하구조가 포함되어 있어 시뮬레이션을 통한 시나리오 구현 시 이를 고려하였다. 다음으로 64건의 시나리오 중 원활한 실험을 위해 K-City 내의 기하구조와 동일한 형태의 시나 리오를 선정하였다. 램프 구간은 1차로, 기본 구간은 4차로, 톨게이트 구간이 3차로인 시나리오를 선별하였 으며, 램프 구간 14건, 기본 구간 22건, 톨게이트 구간 8건의 활용 가능한 시나리오를 확인하였다. 해당 시나 리오를 대상으로 3.2장에서 제시한 다섯 가지의 연결 조건을 고려하였을 때, 총 260가지의 다중 시나리오를 조합하는 것이 가능하였다.
본 연구에서는 고속도로 구간별로 편향이 없는 무작위 샘플을 얻기 위해 랜덤 샘플링 기법을 통해 실험에 활용할 시나리오를 선정하였다. 선정된 시나리오 조합은 램프 구간의 경우 본선 진입을 위한 대상 자동차의 Cut-in에 대한 주행 안전성 평가 시나리오, 기본 구간의 경우 전방 장애물 회피를 위한 목표 자동차의 Cut-in 에 대한 주행 안전성 평가 시나리오, 톨게이트 구간의 경우에는 톨게이트 진입을 위한 대상 자동차의 Cut-in 에 대한 주행 안전성 평가 시나리오로 구성된다. 각 시나리오의 상세 정보는 다음 <Fig. 3>과 같다.
4. 범위 시나리오 생성
3.3장에 따라 다중 상황 시나리오를 범위 시나리오로 발전시켰다. 분류체계는 ISO 34503에서 제시하는 ODD 분류체계를 따랐으며, MORAI:SIM에서 구현 가능한 31개의 시나리오 요소를 선정하였다. 31개 요소 중 OpenSCENARIO 1.2 형식을 통해 사용자가 조정 가능한 17개의 요소를 추가적으로 도출하였다. 조정 가능한 요소는 시험 시나리오 생성 시 시뮬레이션 구현에 필요한 특정 실험값을 입력하는 데 활용하였다. 다음 <Table 1>은 4.3장에서 선정한 다중 상황 시나리오에서 도출된 범위 시나리오의 조정 가능한 요소 및 범위이 다. 이때, 차로변경의 경우 3.2장에서 제시한 차로 수 변화 최소화에 근거하여 주변 차로로 최대 2차로 이내 의 변경만을 허용한 ±2의 범위를 지정하였다.
<Table 1>
Classification | Elements | Range | |
---|---|---|---|
Map | K-City | ||
Drivable area | Signs | Regulatory signs | None, Speed limit, Stop |
Surface | Condition | Dry, Flooded,Wet | |
Temporary structures | None, Signage | ||
Weather | Sunny, Cloudy, Foggy, Storm, Rainy, Snowy | ||
Amount | Sun, Precipitation, Fog, wind | ||
Illumination | Time | 1~24 | |
Cloudiness | zero~nineOktas | ||
Traffic agents | Type | None, Motor vehicle, Obstacle, Pedestrian, Animal | |
Attributions | Density of agents | 0~22pcpkmpl | |
Speed | 0~27.8m/s | ||
Subject Vehicle | Velocity | Speed | 0~27.8m/s |
Acceleration | 0~10m/s2 | ||
Moving | Straight | ||
Lane-change | ±2lane | ||
Pre-defined routes | Route | ||
Lane position | 1~4, Acceleration lane |
5. 시험 시나리오 생성
다중 시나리오를 MORAI:SIM에서 구현하기 위해 범위 시나리오에서 도출된 조정 가능한 요소의 범위 내 에서 특정한 실험값을 지정하여 시험 시나리오로 발전시켰다.
본 연구에서는 범위 시나리오에서 도출한 17개의 조정 가능한 요소의 값들을 범위 내에서 지정하여 실험에 활용할 시험 시나리오를 생성하였다. 실험값은 랜덤 샘플링 기법을 사용하여 도출하였으며, 이때 MORAI:SIM이 서비스수준(level of service, LOS) C 이상의 교통류 상황에 대한 구현에 제한이 발생한다는 점을 반영하였다. 또한, 속도는 교통 밀도에 의해 변하기에 임의로 설정하였고, 차종은 승용차로 고정하였으며, 범위 시나리오에서 도출한 조정 가능한 요소 중 Acceleration 및 Moving은 시나리오 진행 과정에서 지속적으로 변화하여 제외하였다. 이와 같은 사항들을 고려하여 추출한 최종적인 시험 시나리오의 14개 요소의 실험값은 다음 <Table 2>과 같다.
<Table 2>
Classification | Elements | Experimental value | |
---|---|---|---|
Map | K-City | ||
Drivable area | Signs | Regulatory signs | None |
Surface | Condition | Dry | |
Temporary structures | None | ||
Weather | Rainy | ||
Amount | 6mm/h | ||
Illumination | Time | 15 | |
Cloudiness | fourOktas | ||
Traffic agents | Type | Motor vehicle(12 cars)/ Obstacle(1cargobox) | |
Attributions | Density of agents | 9pcpkmpl | |
Speed | 25m/s | ||
Subject Vehicle | Velocity | Speed | Ramp, Basic(25m/s), Tollgate(13.9m/s) |
Pre-defined routes | Route | None | |
Lane position | Ramp(Acceleration lane), Basic(3), Toll gate(1) |
6. 시뮬레이션 기반 다중 시나리오 검증
1) MORAI:SIM 내 다중 시나리오 구현
추출한 시험 시나리오를 MORAI:SIM에서 구현하기 위해서는 앞서 제시하였던 시나리오 구현 조건을 고 려하여 OpenSCENARIO 형식으로 변환해야 한다. 우선, 구간의 길이가 짧은 K-City 고속도로 구간의 특성을 고려하여 차량들의 초기 위치 및 속도를 적절히 조절하였다. 시나리오 시작 시의 차간거리는 20m 이상으로 하고, 주행 시작 후에는 각 차량들이 100km/h 주행 시의 안전거리인 100m 이상의 차간거리를 유지하도록 하 여 안정적인 주행을 유지하도록 하였다. 시뮬레이션 내 차량의 속도는 램프 구간(가속차로) 및 기본 구간의 경우 실제 K-City 내 고속도로의 설계 속도인 100km/h보다 10km/h 낮은 90km/h로 하였으며, 톨게이트 구간 (하이패스 차로)에서는 50km/h가 되도록 설정하였다. 다만, K-City의 기하구조로 인해 기본 구간에서 톨게이 트 구간으로 넘어가는 구간의 병목 현상을 해결하기 위해 시나리오 전방에 위치한 차량의 속도는 100km/h로 설정하였다. 또한, 각 시나리오 사이에는 차량들이 다음 상황에 안정적으로 대응할 수 있도록 3초의 시간을 부여하여 충분한 주행거리를 제공하였다. 다음으로 자연스러운 시나리오 구현을 위해 범위 시나리오에는 포 함되지 않는 차량의 주행 경로 및 차로변경 조건을 사전에 설정하였다. 시나리오는 ACC 차량과 일반차의 혼합 교통류로 구성되며, 안정된 교통류(LOS B)를 구현하기 위해 차량 12대와 장애물 1개로 구성된다.
완성된 시험 시나리오는 OpenSCEANARIO 형식으로 변환 후 MORAI scenario runner를 통해 실행하였다. MORAI scenario runner는 OpenSCEANARIO 형식의 시나리오 파일을 MORAI:SIM으로 구현하기 위해 MORAI 에서 개발한 유틸리티이다. 시나리오 파일 내용과 MGeo 양식의 지도 정보를 로드하여 MORAI:SIM에서 3D 그래픽 형태의 시나리오를 구현하게 된다. 이때, MGeo는 K-City의 정밀도로지도를 반영한 MORAI의 독점 포맷이다. 다음 <Fig 4>와 <Fig 5>는 시뮬레이션 구현 시 활용되는 .xosc파일과 MORAI scenario runner이다.
MORAI scenario runner에 다중 시험 시나리오를 OpenSCENARIO 형식으로 변환한 .xosc 파일을 로드하여 MORAI:SIM에서 시나리오를 구현하였다. 고속도로 램프 구간에서 대상 자동차는 고속도로 기본 구간으로 진입하기 위해 가속차로에서 가속을 시작하고, 기본 구간을 주행 중이던 목표 자동차의 앞으로 차선 변경을 수행한다. 다음으로 대상 자동차가 고속도로 기본 구간에서 다음 시나리오의 상황을 수행하기 위해 차선 변 경한 후 전방에서 장애물을 회피하기 위해 차선을 변경하는 목표 자동차를 인지하고 제어한다. 마지막으로 대상 자동차는 1차로로 차선 변경 후 가속을 시작하고, 톨게이트 입구에서 목표 자동차 앞으로 급 끼어들기 를 수행한다. 다음 <Fig 6>은 MORAI:SIM 내 다중 시나리오의 구현 모습이다.
2) 다중 시나리오 검증
다중 시나리오의 성능을 검증하기 위해 본 연구에서는 해당 시나리오와 동일한 상황의 단일 시나리오를 구현한 후 결과를 비교하였다. 랜덤 샘플링 통해 실험값을 무작위로 도출하였으므로, 검증을 통한 평가지표 의 절대적인 값보다는 다중 시나리오와 단일 시나리오 값을 비교하여 차이를 확인하고자 하였다. 실험을 위 해 총 5회의 시뮬레이션을 시행하였으며, 차량의 충돌이 발생하는 경우는 제외하였다. MORAI:SIM에서 제공 하는 Evaluation 기능을 통해 차량 간 또는 차량과 시설물 사이에서 충돌 발생 시 즉시 시뮬레이션을 중단하 고 실패로 판정하였다. 대상 자동차가 충돌 없이 목표 지점에 도달할 경우 성공으로 판정되며 결과분석에 활 용하였다. 시나리오 검증을 위한 평가지표는 TTC와 TTS(time to steer)를 활용하였다. TTC는 두 차량이 현재 속도로 계속 주행할 때 발생 가능한 충돌까지의 시간이다. TTC 값이 작을수록 충돌의 위험이 높으며, TTC 가 0일 경우 충돌이 발생했다는 것을 의미한다. TTC는 동일한 차선 내에 비교하고자 하는 차량이 존재하는 시나리오 분석 시 활용하며, ISO 34502에서도 시나리오 평가 분야에서 활용하고 있어 평가지표로 선정하였 다(Thal et al., 2023). 검증에서 TTC의 임계값은 Lv.3 이상의 AV 대상이므로 인간의 인지반응시간인 1.5초보 다 작은 1.0초로 설정하였다(Lee et al., 2022). TTC 값이 임계값 이하면 충돌 위험이 높은 사고 취약 상황임 을 의미한다. 다만, Park et al.(2021)에 따르면 TTC의 경우 차로변경을 수행하는 AV 평가지표로 활용하기에 는 부족하다고 판단하고 있어 이를 보완하고자 TTS를 함께 사용하였다. TTS는 차량이 차선을 변경하는 상 황에서 충돌을 방지하기 위해 회피하는 움직임을 시작해야 하는 시간으로 다음 식(1)을 통해 구할 수 있다 (Ackermann et al., 2014). TTS가 작을수록 충돌의 위험도가 높으며, TTS가 0보다 작은 경우 조향에 의한 충돌 회피가 불가능해진다(Tamke et al., 2011).
where,
본 연구에서는 구간별 시나리오에 따라 평가지표를 다르게 활용하였다. 램프 구간과 톨게이트 구간에서는 AV가 차로변경을 진행하는 상황이므로 TTS를 평가지표로 활용하였고, 기본 구간에서는 선행 차량의 Cut-in 에 대한 AV의 대응을 확인하는 시나리오이므로 TTC를 평가지표로 활용하였다. 5번의 시뮬레이션을 진행한 결과, 1번은 차량의 급격한 거동 변화로 인해 차량 간 충돌이 발생하여 제외하고 총 4번의 시뮬레이션에서 도출한 TTS와 TTC의 평균값을 활용하였다. 우선, TTS는 차량이 차로변경을 시작하는 순간부터 차로변경이 완료되는 시점까지의 데이터를 식(1)에 따라 도출하였다. 도출된 구간별 평균 TTS를 분석한 결과, 램프 구간 의 경우 다중 시나리오는 11.2초, 단일 시나리오가 13.9초였으며, 톨게이트 구간은 다중 시나리오가 10.2초, 단일 시나리오는 16.4초로 다중 시나리오의 TTS가 낮게 도출되었다. 기본 구간의 TTC의 경우 다중 시나리오 가 6.4초, 단일 시나리오가 10.0초로 역시 다중 시나리오에서 더 작은 TTC 값을 확인하였다. 다음 <Fig. 7>은 구간별로 다중 시나리오와 단일 시나리오의 구간별 TTS 및 TTC를 비교한 결과이다.
또한, 단일 시나리오의 경우 임계값 이하의 TTC가 발생하지 않았지만, 다중 시나리오의 톨게이트 구간에 서는 차선 변경이 완료된 시점에 1회 발생하여 사고 취약 상황에 해당되었다. <Fig. 7>에서 확인된 바와 같 이 TTS와 TTC 값 모두 다중 시나리오에서 더 낮게 도출되었고, 임계값 이하의 TTC가 다중 시나리오에서 도 출된 점을 미루어 보아 다중 시나리오는 단일 시나리오보다 위험한 상황을 연출하는 것으로 판단하였다. 이 는 다중 시나리오로 변환하는 과정에서 시나리오가 연결되고 차량이 연속적으로 주행함에 따라 주변 자동차 들의 주행행태에 무작위성이 증가하고 이에 따라 더욱 다양한 이벤트가 발생하여 나타난 것으로 판단된다. 실제로 고속도로 램프 구간에서 기본 구간으로 주행하는 중 대상 자동차가 다음 시나리오를 수행하기 위해 차로변경을 하는 과정에서 급 끼어들기 및 급감속하는 상황이 의도치 않게 연출되기도 하였다. 이처럼 예상 하지 못한 이벤트를 생성하며 위험한 상황을 연출하는 다중 시나리오는 자율주행 안전성 평가의 강도를 높 여줄 것으로 판단된다. 최근 자율주행 기술의 발전과 함께 예상치 못한 상황들에 대한 대비가 중요해지고 있 는 상황에서 간단한 상황을 다루는 기존의 단일 시나리오에 비해 다양한 상황을 발생시키는 다중 시나리오 는 추후 AV 안전성 평가에 적극적으로 활용될 수 있을 것으로 기대된다.
Ⅴ. 결 론
자율주행 기술의 발전으로 차량 제어에 대한 운전자의 역할이 줄어드는 만큼 AV 안전성 평가에 대한 중 요성이 대두되고 있다. 이를 위해 사전에 제작된 AV 안전성 평가 시나리오를 활용하여 체계적이며 효과적 인 안전성 평가를 진행하는 것이 중요하다. 그중 사고 심각도가 높거나 반복적인 실험이 필요하여 실제 도로 에서 구현이 어려운 시나리오는 시뮬레이션 통해 구현하고 있다. 하지만 기존에 활용되고 있는 단일 시나리 오는 도로의 짧은 구간 내에서 하나의 상황만을 평가하여 실제 도로의 연속적인 상황을 적절히 반영하지 못 하며, 다양한 상황에 대한 평가에는 한계가 존재한다. 따라서, 본 연구에서는 기존에 존재하는 단일 시나리 오를 하나의 다중 시나리오 형태로 연결하여 AV가 실제 도로 환경과 유사하게 다양한 상황을 연속적으로 마주하도록 하였다. 또한, 시뮬레이션을 통해 변환한 다중 시나리오를 직접 구현하여 신뢰성과 실효성을 검 증하고자 하였다.
본 연구에서는 다중 시나리오 변환을 위해 기개발된 단일 상황 시나리오를 수집하였으며, 사전에 도출한 시나리오 간 연결 조건을 고려하여 실험에 활용할 다중 시나리오를 생성하였다. 이후 PEGASUS 프로젝트에 서 정의한 절차에 따라 상황, 범위, 시험 시나리오 순으로 다중 시나리오를 발전시켰다. 범위 시나리오의 요 소 및 요소의 범위는 ISO 34503과 ASAM OpenODD에서 제시한 내용을 기반으로 정의하였다. 다음으로 시뮬 레이션에서 조정 가능한 요소를 도출하고 랜덤 샘플링 기법을 통해 해당 요소에 특정 실험값을 부여하여 시 험 시나리오를 생성하였다. 이후 생성된 시험 시나리오를 OpenSCENARIO 1.2 형식으로 변환하여 시뮬레이 션으로 구현할 수 있는 시나리오 파일(.xosc)을 생성하였다. 시나리오 파일은 본 연구에서 도출한 시뮬레이션 내 구현 조건에 맞게 초기 속도 및 위치, 시나리오 간 여유시간 등을 조정하여 완성하였다. 최종적으로 자율 주행 시뮬레이터인 MORAI:SIM에서 다중 시나리오를 구현하였으며, 추종 상황과 차선 변경 시의 충돌 위험 도를 판단하기 위해 TTC와 TTS를 평가지표로 선정하고, 다중 시나리오 제작에 사용된 단일 시나리오와 비 교 검증하였다. 실험 결과, 전 구간에서 다중 시나리오의 TTS와 TTC가 단일 시나리오보다 작은 값을 보였으 며, 다중 시나리오에서는 임계값 이하의 TTC가 1회 도출되었다. 또한, 다음 상황으로 이어지는 과정에서 급 끼어들기 등의 예상하지 못한 상황이 발생하기도 하였다. 다중 시나리오를 활용한 실험은 연속적인 도로의 상황을 실제와 유사하게 반영하면서 위험한 상황과 예상하지 못한 상황들을 다양하게 발생시키고, 이를 통 해 간단한 상황만을 다루던 기존의 단일 시나리오를 활용한 평가의 한계를 보완할 수 있을 것으로 판단하였 다. 따라서 다양하고, 예상치 못한 상황에 대한 평가가 가능한 다중 시나리오는 향후 AV 안전성 평가의 강 도와 신뢰성을 높일 수 있을 것으로 기대된다.
본 연구의 한계 및 향후 연구과제는 다음과 같다. 본 연구에서는 다중 시나리오의 검증 과정에서 다양한 상황을 구현하지 못한 한계가 존재한다. 검증을 위해 활용한 시나리오는 모두 고속도로를 대상으로 하는 시 나리오였다. 추후에는 고속도로뿐만 아니라 도심도로를 대상으로 하는 다중 시나리오를 시뮬레이션 내에 구 현하여 보다 복잡하고 다양한 상황에 대하여 검증할 필요가 있다. 또한, 본 연구에서는 검증을 위해 한 가지 의 다중 시나리오를 대표적으로 활용하였지만, 연결 가능한 것으로 확인한 260가지의 다중 시나리오를 다양 하게 구현하여 추가적인 검증을 진행할 필요가 있다. 따라서 향후에는 여러 상황들을 조합한 다양한 다중 시 나리오를 생성 및 검증하여 검증 결과의 신뢰성을 향상시킬 필요가 있을 것으로 사료된다.