[Automotive Electronics] 자율주행 개발 위한 오픈소스 기반 모형차 플랫폼

링크:www.autoelectronics.co.kr/article/articleView.asp?idx=3296 문+김혜진 수석, 한컴MDS 교육연구팀+hyejin@hancommds.com 오픈소스 기반의 모형차 플랫폼은 자율주행 기술개발로 실차를 대신하여 비용과 안전사건을 줄이는 대체제로서의 역할뿐만 아니라 엔지니어 양성, 비즈니스 진출의 토대가 될 수 있다. 아우디는 2018년 아우디 자율주행컵대회(Audi Autonomous Driving Cup 2018)를 개최하였습니다. 참가자는 1/8 스케일의 아우디 Q2 모형차를 로봇 공학, 소프트웨어 아키텍처, AI 기술등을 실현해, 자율 주행 기술을 겨루었습니다. 아우디는 이 대회를 통해 고급 자율주행 엔지니어를 양성하고 확보함으로써 자율주행 기술에 대한 신뢰를 얻는 것을 목적으로 했습니다. 자율주행차 연구를 OEM 투자가 지속적으로 확대되고 새로운 자율주행기술개발업체가 등장하면서 자율주행 엔지니어 수요가 급증하고 있다. 고도 엔지니어의 양성, 그리고 실제와 유사한 도로 귀추에서 자율운전 센서, 머신러닝, 통신 등 최초기의 기술연구, 개발을 자율운전 환경이 매우 중요해졌다.

>

테스트를 위한 조사 개발용 플랫폼의 필요성 테스트 베드(Test Bed)란 새로운 기술/제품/서비스의 성능 및 효과를 시험할 수 있는 환경 혹시 시스템, 설비를 스토리&합니다. 자동차에 적용되는 자율주행 기술을 개발하고 결과를 검증하기 위해서는 실차를 테스트베드로 사용해야 합니다. 그러나 그러기 위해서는 구입, 수리 비용이 늘어나기 때문에 주행 테스트 시 운전자의 사고 위험뿐만 아니라 2차 사고에 의한 인명사고의 위험도 있다. 고란 위험을 최소화하기 위해 대개 도로 주행 시험장에서 테스트를 합니다. 하지만 자동차개발사들조차 도로주행시험장을 보유하기는 쉽지 않다. 일반 조사를 하는 학생, 조사원들은 공도주행시험장을 이용할 뿐 아니라 대여비용까지 비싸 테스트하기가 현실적으로 쉽지 않다.그러다 보니 이들이 쉽게 개발을 경험할 수 있는 자동차 플랫폼의 요구가 증가하면서 자연스럽게 RC카를 기반으로 고성능 프로세서와 각종 센서 장치, 제어장치를 장착한 작은 크기(1/10)의 자율주행 모형차가 등장하게 되었습니다. 고란 소형 모형차가 실차를 대신해 자율주행 솔루션의 개발, 검증에 사용되고 있으며 교육용 기재와 조사 개발의 테스트베드로도 활용되고 있다. 자율주행 모형차, 이들을 구성하는 하드웨어 구조와 , 소프트웨어 구성, 활용, 고려 사항 등을 알아본다. 나쁘지 않다=모형차를 기반으로 한 상용주행 로봇 개발 비법도 알아본다.

>

모형 자동차의 플랫폼 열풍과 함께 프로그래밍으로 움직일 수 있는 다양한 구동체(드론, 모형 차, 로봇 등)제품이 등장했지만 대부분 낮은 사양 프로세서로 간단한 탐사와 알고리즘 구동 가능한 수준이었고 자율 주행 소프트웨어의 개발과 검증용으로는 적합하지 않았다. MIT 및 UPenn 대학 등에서는 실차로 사용하는 라이더, IMU 센서 같은 장치를 장착해 구동이 가능한 GPU 기반의 고성능 프로세서를 장착한 모형차를 개발, 비결과 소스코드를 공개했습니다. 이를 통해 많은 사람들이 쉽게 자율주행 기술을 접하고 익힐 수 있으며, 나쁘지 않게 개발한 솔루션과 알고리즘을 쉽게 검증할 수 있게 되었습니다.자율주행 소프트웨어 개발을 목표로 모형차를 만드는 프로젝트로는 MIT대학의 ‘Racecar 프로젝트’와 엔비디아의 오픈소스 프로젝트 커뮤니티(Jetsonhacks.com)의 ‘RACACAR/J 프로젝트’가 유명하다. 국내에서는다. 베디드 솔루션 전문업체인 한컴MDS와 자율주행자동차 및 로봇 개발사인 자이트론이 공동으로 개발하는 ‘AIAuto CAR(Xycar) 프로젝트’가 있다. MIT 및 UPenn대학에서는 모형차를 제작하는 과정을 동영상으로 인터넷에 공개하고 있으며 프로그램도 오픈소스로 만들어 제한 없이 공개하고 있다. 학생들과 개발자들은 쉽게 관련 자료를 참고해 직접 DIY 방식으로 모형차 하드웨어를 제작할 수 있고 오픈소스인 리눅스와 ROS(Robot OS)를 기반으로 개발하는 비결을 공개해 소프트웨어 구현도 쉽게 가능하다.하드웨어 아키텍처 모형차는 실차에 비해 1/10 비율로 축소된 것으로 크기도 작고 스펙과 성능은 떨어지지만 자율주행기술 장착에 필요한 센서를 갖추고 있어 실차와 가장 유사한 동작이 되도록 작은 부분까지 꼼꼼하게 설계됐다. 복잡하고 계산량이 많은 주행제어 인공지능 소프트웨어를 원활하게 구동할 수 있도록 GPU가 지원하는 고성능 인공지능 프로세서, 카메라, 깊이카메라, IMU, 라이더, 초sound파 센서 등 주변 환경정보를 수집하기 위한 다양한 센서를 장착합니다. 차량의 속도와 조향 제어는 휠 모터와 스티어링 모터를 통해 이뤄진다. 배터리와 모터로 구성된 구동부를 정밀하게 제어하기 위해 오픈하드웨어 모터제어기(ESC-Electronic Speed Controller)가 장착되고 와이파이 무선랜, 유선랜, HDMI, SSD, 아두이노 등 응용개발과 개발편리성을 높이기 위한 다양한 주변장치가 장착된다. 또 주변장치를 통한 추가 확장을 지원하기 위해 메인 인터페이스 방식으로 고속 USB 3.0 보통이 채용된다.

>

소프트웨어 아키텍처 모형차 플랫폼을 기반으로 개발 검증된 자율주행 소프트웨어는 실차에서도 쉽게 포팅되고, 같은 기능 수행과 성능을 내기 위해 최대한 실차와 같은 소프트웨어 개발 환경에서 설계됐다. 모형차 플랫폼에 탑재된 소프트웨어 개발환경인 리눅스와 ROS(Robot OS)는 실제 자율주행차와 주행로봇에 적용되는 사례가 지속적으로 이뤄지고 있다. Linux와 ROS는 전체 오픈소스이기 때문에 많은 개발자의 협업을 통해 진화 중이며 안정성과 성능이 빠르게 향상되고 있다. 오픈소스의 경우 관련 자료나 소스코드를 구하기 쉽고 다양한 Q&A 정보를 인터넷에서 쉽게 검색할 수 있어 모형차로 자율주행 기술을 처음 배우는 사람도 쉽게 자율주행 솔루션 개발 프로젝트를 진행할 수 있다. 센서를 만드는 업체에서도 센서 구동을 위한 ROS Package를 직접 제작해 배포하기 때문에 손쉽게 새로운 센서를 추가하고 와인을 교환할 수 있다.개발자를 위한 각종 연구개발 도구 ROS 플랫폼은 로봇 제품을 위해 개발된 오픈소스 미들웨어로 다양한 분야에서 다양한 용도로 활용되는 로봇을 개발하기 위한 편리한 개발 도구를 재공하고 있다. 센서로부터 수집된 센싱 정보를 2D/3D 그래픽으로 시간화하는 뷰어, GUI 기반의 제어 프로그램을 직접 설계할 수 있는 도구, 직접 프로그래밍까지 가능한 3차원 시뮬레이터 등이 재공된다.

>

모형차 플랫폼 기반의 주행 로봇 만들기 자율주행 기술이라면 많은 사람이 도로를 달리는 자동차와 그 속에서 독서를 하고 있는 운전자의 모습을 떠올린다. 그러나 자율주행 기술은 자동차뿐 아니라 더 많은 제품에 적용되는 요소 기술이다. 사람이 탑승하지 않고 인명문제를 감정하지 않아도 되는 주행로봇의 경우에는 더 쉽게 자율주행 제품을 상품화할 수 있다. 실제로 물류센터 운반로봇이나 공항 안내로봇 등은 상용화된 지 오래다. 올해 3월 정부는 로봇산업 육성 전략을 발표하면서 서비스 로봇 산업을 시장 초기 단계에서 향후 산업의 급성장이 예상된다며 4대 서비스로봇 분야를 선정해 이를 적극 육성하겠다는 의지를 밝혔다. 로봇, 안내 로봇, 순찰 로봇 등은 자율주행 기능이 필수적인 주행 로봇으로 자율주행 모형차 플랫폼을 활용하면 어렵지 않게 만들어 신속하게 상품화할 수 있다.오픈소스 기반으로 만들어진 모형차 플랫폼은 실차를 대신하여 비용과 안전 문재를 줄이는 대체제 역할도 하지만, 그 외 개발자들이 큰 어려움 없이 자율주행 분야에 진입할 수 있도록 돕는 초석 역할을 합니다. 또한 다양한 주행 로봇을 개발하고 상품화하는데 활용할 수 있는 반제품의 성격을 지닌 레퍼런스 제품으로서의 역할도 합니다. 오픈소스 공존생태계에서 자율주행 모형차 플랫폼이 많은 개발자에게 활용되어 이들에 의해 진화 발전하기를 희망합니다.출처: Automotive Electronics 9/10월호