2020년 4월 26일
자율 주행 차량, 실제 주행 전에 더욱 안전하게 만들기
카심, 트럭심 및 바이크심은 서스펜션 동작, 파워 트레인 특성, 액티브 컨트롤러 동작, 타이어 속성 및 도로 경사, 장애물, 기상 조건 및 아스팔트 유형을 나타내는 차량 데이터를 사용합니다. 소프트웨어의 중심에는 차량의 반응을 예측할 수 있는 시뮬레이션 솔버가 있어 차량이 특정 조건에서 기울어지거나 미끄러지는지, 혹은 젖은 표면에서 충분히 빠른 제동이 가능한지 등을 예측합니다. 또한, 소프트웨어는 처리된 데이터를 통해 차량의 움직임을 시각적으로 표현합니다.
한편, 소프트웨어는 실제 차량과 맵 데이터를 가져와 속도와 응답 시간을 비롯한 기타 주행 경험 요소를 분석할 수 있습니다. 이 애플리케이션은 사고 재구성 및 훈련 시뮬레이션에 사용되는 것은 물론이고, 최근 몇 년간 자율 주행 차량용 데이터 수집 및 머신 러닝이라는 새로운 용도로 사용되고 있습니다.
자율 주행 차량 테스트
자율 주행 차량은 이미 일부 제한적인 주행 환경에서 일반적인 사용이 가능하지만, 복잡한 주행 환경에서 안전을 지키고 규제를 따르기 위해서는 실제 주행 전에 자율 주행의 바탕이 되는 기술을 더욱 다듬을 필요가 있습니다. 차량의 시험 주행을 기록하고 차량 데이터를 분석하는 것은 그 과정의 일부입니다.자율 주행 차량은 카메라, 레이더, 라이다(LIDAR) 등 여러 물리 기반 센서를 사용해 주변 환경을 인식합니다. 자율 주행 차량이 성공했는지 판단하는 척도는 대부분 이런 센서를 통해 입수한 데이터를 처리해 다른 차량, 보행자, 자전거, 심지어 도로에 떨어진 장애물과의 거리를 판단하는 능력에 달려 있습니다. 도로 자체의 경사면이나 규모, 상태는 말할 것도 없습니다. 차량은 차선 표시, 신호등, 교통 표지를 인식해야 하며 모든 날씨 및 조명 조건에서 실제 운전자처럼 반응해야 합니다.
이런 차량의 초기 테스트는 실제 테스트 트랙에서 진행됐지만, 가상 차량으로 먼저 테스트하는 것이 더욱 효율적이면서도 안전하다는 것이 분명해졌습니다.
가상 차량에는 실제 차량의 모든 센서가 장착되어 있으며 실제 테스트와 마찬가지로 시각적 데이터가 센서에 공급됩니다. 차이점이라면 엔지니어가 센서 배치를 쉽게 변경할 수 있으며 장애물, 날씨, 시간대, 도로 상황 등의 변수를 가상 환경에서 안전하고 신속하게 계산할 수 있다는 것입니다.
언리얼 엔진 활용
실제 및 가상 여부에 관계없이 자율 주행 차량 테스트를 위해서는 수천 시간의 주행 시간이 필요하며 이 테스트 동안 엄청난 양의 데이터가 생성됩니다. 몇 년 전에 이런 경향을 발견한 메카니컬 시뮬레이션은 이처럼 어려운 상황을 해결하기 위해 제품 업그레이드를 시행했습니다.메카니컬 시뮬레이션에서 고객 관리부문 선임(Senior Account Manager)를 담당하고 있는 로버트 맥기니스(Robert McGinnis)가 말합니다. "처음에는 실제 교통 흐름과 도로 모델을 적용해 우리가 개발한 도로 주행 시뮬레이터를 개선할 생각이었습니다. 그런데 자율 주행 차량이 등장하면서 사람들은 차량에 물리 기반 센서를 적용하기를 원했기 때문에 차량 역학과 자율 주행 엔지니어를 위해 범용 차량 시뮬레이션 툴로서의 기술을 선보이기 시작했죠."
한편 메카니컬 시뮬레이션은 소프트웨어의 시각적 표현을 위해 컴퓨터 그래픽의 발전에 보조를 맞춰야 한다는 것을 알았습니다.
많은 고객이 더욱 다양한 시각화 옵션을 얻기 위해 카심과 트럭심 솔버의 결과 및 개별 차량 모델과 환경을 언리얼 엔진에 이식하기 시작했습니다. UE4의 손쉬운 소스 코드와 C++ 지원, 블루프린트 비주얼 스크립팅 시스템은 시험 주행으로 얻는 대규모 데이터를 처리할 수 있는 매력적인 선택의 이유였습니다.
그래서 메카니컬 시뮬레이션은 더 많은 제품을 언리얼 엔진에 통합하기로 결정했습니다. 맥기니스는 말합니다. "도로에서 정보를 얻고, 매트랩/시뮬링크(MATLAB/Simulink)와 같은 인터페이스 툴을 통해 자신만의 액티브 컨트롤러에 통합시킬 수 있는 게 분명했죠."
그렇게 메카니컬 시뮬레이션은 언리얼 엔진을 통해 제품을 업그레이드하고 핵심 기술인 제품의 솔버에만 집중할 수 있게 되었습니다. 맥기니스는 말합니다. "초기에 우리 소프트웨어에는 복잡한 장면의 시각화를 구현할 좋은 방법이 없었습니다. 그래서 한 가지 방법으로 언리얼 에디터에 카심 차량 솔버를 불러올 수 있는 언리얼 마켓플레이스 플러그인을 추가했습니다. 그렇게 해서 사람들이 직접 툴을 사용해 장면과 시나리오를 생성할 수 있게 되었습니다."
2017년 언리얼 마켓플레이스에 무료로 배포된 VehicleSim Dynamics plugin 덕분에 카심과 트럭심 사용자는 물리 기반 레더링(physically based rendering, PBR) 머티리얼, 실제와 같은 라이팅, 랜드스케이프와 폴리지 팩, 시티스케이프 아이템 등 언리얼 엔진이 제공하는 모든 장점을 갖춘 강력한 시각화 표현 툴을 사용할 수 있게 되었습니다.
플러그인 살펴보기
VehicleSim Dynamics 플러그인은 솔버 데이터를 블루프린트로 변환하여 지형 및 차량에 대한 데이터를 간편하게 생성합니다.언리얼 엔진에서 지형 데이터를 제대로 활용하기 위해 솔버는 솔버가 쉽게 쿼리할 수 있는 검색 가능한 구조로 지형 설명을 조정합니다. 장비 성능이 부족한 고객을 위해 플러그인에서는 그래픽 및 물리적 지형 표현이 구분되어 제공됩니다.
"시뮬레이션의 물리적 및 시각적 표현을 완전히 분리했기 때문에 솔버를 별도의 장비에서 실행할 수 있습니다. 이후에 언리얼 엔진으로 통신 채널을 다시 연결하여 차량을 시각적으로 표현합니다." 메카니컬 시뮬레이션의 수석 개발자인 제레미 M. 밀러(Jeremy M. Miller)가 말합니다. "복잡하게 들리지만 이는 GPU 기능이 없는 HIL(hardware-in-the-loop) 시스템과 연결하기 위해 꼭 필요했습니다."
메카니컬 시뮬레이션 팀은 언리얼 엔진 플러그인의 간편함이 고객에게 큰 장점이라고 생각합니다. 밀러는 말합니다. "고객은 주요 엔지니어의 작업을 돕기 위해 다른 엔지니어가 200,000달러 상당의 소프트웨어를 따로 실행하기를 원하지 않습니다. 강조하지만, 간단한 툴 체인이 가장 효율적입니다."
이 플러그인은 트레이닝, 테스트, 신차 사전 시각화에도 유용한 것으로 입증되었습니다. 팀은 고객에게 더 나은 서비스를 제공하기 위해 끊임없이 플러그인의 개선 방안을 찾습니다. 최근에는 플러그인에서 작동할 물리적 지형 모델을 가져올 수 있는 FBX 컨버터를 플러그인에 추가하였습니다.
현장에서의 플러그인 활용
언리얼 엔진을 사용함으로써 차량 디자인의 시각적 측면에 더욱 집중하는 고객에게는 몇 가지 장점을 추가로 가져다주었습니다. 맥기니스가 말합니다. "헤드라이트 디자인이나 최저 비용으로 여러 차량의 센서 적용 범위를 최적화하기 위해 언리얼 엔진에서 반복적으로 작업하는 고객이 있습니다."그중 하나인 버테크(VERTechs)는 도쿄에 본사를 두고 자율 주행 시스템의 AI 기술을 개발하는 회사입니다. 자율 주행 차량의 테스트를 돕기 위해 버테크는 완전히 새로운 가상 도시 오토시티(AUTOCity)를 개발했습니다.
버테크의 CEO인 오코야마 요시야(Yoshiya Okoyama)는 "카심의 반응 제어 데이터 덕분에 UE4를 사용해 오토시티에서 아주 사실적인 비디오 렌더링이 가능합니다. 심도 데이터와 세분화 이미지는 AI 학습에 없어서는 안 될 요소입니다. UE4의 기술이 있으면 이 두 가지가 동시에 생성됩니다. 게다가 오토시티의 애셋용 가상 포인트 클라우드 데이터를 생성하면 동시에 라이다의 시뮬레이션 실행도 가능합니다. 이미 일반 컴퓨터에서도 이렇게 병렬화된 시뮬레이션이 실시간으로 구현되었습니다."라고 말합니다.
일본 기업인 리케이(Rikei Corporation) 역시 카심 UE 플러그인을 사용해 제품을 보강하고 있습니다. 리케이는 차량 시뮬레이션을 비롯해 다양한 분야의 실제와 같은 가상 공간을 개발합니다.
리케이의 영업 담당자인 타무라 타카노리(Takanori Tamura)가 말합니다. "UE4는 빛의 재현성이 아주 높기 때문에 실제와 아주 가까운 환경을 제공해 줄 수 있습니다. UE4를 사용하면 비 온 뒤 도로 표면의 반사도 시뮬레이션할 수 있습니다."
리케이의 수석 엔지니어인 쿠시노프 야콘기르(Khusinov Jakhongir)는 말합니다. "UE4라면 태양의 위치 같은 특정 날씨 조건도 재현할 수 있습니다. 테스트는 아주 가파른 경사나 미끄러운 노면 등 실제라면 위험할 수 있는 환경에서 진행됩니다. 하지만 UE4를 사용하면 시간의 제약 없이 항상 지속적인 테스트를 진행할 수 있습니다."
차량 시뮬레이션 산업과 관련된 수요가 꾸준히 증가하고 있기 때문에 메카니컬 시뮬레이션팀도 계속 성장할 것입니다. 밀러가 말합니다. "고객에게 원활한 경험을 제공하는 것이 목표입니다. 테스트 엔지니어가 맑은 날에 차량 주행 테스트를 실행한 뒤 비가 오는 날과 비가 오는 밤에 더욱 복잡한 테스트를 해 보고 싶을 수도 있습니다. 엔지니어에게는 테스트 결과가 시각적으로 어떻게 표현될지는 생각할 필요가 없습니다. 차량이 어떻게 작동할지만 알고 싶을 뿐이니까요. 언리얼 엔진을 사용하면 시뮬레이션에 참여하는 사람과 차량 센서 모두를 만족시키면서 시각적으로도 멋진 시나리오를 제작할 수 있습니다."
언리얼 엔진은 복잡한 데이터 세트를 빠르게 처리하고 실시간 시뮬레이션 애플리케이션으로 변환하여 사람의 훈련과 머신 러닝을 돕습니다. 이 분야에 참여하려면 언리얼 엔진을 다운로드하세요.