Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 9 pp. 4193-4199, 2012 http://dx.doi.org/10.5762/kais.2012.13.9.4193 문채영 1, 류광기 1* 1 한밭대학교정보통신공학과 Development of Intelligent Service Robot using Smart Phone based on Android OS Chae-Young Moon 1 and Kwang-Ki Ryoo 1* 1 Dept. of Information Communication Engineering, Hanbat National University 요약본연구에서는안드로이드기반스마트폰을장착하여지능형로봇의성능구현이가능하도록스마트폰애플리케이션과로봇플랫폼을설계및구현하였다. 터치스크린, 사운드입출력, 네트워크그리고각종센서기능을갖고있는스마트폰을전원부와모터등의단순기능을갖는로봇플랫폼에접목시켜원격제어, 홈오토메이션, 게임기, R-러닝등의기능을수행할수있도록구현하였다. 연구에사용된스마트폰은블루투스통신을이용하여로봇과데이터를송수신하며원격지의컴퓨터와는 WI-FI를통해인터넷으로통신을수행하도록설계하였다. Abstract In this study, the intelligent robot equipped with an Android-based smartphone to enable the implementation of the performance of smartphone applications and robot platform has been designed and implemented. Smart phone that have touch screen, sound input/output, network and various sensor functions to robot platform that have simplicity function of power and motor etc. graft together and embodied so that can achieve function of remote control, home automation, game machine, R-running race etc. Phone used in the study of the Bluetooth communication sending and receiving data between the robot and from a remote computer over the Internet via WI-FI is designed to perform communication. Key Words : Intelligent robot, Smart Phone, Android, Application 1. 서론 국내로봇시장규모는 2010년을기준으로지난 3년간연평균성장률이 25.5% 로빠르게성장하고있으며 2006 년 170곳이던로봇관련기업들이 2010년 343곳으로증가되었다 [1]. 이러한시장의흐름은인구의고령화, 3D업종기피, 맞벌이가정증가등과같은시대적요구 [2] 와보다편리한생활을추구하는인간의본능그리고지능로봇보급촉진법등정부의전략적지원등의영향에의한것이다. 이런사회적필요에따라대학및전문계고등의교육기관에서는로봇관련학과를신설하고있으며초등학교 의로봇특기적성시장도꾸준한증가세를보이고있으며유아들을대상으로하는지능형서비스로봇이가정과유치원등에보급되어학습도구이자교사도우미역할을수행하고있다 [3]. 가정에는청소로봇이보급되어청소뿐아니라원격감시등의기능을수행하고지능형서비스로봇또한홈오토메이션, 화상통신, R-러닝등의기능을수행하고있다. 2009년 80만명이였던국내스마트기기개인사용자는 2011년 9월기준 1,867만명으로급증하였다. 스마트폰을활용하는분야는기존휴대전화가제공하던음성통화, 문자메시지, 카메라기능뿐아니라컴퓨터에서제공 본연구는 IDEC에서지원되는 CAD Tool을사용하였으며, 교육과학기술부와한국연구재단의지역혁신인력양성사업및지식경제부에서출연한 ETRI SW-SoC융합R&BD센터의시스템칩설계인력양성사업의연구결과임. * Corresponding Author : Kwang-Ki Ryoo Tel: +82-11-234-0569 email: kkryoo@gmail.com 접수일 12년 07월 09일수정일 (1차 12년 07월 26일, 2차 12년 08월 14일 ) 게재확정일 12년 09월 06일 4193
한국산학기술학회논문지제 13 권제 9 호, 2012 되던인터넷검색, 위치검색, 이메일, 문서작성그리고주변기기제어까지광범위하게넓다 [4]. 본논문에서는그림 1과같이다양한기능을가진스마트폰을활용하여고가의지능형로봇의성능을낼수있도록거리감지센서, 충전, 구동, 스마트폰장착등의기본적인기능을갖는로봇플랫폼을개발하였다. 또한안드로이드기반의스마트폰애플리케이션은로봇과데이터를송수신하고원격지의컴퓨터등과네트워크로접속될수있도록개발하였다. 서비스로봇은애완용로봇, 청소로봇, 경비로봇, 교사로봇등주로개인용로봇으로구성되어있다. 전문가용로봇은의료, 안내로봇등의공공서비스용로봇과재난구조, 원전로봇등의극한작업용로봇으로분류된다. 산업용로봇은용접, 핸들링, 도장로봇등으로분류되어있다. 본논문에서는개인의스마트폰을장착한지능형로봇개발을목표로하기때문에국제로봇연맹의분류에따른개인서비스용로봇을중점으로연구가진행되며그림 2와같이주로 R-러닝, 원격교육, 교사도우미, 게임용등으로사용되고있다. [ 그림 2] 지능형로봇 [Fig. 2] Intelligent robot [ 그림 1] 연구개요 [Fig. 1] Research overview 이를통해다양한콘텐츠를갖는어플리케이션이적용될수있도록함으로써가정용에서교육용및엔터테인먼트용으로활용될수있도록하였다. 2.1 지능형로봇 2. 이론적배경 지능형로봇에대해서아직명확한정의나분류체계가정립되지않았지만과거의자동화된기계의개념을벗어나학습및판단의기능을포함한자동화기계로서좀더진보된형태의로봇에대해지능형로봇으로표현하고있다 [5]. 현재지능형로봇에게요구되는능력은크게 3가지로구분될수있다. 먼저새로운환경에서성공적으로목표지점에도달하기위한환경대응능력. 그리고단순 반복적인작업을수행하지않기위한높은지능의판단력. 마지막으로인간과의만남에서원활한소통을위한상호작용능력을필요로한다 [6]. 이러한지능형로봇의특성을갖는로봇들에대해국제로봇연맹 (IFR) 에서는크게서비스로봇, 전문가용로봇, 산업용로봇으로분류하고있다. 2.2 스마트폰스마트폰은휴대폰의단순음성통화를위한기능에서벗어나본격적인모바일인터넷단말기라는측면에서기존의휴대폰과는차별화되고있다. 스마트폰등장초기와는달리네트워크, 다양한단말기종류, 콘텐츠개발등스마트폰을위한환경이조성되었다. 특히사용자를위한다양한양질의스마트폰어플리케이션이개발되었고, 콘텐츠마켓에서이를쉽게다운로드하여사용할수있게되어스마트폰의성장률이크게증가하고있다 [7]. 네트워크, 동영상처리, 콘텐츠실행등의다양한기능을수행하기위한스마트폰의하드웨어는현재 1Ghz 이상의 CPU, 내 외장메모리, 터치스크린, 카메라, 블루투스, 와이파이, 가속도센서, 조도센서, 나침반센서, 온도센서그리고영상및음향출력기능등을갖추고있다. 이러한하드웨어사양은현재임베디드형태의제어기가내장된지능형로봇의사양과유사하거나그이상의성능을갖게된다. 기존지능형로봇에사용되던임베디드보드의가장큰특징은 HRI(Human Robot Interface) 의구현에있다. 따라서사용자의스크린터치나음성을입력받아제어대상이되는로봇을직접제어할수있도록하드웨어포트가제공되었다. 4194
안드로이드플랫폼은자바로작성되는어플리케이션, 어플리케이션개발을위한각종클래스와메소드들이제공되는어플리케이션프레임워크, 시스템C, 미디어, 3D, 라이브러리등이제공되는라이브러리, 운영체제에접근하여수많은기능을수행하는안드로이드런타임, 그리고보안, 프로세스관리, 메모리관리, 네트워크관리등의주요서비스를리눅스커널로구성되어있으며그림 4와같다 [9]. [ 그림 3] 임베디드보드와스마트폰 [Fig. 3] Embedded board and Smartphone 이방식은고속으로여러제어대상을제어할수있는장점이있으나배선의복잡함이나제어기와로봇과의전기적충돌등으로인한오류발생의문제점을갖고있다. 또한지능형로봇에필요한카메라, 무선통신그리고각종센서등의하드웨어기능을포함하고있지않아추가부품을필요로한다. 스마트폰의경우, 표 1에서와같이지능형로봇의필요기능을대부분갖고있으며블루투스와무선네트워크를이용하여무선으로로봇을제어할수있어복잡한배선이불필요하며전기적충돌이나간섭이발생하지않는장점이있다 [8]. 또한자신이사용하던스마트폰을이용한로봇이기때문에사용법을별도로익히지않고도사용이가능하다. 그리고펌웨어업데이트나새로운응용프로그램을콘텐츠마켓에서손쉽게다운로드받아설치할수있다. [ 표 1] 임베디드보드와스마트폰사양비교표 [Table 1] Embedded Boards and smartphones Reference Chart 임베디드제어기 스마트폰 IEC667 S5PV 겔럭시S 아이폰4 CPU 667Mhz 1G 1.2G*2 1G 메모리 16G 16G 32G 터치방식 가입식 가압식 정전 정전 블루투스 X 옵션 O 네트워크 유선 유선 무선 무선 해상도 800*600 800*600 480*800 640*960 센서 X X O O 카메라 X O O O 포트제어 O O X X 배터리 외장 외장 내장 내장 안드로이드기반스마트폰을사용하였는데안드로이드는리눅스기반의개방형모바일플랫폼으로써 OS로만구성된것이아니라미들웨어, UI(User Interface), 인터넷브라우저및다양한어플리케이션으로구성되어있다. [ 그림 4] 안드로이드플랫폼 [Fig. 4] Android platform 안드로이드는자바기반이며라이브러리와 SDK가공개되어있어누구나어플리케이션을개발할수있다. 또한배포도구가포함된모든라이브러리가공개되어있어어플리케이션개발및배포에제약이없다는점과외부장치와블루투스를이용하여손쉽게통신을할수있다는장점이있어본연구에서는안드로이드기반스마트폰을사용하였다. 3. 설계 본연구에서지능형로봇은로봇제어용하드웨어및펌웨어, 스마트폰앱프로그램그리고로봇기구등크게세부분으로나누어설계하였다. 3.1 하드웨어및펌웨어설계 로봇을제어하기위한하드웨어는그림 5와같이마이크로컨트롤러, 통신모듈, 모터드라이버, 전원및충전회로그리고센서회로로구성되어있다. 4195
한국산학기술학회논문지제 13 권제 9 호, 2012 블루투스모듈 스마트폰과블루투스통신 USART 115Kbps ADC 마이크로컨트롤러 ADC 충전상태아날로그값으로출력 Ctrl 충전제어및상태표시 충전및전원회로 3.2 로봇기구설계기존지능형로봇은임베디드보드및디스플레이장치가로봇에고정장착된형태이다. 그러나본연구에서는사용자의스마트폰을손쉽게장착하여지능형로봇의기능을수행하는것이다. 이를위해로봇기구부는아래의 5가지중점사항을고려하여그림 7과같이설계하였다. PSD 센서 거리정보를아날로그값으로출력 Left Right DC모터드라이버 [ 그림 5] 하드웨어블록도 [Fig. 5] Hardware Block diagram 마이크로컨트롤러는 ATmega16(16Kbyte Flash, I/O 32Pin) 를사용하였으며스마트폰과의통신을위한블루투스모듈과는 USART를이용하여 115Kbps로통신한다. 로봇주변의물체를감지하기위한 PSD센서의출력이아날로그값이기때문에컨트롤러에내장된 ADC를이용하여거리를측정한다. 그리고 DC모터를구동하기위한드라이버로 L298을사용하여모터당 1A의전류공급이가능하다. 하드웨어전체에전원을공급하는회로는충전회로와정전압회로로구성되어있다. 정전압회로는 5V인스마트폰충전기의전원을입력받아 3.3V로변환하여제어회로에공급한다. 충전회로는 5V전원을이용하여 3.7V 리튬배터리를충전시키며충전상태는마이크로컨트롤러에의해감시되며충전완료시충전회로의동작은정지된다. 그밖에충전및동작상태표시를위한 LED구동회로, 센서감지여부를알려주는부저회로등으로구성되어있다. 로봇에장착된센서들의감지정보와베터리충전상태등의정보는블루투스를이용하여스마트폰에전달되어로봇의행동을제어하기위한데이터로사용된다. [ 그림 6] 로봇제어회로 [Fig. 6] Robot control circuit [ 그림 7] 로봇외형 [Fig. 7] Designed robot appearance 첫째, 다양한종류의스마트폰을장착할수있어야한다는점이다. 시중에판매되는스마트폰은크기와두께화면과카메라의위치등이다르게디자인되어있다. 이러한스마트폰들을장착할수있는거치대를모두제작할수없기때문에사용자에게맞는시중에판매되는스마트폰거치대를사용하여로봇에장착할수있는구조를만들기위해로봇의상판윗면을평평하고매끄럽게제작하였다. 둘째, 스마트폰이로봇에장착된상태에서로봇과스마트폰이동시에충전될수있도록로봇후면에 USB 충전단자를 2개배치하였다. 스마트폰충전기를로봇에연결하고로봇의 USB단자를이용하여스마트폰을충전할수있도록설계하였다. 셋째, 로봇전면부에설치된 PSD센서를보호하기위해전면의양쪽모서리부분을돌출시켜외부의물리적충격에서센서를보호할수있도록설계하였다. 넷째, 모터에연결된바퀴가외부에노출되어파손되 4196
는것을최소화하기위해바퀴커버가장착되도록설계하였다. 마지막으로로봇의원활한이동을위해로봇아랫면앞쪽에볼캐스터를장착하였다. 3.3 애플리케이션설계 안드로이드기반스마트폰의애플리케이션개발툴은이클립스 (eclipse) 를이용했으며안드로이드버전은 2.2 프로요, 2.3 진저브레드, 3.1 허니컴에서각각테스트를진행하였다. [ 그림 9] 블루투스데이터송신 [Fig. 9] Bluetooth data transmission [ 그림 8] 메인프로그램구조 [Fig. 8] Structure of main program 개발된애플리케이션의주요기능은그림 8과같이무선로봇조종, 로봇프로그램선택, 로봇및스마트폰의센서정보출력, 출입자감시및사진촬영후무선네트워크전송, 동영상원격감시그리고음성인식을이용한로봇제어, TTS(Text to Speech) 등이다. 3.3.2 로봇프로그램선택로봇플랫폼에장착된센서를이용하여장애물을피해가는로봇, 바닥의검은선을따라가는로봇, 로봇전방의물체를따라이동하는로봇그리고난간을감지하여추락을방지하는로봇등다양한동작수행이가능하며프로그램되어있는로봇동작을선택하기동작시키기위해서는로봇으로부터센서정보를입력받아처리하고그결과를다시로봇에전송해야한다. 이러한동작역시그림 10과같이 ConnectedThread에서 OutStream을이용하여데이터를 write하고 Input -Stream을이용해데이터를 read한다. 3.3.1 무선로봇조종스마트폰과로봇과의데이터전송은블루투스통신을이용한다. 스마트폰의블루투스를이용하기위해서는블루투스활성화, 외부블루투스기기검색 ( 옵션 ), 외부블루투스기기연결, 그리고블루투스기기들간의데이터전송과수신과정이필요하다. 로봇을무선으로제어하기위해화면의특정버튼을터치하게되면그에대응되는 senddcm() 의두인자값이선택되고블루투스가연결되었을때수행되는스레드인 BTService.java 의 ConnectedThread에서 OutStream을이용하여데이터를 write하면블루투스장치를통해데이터가전송되며그림 9와같다. [ 그림 10] 블루투스데이터수신 [Fig. 10] Bluetooth data received 3.3.3 사진촬영과네트워크전송 로봇에장착된센서에물체가감지되면로봇은블루투스를통해정보를스마트폰에전달한다. 그림 11과같이블루투스를통해입력된데이터는 BTService.java 내의 ConnectedThread 클래스에의해읽혀지고 obtainmassage의 sendto -Target() 에의해 Main.java 의 4197
한국산학기술학회논문지제 13 권제 9 호, 2012 Handler를통해전달된다. 이곳에서 Receive_BT() 메서드를호출하게되며 Receive_BT() 메서드는전달받은데이터에의해 camera.java 를호출하여카메라촬영을시작한다. 으로출력하도록하였다. 이기능은음성으로로봇을움직일수있으며 TV ON/OFF, 채널및볼륨을조절할수있도록로봇에내장된리모컨에제어신호를전송한다. 또한별도의전력제어장치를통해실내의전력을제어할수있도록설계하였다. 그리고인터넷을통한비디오스트리밍으로원격지의웹카메라에접속하여실시간감시가가능하도록하였으며웹카메라에장착된모터를제어하여카메라의회전이가능하도록하였으며그림 12와같이디자인하였다. [ 그림 11] 사진촬영과네트워크전송 [Fig. 11] Taking Pictures and network transmission SurfaceHolder.Callback 리스너의 SurfaceView는기본적으로 SurfaceCreate() 메소드, Surface -Changed() 메소드, SurfaceDestroyed() 메소드 3가지메소드가기본생성되게된다. SurfaceCreat e() 는처음서피스뷰가실행될때실행되는메소드가되며 SurfaceChanged() 는서피스뷰가변경될때실행되며, SurfaceDestroyed() 는서비스뷰종료될때실행되는메소드이다. 블루투스명령에의해 camera.java 가실행되어카메라가활성화되고영상이입력되어화면이바뀌게된다. 이때 SurfaceChanged() 메소드가호출되어새로운화면을프리뷰하게되고셔터를동작시켜촬영을한다. 셔터가동작될때호출되는메서드는 Camera. ShutterCallback 리스너의 onshutter() 이다. 카메라가 open 상태이고카메라데이터처리중이아니라면셔터를동작시켜촬영하고우선 Raw 이미지를생성한다음 jpg타입으로이미지를생성한다. jpg타입의이미지가생성되면 Camera. PictureCallback 리스너가호출되고정상적인이미지가생성되었다면저장을위해 data2sd() 메서드가호출된다. 이메서드의첫째인자인 data는생성된이미지이고두번째인자는이미지를저장할파일명이다. 촬영된영상을 jpg타입으로 SD메모리의특정위치에저장한다음소켓을이용하여파일을무선인터넷을통해전송하도록설계하였다. 그외에구글의음성인식기능과 TTS(Text to Speech) 기능을활용하여로봇을음성으로제어하고결과를음성 [ 그림 12] 개발된애플리케이션 [Fig. 12] Applications developed 4. 결론 본연구에서는스마트폰이용자가사용하던스마트폰을모터구동회로, 전원회로, 블루투스통신회로등의단순기능이탑재된로봇플랫폼에장착하여지능형로봇의성능을구현하도록개발하였다. 스마트폰의우수한하드웨어기능을로봇에접속시켜기존지능형로봇이상의하드웨어사양을갖게되었다. 이를통해현재지능형로봇이구현하고있는기능들을수행할수있을뿐만아니라그이상의기능구현도가능하다. 또한사용자에게익숙한스마트폰을사용하기때문에사용자가로봇을활용하는데수월하며펌웨어업데이트나새로운애플리케이션을다운로드받기용이한장점을갖게되었다. 4198
[ 표 2] 지능형로봇사양비교표 [Table 2] Intelligent Robot Reference Chart M 지능형로봇사양비교 연구로봇 CPU 667Mhz 1.2G*2 해상도 320*240 480*800 터치방식 가압식 정전식 카메라 2M CMOS 8M CMOS WIFI 802.11 b/g 802.11 a/b/g/n 오디오 센서 기타 스테레오스피커, 마이크 RFID Reader, IR, Touch, Tilt, PIR, Light, Sound 구동모터 6 개, 감성적디자인 스테레오스피커, 마이크 Gyro, Compass, Temperature, IR, Light, Sound, Touch DMB, GPS, Bluetooth 개발된로봇은 K사의지능형로봇 M과비교하여임베디드부분에서는표 2와같이보다우수한성능을갖고있음을확인할수있다. 다만디자인과구동부에서는보완이필요했으며다양한콘텐츠의접목이필요한과제로남아있다. 이연구를통해고가로구매한스마트폰의활용도를높여주며저렴하고편리하게지능형로봇을사용할수있을것으로기대된다. [6] Nam Sang-yeop, Jeong Wan-gyun, Choe Yeong-jin, Structure & Application of Intelligent Robot", Sang Hak dang, 2006. [7] Son Su-guk, Jo Seung-ho, Understanding and real of programming in Android", Life & Power Press, 2010. [8] Lee Cheul-Hee, Park Hyoung-Keun, Development of Embedded System for Home Automation using Android OS, Journal of the Korea Academia-Industrial Cooperation Society Vol. 12, No. 10 pp.4574-4577, 2011 [9] Ko Seokhoon, "A Trend of Android Platform", Journal of the Korea Contents Association Vol. 8, No 2 pp45-49, 2010. 문채영 (Chae-Young Moon) [ 정회원 ] 2001 년 2 월 : 한밭대학교전자공학과공학사 2005 년 2 월 : 한밭대학교산업대학원전자공학과공학석사 2010 년 3 월 ~ 현재 : 한밭대학교정보통신전문대학원정보통신공학과박사과정 < 관심분야 > 로봇, 마이크로컨트롤러, 임베디드시스템설계 References [1] Jong-Cheol Kim, Hyun-Ho Kim An Edutainment Mon-E Robot for Young Children", Journal of the Korea Robotics Society Vol. 16, No. 2 pp. 147-155, 2011. [2] Joung Woo Ryu, Cheonshu Park, Jaehong Kim, Sangseung Kang, Jinhwan Oh, Joochan Sohn, Hyun Kyu Cho KOBIE: A Pet-type Emotion Robot", Journal of the Korea Robotics Society Vol. 13, No. 2 pp. 154-163, 2008. [3] Research on the Actual Condition of the Robot Industry", Korea Association of Robot Industry, 2011. [4] Jun-Il Choi, Dal-Suk yoon, Joong-Hyuk Chang, A System for Marking the Absence using a Smart-Phone, Journal of the Korea Academia-Industrial Cooperation Society Vol. 12, No. 9 pp. 4160-4168, 2011. [5] Han Chang-shu, Ryu Young-seon, Development & Application of Intelligent Service Robot, Cheong Media, 2009. 류광기 (Kwangki Ryoo) [ 종신회원 ] 1986 년 2 월 : 한양대학교전자공학과공학사 1988 년 2 월 : 한양대학교전자공학과공학석사 1991 년 4 월 ~ 1994 년 7 월 : 육군사관학교교수부전자공학과전임강사 2000 년 2 월 : 한양대학교전자공학과공학박사 2000 년 2 월 ~ 2002 년 12 월 : 한국전자통신연구원 (ETRI) 집적회로설계연구부시스템 IC 설계팀 2010 년 8 월 ~ 2011 년 7 월 : Visiting Scholar at UTD(Univ of Texas at Dallas) 2003 년 1 월 ~ 현재 : 한밭대학교정보통신공학과교수 < 관심분야 > SoC 플랫폼설계및검증, 하드웨어 / 소프트웨어통합설계및검증, 멀티미디어코덱설계 4199