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

링크 : http://www.autoelectronics.co.kr/article/articleView.asp?idx=3296 문병겸 김혜진 수석, 한컴MDS 교육연구팀 [email protected]

오픈소스 기반의 모형차 플랫폼은 자율주행기술 개발에서 실차를 대신해 비용과 안전문제를 줄이는 대체제로서의 역할뿐 아니라 엔지니어 양성, 비즈니스 진출의 토대가 될 수 있다.

우디는 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)의 RACECAR/J 프로젝트가 유명하다. 국내에서는 임베디드 솔루션 전문회사인 한컴MDS와 자율주행자동차 및 로봇 개발업체 자이트론이 공동으로 개발하는 AIAutoCAR(Xycar) 프로젝트가 있다. MIT 및 UPenn대학에서는 모형차를 제작하는 과정을 동영상으로 인터넷에 공개하고 있으며 프로그램도 오픈소스로 만들어 제한 없이 공개하고 있다. 학생과 개발자는 손쉽게 관련 자료를 참고해 직접 DIY 방식으로 모형차 하드웨어를 제작할 수 있고, 오픈소스인 리눅스와 ROS(Robot OS)를 기반으로 개발하는 방법을 공개하고 있어 소프트웨어 구현도 용이하다.

하드웨어 아키텍처

모형차는 실제 차와 비교해 1/10의 비율로 축소한 것으로 크기도 작아 스펙과 성능이 떨어지지만 자율주행기술 구현에 필요한 센서를 갖추고 있어 실제 차와 최대한 비슷하게 동작할 수 있도록 작은 부분까지 세밀하게 설계됐다. 복잡하고 계산량이 많은 주행제어 인공지능 소프트웨어가 원활하게 구동되도록 GPU가 지원되는 고성능 인공지능 프로세서, 카메라, 깊이카메라, IMU, 라이더, 초음파센서 등 주변 환경정보 수집을 위한 다양한 센서를 장착한다. 차량의 속도와 조향 제어는 휠 모터와 스티어링 모터를 통해 이뤄진다. 배터리와 모터로 구성된 구동부를 정밀하게 제어하기 위해 오픈하드웨어 모터제어기(ESC-Electronic Speed Controller)가 장착되고 Wi-Fi 무선랜, 유선랜, HDMI, SSD, 아두이노 등 응용개발과 개발편의성 향상 목적의 다양한 주변장치가 장착된다. 또 주변장치의 용이한 추가 확장을 지원하기 위해 메인 인터페이스 방식으로 고속 USB 3.0 표준이 채택된다.

소프트웨어 아키텍처

모형차 플랫폼을 기반으로 개발되고 검증된 자율주행 소프트웨어는 실제 실차에서도 쉽게 포팅되고 유사한 기능 수행과 성능을 내기 위해 최대한 실차와 유사한 소프트웨어 개발 환경에서 설계됐다. 모형차 플랫폼에 탑재된 소프트웨어 개발 환경의 리눅스와 ROS(Robot OS)는, 실제로 자율주행차와 주행 로봇에 적용되는 사례가 착실하게 증가하고 있다. 리눅스와 ROS는 모두 오픈 소스이기 때문에 많은 개발자의 협업을 통해서 진화하고 있어 안정성과 성능이 급속히 향상되고 있다. 오픈소스의 경우 관련 자료와 소스 코드를 쉽게 구할 수 있고 다양한 Q&A 정보를 인터넷에서 쉽게 찾아볼 수 있어 모형차로 자율주행 기술을 처음 공부하는 사람도 손쉽게 자율주행 솔루션 개발 프로젝트를 진행할 수 있다. 센서를 만드는 업체에서도 센서 구동을 위한 ROS Package를 직접 제작 배포하고 있어 쉽게 새로운 센서를 추가하거나 교체할 수 있다.

개발자를 위한 각종 연구개발도구

ROS 플랫폼은 로봇 제품을 위해 개발된 오픈 소스 미들웨어로, 다양한 분야에서 다양한 용도로 활용되는 로봇을 개발하기 위한 편리한 개발 도구를 제공하고 있다. 센서로부터 수집된 센싱정보를 2D/3D 그래픽으로 시각화하는 뷰어, GUI 기반의 제어프로그램을 직접 설계할 수 있는 도구, 직접 프로그래밍까지 가능한 3차원 시뮬레이터 등이 제공된다.

모형차 플랫폼 베이스 주행 로봇 만들기

자율주행 기술 하면 많은 사람이 도로를 달리는 자동차와 그 안에서 독서를 하고 있는 운전자의 모습을 떠올린다. 하지만 자율주행 기술은 자동차뿐 아니라 훨씬 많은 제품에 적용할 수 있는 요소 기술이다. 사람이 탑승하지 않아 인명 사고에 시달리지 않아도 되는 주행 로봇의 경우 보다 쉽게 자율주행 제품을 상품화할 수 있다. 실제로 물류센터 운반로봇이나 공항 안내로봇 등은 상용화된 지 오래다. 올해 3월 정부는 로봇산업 육성전략을 발표하면서 서비스 로봇산업을 시장 초기단계로 향후 산업의 급성장이 예상된다며 4대 서비스 로봇 분야를 선정하고 이를 적극 육성하겠다는 의지를 밝혔다. 물류로봇, 안내로봇, 순찰로봇 등은 자율주행기능이 필수인 주행로봇으로 자율주행모형차 플랫폼을 활용하면 어렵지 않고 신속하게 상품화할 수 있다.

오픈소스 기반으로 만들어진 모형차 플랫폼은 실차 대신 비용과 안전 문제를 줄이는 대체제 역할도 하지만 그 외 개발자들이 큰 어려움 없이 자율주행 분야에 진입할 수 있도록 돕는 토대 역할을 한다. 게다가 다양한 주행 로봇을 개발해, 상품화에 활용할 수 있는 반제품 성격의 레퍼런스 제품으로서의 역할도 완수한다. 오픈소스의 공생 생태계에서 자율주행 모형차 플랫폼이 많은 개발자에게 활용되어 진화발전을 바란다.

출처 : Automotive Electronics 9/10월호

error: Content is protected !!