[OPERA Sim] 오페라 시뮬레이터(OPERA Sim)의 구성 및 기술

자율주행 연구를 위한 오픈소스 시뮬레이터

SpringCloud
SpringCloud.Official
4 min readApr 27, 2023

--

이번 기고에서는 오페라 시뮬레이터(OPERA Sim)이 어떠한 기술들을 이용하여 개발되었고 시스템적으로 어떻게 구성되어 있는 지에 대하여 설명하겠습니다.

OPERA Sim은 오픈소스 시뮬레이터를 기반으로 한 검증 ToolSet으로 개발되어지고 있는데 스프링클라우드는 차량 검증 시뮬레이션 소프트웨어 인 Carla를 사용하고 있습니다.

Carla는 오픈소스 기반으로 Github에서 다운로드하여 자유롭게 사용이 가능하며 라이센스에 제약을 받지 않고 사용할 수 있습니다.

스프링클라우드가 개발하고 있는 OPERA Sim은 Carla 시뮬레이터에서 제공하고 있는 여러 기능들을 보다 쉽고 편리하게 사용할 수 있도록 하여 실환경에서 수행하지 못하는 테스트를 가상의 환경에서 최대한 다양한 케이스를 생성하여 테스트 하여 다양한 검증을 통한 결과 데이터를 확보할 수 있도록 하고 신뢰성을 높이는 행위를 할 수 있도록 기능을 제공하는데 중점을 두고 있습니다.

(그림1) CARLA Release 0.9.14

또한, 윈도우기반의 프로그램 형태로 개발하고 있어 사용자가 쉽게 프로그램을 설치 및 실행할 수 있는 구조로 개발되어 있습니다.

OPERA Sim의 구조를 아래와 같이 그림으로 간단하게 표현해 보았습니다.

(그림2) OPERA Sim의 시스템적 계층구조

기본적으로 윈도우 환경에서 구동 되는 구조로 되어 있으며 batch script가 carla 시뮬레이터의 여러 기능을 실행하는 구조로 되어 있습니다. 사용자는 carla 시뮬레이터를 이용하기 위하여 복잡한 명령어 수행 없이 별도로 제공되는 대시보드를 이용하여 검증에 필요한 행위를 할 수 있습니다.

현재까지 배포된 버전(OperaSim V1.0)에서는 제공되지 않지만, 신규로 개발중인 V2.0에서는 자율주행 오픈소스 플랫폼인 Autoware.universe와 연동하여 다양한 개발 알고리즘을 쉽게 테스트 및 검증할 수 있는 환경 및 기능도 제공을 목표로 하고 있습니다.

(그림3) OPERA Sim의 주요 기능 실행 화면
(그림4) OPERA Sim 시스템 아키텍처

스프링클라우드가 개발하고 있는 OPERA Sim은 “자율주행 연구를 위한 오픈소스 시뮬레이터” 인 carla 시뮬레이터를 검증 플랫폼 개발에 활용하고 있고 carla 시뮬레이터를 이용하여 가상화 기반에서 다양하게 검증 및 활용할 수 있는 가상검증플랫폼으로 확장 개발해 나가고 있습니다.

그리고, 위의 OPERA Sim 시스템 아키텍처의 그림과 같이 carla 시뮬레이터에서 제공하는 기능을 활용하여 검증할 수 있도록 개발, 가상화 환경 기반에서 검증 후 평가 리포트까지 받아볼 수 있는 프로세스까지 구현을 하는 목표로 개발중에 있으며 사용자가 손쉽게 사용할 수 있는 하나의 패키지 형태로 개발하는 것을 목표로 하고 있습니다.

또한 개발적인 측면에서 Carla는 시뮬레이터 자체가 C++로 개발되어 있지만 실제 여러 기능을 수행할 수 있는 부분은 python code로 실행할 수 있도록 제공되어지고 있어 확장개발 및 활용을 하기에도 유용한 구조로 되어 있습니다.

다음 기고에서는 OPERA Sim 1.0을 기준으로 어떠한 기능들을 제공하고 있는지에 대하여 다루도록 하겠습니다.

--

--