자율주행 기능을 위한 하이브리드 Vehicle-in-the-Loop 테스트 방법론 구현
작성자: Selim Solmaz, Virtual Vehicle Research GmbH
ADAS(첨단 운전자 보조 시스템)와 AD(자율주행) 시스템을 프로덕션 차량에서 안전하게 사용하기 위해서는 먼저 다양한 주행 시나리오에 걸쳐 폭넓은 테스트가 필요합니다. 이 테스트는 오늘날 보편적으로 사용되는 두 가지 광범위한 접근법의 제한 사항으로 인해 자동차 엔지니어에게는 큰 과제가 될 수 있습니다. 첫 번째 접근법은 시뮬레이션만을 통해 AD 및 ADAS 기능을 테스트하는 방법으로, 초기 알고리즘 개발에 효과적이지만 알고리즘 성능에 상당한 영향을 미칠 수 있는 실체 차량 동역학과 하드웨어 관련 효과를 포착하지 못합니다. 실제 차량에서 테스트를 수행하는 두 번째 접근법에는 이러한 제한 사항이 없지만 더 많은 시간이 소요되고 많은 비용이 들고 재현하기가 어려우며, 무엇보다 특정 주행 시나리오에서 안전을 담보할 수 없습니다.
시뮬레이션만 사용하는 테스트와 차량 내 테스트 사이의 간극을 잇기 위해 Virtual Vehicle Research의 팀은 하이브리드 테스트 접근법을 구현했습니다. 이 접근법에서는 연동 시뮬레이션 프레임워크에서 실제 차량과 가상 차량을 결합하여 시뮬레이션된 교통 시나리오에서 ADAS 및 AD 기능에 대한 안전하고 현실적인 테스트를 가능하게 해주는 Vehicle-in-the-Loop 테스트를 통합하여 정의됩니다. (그림 1) 예를 들어, 급제동 시나리오에서 이 하이브리드 테스트 접근법을 적용하여 실제 차량의 질량, 제동 시스템 동역학, 하드웨어 지연 및 모델에서 포착하기가 매우 어렵거나 불가능한 기타 미묘한 차이를 완전히 반영한 자동 긴급 제동 시스템 테스트를 실행할 수 있으며, 이 과정에서 실제 후방 추돌 위험을 감수할 필요가 없습니다.
그림 1. 연동 시뮬레이션 프레임워크를 통해 ADAS 및 AD 기능에 대한 안전하고 현실적인 테스트를 수행할 수 있습니다.
모델 기반 설계를 사용하여 내부적으로 개발한 ADAS 기능을 MATLAB® 및 Simulink®로 테스트해서 하이브리드 테스트 방법론을 검증했습니다. 이러한 기능은 횡방향 및 종방향 추적과 차선 변경 결정 함수를 통합하여 ACC(적응 순항 제어), LKA(차선 유지 보조), TP(궤적 계획) 기능을 지원합니다. 모델 기반 설계를 통해 신속하게 모델링과 시뮬레이션을 수행하고 ADAS 함수용 코드를 생성할 수 있었으며, 덕분에 로우 레벨 코딩과 구현 세부 사항이 아니라 하이브리드 테스트를 접근법으로서 검증하는 데 노력을 집중할 수 있었습니다.
하이브리드 테스트의 작동 방법
하이브리드 테스트에서는 다른 차량이나 장애물이 없는 격리된 성능 시험장에서 AD 또는 ADAS 소프트웨어와 하드웨어가 탑재된 실제 차량을 운행합니다. 제어 소프트웨어는 실제 교통 상황을 탐지하고 이에 대응하는 대신, 차량이 성능 시험장을 가로질러 이동할 때 지속적으로 실시간 업데이트되는 가상 환경과 상호 작용합니다. 이 환경에서 사용된 테스트 차량은 차량의 스로틀, 브레이크, 조향, 변속을 완전히 제어할 수 있게 해주는 ADAS 키트가 탑재된 Ford® Mondeo Hybrid입니다. 성능 시험장은 오스트리아 그라츠 인근의 ÖAMTC Lang/Lebring 테스트 트랙입니다. (그림 2) 또한 이 가상 환경은 오픈 소스 교통 시뮬레이션 패키지 SUMO(Simulation of Urban MObility)를 기반으로 하며, 도로 표지판, 차선 좌표 및 기타 인프라 요소가 포함된 정적 환경은 ASAM OpenDRIVE® 형식 사양을 사용하여 정의됩니다.
테스트 차량이 다중 차선 트랙에서 이동하면 GPS 및 기타 온보드 센서를 통해 차량의 위치와 속도, 방향이 수집됩니다. 이 정보는 차량 내의 산업용 PC에서 실행되는 가상 환경으로 전달되어 교통 시뮬레이션 내에서 테스트 차량(자차량)의 방향을 설정하는 데 사용됩니다. 가상 환경은 자차량의 시뮬레이션과 가상 차량 및 정적 인프라 요소에 대한 상대적 위치를 기반으로 일련의 객체 목록과 차선 탐지 정보를 생성하며, 이 정보는 dSPACE® MicroAutoBox 실시간 하드웨어에서 실행 중인 ADAS 제어 소프트웨어로 CAN 버스 인터페이스를 통해 전송됩니다. 제어 소프트웨어는 객체 목록과 차선 정보를 사용하여 제동, 가속, 차선 변경, 궤적 계획에 대한 의사 결정을 내리고, 이후 이러한 의사 결정 사항을 수행하는 데 필요한 신호를 CAN 버스를 통해 차량의 조향, 스로틀 및 브레이크 액추에이터로 전송합니다. (그림 3)
ADAS 함수의 모델링, 시뮬레이션, 코드 생성
동료들이 다른 ADAS 응용 사례를 위해 개발한 일련의 Simulink 모델을 사용하여 ADAS 함수의 ACC, LKA, 궤적 계획 컴포넌트를 개발하기 시작했고, 우리는 이를 MWC(Motorway Chauffeur)로 지칭했습니다. 가상 환경에서 가져온 객체 목록과 차선 정보를 사용하도록 이러한 모델을 개조하고, 데스크탑에서 일련의 폐루프 시뮬레이션을 실행하여 시스템의 기본적인 기능을 검증했습니다. (그림 4) 또한 Model.CONNECT 통합 플랫폼을 사용하여 IPG CarMaker로 ADAS 제어 모델의 시뮬레이션을 실행했습니다.
시뮬레이션을 통해 ADAS 함수를 테스트한 후 Embedded Coder®를 사용하여 모델에서 C++ 코드를 생성한 다음 MicroAutoBox 타겟 하드웨어에 이 코드를 배포하여 차량 내 테스트를 준비했습니다.
차량 내 테스트 실행 및 결과 후처리
MicroAutoBox 하드웨어와 산업용 PC를 포함한 전체 하드웨어 설정을 테스트 차량에 설치했습니다. (그림 5) 이 구성으로 성능 시험장에서 수많은 테스트를 수행하여 가상 교통이 존재하는 상황에서 IVIM(인프라-차량 정보 메시지)에 대응한 차선 변경 및 속도 변경 등 다양한 ADAS 및 AD 함수를 평가했습니다.
테스트 주행 이후 MATLAB을 사용하여 온보드 센서에 의해 기록된 데이터를 분석하고 시간 경과에 따른 차량의 속도와 조향 각도, 위치를 보여주는 플롯을 생성했습니다. (그림 6) 이 분석은 연구 목표의 핵심이었습니다. 이를 통해 Vehicle-in-the-Loop 테스트를 사용하여 ADAS 기능의 KPI(핵심 성과 지표)를 평가할 수 있었기 때문입니다.
MATLAB에서의 데이터 후처리 역시 테스트 중에 발견한 문제를 분석하는 데 중요했습니다. 예를 들어, 한 테스트에서는 가상 환경에서 수신되는 객체 목록 데이터를 MobilEye ADAS 카메라에서 직접 수신되는 유사 데이터로 대체했습니다. 시뮬레이션된 데이터를 실제 센서의 데이터로 교체하자 제어 신호에서 진동이 관측되었습니다. 분석 결과 문제는 약 300밀리초의 차선 탐지 데이터 지연에서 비롯된 것으로 드러났습니다. Simulink 모델에 이 지연을 똑같이 적용한 이후의 시뮬레이션에서는 비슷한 진동이 관측되었습니다. 이후 이 지연을 반영하도록 제어 알고리즘을 수정하고 코드를 다시 생성하여 문제를 해결할 수 있었습니다.
다음 단계
우리 팀은 지금까지 구현한 하이브리드 테스트 방법론을 계속해서 개발하고 있습니다. 교통 시나리오에서 현재의 조감도 시각화 대신 3차원 시각화를 사용하는 방안을 포함한 여러 개선 사항을 살펴보고 있습니다. 현재 계획된 또 다른 개선은 시뮬레이션 프레임워크에 물리적 센서 모델을 포함하는 것입니다. 이를 통해 인식 알고리즘의 개발과 Vehicle-in-the-Loop 테스트를 지원하고, 하이브리드 테스트에서 온보드 센서의 추가적인 통합이 가능할 것입니다.
2024년 기고