기술 칼럼

Automotive Research Association of India - 실제 시뮬레이션 시나리오를 사용한 ADAS 응용 사례 가상 테스트 구현 사례


세계 3위 규모의 도로망에서 3억 대의 차량이 운행 중인 인도에서는 매년 상당한 수의 교통사고와 사망자가 발생합니다. 최근 연구에 따르면 이러한 사고의 3/4 이상이 운전자의 과실로 인한 사고로 밝혀졌습니다. ADAS(첨단 운전자 보조 시스템)는 전방 충돌 경고, 자동 긴급 제동, 운전자 모니터링, 사각지대 감지와 같은 안전 기능을 통해 이러한 과실의 위험을 낮출 수 있습니다.

인도 시장에서 ADAS 애플리케이션을 개발하는 엔지니어는 많은 교통량, 독특한 교통 패턴, 변덕스러운 기상 등 인도 운전자들이 자주 겪는 시나리오와 더불어 좁은 다리, 도로 포장면 파손과 같은 제반 시설 관련 문제를 고려해야 합니다.

방대한 양의 국가 특정 시나리오에 걸친 철저한 성능 검증을 포함하는 ADAS 애플리케이션 개발 및 테스트에 수반되는 도전 과제를 해결하기 위해 ARAI(Automotive Research Association of India)의 엔지니어들은 새로운 워크플로를 구축했습니다. MATLAB® 및 Simulink®를 기반으로 하는 이 워크플로는 실제 주행 시나리오에서 파생된 시뮬레이션을 통한 가상 테스트를 지원함으로써 ADAS 기능을 더 신속하게 배포할 수 있습니다 (그림 1). 이 워크플로는 차량 센서 데이터 수집, 이 데이터를 기반으로 한 가상 시나리오 생성, 이 시나리오를 사용한 ADAS 기능 테스트 등 크게 세 가지 주요 단계로 나뉩니다.

오른쪽 하단에서 인도의 혼잡한 도로를 볼 수 있습니다. 오른쪽 및 왼쪽 상단에서는 각각 운전자와 조감도 관점에서 본 도로의 모습을 보여주는 시뮬레이션된 도로 영상을 볼 수 있습니다.

그림 1. 가상 테스트를 위해 재현된 실제 주행 시나리오.

차량 센서 데이터 수집

사실적인 주행 시나리오를 시뮬레이션하기 위해서는 카메라, 라이다, GPS(위성 측위 시스템) 기기를 포함한 여러 센서를 장착한 차량에서 수집된 실제 데이터가 필요합니다 (그림 2). ARAI는 각각의 환경 조건이 고유한 인도 전역의 다양한 지역에서 다양한 시간대에 걸쳐 데이터를 수집하여 폭넓은 센서 데이터 기록 데이터베이스를 구축했습니다.

거리에 주차된 자차량의 측면 뷰로, 다양한 센서의 장착 위치가 표시되어 있습니다.

그림 2. 카메라, 라이다, 기타 센서 기기가 장착된 차량.

차량에 장착된 센서를 사용하여 데이터를 수집하기에 앞서 우선 센서를 보정해야 합니다. ARAI의 엔지니어들은 라이다 카메라 보정기 앱을 사용하여 카메라 및 라이다에 대해 보정을 수행했으며, 이를 통해 두 기기 간의 강체 변환을 추정하고 MATLAB에 변환을 저장할 수 있었습니다.

센서를 보정한 후 팀은 데이터를 기록할 준비가 되었습니다. ARAI는 ROS를 사용하여 차량에 장착된 모든 센서의 데이터를 rosbag 파일에 동기식으로 수집했습니다. 이 데이터는 개별적으로 기록된 센서에서 데이터를 추출하는 데도 사용된 ROS Toolbox에서 시각화되었습니다. 이후 팀은 여러 센서의 동기화된 기록 데이터를 MATLAB에서 분석할 수 있었습니다 (그림 3).

왼쪽은 녹화하는 카메라에 수집된 실제 주행 시나리오. 오른쪽은 동일한 시나리오의 라이다 데이터.

그림 3. 기록 카메라를 통해 수집된 실제 주행 시나리오 뷰 (왼쪽) 및 이에 대응하는 라이다 데이터 (오른쪽).

기록된 센서 데이터에서 가상 시나리오 생성

주행 시나리오를 생성하려면 기록 차량(자차량이라고도 함)의 위성 측위 데이터를 도로 데이터(예: OpenStreetMap®의 데이터) 및 도로에 있는 다른 차량의 라이다 기반 추적에 통합해야 합니다 (그림 4).

자차량에서 수집된 데이터가 처리되어 다양한 주행 시나리오의 시각적 플롯을 생성하는 방법을 보여주는 도식.

그림 4. 기록된 데이터에서 가상 시나리오를 생성하는 데이터 흐름.

워크플로의 이 단계에서 ARAI 엔지니어들은 먼저 시나리오 생성에 사용될 기록 데이터를 시각화하고 선택하고, 이는 운전자 사각지대에 있는 차량을 검출하는 것과 같은 ADAS 기능의 특정 측면을 테스트하기 위해 사용됩니다. 이 작업이 완료되면 자차량 이외의 차량을 추적할 수 있도록 라이다 데이터에 레이블을 지정해야 합니다. ARAI 엔지니어들은 공정 중 이 부분을 간소화하기 위해 라이다 레이블 지정기 앱을 사용합니다. 이 앱은 포인트 클라우드 시간 보간을 사용하여 관심 차량의 주석 생성을 자동화할 수 있습니다. 그런 다음 엔지니어들은 OpenStreetMap 도로망 데이터를 사용하여 자차량의 GPS 데이터와 비자차량의 동기화된 레이블 지정 라이다 데이터를 조합하여 주행 시나리오를 생성합니다 (그림 5). 이후 팀은 주행 시나리오의 도로망, 차량 및 차량 궤적을 ASAM OpenSCENARIO® 1.0 파일 형식으로 내보낼 수 있습니다. 이는 ASAM OpenSCENARIO 가져오기를 지원하는 다른 타사 시뮬레이터와의 상호운용성을 위한 것으로 선택 사항입니다.

그림 5. 동기화된 비디오를 사용한 주행 시나리오.

팀은 이 접근법을 사용하여 실제 기록된 데이터를 복제하는 시나리오뿐만 아니라, 차량 충돌을 비롯하여 일상적인 주행에서 수집하기 어려운 기타 이벤트를 위한 변형 시나리오도 생성했습니다. 예로 자차량이 다른 차량과 충돌하는 충돌 시나리오를 생성하기 위해 엔지니어들은 기존 시나리오를 수정하여 자차량의 앞에서 주행하던 비자차량의 속도를 급격하게 낮추었습니다. 이러한 유형의 시나리오는 FCW(전방 충돌 경고) 및 AEB(자동 긴급 제동) 기능을 테스트하는 데 사용될 수 있습니다.

가상 시나리오를 사용한 ADAS 기능 테스트

이 워크플로의 마지막 단계에서 ARAI 엔지니어들은 가상 시나리오를 사용하여 특정 ADAS 기능을 테스트합니다. 이 단계는 Simulink에서 생성된 테스트벤치에서 시작됩니다. 예를 들어, AEB 시스템의 테스트벤치에는 테스트에 사용할 시나리오 및 관련 센서 출력에 대한 블록 외에도 센서 융합 및 추적 알고리즘, 의사 결정 로직, 제어 및 차량 동역학에 대한 블록을 포함할 수 있습니다 (그림 6).

Automated Driving Toolbox 예제를 기반으로 한 AEB 시스템의 Simulink 테스트벤치를 보여주는 스크린샷.

그림 6. Automated Driving Toolbox 예제를 기반으로 한 AEB 시스템의 Simulink 테스트벤치.

엔지니어들은 Automated Driving Toolbox™의 Bird’s-Eye Scope와 개별 신호의 플롯을 통해 시나리오 기반 테스트의 실행 중 및 실행 후 결과를 시각화합니다 (그림 7).

그림 7. Bird’s-Eye Scope의 보기를 사용한 시각화 (왼쪽) 및 속도, 정지 시간, FCW 상태, AEB 상태와 같은 주요 신호의 플롯 (오른쪽).

물론 ADAS 애플리케이션의 검증을 위해서는 광범위한 시나리오에 걸쳐 많은 테스트를 실행하여 모든 요구사항이 충족되는지 확인해야 합니다. ARAI 워크플로에서 엔지니어들은 Requirements Editor 앱을 사용하여 요구사항을 작성하고, Test Manager에서 이러한 요구사항과 관련된 테스트를 구성합니다 (그림 8). 엔지니어들은 멀티코어 워크스테이션에서 Parallel Computing Toolbox™를 사용하여 순차적으로 또는 동시에 테스트를 실행할 수 있습니다. 모든 테스트가 완료되면 엔지니어들은 모든 테스트의 통과 또는 실패를 보여주는 리포트를 작성하고, 추가 분석 및 후속 조치를 위해 이를 다른 그룹과 공유할 수 있습니다.

요구사항을 관련 테스트에 연결하는 것을 보여주는 Requirements Editor 앱의 스크린샷.

그림 8. Requirements Editor 앱으로 요구사항을 관련 테스트에 연결.

ARAI는 실제 시나리오의 시뮬레이션을 통해 ADAS 애플리케이션을 개발하고 테스트하기 위한 워크플로를 구축했으며, 이를 통해 예를 들어 합성 시나리오의 SIL(Software-in-the-Loop) 및 HIL(Hardware-in-the-Loop) 테스트와 개발을 위한 지원을 추가함으로써 언제든 이를 확장할 수 있습니다.

2023년 기고

관련 기능에 대한 기사 보기

관련 산업에 대한 기사 보기