Requirements for Reliable AD Simulation Platforms
신뢰성 높은 자율주행 시뮬레이션 플랫폼의 조건
2020년 07월호 지면기사  /  글|김 정 원 연구위원, 테크웨이즈



자율주행을 실제적으로 신뢰성 있게 시뮬레이션하는 플랫폼은 어떤 것을 갖춰야 하는가? 자율주행 환경조건의 생성, 자율주행 실행, 센서를 통한 인지, 추가 확장성 측면에서 VTD 플랫폼의 우수성을 테크웨이즈의 김정원 위원이 설명한다. 

글|김 정 원 연구위원, 테크웨이즈 



자율주행을 실제적으로 신뢰성 있게 시뮬레이션하는 플랫폼은 어떤 것을 갖춰야 하는가? 자율주행을 시뮬레이션하는 플랫폼은 왜 필요한가. 
“… 너무 빨리 가지마!, 좌측에 자전거가 가고 있어! 앞차가 갑자기 브레이크 밟았다! 조심해! 개가 갑자기 나타났어….”

자율주행차에 타고 있는 승객들은 최소한 이런 두려움 중 한 가지를 느끼게 될 것이다. 승객들은 차가 천천히 가기를 원하고, 자전거를 조심하고, 브레이크를 적절히 밟고, 개가 튀어 나오는지 미리미리 확인하기를 바란다. 이러한 상황은 현재에도 모든 운전자들이 매일 일상적으로 겪고 있는 것이다. 그리고 우리는 매일 또 다른 상황에 직면하곤 한다. 이런 복잡성을 감안할 때, 우리는 실차 주행시험만으로는 자율주행차의 모든 상황을 검증한다는 것이 불가능하다는 것을 쉽게 상상할 수 있다. 하지만, 우리는 필연적으로 가상 시뮬레이션에 의존할 수밖에 없다. 그러면 자율주행을 가상으로 시뮬레이션하는 플랫폼은 무엇을 할 수 있어야 할까?


자율주행 환경조건 생성 

우선 자율주행 시험을 하기 위한 환경조건을 생성해야 한다. 그리고 그것은 정말 실제 상황처럼 돼야 한다. 도로를 건설하는 것부터 시작하게 될 것이다. 고속도로 환경조건을 생각하면, 진입로, 입체 교차로, 곡선구간, 톨게이트 등 모든 종류의 고속도로 형상을 만들어야 한다. 도로 네트워크가 완성되면, 그 다음에는 교통 체계를 반영해야 한다. 그리고 시뮬레이션 하고자 하는 이들 교통체계는 해당 국가의 관습 및 법률에 맞게 설정돼야 한다. 그러므로 매우 방대한 교통신호와 교통 법규 데이터가 필요하다.

그리고 도로 주변 빌딩이나 기타 물건들을 추가해 넣어야 한다. 이러한 작업은 단순히 주변환경을 아름답게 보이기 위해 넣는 것이 아니다. 이것은 실제적으로 매우 중요한 작업이다. 왜냐하면 건물의 그늘이 도로에 겹쳐지거나 주변 물건들끼리 가려져서 자율주행차의 시야를 가리거나 명암 조건 등을 변화시키기 때문이다. 같은 이유로 도로 주변 들판이나 나무 등의 풍경도 사실적으로 추가해야 한다.





위의 작업을 모두 마쳤다면 이제 겨우 첫 번째 단계인 정적 환경이 준비된 것이다. 그런데, 도로는 시뮬레이션을 위해 시뮬레이션 툴 내부에서 새롭게 만들 수도 있지만, 일반적으로는 Leica Pegasus-II 등의 특수장비를 이용해 기존에 이미 존재하는 도로를 정밀 스캐닝해서 3차원 고정밀 지도로 제작해 자율주행차가 읽으면서 주행을 할 수 있다. 여기에서 각 회사별로 만든 정밀지도 포맷이 모두 다르면 일반화가 매우 어렵기 때문에 오픈드라이브(OpenDRIVE)라는 표준 포맷이 만들어져 ASAM(Association for Standardization of Automation and Measuring Systems) 시험 표준으로 등재돼 있다. 또 여기서 자세한 언급은 하지 않지만 도로 표면의 상세한 표현을 위한 오픈시알지(OpenCRG) 표준 포맷도 ASAM 시험 표준으로 등재돼 있다.





이제부터는 동적 환경을 도로에 추가해야 한다. 도로 위에 다른 차량들을 추가하는 작업부터 시작하게 될 것이다. 이들 차량들은 승용차, 트럭, 트랙터, 트레일러, 노면 전차, 자동차, 굴삭기 등 모든 종류의 바퀴가 달린 이동체들이다. 가장 좋은 방법은 수많은 실제 차량을 이미 특성별로 라이브러리로 만들어 내장시켜 제공하는 빅데이터를 사용하는 것이다.

그 다음으로 도로를 건너가거나 인도를 따라 걸어가는 보행자들을 추가해 넣어야 한다. 이들 보행자들은 각각 특정한 경로에 따라 움직이는 동선으로 묘사되어야 하고, 핸드폰을 들고 있거나 커피를 마시고 있는 등의 특정한 제스처까지 묘사돼야 한다. 보행자들은 또 새로운 교통수단인 전기를 이용한 다양한 탈것들을 타고 비교적 빠른 속도로 움직이거나 갑자기 돌발적인 행동도 할 수 있다.

그 다음으로 필요한 것은 교통신호등이다. 교통신호등은 각 국가별 특성이 다르고 색상 및 점멸 순서 등이 문화와 관습에 따라 달라 각 국가, 지역별로 특화된 특성을 반영할 수 있어야 한다.

그리고 발생이 가능할 것으로 상상되는 모든 종류의 물체들, 예를 들면 도로에 뛰어든 멧돼지나 사슴 등도 묘사해 넣을 수 있어야 한다. 또 풍선 속에 들어있는 사람이나 큰 거울 속에 들어있는 실제가 아닌 반사된 이미지의 물체 등 잘못 인식하기 쉬운 대상물도 도로에 얼마든지 출현할 수 있다.





위의 작업을 모두 마쳤다면 이제 두 번째 단계인 동적 환경이 준비가 된 것이다. 동적 환경도 각 회사별로 적용하는 방식이 다르면 일반화가 매우 어렵기 때문에 역시 오픈시나리오(OpenSCENARIO)라는 표준 포맷이 만들어져서 ASAM 시험 표준으로 등재돼 있다.
위의 정적환경 및 동적환경을 준비하기 위해 이를 가능하게 해주는 툴인 시뮬레이션 플랫폼 뿐 아니라 국가별 특성에 맞는 방대한 데이터베이스가 필요한데, 이것은 지난 20년여 동안 이 분야를 선도적으로 이끌어 온 VTD(Virtual Test Drive) 플랫폼에 잘 구현돼 있다.





자율주행 실행 

자율주행 환경조건이 생성되고 나면 이제 움직임을 실행하는 단계가 필요하다. 이 단계에서 필요한 것은 정교한 교통환경 모델 뿐 아니라 차량 자체의 동적 거동을 사실적으로 시뮬레이션할 수 있는 차량동역학 모델이다. 차량 자체의 정교한 거동을 사실적으로 시뮬레이션 할 수 있는 툴은 전 세계에서 모든 자동차 회사들이 공통으로 사용하고 있는, 지난 수십 년 내내 차량 개발의 검증된 표준 툴 역할을 해 온 Adams라는 제품이 있는데, VTD는 Adams의 실시간 실행 버전인 Adams RT(RealTime)를 모델 변환 없이 직접적으로 플러그인 형태로 VTD 내에 접속시켜서 섀시 설계 파라미터들을 변화시켜가면서 시뮬레이션을 수행할 수 있다. 이는 툴로서는 유일하다. 따라서 자율주행 가능성을 타진해 보는 초기 검토 단계를 넘어서서 실제적으로 자율주행 차량을 설계하는 단계가 되면 Adams RT와 VTD의 조합은 필수다.

환경조건이 잘 준비됐다면, 실행은 VTD에 그 기능이 잘 구현돼 있기 때문에 쉽게 진행해 볼 수 있다. 보행자가 도로 주변을 거닐거나 도로를 횡단하고, 1인용 전기동력 세그웨이가 지나가고, 오토바이가 차선 사이를 아슬아슬하게 누비고, 다른 차량들이 급히 차선 변경을 하고, 도로에 차선이 2개인데 실제로는 3대의 차량이 나란히 주행하고 있는 등 발생 가능한 다양한 시나리오들이 부여된 환경조건에 따라 실행된다. 화면상에 사실적인 느낌을 줄 수 있는 정교한 영상이 재현되면서 시뮬레이션이 수행된다.

VTD는 다음 오른쪽 그림처럼 원 안에 들어있는 부분은 정교한 시뮬레이션을 수행하고 원 밖의 부분에 대해서는 간단한 시뮬레이션을 수행할 수 있도록 부분 로딩기법(Pulk Traffic Region)을 사용함으로써 차량이 수백 대까지 동시 주행하거나 도로가 수백 km로 매우 긴 경우에도 컴퓨터 하드웨어에 무리를 주지 않고 충분히 시뮬레이션할 수 있다.





VTD에서는 기본적으로 모든 영상 그래픽 처리의 표준이라고 할 수 있는 OpenGL을 이용해 영상이 차량 주행에 맞춰 실시간으로 처리될 수 있도록 초당 60 프레임 속도로 처리되며, 도로 주변의 건물이나 나무 등이 사실적으로 표현될 수 있도록 표면 질감을 물리적으로 구현한 PBR(Physics Based Rendering)을 적용하고 있다.

만일 OpenGL을 넘어선 매우 사실적인 영상 처리를 원하는 경우에는 레이트레이싱(RayTracing) 기법으로 빛의 입자 하나하나가 진행 및 반사되는 상황을 모두 시뮬레이션해 영상을 구현할 수 있도록 하는 기능이 내장돼 있는데, 이 경우에는 매우 고가의 전문 그래픽 하드웨어를 사용해야만 실시간(Realtime)으로 구현할 수 있다. 현 시점에서는 OpenGL로 충분하다고 할 수 있다.


센서를 통한 인지

자율주행 환경조건을 준비하고 자율주행을 실행했다면 다음 단계는 무엇일까? 바로 각종 센서를 통한 자율주행차 주변 환경의 실시간 인지(Perception)다. 이 부분이 가상 주행 테스트를 통한 데이터 입력을 받아들이는 부분이어 자율주행 가상 시뮬레이션 플랫폼의 가장 중요한 파트라고 할 수 있다. 따라서 어떻게 가상의 주행환경을 인지해 낼 것인가가 중요한 관건이다.

인지에 있어서 먼저 생각해야할 부분은 자율주행의 방대한 내용 중 지금 무엇을 테스트하고자 하는가를 명확히 해야 하는 점이다. 
예를 들면, 자율주행의 제어 알고리즘을 개발하고 테스트하는 상황이라면 센서는 항상 잘 작동하는 센서, 즉 퍼펙트센서를 적용하고, 움직이는 대상물의 형태, 거리, 속도, TTC(Time To Collision) 등을 면밀히 분석하는데 초점을 맞춰 시뮬레이션 플랫폼을 활용해야 한다. 이 경우에는 다른 차량의 가속, 감속, 브레이크, 조향 등에 신경을 더 써야 한다.

그러나, 자율주행의 인지 알고리즘을 개발하고 테스트하는 상태라면 센서는 물리적인 실제 센서를 사용해야 하고, 물체를 여하히 감지하고 식별해 내는가에 초점을 맞춰야 한다. 즉, 카메라 센서를 통한 영상을 인지하는 경우에는 카메라의 날씨 및 명암조건에 따른 불완전성, 화소의 일부 누락, 영상의 왜곡 및 핀홀 현상 등 센서로부터 입력되는 데이터의 불완전성에 주목해야 한다.





라이더 센서의 경우에는 첫 번째 반사된 빛인지 두 번째 반사된 빛인지 세 번째 반사된 빛인지를 구별해 내는 것이 매우 중요하다. 왜냐하면 동시에 들어오는 영상이지만 반사 횟수에 따라서 거리가 달라지기 때문이다. 또한 포인트 클라우드(Point Cloud)로 들어오는 작은 점들의 집합에 일부 오류나 누락 부분이 생기는 상황들을 모두 감안해 알고리즘 설계에 반영하기 위해 시뮬레이션해야 한다. 

레이더 센서의 경우에는 장거리 탐지가 가능하지만 탐지된 물체의 형상을 알아내기 어려운 단점이 있었는데, 최근 VTD에서는 밀리미터웨이브(mmWave) 파장을 이용해 정교하게 스캔된 입력 데이터를 레이트레이싱(RayTracing) 기법으로 분석해 형상을 만들어 낼 수 있도록 기술적으로 준비가 됐다.






위의 세 단계를 통해 주행 환경을 부여하고, 자율주행을 실행하면서 실시간으로 센서를 통해서 데이터를 입력 받아 입력 받은 데이터를 분석해 필요한 제어 명령을 실시간으로 내리는 것이 가상 자율주행 시뮬레이션 플랫폼의 주요 기능이라 할 수 있다. 그리고 이 모든 과정에서 신뢰성이 있어야 하고 무엇보다 사실적인 표현이 가능해야 한다. VTD는 이런 것들을 모두 충족하는 가장 앞서 있는 시뮬레이션 플랫폼이다.
추가 확장성  

자율주행 시뮬레이션 플랫폼은 위의 과정들만으로 충분한가? 

모델은 테스트를 원하는 구체적인 내용에 맞춰 자유롭게 적용 분야를 확장할 수 있어야 한다. 어떤 경우에는 간단한 모델을 가지고 매우 빠른 고속 병렬 시뮬레이션을 통해 수많은 경우의 수를 검증하는 테스트를 원할 수 있다. 또 어떤 경우는 매우 정교한 차량 모델을 가지고 구체적인 차량 성능 파라미터를 추출하고 변경 내용을 다시 검증하는 테스트를 원할 수 있다.

자율주행 시뮬레이션 플랫폼은 차량 레벨의 전체 시뮬레이션 뿐 아니라 다음과 같이 MiL(Model in the Loop), SiL(Software in the Loop), HiL(Hardware in the Loop), DiL(Driver in the Loop), ViL(Vehicle in the Loop)의 전 분야에 걸쳐 ADAS(Advanced Driver Assistant System) 및 AV(Autonomous Vehicle) 모두에 적용 가능한 확장성을 가져야 한다.





마지막으로 자율주행 시뮬레이션 플랫폼은 초 대규모 클라우드 환경의 시뮬레이션 및 이런 방식으로 축적된 방대한 양의 가상 주행 시나리오 검증 데이터의 인공지능 알고리즘을 통한 분석, 추출, 재사용의 전 과정이 가능해야 제대로 된 자율주행 시나리오 검증 툴이라 할 수 있다.

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>

PDF 원문보기

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)

  • 100자평 쓰기
  • 로그인



TOP