ATDE for OpenRTM-aist(http://openrtm.org/openrtm/node/5116)는 임베디드 기기용 RT 컴포넌트(RTC) 개발을 쉽게 하는 다양한 툴을 포함하는 개발환경이다. 임베디드 기기용 소프트웨어 개발에는 특유의 프로세서가 있어 PC 상에서 개발하는 것에 비해 절차가 복잡하다.
이 툴은 그 순서를 간략하게 하여 PC 상에서 RTC를 개발하는 데 익숙한 사용자가 손쉽게 임베디드 기기를 대상으로 한 개발로 이행할 수 있는 환경 제공을 지향하고 있다. 이 툴은 2012년 RT 미들웨어 콘테스트에서 ‘NTT데이터 변화의 힘을 함께 창출하는 상’(단체 협찬 : NTT데이터)을 받았다.
임베디드 기기용 소프트웨어 개발에서는 1) 개발환경 정비의 번거로움, 2) 펌웨어 교체의 번거로움, 3) 크로스 컴파일의 번거로움, 4) 프로그램 업로드의 번거로움 등 익숙하지 않은 개발자 입장에서는 몇 가지 장벽이 있다.
이 툴에서는 이러한 문제에 대해 그림 1의 개발 프로세스를 제안한다. 상술한 1)에 대해 개발환경 구축을 완료한 가상 PC 환경 이미지 제공, 2)에 대해서는 OpenRTM-aist 공식 웹사이트에서 설정이 완료된 펌웨어를 여러 개 공개해 온라인 다시쓰기를 가능케 함으로써 해결했다(그림 1-(1)). 상술한 3)에 대해서는 크로스 개발을 쉽게 하는 툴(rtc-cmake-cross 등)을 제공해(그림 1-(2)) 일반적인 순서와 거의 동일한 개발 프로세스를 실현했다. 또한, RTC 실행 파일을 포함하는 USB 메모리 이미지를 작성하는 rtc2usbmem을 제공함으로써 상술한 4)의 번거로움을 줄이고(그림 1-(3)), RT 컴포넌트의 자동 실행과 다양한 설정의 USB 메모리에 집약할 수 있다.
▲ 그림 1. ATDE for OpenRTM-aist에 의한 임베디드 기기용 RT 컴포넌트 크로스 개발 프로세스
PC 상에서의 RTM, RTC의 이용은 증가하고 있지만, 임베디드 기기 상에서의 이용이 확산되고 있다고 하기는 어렵다. 그러나 일부 이용자 사이에서는 임베디드 기기 상에서의 이용에 관한 노하우가 있어 이것을 툴로서 정리해 널리 제공함으로써 임베디드 기기에서 RTM을 이용하거나 더 나아가 더 실용적인 애플리케이션에서 RTM을 이용하는 것이 촉진될 것으로 보고 이 툴을 개발했다.
현재 Linux를 내장한 소형 디바이스나 RaspberryPi와 같은 매우 저렴한 디바이스가 출현함으로써 임베디드 기기, 임베디드 Linux의 이용이 활발해지고 있다. 앞으로는 이러한 기기 상에서도 RT 미들웨어를 쉽게 이용할 수 있는 프레임워크를 제공해 보급할 예정이다.
독립행정법인 산업기술종합연구소
本 記事는 日本 「計測自動制御學會」가 發行하는 「計測と制御」誌와의 著作權協定에 依據하여 提供받은 資料입니다.
게재월 | 2014 - 03
1029075
0