Aptiv - 기록된 센서 데이터에서 주행 시나리오 수집 사례
작성자: Krishna Koravadi, Aptiv 및 Seo-Wook Park, MathWorks
MATLAB 및 RoadRunner 제품을 사용하여 수행된 이 워크플로는 가상 시나리오를 생성하는 구조화된 접근법을 제공하여 Aptiv 엔지니어들은 시뮬레이션을 통해 ADAS/AD 폐루프 알고리즘을 엄격하게 검증할 수 있습니다.
차세대 차량을 개발하는 엔지니어에게 있어 실제 주행 시나리오에서 ADAS(첨단 운전자 보조 시스템) 및 AD(자율주행) 시스템의 알고리즘을 테스트할 수 있는 기능은 필수적입니다. 새로 개발한 알고리즘의 성능과 견고성을 실제 교통 상황에서 테스트하는 것은 현실적으로 불가능합니다. 이상적인 대안은 실제 도로 테스트 중에 수집한 센서 데이터에서 가상 시나리오를 생성하는 것입니다. 이러한 시나리오는 가상 환경에서 ADAS/AD 알고리즘의 안전하고 반복적인 테스트를 수행하고 미세 조정할 수 있는 비용 효율적인 방법이 될 수 있습니다.
우리는 Aptiv 엔지니어들이 기록된 차량 데이터에서 주행 시나리오를 수집하기 위해 사용하는 워크플로를 구현했습니다. 이 워크플로는 MATLAB® 및 RoadRunner 제품을 사용하여 3단계로 완성됩니다. 우선, 차량에 장착된 GPS, IMU(관성 측정 장치), 카메라, 지도 데이터의 입력을 기반으로 자차량의 궤적을 재구성합니다. 두 번째 단계에서는 레이다 데이터 및 비인과적 JIPDA(결합 통합 확률 데이터 연결) 추종 알고리즘을 사용한 비자차량의 궤적 재구성을 통해 주변 교통 상황의 동적 표현을 생성합니다. 마지막 단계에서는 RoadRunner를 사용하여 시나리오를 생성하고 필요한 경우 편집한 후 다른 시나리오 편집 및 시각화 툴과 호환되는 ASAM OpenSCENARIO® 형식으로 내보냅니다. MATLAB 및 RoadRunner Scenario 제품을 사용하여 수행되는 이 워크플로는 가상 시나리오를 생성하는 구조화된 접근법을 제공하여 Aptiv의 엔지니어들은 시뮬레이션을 통해 ADAS/AD 폐루프 알고리즘을 엄격하게 검증할 수 있습니다. (그림 1)
자차량 궤적 재구성
워크플로의 첫 번째 단계에서는 도로의 가상 장면을 생성하고 기록된 센서 데이터에서 궤적이 재구성된 자차량을 추가합니다.
가상 장면을 생성하기 위해 RoadRunner Scene Builder를 사용하여 GPS를 통해 획득된 차량의 위치를 중심으로 가져온 HD 지도에서 3차원 도로 모델을 생성합니다. 지도에서 필요하지 않는 도로를 제거하고 장면을 저장합니다. (그림 2)
이 때 GPS 데이터를 사용하여 자차량의 궤적을 지도에 중첩할 수 있습니다. 그러나 GPS 입력만을 사용하여 자차량을 추종하는 방법은 일반적으로 자차량이 주행 중인 차선을 파악하기에 충분히 정확하지 않고, GPS 신호의 일시적인 손실 가능성이 있으며, 샘플 시간(일반적으로 수백 밀리초)은 상대적으로 느리다는 몇 가지 이유로 문제가 될 수 있습니다. 이러한 단점을 보완하기 위해 Navigation Toolbox™의 insfilterAsync
객체를 사용하여 GPS 데이터를 IMU의 가속도계 및 자이로스코프 데이터와 융합했습니다. 10밀리초마다 샘플링되는 IMU 데이터를 융합하면 자차량의 궤적을 더 정확하게 추정할 수 있습니다. (그림 3)
GPS 데이터와 IMU 데이터를 융합하여 정확도가 향상되었지만, 자차량이 주행 중인 차선을 신뢰성 있게 파악하기에는 여전히 충분하지 않습니다. 정확도를 개선하기 위해 카메라 데이터를 활용하여 자차량과 인접 차선의 차선 표시 감지가 추종되었습니다. 그런 다음 HD 지도에서 계산된 차선 번호 및 오프셋과 차선 감지를 통해 계산된 차선 번호 및 오프셋이 일치하도록 자차량 궤적을 수정합니다. (그림 4)
이를 통해 차선 수준 정확도를 갖는 자차량 궤적이 확보되었으며, 이를 CSV(쉼표로 구분된 값) 파일로 내보냅니다.
그런 다음 CSV 파일을 RoadRunner Scenario로 가져와 시나리오를 생성해 자차량 시뮬레이션을 실행하는 데 사용할 수 있습니다. (그림 5)
비자차량 궤적 재구성
워크플로의 두 번째 단계에서는 비자차량의 궤적을 시나리오에 추가합니다. 이 단계에서는 레이다, 라이다, 레이다와 카메라의 조합 등 몇 가지 접근법을 평가했습니다. 결과적으로, 기록된 대부분의 차량 데이터에는 레이다 측정값이 포함되는 반면 라이다 데이터는 특수 계측기가 장착된 차량에서만 사용할 수 있기 때문에 레이다 기반 접근법으로 진행하기로 결정되었습니다.
추종을 위한 레이다 데이터를 준비하기 위해 일련의 신호 처리 작업을 수행하여 정적 감지(예: 가드레일)와 동적 감지(예: 다른 차량)를 구분하고 다중 경로 반사로 인한 고스트를 필터링했습니다. 그런 다음 DBSCAN(잡음이 있는 응용 사례의 밀도 기반 공간 군집화) 알고리즘을 적용하여 객체 레벨 감지를 생성합니다.
그런 다음 객체 레벨 감지 결과를 비인과적 JIPDA(결합 통합 확률 데이터 연결) 추종기에 입력합니다. 이 추종 알고리즘은 모든 시간 단계에서 해당 시간 단계 이전 및 이후에 기록된 데이터가 종료될 때까지의 감지를 모두 사용하기 때문에 비인과적입니다. 예를 들어, 주행 중인 차량에서 작동하는 알고리즘과 같은 온라인 다중 객체 추종 알고리즘은 과거 및 현재 측정값만 사용할 수 있지만, 비인과적 알고리즘은 시나리오 시작부터 완료까지 오프라인에서 모든 레이다 측정값을 사용하여 작동합니다. 이러한 측정값에 대한 선험적 액세스를 통해 오프라인 JIPDA 추종 알고리즘은 온라인 추종 알고리즘보다 데이터 연결의 모호성(이로 인해 추종 전환, 조각화 및 오추종이 유발됨)을 더 정확하게 해결할 수 있습니다.
이러한 향상된 성능을 달성하기 위해 JIPDA 알고리즘에서는 반복 데이터 연결이 실행됩니다. (그림 6) 각 시간 단계에서 시간 단계 k-1까지의 측정값을 사용하여 순방향 추종을 수행한 후 시간 단계 k+1에서 N까지의 측정값을 사용하여 역방향 추종을 수행합니다. 이 알고리즘은 이러한 두 작업의 융합된 예측을 감지와 연결하고 다음 시간 단계로 이동합니다. 마지막으로 알고리즘은 RTS(Rauch-Tung-Striebel) 평활화를 수행합니다. 알고리즘 자체는 복잡해 보일 수 있지만, MATLAB에서는 Sensor Fusion and Tracking Toolbox™의 smootherJIPDA
객체를 사용하여 몇 줄의 코드만 있으면 이를 구현할 수 있습니다.
JIPDA 알고리즘을 사용하여 각 비자차량의 궤적을 계산한 후 레이다 트랙을 카메라에서 제공되는 뷰와 비교합니다. (그림 7)
시나리오 생성 및 검증
워크플로의 세 번째이자 마지막 단계에서는 비자차량 궤적을 자차량 궤적과 결합하여 시나리오 생성을 완료합니다. 이를 위해 Automated Driving Toolbox™의 actorprops
함수를 사용하여 비자차량 궤적을 세계 좌표로 변환합니다.
이 작업이 완료되면 비자차량 궤적을 CSV 파일로 내보내고 이를 RoadRunner Scenario로 가져와 시나리오에 추가합니다. 그런 다음 시뮬레이션을 실행하여 결과를 확인합니다.
RoadRunner Scenario를 사용하여 시나리오를 편집하거나 ASAM OpenSCENARIO 형식으로 내보낼 수 있습니다. 그러면 시나리오를 esmini 등 모든 ASAM OpenSCENARIO 호환 시뮬레이터 및 플레이어에서 사용할 수 있습니다. (그림 8)
마지막 검증 단계로, 수집된 시나리오를 전방 카메라의 뷰와 비교하여 차선 변경, 차량 끼어들기, 기타 이벤트가 일치하는지 확인합니다. (그림 9)
이 워크플로의 검증 후에는 이를 적용하여 기록된 센서 데이터의 추가 세트에서 가상 시나리오를 자동으로 생성했습니다. 이후에는 이러한 가상 시나리오를 시뮬레이션 파이프라인의 일부로 ADAS/AD 알고리즘을 테스트하는 데 사용할 수 있습니다.
2023년 기고