시뮬레이션은 어느새 산업에서 반드시 거쳐야 하는 단계로 자리 잡았습니다. 본 아티클에서는 자율주행 시뮬레이터를 선도하는 기업 MORAI(모라이)의 MORAI Simulation Platform을 소개합니다.
MORAI Simulation Platform
MORAI는 주로 '디지털 트윈', '개발 도구', '검증 도구'로 불리는 시뮬레이션 툴을 통해 자율주행 기술의 안전성과 신뢰성을 검증합니다. 실제 도로에서 발생할 수 있는 다양한 돌발 상황을 가상화한 환경에서 테스트하고 개발함으로써, 실제 도로에서의 복잡하고 위험한 테스트를 대신할 수 있습니다. 이를 통해 개발자들은 안전하고 효율적으로 자율주행 시스템을 검증하고 개선할 수 있습니다.
MORAI에서 개발한 MORAI Simulation Platform은 자율주행, 자율 비행 등 자율 이동체를 테스트하고 개발할 수 있는 종합적인 미래 모빌리티 시뮬레이터입니다. 이 솔루션은 자율주행 자동차, UAM, 무인 로봇, 무인 선박 등 다양한 차세대 모빌리티 산업에 적용되며, 자율주행 상용화를 가속화하는 핵심 가상 검증 플랫폼으로 주목받고 있습니다.
유니티를 도입하게 된 이유
Unity의 강력한 기능과 사용자 친화적인 인터페이스 덕분에, 짧은 시간 내에 모라이가 원하는 가상 환경 및 시뮬레이터를 개발할 수 있었습니다. 이는 프로젝트의 초기 단계에서 특히 큰 도움이 되었습니다. Unity를 통해 현실적이고 정교한 3D 시뮬레이션 환경을 구현함으로써, 자율주행 기술의 테스트와 검증 과정을 더욱 효율적이고 안전하게 수행할 수 있는 기능을 개발 할 수 있었습니다.
이와 함께, Unity의 커뮤니티와 풍부한 리소스는 문제 해결과 기술 향상에 큰 도움이 되었습니다. 다양한 예제와 튜토리얼을 통해 개발자들이 빠르게 학습하고, 프로젝트에 필요한 기능을 구현할 수 있었습니다. 결과적으로, Unity 도입 이후 프로젝트의 개발 속도와 품질이 크게 향상되었으며, 더 나은 자율주행 시뮬레이션 환경을 제공할 수 있게 되었습니다.
Platform 구성 요소
기본적으로 가상 환경을 렌더링하고 사용자 인터페이스를 제공하는 Base Platform이 중심을 이룹니다. 이 Base Platform 위에 다양한 모듈들이 결합되어, 정밀하고 현실적인 시뮬레이션 환경을 구현합니다.
첫 번째로, 정밀 지도 도로 모듈이 있습니다. 이 모듈은 실제 도로와 동일한 환경을 가상으로 재현하며, 자율주행 차량이 운행할 수 있는 도로 네트워크를 제공합니다. 이를 통해 현실적인 도로 상황에서의 테스트와 검증이 가능합니다.
두 번째로, Vehicle Dynamics 모듈이 있습니다. 이 모듈은 차량의 물리적 특성과 동역학을 시뮬레이션하여, 다양한 운전 조건에서 차량의 반응을 정확하게 모델링합니다. 이를 통해 차량의 주행 성능과 안전성을 평가할 수 있습니다.
세 번째로, Sensor Model 모듈이 있습니다. 이 모듈은 자율주행 차량에 장착된 다양한 센서들의 데이터를 시뮬레이션합니다. 카메라, 라이다, 레이더 등의 센서들이 실제 환경에서 어떻게 작동하는지를 가상으로 재현하여, 센서의 정확도와 신뢰성을 검증할 수 있습니다.
네 번째로, Traffic Model 모듈이 있습니다. 이 모듈은 다양한 교통 상황을 시뮬레이션하여, 자율주행 차량이 실제 도로에서 마주할 수 있는 다양한 교통 상황을 가상으로 재현합니다. 이를 통해 교통 혼잡, 돌발 상황, 보행자와의 상호작용 등을 테스트할 수 있습니다.
마지막으로, Interface 모듈이 있습니다. 이 모듈은 외부 시스템과의 연동을 가능하게 하여, 다양한 테스트 시나리오와 데이터를 효율적으로 관리하고 분석할 수 있게 합니다. 이를 통해 개발자들이 자율주행 시스템을 더 효과적으로 개발하고 검증할 수 있습니다.
이 모든 구성 요소들이 결합되어, MORAI Simulation Platform은 자율주행 시스템의 개발, 테스트, 검증을 위한 강력한 도구로서의 역할을 수행합니다.
가상환경과 현실의 차이를 최소화 하기 위한 노력
MORAI Simulation Platform을 구축하면서 가장 신경 썼던 부분은 현실과의 차이를 최소화하는 것이었습니다. 이를 위해 고충실도 시뮬레이션 환경을 제공하고, 실제 지도데이터, 교통데이터, 센서데이터를 기반으로 가상과 실제 환경의 갭을 최소화하는 데 집중했습니다.
이를 위해 자율주행차가 실제 도로에서 맞닥뜨릴 수 있는 거의 모든 상황을 가상 환경에서 묘사할 수 있도록 다양한 요소 기술을 개발하고 있습니다. 이는 사람이 실제 도로에 나가지 않더라도 최대한 많은 테스트를 할 수 있도록 하기 위함입니다. 예를 들어, 보행자 충돌 위험성 등 실제 도로에서 검증하기 어려운 시나리오를 수만 번 반복하여 테스트할 수 있습니다. 이를 통해 자율주행 개발 기업과 연구원들은 더욱 신뢰성과 안전성을 갖춘 검증을 할 수 있습니다.
또한, 가상과 실제 환경이 직접적으로 연계될 수 있도록 설계했습니다. 시뮬레이션이 실제 환경에서의 데이터와 상호작용할 수 있도록 하여, 개발자들이 현실적인 조건에서 자율주행 시스템을 테스트하고 개선할 수 있게 했습니다. 이와 같은 접근 방식은 실제 도로에서 발생할 수 있는 다양한 상황을 사전에 예측하고 대응하는 데 큰 도움이 됩니다.
MORAI Simulation Platform에 대한 고객의 니즈
우선 고객사들은 현실적인 그래픽과 정밀한 도로 환경을 원했습니다. 자율주행 차량은 다양한 도로 상황과 환경에서 운행되므로, 시뮬레이터가 실제 도로와 유사한 환경을 재현해야 합니다. 이를 통해 개발자들은 도시, 고속도로, 교외 지역 등 다양한 도로 상황에서 자율주행 시스템의 성능을 테스트할 수 있습니다.
또한 다양한 교통 상황과 돌발 상황을 시뮬레이션할 수 있어야 했습니다. 교통 혼잡, 보행자와의 상호작용, 돌발적인 장애물 등 실제 도로에서 발생할 수 있는 모든 상황을 가상 환경에서 재현하여, 자율주행 시스템이 어떻게 대응하는지 평가할 수 있어야 합니다.
아울러, 고객사들은 다양한 센서 데이터를 필요로 했습니다. 자율주행 차량은 카메라, 라이다, 레이더 등의 센서를 통해 주변 환경을 인식하기 때문에, 시뮬레이터는 이러한 센서들의 데이터를 정확하게 생성하고, 실제 환경에서의 센서 성능을 재현할 수 있어야 합니다.
개발 시 어려웠던 점과 해결 방법
자율주행 시뮬레이터를 개발하는 것은 다양한 기술을 통합해야 하기 때문에 많은 어려움이 따릅니다. 기본적으로 3D 엔진에 대한 이해도가 필요하며, 그 위에 올라가는 센서, 차량 동역학, 통신 등 각각의 모듈에 대한 깊은 이해와 적절한 통합 과정이 필요합니다. 이 과정에서 각 개발자들의 이해도와 전문 분야가 다르기 때문에, 이를 하나의 시뮬레이터로 통합하는 것이 가장 어려운 부분이었습니다.
다행히, Unity는 이러한 다양한 요소들을 모두 통합할 수 있는 개발 환경을 제공했습니다. 각 모듈 개발자들이 개발할 때마다 바로 결과를 확인할 수 있었고, 다른 모듈에 대한 이해도를 높일 수 있었습니다. 이를 통해 각 모듈이 전체 시스템에 어떤 영향을 미치는지 파악할 수 있었고, 빠르게 개발을 진행할 수 있었습니다.
또한, SDV(Software Defined Vehicle)와 UAM 등의 복잡한 시뮬레이션 환경을 구축하는 데 있어서도 Unity의 유연한 개발 환경이 큰 도움이 되었습니다. Unity의 강력한 그래픽 엔진과 실시간 데이터 처리 능력을 활용하여 현실과 유사한 고충실도의 시뮬레이션 환경을 구현할 수 있었고, 이를 통해 다양한 테스트와 검증을 효율적으로 수행할 수 있었습니다.
MORAI의 목표
자율주행 시뮬레이션 시장에서 개발뿐만 아니라 검증과 인증까지 가능한 시뮬레이터를 제공하고자 합니다. 앞서 설명한 대로, 개발자들이 손쉽게 사용할 수 있는 가상 공간과 시뮬레이션 도구를 공급하여, 이 툴을 기반으로 빠르게 기술을 개발하고 정량적으로 시험 평가할 수 있도록 하는 것이 우리의 목표입니다.
또한, 고객이 많은 노력을 들이지 않아도 바로 이해하고 현업에 적용할 수 있는 개발 도구를 제공하는 것을 중요하게 생각하고 있습니다. 이를 통해 고객들은 복잡한 설정이나 학습 없이도 자율주행 기술을 개발하고 테스트할 수 있게 됩니다.
궁극적으로는 자율주행 자동차, UAM(Urban Air Mobility), 무인 로봇, 무인 선박 등 모든 무인이동체의 기술 개발 및 통합 검증에 사용되는 도구가 되는 것이 우리의 목표입니다.