Journal of Korean Institute of Intelligent Systems, Vol. 23, No. 4, August 2013, pp. 298-303 http://dx.doi.org/10.5391/jkiis.2013.23.4.298 서비스로봇을위한 CAN 기반의지능형부품통합로봇플랫폼모델 Development of CAN(Controller Area Network) based Platform Model for Service Robots 곽상필 최병재 Sangfeel Kwak and Byung-Jae Choi 대구대학교전자공학과 School of Electronic Engineering, Daegu University 요 약 로봇의응용분야는산업화의주요적용분야였던자동화영역을넘어서가정, 의료등일반서비스분야로그영역을빠르게확대하고있다. 이러한배경에서최근로봇플랫폼의소프트웨어표준화를위한여러연구활동이진행되고있다. 따라서기존자동차산업과자동차부품산업의형태와동일하게앞으로의로봇산업역시, 로봇부품산업이큰부분으로자리매김할것으로예상된다. 이러한부품에는로봇의외형을이루는기구적부분과로봇의기능을지능적으로수행할각종센서와엑추에이터로구성되는전자적인부분으로구분할수있다. 전자적부품들은중앙처리부와유기적으로연결되고, 중앙처리부는로봇에장착된전자적자원들을파악하여제어방식을구성하고효율적으로동작하도록제어하여야한다. 본연구에서는로봇의각구성부품간의통신을 CAN(Controller Area Network) 을통해일원화하여결선구조를단순화하고, 중앙처리부의인터페이스를개방하는방법을적용한새로운플랫폼모델개발을제시한다. 키워드 : 서비스로봇, 지능형로봇부품, 로봇플랫폼, CAN(Controller Area Network) Abstract The robot has been widely applied to all parts for the improvement of the life quality of human beings. It is expected that the parts industry for robots is rapidly growing to one of the majority of the future robot industry. The electronic components of robots are connected to the central processing unit and an organic part of a robot system. The central processing unit must be controlled to operate more efficiently by configuring some control systems of the robot. In this paper, we propose a new platform model that centralizes several parts of a robot through the CAN based communication system and simplifies their connection structure. Key Words : Service Robot, Intelligent Robot Components, Robot Platform, CAN(Controller Area Network) 1. 서론 최근로봇플랫폼의소프트웨어표준화를위한여러연구활동이진행되고있으며 [1], 로봇의응용영역측면에서는인간의삶의질향상을위한분야로까지확대되고있다 [2]. 정보기술이발전하고사회가정보화, 개인화, 고령화되어감에따라로봇의기능과응용에관한요구가인간과공 존하면서생활의편의를제공할수있는서비스로봇을향하고있는것이다 [3]. 이로인해, 다양하게펼쳐질서비스로봇분야는다양한요구를처리해야하는의무를가지게되었다. 그러한다양한요구를위해서비스로봇은그구성및설계가일반화되어야하고, 개발자가특정서비스기능을구현하는데있어서로봇의일반적인기능구현에필요한노력과시간이많이투입되는것은적절하지않다. 접수일자 : 2013 년 5 월 10 일심사 ( 수정 ) 일자 : 2013 년 8 월 2 일게재확정일자 : 2013 년 8 월 7 일 Corresponding author This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited. 그림 1. 전형적인로봇플랫폼 Fig. 1. A generalized robot platform. 298
서비스로봇을위한 CAN 기반의지능형부품통합로봇플랫폼모델 최근로봇을위한표준화된소프트웨어플랫폼을마련하는국제적인활동이진행되고있다. 소프트웨어가서로호환될뿐만아니라, 로봇이다양한정보기기와상호연동, 운영되면서다양한통신망에접속할수있다 [1]. 이러한기능을지원하기위해서하드웨어플랫폼의접근인터페이스의표준화와각구성품간통신을주관할미들웨어의개발이필요하게된다. 본연구에서는자동차분야와로봇분야에서널리사용되는 CAN(Controller Area Network) 프로토콜을로봇부품간의통신을위한주통신알고리즘으로채택하고, 이를상단로봇주제어기또는 URC 서비스와의통신을지원하도록하는미들웨어를구성하는로봇플랫폼모델을보인다. 제 2 절에서는기존의중앙집중식로봇플랫폼을소개하고, 제 3 절및제 4 절에서 CAN 기반의로봇플랫폼및지능형로봇부품설계를제시한다. 2. 기존중앙집중식로봇플랫폼형태 기존의로봇플랫폼형태를보면, 그림 2 및 3 에서제시되었듯이우선하나또는두개이상의마이크로프로세서또는마이크로컴퓨터기반으로각센서또는엑츄에이터드라이버와의연결이집중되는경향을확인할수있다. 외부와의통신을통해원격으로제어되거나, 모니터링될수있도록설계되었으며, 내부적으로는구동모터와그드라이버, 센서제어부와통신부로구성된다 [9][10]. 시키고어떠한데이터를입력받아야하는지, 또한각엑츄에이터에대한제어방식및제어드라이브와관련있는소프트웨어를내장하고있어야한다. 그림 4. 로봇플랫폼모델 Fig. 4. Robot platform model. 3. CAN 기반의로봇플랫폼설계 3.1. CAN CAN 은 1986 년 Bosch 사에의해제안된자동차를위한 Multi-Master 기반통신규약이다. CAN Bus 라고도불리는 CAN 은메시지기반통신프로토콜이다. 물리적으로 2 가닥의 Twisted Pair Wire 로연결되며, 통신방식은차동신호를통한 Half-duplex 전송방식을사용한다 [4]. 그림 2. 중앙집중식로봇플렛폼 [9] Fig. 2. Centralized robot platform[9]. 3.1.1 CAN 신호선구성 CAN 의신호선은 CAN Data Low, CAN Data High, GND1, GND2, V+(Optional Power Supply), 총 5 가닥의신호및전원으로구성된다. 하지만일반적으로 CAN Data Low, CAN Data High 두신호선을통해서차동으로통신이이루어지므로다른전원등의결선은사용하지않고 CAN Data 신호선만으로도통신에많이사용된다. CAN 의신호선구성은그림 5 에제시하였다. 그림 5. CAN 신호선구성 Fig. 5. Signals of CAN. 그림 3. 중앙집중식로봇플렛폼 [10] Fig. 3. Centralized robot platform[10]. 주제어기 (main controller) 로센서의입력값이직접입력되며, 또한그로부터각엑츄에이터로의해당출력이일어나게된다. 따라서주제어기는각센서를어떻게동작 3.1.2 CAN 메시지프레임 CAN 은 ID 기반의통신식별방식을채용하며 ID 의길이에따라 11bit 식별자와 29bit 식별자, 두가지의 Standard Mode 와 Extended Mode 로구분된다. 통신속도는 ISO 규격에따라 125Kbps 와 1Mbps 의통신최대속도로구현된다. 299
Journal of Korean Institute of Intelligent Systems, Vol. 23, No. 4, August 2013 CAN 프로토콜은 OSI 7 계층구조상에서 Physical Layer 와 Data Link Layer, Application Layer 로만구성되어비교적간단한구조를가진다. OSI 7 계층과 CAN 계층구조의비교를그림 6 에제시하였다. 있다. 그림 8. CAN Frame 구조 ( 확장 ID) Fig. 8. CAN frame structure (Extended ID). CAN 은지능형디바이스네트워크구축을위한높은무결성시리얼버스시스템으로서, 차량용네트워크의표준규격으로제정되었다. CAN 은결선을단순화하고시스템을안정적이고가볍게만들도록한다. 그림 9 에서 CAN 기반의결선과직접결선방식의예를제시하였다. (a) OSI 7 Layer (b) CAN Layer 그림 6. CAN 의계층구조 Fig. 6. Layer structure of CAN. CAN 프로토콜은데이터프레임, 리모트프레임, 에러프레임, 오버로드프레임으로구성된다. 데이터프레임은 SFO(Start of Frame), Arbitration Field, Control Field, Data Field, CRC(Cycle Redundancy Code) Field, ACK(Acknowledge), EOF(End of Frame) 으로구성되어있다. 마스터가해당 ID 로메시지를전송할경우사용된다. 리모트프레임은데이터프레임과동일한구조에서 Data Field 가제외되어구성되며, 송신을요청할경우사용된다. 에러프레임은전송선로사용중발생한에러를처리하는용도이며, 에러플래그와에러구분자로구성된다. 오버로드프레임은이전프레임과다음프레임사이에추가지연을위해사용된다 [8]. 표준 ID 기반의 CAN frame 구조를그림 7 에나타내었다. (a) 직접결선형태 (b) CAN을사용한단순결선형태그림 9. CAN 기반결선비교 Fig. 9. Example of CAN based connection. 3.2 로봇플랫폼모델구성로봇플랫폼은외부세계를인식하는센서모듈과로봇의동작을수행하는엑츄에이터모듈로구성된다. 그림 10 에로봇플랫폼모델의구성도예를제시하였다. 그림 7. CAN Frame 구조 ( 기본 ID) Fig. 7. CAN frame structure (Standard ID). CAN 은 ID 의처리과정에서메시지의전송우선순위가결정된다. 우선순위가높은장치에서우선적으로버스를장악하게된다. 통신이동시에일어날경우 ID 를디코딩하는과정중에 Logic 0 가먼저나타나는 ID 측의통신이수용된다. 따라서 ID 값이낮은메시지가높은우선순위를가지게된다. 그림 8 은확장 ID 기반의 CAN frame 구조를나타내고 그림 10. 로봇플랫폼모델의구성도 Fig. 10. Block diagram of robot platform model. 본연구에서는 CAN 인터페이스를기본통신방식으로적용한로봇부품을사용하였다. 각모듈은 CAN 통신 Message Frame 을통해거리정보및인지정보에대한데이터를전달하고, 제어기의지령에따라지령데이터가 CAN Message Frame 을통해모터드라이버로전송된다. 300
서비스로봇을위한 CAN 기반의지능형부품통합로봇플랫폼모델 4. CAN 기반의지능형로봇부품 4.1 CAN 센서모듈인터페이스센서모듈은그종류가다양하고, 로봇을제작하는데있어필수적인구성요소의하나이다. 이러한센서에는 PSD(Position Sensitive Device), 초음파거리센서, Hall 센서, 가속도 / 각가속도센서등이있다. PSD 센서는적외선을이용하여광 - 비접촉식으로, 거리를측정하는센서이다. 거리를측정하기위한대상물에적외선을반사시켜 Position Sensitive Detector 에입사시키고, 그입사각의크기에따라아날로그전압값을얻어낼수있다. 이아날로그값을 A/D 변환기를통해변환하여수치화한다. 초음파거리센서는초음파의 TOF 시간을측정하여거리를측정하고거리를수치화한다. 이렇게수치화된거리값은 CAN 통신프로토콜을통해마스터장치로전송하게된다. Hall 센서는로봇의경로를바닥의자장물질을통해인식하고자장물질에대한궤적 Data 를 CAN 통신프로토콜을통해마스터로전송한다. Hall 센서를위한모니터링프로그램개발예를그림 11 에제시하였다. 그림 13. Sensor 응답메시지구조 Fig. 13. Structure of sensor response message. 그림 14 는센서의응답메시지값의예를제시하였고, 그림 15 는센서데이터의요청순서를보여주고있다. 그림 14. Sensor 응답메시지값 Fig. 14. Value of sensor response message. 그림 11. Hall 센서모니터링프로그램 Fig. 11. Monitoring program for Hall sensors. 가속도 / 각가속도센서는로봇의자세를인식하여해당데이터를마스터장치로전송한다. 각센서와통신은기본적으로 CAN 의 RTR(Remote Transmission Request) 를통해이루어진다. 마스터장치에서해당장치 ID 를 RTR Message Frame 에실어서슬레이브장치로전송하면, 해당 ID 의슬레이브장치는관련데이터를데이터프레임에실어서마스터장치로전송하게된다. 그림 12 및 13 에각각센서데이터의요청메시지구조와응답메시지구조를제시하였다. 그림 15. Sensor 데이터요청순서 Fig. 15. Sequence of sensor data request. 그림 12. Sensor 데이터요청메시지의구조 Fig. 12. Structure of remote sensor data transmission request message. 그림 16. 엑츄에이터제어통신순서 Fig. 16. Actuator control communication sequence 301
Journal of Korean Institute of Intelligent Systems, Vol. 23, No. 4, August 2013 4.2 CAN 엑츄에이터모듈인터페이스로봇의엑츄에이터모듈은모터드라이버와릴레이구동드라이버등을들수있다. 여기서는 BLDC 모터제어모듈을구성하였다. 엑츄에이터모듈은마스터장치가제어하고자하는데이터를 CAN 프로토콜을통해해당엑츄에이터장치로보내고각엑츄에이터는수신받은데이터를기반으로동작을출력하게된다. 엑츄에이터동작의경우제어를위해전송되어야하는파라미터의양이비교적많은편이다. 따라서센서에대한데이터요청방식과다른형태의통신구조와순서가필요하다. 그림 17 에엑츄에이터제어를위한 CAN ID 의구성예를제시하였다. CAN ID 는제어를위한기능코드와장치주소를나타내는 ID 를합성하여구성한다. 랫품으로통합한다. 상위제어기와 CAN Bus 는통신 Protocol 을변환하여주는 USBtoCAN Middleware 를사용하여구성하였다. 그림 20 는본연구에서구성한로봇플랫폼을도서관의도서관리를보조하고도서관의도서안내를수행, 보조하는사서보조용로봇으로구성한예를보여주고있다. 그림 17. 엑츄에이터제어를위한 CAN ID 구성 Fig. 17. Configuration of the CAN ID for actuator control. CAN ID 의기능코드와장치주소의예는그림 18 과같다. 그림 18. 엑츄에이터제어를기능코드와장치주소 Fig. 18. Function code and device ID for actuator control. 기능코드는데이터를설정하기위한 Set Command, 데이터를읽어내기위한 Get Command, 그리고응답을위한 Response 로구성된다. 장치내의내부데이터를읽어들이기위해서는장치내의메모리맵에대한주소를지정해야한다. 엑츄에이터제어를위한 CAN 메시지프레임을그림 19 에제시하였다. 그림 20. 제안한로봇플랫폼모델이적용된사서보조용로봇 Fig. 20. Proposed platform based robot. 사서보조용로봇은먼저스마트 PSD 거리측정센서와스마트초음파거리측정센서를통해로봇이이동하는궤적상의장애물을인식한다. 스마트홀센서를통해바닥의자기장경로를인식하여로봇의이동경로를계획하고, 원하는위치로이동하게된다. 또한 Stargazer 위치측위센서를통해보조적으로로봇의공간적위치를인식하여로봇의경로계획에활용한다. 로봇의엑츄에이터는스마트 BLDC 모터제어기를사용하여 BLDC 2 기를속도제어하여로봇을구동하도록하였다. 그림 19. 엑츄에이터제어를위한 CAN 메시지프레임 Fig. 19. CAN message frame for actuator control 엑츄에이터를동작시키기위해서는엑츄에이터슬레이브장치로동작모드, 동작파라미터, 동작시작명령을전송하는과정을거친다. 정상적인동작은 Running 상태를확인하는명령을전송하고그응답을통하여확인한다. 4.3 CAN 통신을통한지능형로봇부품통합여기서는센서, 엑츄에이터, 주로봇제어보드, 상위제어기등의지능형로봇부품들을 CAN 통신을통해로봇플 그림 21. 적용된로봇플랫폼모델의구성 Fig. 21 Configuration of the proposed robot platform model. 302
서비스로봇을위한 CAN 기반의지능형부품통합로봇플랫폼모델 사서보조용로봇은대기모드및안내모드에서는도서관사용자가로봇을통해도서검색및위치안내서비스를이용할수있으며, 도서배치현황파악모드에서는야간또는도서관휴관시도서관내를이동하며, 도서에부착된 RFID 태그를이용하여잘못배치된도서의위치등도서의현황을파악하여도서관리의보조적인역할을수행한다. 센서를통해거리정보를인식하고미들웨어를통해상위제어기로해당정보를전송한다. 이때상위제어기는현재의동작상황을판단하여, 로봇이이동할것인지아니면안내관련서비스를수행할것인지를결정한다. 이렇게결정된로봇의동작정책은다시미들웨어를통해로봇의주제어기로지령을내려보낸다. 로봇의주제어기는전달받은지령에따라홀센서를통해이동경로를파악하고, 엑츄에이터로구동명령을전달한다. 엑츄에이터는 CAN 버스를통해전달받은구동명령을수행하여로봇을구동하게된다. 5. 결론 지능형로봇의개발이활성화되면서로봇플랫폼의구성을간편하고유연하게할수있는표준인터페이스의필요성이높아지고있다. 본연구에서는자동차용지능형부품을통합하기위해제안되었던 CAN 버스를로봇플랫폼에도입하여사서보조로봇의로봇플랫폼을구성하였다. 기존의주제어기또는보조제어기상에서각센서와엑츄에이터를제어하는문어발식결선과비교하였을때, 본로봇플랫폼구조는단순한구조를가지면서, 로봇구성을손쉽게수행할수있었다. 또한변경사항이발생하였을경우, 기능에대한변경또는센서및엑츄에이터교체에있어서유연하게대응할수있는장점을확인할수있었다. 그리고로봇의상위서비스애플리케이션을개발하는과정에서비스개발자는개별센서또는엑츄에이터제어에대해세부적인내용에대한파악이필요하지않았으며, 동작에필요한기본적인프로토콜지침만을참조하여비교적빠른개발과정을수행할수있음을확인할수있었다. CAN 기반의로봇플랫폼구성을통하여여러형태의서비스로봇플랫폼에대한유연한적용이가능함을제시하였다. 향후로봇플랫폼내부 CAN 프로토콜의개방과확장을위해 Middleware 에대한연구가더진행되어야하며, 여러표준소프트웨어플랫폼, URC 서비스등과의인터페이스를위한표준프로토콜과통신토폴로지에관한지속적인연구가요구된다. References [1] S.S Hong, OMG Robotics Domain Task Force.", TTA Journal, 2006. 8. [2] H.J. Kim and H.S. Yoon, Motor and Sensor Technology for Intelligent Robots, Electronics and Telecommunications Trends, vol.22, no.2, 2007. 4. [3] Chang Seong Song, Design of Wireless Robot-PNP for Intelligent Service Robots, Master's Thesis, KAIST, 2008. [4] W.P. Yu et al., Robot Navigation Technology and Its Standardization Trends, Electronics and Telecommunications Trends, vol.26, no.6, 2011. 12. [5] S. Jankovic, D. Kleut, I.Blagojevie, V. Petrovie, V.Sinik "Controller Area Network Based Monitoring of Vehicle's Mechatronics System", IEEE 9 th international Symposium on Intelligent System and Informatics, Sep 8-10, 2011. [6] Sun-Ku Kwon et al., Implementation of Real-Time Communication in CAN for Humanoid Robot, Proceedings of CISC 05, 2005. [7] Sung Ho Im et al., A Design for URC Robot S/W Platform, Proceedings of CISC 05, 2005. [8] Byung-Ryuel Park et al., Implementation of an Interface Unit for Analysis of a CAN-Based Control System, Sym. for Information and Control, 2005. [9] Woong-Keun Hyun, A development of H/W and S/W platform of remote controllable agricultural robot based on XP embedded system, Journal of The Korea Institute of Electronic Communication, vol.7, no.5, 2012.7. [10] Kyoung Chul Kim et al., Development of Four-Wheel Independent Steering Driving Platform for Agricultural Robot, Journal of the Korean Society of Precision Engineering, vol.28, no.8, 2011. [11] Se-Han Lee and Sang-Yong Rhee, "Development of a Moving Platform for a Upright Running Mobile Robot Based on an Inverted Pendulum Mechanism", Journal of Korea Institute of Intelligent and Systems, vol.22, no.5, 2012. 10. 저자소개 곽상필 (Sangfeel Kwak) 2003년 : 대구대학교제어계측공학과공학사 2005년 : 대구대학교공학석사 2005년 2008년 : ( 주 ) 아진엑스텍연구원 2010년 2011년 : ( 주 ) 엘레시스책임연구원연구소장대리 2012년 현재 : 대구대학교전자공학과박사과정관심분야 : 지능시스템, 인공지능, 임베디드시스템, 기계시각 Phone : +82-10-4536-8008 E-mail : kfeelsismine@gmail.com 최병재 (Byung-Jae Choi) 1987년 : 경북대학교전자공학과공학사 1989년 : 한국과학기술원자력공학과공학석사 1998년 : 한국과학기술원전기전자공학과공학박사 1999년~현재 : 대구대학교전자전기공학부교수관심분야 : 지능제어및시스템, 인공지능이론및응용 Phone : +82-53-850-6633 E-mail : bjchoi@daegu.ac.kr 303