CARLA를 활용한 대규모 시뮬레이션 및 검증

2022-02-08

CARLA 시뮬레이터는 첨단 운전자 보조 시스템(ADAS) 및 자율주행차(AV)에 널리 활용되는 오픈 소스 시뮬레이션 도구입니다. 개발 팀은 이 도구를 통해 가상 테스트를 실행하고 예측, 계획 및 제어 스택을 평가할 수 있습니다. 오픈 소스 도구인 CARLA는 유연하며 누구나 쉽게 사용 가능합니다. 그러나 핵심 시뮬레이션 도구만으로는 안전한 AV 시스템을 성공적으로 배포하는 데 필요한 모든 기능을 포함하기에 부족합니다. AV 팀은 개별 가상 테스트를 실행하는 것 외에도 스택에서 회귀를 방지하기 위해 시뮬레이션을 하루 수천 개로 확장해야 합니다. 또한 다양한 시스템 요구 사항 및 안전 프로토콜에 대해 AV 스택을 검증해야 합니다. 이러한 과제를 해결하기 위해 Applied Intuition의 제품이 도움이 될 수 있습니다.

CARLA 사용자는 Applied Intuition의 핵심 시뮬레이터 Object Sim*을 사용하지 않고도 Applied Intuition의 지속적 통합(CI) 및 검증 및 검정(V&V) 도구를 활용할 수 있습니다. Applied Intuition 도구는 CARLA와 같은 기타 시뮬레이터와의 통합을 통해 시뮬레이터의 기능을 보완하여 AV 팀이 AV 개발을 효율적이고 성공적으로 확장하고 검증할 수 있도록 지원합니다.

본 블로그 게시물에서는 AV 팀이 Applied Intuition의 CI 및 V&V 도구인 Cloud Engine* 및 Validation Toolset*와 CARLA를 함께 사용하여 대규모 시뮬레이션을 실행하고 AV 스택을 검증하는 방법을 살펴봅니다. 또한 전체 시뮬레이션 및 검증 수명 주기를 관리하는 워크플로를 간략하게 설명합니다 (그림 1).

그림 1: CARLA, Cloud Engine 및 Validation Toolset를 활용한 시뮬레이션 및 검증 워크플로 

요건 및 시나리오 관리

AV 스택을 성공적으로 검증하고 검정하기 위해서는 개발 팀이 AV 스택이 특정 안전 요건을 충족하는지 반드시 확인해야 합니다. 팀은 수백 개의 시나리오를 실행하는 시뮬레이션 도구를 사용하여 시스템 안전을 평가하고 검증할 수 있습니다. 또한 성능을 분석하고 각 안전 요건에 대한 결과를 추적할 수 있는 솔루션 역시 필요합니다. 

AV 개발 팀은 Applied Intuition의 V&V 도구 Validation Toolset를 사용하여 CARLA에서 시나리오를 생성 및 실행하고 테스트 적용 범위 및 성능을 분석하고 통합 워크플로에서 안전 요건에 대한 결과를 추적할 수 있습니다. Validation Toolset는 시나리오 편집 및 관리를 위한 OpenSCENARIO(OSC) V1.1 및 OSC V2.0 개방형 표준을 지원합니다. 이러한 방식으로 팀은 Validation Toolset(그림 2a, b)에서 대규모 OSC 시나리오를 생성 및 편집한 후 CARLA에서 해당 시나리오를 실행할 수 있습니다(그림 2c).

그림 2a: OSC V1.1 시나리오 생성 및 편집을 위한 Validation Toolset 그래픽 사용자 인터페이스(GUI)
그림 2b: OSC V2.0 시나리오 생성 및 편집을 위한 Validation Toolset GUI
그림 2c: CARLA에서 시나리오를 실행하기 위한 Validation Toolset GUI

클라우드에서 대규모 시뮬레이션 실행하기

AV 팀이 새로운 기능을 실험하거나 개발하는 경우 로컬에서 개별 시뮬레이션을 실행하는 것이 유용할 수 있습니다. 그러나 전체 팀이 시뮬레이션을 사용하여 AV 스택을 검증하는 경우 회귀를 피하기 위해서는 일회성 테스트뿐만 아니라 단일 병합 요청에 대한 수백 또는 수천 개의 시뮬레이션을 실행할 필요가 있습니다. 또한 팀은 개발자 속도를 유지하기 위해 이러한 시뮬레이션을 고성능 및 저지연으로 확장하는 방법이 필요합니다. 이를 위해서는 클라우드에서 시뮬레이션을 실행해야 합니다.

AV 팀은 CARLA를 Applied Intuition의 CI 도구 Cloud Engine와 함께 사용하여 대규모 시뮬레이션을 실행할 수 있습니다. Cloud Engine는 모든 AV 팀의 CI 시스템에 쉽게 연결할 수 있는 테스트 자동화를 제공합니다. 이러한 방식으로 Cloud Engine는 코드 변경이 발생할 때마다 시뮬레이션을 자동으로 시작하거나 반복적인 간격으로 시뮬레이션을 실행할 수 있습니다.

팀이 Object Sim을 사용하지 않는 경우에도 Cloud Engine는 확장성이 뛰어난 Kubernetes 백엔드를 제공합니다. 프런트엔드는 사용자가 풍부한 데이터를 즉시 사용할 수 있도록 최적화되어 있습니다. 이러한 방식으로 팀은 CARLA에서 시뮬레이션을 실행한 후 결과를 재생하고, 로그와 플롯을 확인하고, Cloud Engine에서 바로 관찰자 규칙을 분석할 수 있습니다 (그림 3).

그림 3: Cloud Engine는 재생 UI,로그, 플롯 및 문제가 있는 사건을 표시하는 빨간색 마커와 같은 CARLA 시뮬레이션의 CI 결과를 보여줍니다

성능 및 적용 범위 분석

개발 팀이 새로운 기능이나 개선 사항을 현재 AV 스택에서 작업할 때 팀은 전체적인 성능(소프트웨어가 시뮬레이션 테스트를 얼마나 잘 수행하고 있는지)과 이 성능이 이전 버전과 비교하여 어떻게 발전하거나 퇴보했는지 이해할 수 있어야 합니다. 다음에 실행할 시뮬레이션을 결정하기 위해 팀은 AV 스택의 적용 범위(이미 고려된 가능한 시나리오 공간이 어느 정도인지) 역시 측정해야 합니다.

CARLA 시뮬레이션 결과를 기반으로 AV 팀은 Validation Toolset를 통해 스택의 성능과 적용 범위를 분석할 수 있습니다 (그림 4). 팀은 동일한 평가 규칙을 시나리오에 적용하고 엄격한 분석을 위한 중요 안전, 편안함 및 성능 메트릭을 추출할 수 있습니다. 그다음 이러한 성능 및 적용 범위 분석 정보를 실제 주행 결과와 결합하고 테스트를 추적하여 포괄적인 안전 사례를 구축할 수 있습니다.

그림 4: CARLA 시뮬레이션 결과를 기반으로 AV 스택 성능을 분석하기 위한 Validation Toolset GUI

결론

적절한 워크플로 및 도구는 AV 팀이 성공적으로 대규모 시뮬레이션을 실행하고 전체 스택을 검증하는 데 도움이 될 수 있습니다. Cloud Engine와 Validation Toolset는 이러한 워크플로를 지원하는 동시에 CARLA 시뮬레이터와 쉽게 통합할 수 있습니다. 이러한 방식으로 팀은 회귀를 포착하거나 시뮬레이션 실행이 완료될 때까지 기다리는 데 필요한 수백 시간의 엔지니어링 시간을 절감할 수 있습니다.

CARLA 또는 기타 시뮬레이션 도구를 사용하시거나 Cloud Engine 또는 Validation Toolset를 워크플로와 통합하는 방법에 대해 자세히 알고 싶으신 경우 엔지니어링 팀으로 제품 데모를 요청해 주십시오.

*참고: 과거  Object Sim은 Simian, Cloud Engine은 Orbis, Validation Toolset은 Basis로 명명 되었습니다.