Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1975-6291(Print)
ISSN : 2287-3961(Online)
Journal of Korea Robotics Society Vol.12 No.3 pp.306-312
DOI : https://doi.org/10.7746/jkros.2017.12.3.306

New Media Content Platform using 6 –DOF Industrial Robot and 3D Game Engine

Beomyeong Park1, Jimin Lee1, Kyungsik Park2, Sangyup Lee2, Eunkyu Lee3, Jaeheung Park
1Graduate School of Convergence Science and Technology, Seoul National University
(, )

2Wonik-Robotics Cooperation
(, )

3Sangwha Cooperation
()
Corresponding author: Graduate School of Convergence Science and Technology, Seoul National University, Seoul, Korea, and Advanced Institutes of Convergence Technology, Republic of Korea (park73@snu.ac.kr)
20170216 20170508 20170601

Abstract

Recently, development of robot technology has been actively investigated that industrial robots are used in various other fields. However, the interface of the industrial robot is limited to the planned and manipulated path according to the target point and reaching time of the robot arm. Thus, it is not easy to create or change the various paths of the robot arm in other applications, and it is not easy to control the robot so that the robot arm passes the specific point precisely at the desired time during the course of the path. In order to overcome these limitations, this paper proposes a new-media content management platform that can manipulate 6 DOF industrial robot arm using 3D game engine. In this platform, the user can directly generate the motion of the robot arm in the UI based on the 3D game engine, and can drive the robot in real time with the generated motion. The proposed platform was verified using 3D game engine Unity3D and KUKA KR-120 robot.


6축 산업용 로봇 팔과 3D 게임 엔진을 결합한 뉴 미디어 콘텐츠 운용 플랫폼

박 범 영1, 이 지 민1, 박 경 식2, 이 상 엽2, 이 은 규3, 박 재 흥

초록


    1.서 론

    제조용 로봇은 1960년대 초반부터 제조현장에서 활용 되기 시작하여 오늘날 자동차, 반도체, 전기전자 등 다양 한 산업 현장에서 쉽게 찾아 볼 수 있을 정도로 보편화 되었다. 다자유도 로봇 팔은 움직임에 있어서 정확성, 신뢰성, 내구성, 범용성을 확보하고 있어 산업 현장에서 널리 쓰이고 있다. 기존 산업현장에서 주로 사용되던 로 봇 팔은, 안전성의 이유로, 펜스와 같은 장치들을 통해 사람과의 접촉이 단절 된 상태로 작업을 진행하였다. 하 지만 현재는 인간과 로봇간 협동작업을 위한 연구가 많 이 진행되고 있어, 같은 작업 공간 안이더라도 사람과 따로 작업하던 모습에서 벗어나, 같은 공간 안에서 사람 과 함께 작업 하는 단계로 나아가고 있다[1,2].

    이러한 로봇과 사람과의 협업에 대한 연구가 진행됨 에 따라, 공장용으로 제조된 로봇 팔이 공장이 아닌 의 료, 공연, 영화, 놀이공원, 호텔 서비스 및 요리 등 다양한 분야에서 활용되고 있다[3-6]. 최근에는 다수의 미디어와 기술이 복합적으로 사용되는 디지털 뉴미디어 시장과 특수촬영 현장에서 로봇 팔을 접목시키는 시도가 이루 어지고 있다[7].

    공장에서 사용되는 로봇은 정해진 생산공정 내에서 미리 입력되어 있는 경로를 따라 움직이며 반복적인 작 업을 하게 된다. 입력된 동작을 반복하여 수행하는 공장 용 로봇의 모션 입력방식은 공장 내 공정에서의 정해진 임무를 수행함에 있어서는 장점이 되지만, 카메라를 로 봇 팔에 부착하여 촬영에 활용하는 것과 같이 로봇을 상황에 따라 다양한 모션으로 구동할 때는 제한이 된다.

    로봇 팔을 이용한 뉴 미디어 콘텐츠 운용에서는 조작 자의 의도에 맞는 다양한 경로 생성이 중요한 쟁점이다. 공장용 로봇의 경로 생성 방식은 시작 지점과 최종 도착 지점, 그리고 도착 지점까지의 도달 시간을 설정하면, 내부 경로 생성 알고리즘에 따라 경로가 생성된다. 이러 한 경로 생성 방식은 최종 도달 목표 위치를 정확하게 추종해야 하는 공장 내에서의 목표에는 적절하다. 그러 나 뉴미디어 콘텐츠에서는 로봇 팔이 최종 목표 지점에 정확하게 도달하는 것뿐만 아니라 로봇 팔이 경로를 따 라 움직일 때, 원하는 시간에 원하는 위치를 정확하게 지나가는 것 또한 중요하다. 따라서 로봇 팔의 경로가 시간에 맞추어 생성되고 수정되어야 할 필요가 있다.

    본 논문에서는 로봇 팔의 실시간 경로 생성 및 제어를 위한 플랫폼을 제안하고자 한다. 이때, 실시간 경로 생성 및 제어는 User Interface (UI)와 로봇(시뮬레이션 모델 / 실제 로봇)간 동시간대에 조작(경로생성 및 수정)이 이 루어지는 것을 의미한다. UI는 로봇에 대해 비전문가도 다루기 용이한 3D 엔진인 Unity3D에서 구현하였고, 해 당 UI에서 로봇팔의 경로 생성 및 수정을 사용자가 미리 확인 할 수 있는 기능도 포함되어 있다.

    본 논문에서는 제안한 플랫폼에 대해 기술하고자 한 다. 2장에서는 플랫폼의 구조를 설명하고, 3장에서는 사 용자가 명령을 내리는 인터페이스에 대해 설명한다. 4장 에서는 생성된 경로를 추종할 수 있게 로봇 팔을 제어하 기 위한 역기구학 엔진을 설명하고, 5장에서는 Bridge Software에 대해 기술한다. 6장에서는 플랫폼을 실제 로 봇으로 실험한 내용을 기술하고, 7장에서는 결론으로 마 무리를 짓는다.

    2.플랫폼 구조

    플랫폼은 크게 3부분으로 구성되어 있다. 사용자가 로 봇 팔의 이동 경로를 입력하고 시뮬레이션을 할 수 있는 UI (User Interface) tool, 실제로 구동되는 로봇 그리고 UI tool 과 Robot 사이에서 데이터 송·수신을 도와주는 Bridge SW (Software)로 구성되어 있다.

    UI tool에서 경로 생성을 통해 로봇 팔 끝 단의 위치와 방향(Orientation)을 획득하고, 역기구학해석을 통해 로 봇의 목표 관절 각 θd가 생성된다. 생성된 θd는 TCP/IP 통신을 통해 Bridge SW로 송신되어 로봇에 전송되기 위한 프로토콜로 변환된다. KUKA Robot Language (KRL)와 KUKA Robot Sensor Interface (RSI)은 Bridge SW와 로봇 사이에서 통신 역할을 한다. KRL은 KUKA 로봇의 기본 제어명령어로, 다양한 명령이 가능하지만 실시간성을 보장하기 어렵다. 이에 본 플랫폼에서는 KRL의 기능 중, 로봇과의 연결 상태 확인, 비상시 긴급 정지, 로봇 팔의 초기 자세 설정 기능을 사용하였다. RSI 는 로봇에 사용되는 센서들(힘-토크 센서, 엔코더 등)과 로봇 제어기 간 데이터를 주고받으며 실시간으로 로봇 의 움직임을 수정할 수 있게 해주는 인터페이스이다. 본 플랫폼에서는 RSI를 통하여, Bridge SW에서 실시간으로 입력 받은 목표 관절 값을 로봇에게 전달하는 목적으로 사용한다.

    또한 로봇의 상태정보를 UI tool로 전달하는 data의 흐름이 존재한다. 로봇의 동작 여부와 현재 관절 값을 KRL과 RSI를 통해 Bridge SW로 보내면, Bridge SW에 서는 UI tool에서 표현할 수 있는 형태로 데이터를 변환 하여, TCP/IP통신을 통해 UI tool로 전송한다.

    3.User Interface Tool

    Unity3D는 Unity Technologies사에서 개발한 3D 게임 엔진이자 통합개발환경(Integrated Development Environment, IDE)로 오픈소스 플랫폼이다[8]. Unity3D를 기 반으로 개발된 UI tool은 로봇 팔의 경로 생성을 용이하 게 하기 위하여 Unity3D 플랫폼의 키프레임 기능을 사 용하였다. UI에서 역기구학 엔진의 해를 로봇의 3D모델 과 연결하여, 사용자가 생성한 경로를 로봇 팔이 추종하 는 것을 확인 할 수 있게 하였다. Fig. 1의 UI tool의 로봇 상태 모니터링에서는 로봇 팔 말단지점의 경로 지점이 선택되면, 선택된 경로 지점을 연결하도록 생성된 경로 를 확인할 수 있다. UI는 생성된 로봇 팔의 경로가 키 프레임을 기준으로 미세 조정될 수 있는 인터페이스를 제공한다. 생성된 로봇 팔 경로의 경유 지점들 사이의 시간 간격을 조절함으로 로봇 팔의 이동 경로의 속도를 쉽게 조절 할 수 있다. 그리고 경로를 따라 움직이는 로 봇 팔의 모습을 UI를 통해 확인 할 수 있다. 또한 로봇상태 설정에서는 사용할 로봇 모델 선택, 사용중인 로봇의 각 축의 현재 관절 정보와, 생성할 경로의 중간지점들의 위 치와 방향, 그리고 역기구학 솔루션의 타입을 결정한다.

    UI tool에서 생성된 로봇 팔의 경로를 로봇이 추종하 기 위해 역기구학은 로봇의 목표 관절 값을 얻어 내며, 획득한 목표 관절 값은 Bridge SW를 통해 로봇으로 전 송된다.

    4.역기구학 엔진

    본 장에서는 UI tool에서 호출되는 역기구학 엔진의 해석방법과, 그 구조에 대해 설명한다.

    4.1.왼손 좌표계기반의 역기구학

    UI tool의 플랫폼으로 사용된 Unity3D는 왼손 좌표계 를 사용하지만, 로봇 분야에서는 오른손 좌표계를 주로 사용한다. 오른손 좌표계 기반의 역기구학을 사용하기 위하여 UI tool에서 입력된 왼손 좌표계 기반의 로봇 팔 끝 단의 정보를 오른손 좌표계로 변환하는 것 대신 KUKA 로봇의 역기구학을 왼손 좌표계를 기준으로 계 산하여 왼손-오른손 좌표계를 변환하는 과정을 생략하 였다. Unity3D에서 로봇 팔 끝 단의 위치와 방향은 P = ( p x , p y , p z ) R 3 , q = ( w , q x , q y , q z ) R 4 로 입력된다. 사 용하는 KUKA 로봇의 4, 5, 6번 축이 한 지점에서 교차 하므로, 위치 역기구학과,방향 역기구학으로 나누어 풀 수 있다[9-11]. 위치-역기구학을 통해서는 총 4가지의 로봇 자세에 대한 해를 얻을 수 있고, 방향–역기구학을 통해 서 로봇 팔 말단의 2가지 자세를 얻을 수 있다. 위치-역기 구학과 방향-역기구학을 통해 총 8가지의 해를 구할 수 있으며, UI Tool에서 는 위치-역기구학을 통해 얻은 서 로 다른 4가지 형태 중 한가지 자세를 조작자가 선택하 여 사용할 수 있다. 왼손 좌표계에서 표현된 로봇의 각 관절의 좌표계는 Fig. 2와 같다.

    4.2.역기구학 엔진 구조

    Fig. 3은 역기구학 엔진이 동작하는 순서를 설명한다. 역기구학 엔진은 우선 역기구학으로 계산할 모델의 정 보를 먼저 입력 받는다. 입력된 모델 정보로부터, 각 로 봇 모델의 링크 길이와 관절 제한 값이 역기구학 엔진에 서 사용된다. 역기구학 엔진에서는 사용자가 선택한 자 세가 결정되고 난 후, 위치 입력 값이 로봇 팔이 가동 가능한 공간내의 유효한 입력인지를 확인한다. 이동이 가능한 입력인 경우, 역기구학 해가 생성되고, 생성된 역기구학 해는 관절 제한 값 초과여부를 확인 한 후 결과 값으로 출력된다. 위치 입력 값이 작업공간 내의 유효한 입력이 아니거나, 역기구학 해가 관절 제한 값을 초과하 는 경우에는 해가 없는 경우로 로봇은 현재 관절 값을 유지하도록 한다.

    5.Bridge Software

    Fig. 4를 보면, Bridge SW는 UI Tool과 산업용 로봇제 어기 사이에서 실시간 제어를 위해 데이터를 송·수신 하 는 역할을 한다. Bridge SW는 로봇과의 통신을 위하여 두 가지 통신라인(TCP/IP, UDP)로 연결이 되어 있다. TCP/IP통신은 로봇의 KRL (KUKA Robot Language)와 연결되며, 로봇의 상태와 초기 설정에 관한 정보가 송·수 신된다. UDP 통신은 로봇의 RSI (Robot Sensor Interface) 와 연결되어 있으며, 로봇의 실제적인 제어를 관장 하는 정보가 송·수신된다. 전체 통신 시스템은 RSI제어 주기인 12 ms에 맞추어 데이터를 송·수신하며, Bridge SW에서 UI tool로부터 입력 값을 받지 못할 경우, 제어 주기를 유지하기 위하여, 이전 데이터를 재송신한다.

    KRL은 KUKA로봇에 사용되는 기본적인 로봇 제어기 로 로봇 끝 단의 목표 위치를 입력하면, 현재 위치로부터 입력된 목표 위치까지 생성된 경로를 로봇 팔이 추종할 수 있는 인터페이스를 제공한다. 하지만, 실시간으로 사 용자가 원하는 로봇의 목표 관절 값을 반영할 수 없기 때문에 로봇의 초기 자세 설정과 로봇의 상태를 확인하 는 용도로 사용하였다. 본 연구에서 강조하는 실시간 제 어를 위해서 RSI를 KRL과 병행하여 사용하였다. RSI는 로봇의 센서들과 로봇 제어기사이의 데이터를 교환해주 는데 사용되는 인터페이스인데, 사용되는 예로는 로봇 팔에 부착되어 있는 힘-토크 센서를 사용하여 실시간으 로 로봇 팔 끝 단의 위치를 수정하여, 로봇을 제어하는데 사용된다. 본 논문에서는 RSI가 센서의 데이터를 실시간 으로 읽어오는 기능이 아닌, 로봇 팔의 목표지점을 실시 간으로 수정할 수 있는 기능을 이용하여, UI tool로부터 받은 로봇의 관절 값을 로봇에 실시간으로 입력하는 것 을 가능하게 했다.

    5.1.UI tool과 Bridge SW사이의 데이터 송·수신

    Bridge SW는 UI tool과 로봇 사이에서 데이터를 송·수 신해주는 허브 역할을 한다. Bridge SW와 UI tool은 TCP/IP로 연결되어 있으며, Bridge SW가 Server로 UI tool이 Client로 구성되어 있다. UI tool에서 Bridge SW 로 역기구학 해로 나온 관절 값을 보내주며, Bridge SW 에서 UI tool로는 로봇의 상태(준비, 동작 중, 동작 완료 등)을 송신한다.

    5.2.Bridge SW와 로봇 사이의 데이터 송·수신

    Bridge SW와 로봇 제어기 사이에서는 KRL을 위한 TCP/IP 통신과 RSI를 위한 UDP통신이 존재한다. KRL 은 로봇의 동작과 관련된 기본적인 제어를 담당하는데, 데이터 송·수신을 통해서 로봇의 초기 설정 상태를 관장 한다. 로봇은 Bridge SW로부터 초기 관절위치 설정 및 관절 구동모드(절대/상대)를 수신하며, Bridge SW는 로 봇으로부터 로봇의 현재 상태를 수신한다.

    RSI를 이용한 통신은 로봇의 실시간 제어를 위한 데이 터 송·수신을 가능하게 한다. 로봇은 UDP통신을 통하여 RSI의 Start/Stop 신호를 수신하고, 로봇의 목표 관절 값 을 수신하여 로봇의 관절 값을 실시간으로 제어한다. Bridge SW는 UDP통신을 통하여 로봇의 현재 관절 값과 Tool tip의 위치/방향값을 받게 된다. 로봇의 안정성을 위하여, Bridge SW와 로봇 사이의 통신주기가 12 ms 를 초과하면, 타임아웃에 의하여 프로세스가 중단된다. 또한 Bridge SW로부터 전송 받은 로봇의 목표 관절 값 이 12 ms 안에 제한된 관절속도 값으로 도달 할 수 없는 경우, 로봇관절에 break명령을 하달하여 동작을 멈춤으 로써 안정성을 유지한다.

    6.실 험

    본 논문에서 제시한 플랫폼은 한국정보통신기술협회 (Telecommunications Technology Association : TTA)의 성능 분 석 시험 방법에 따라 실험을 진행하였다[12]. 실험 에는 KUKA에서 제조한 KR-120모델의 6축 산업용 로 봇 팔을 사용하였다. 역기구학 엔진의 성능과, 플랫폼의 실시간 제어성능을 확인하기 위해, UI tool에서 10초에 5개의 지점을 움직이는 경로를 12 ms단위로 생성 한 후, 역기구학 엔진을 통해 얻어낸 목표 관절 값을 로봇으로 전송하여 Fig. 5와 같이 로봇 팔이 생성된 오각형 형태의 경로를 추종하였다.

    추종 위치 정밀도와 시간정확도로 검증하였고, 실험 결과는 Table 1과 Table 2에서 확인할 수 있다. 위치 정밀 도는 실제 로봇이 경로를 따라 1회 움직이며 기록된 5개 경로 지점의 좌표 값(P)과 UI tool을 통해 생성된 경로의 좌표 값들(P′)의 유클리드 거리를 사용하여 구한 위치오 차(‖P-P′‖)를 통해 검증하였으며, 평균 오차는 3.66 mm임을 확인하였다. P는 실제 로봇의 좌표, P′는 시뮬 레이션의 입력좌표이다. 시간 정확도는 로봇 팔이 움직 이도록 입력된 경로를 통과한 실제 시간을 측정한 후, 입력 기준 시간인 10초와의 오차를 비교하였고, 경로 추 정 시간 오차는 평균 20.05 ms임을 확인하였다.

    7.결 론

    본 연구에서는 산업용 로봇과 3D 게임 엔진을 접목하 여, 새로운 뉴미디어에서 활용 가능한 플랫폼을 제시하 였다. 플랫폼의 UI tool은 3D 게임 엔진인 Unity3D를 통해 구현되었다. UI tool은 키 프레임을 이용하여 경로 지점들의 시간 간격을 설정함으로, 로봇 팔의 경로를 시 간에 맞추어 실시간으로 생성하거나 조정할 수 있다. UI tool 내부에서 사용되는 역기구학은 Unity3D와 동일한 왼손 좌표계를 사용하여 구현하였다. Bridge SW는 실시 간 제어를 위해 로봇과 UI tool간의 데이터 송·수신을 위한 허브 역할을 감당한다. Bridge SW는 UI tool로부터 역기구학의 해를 수신하여 로봇으로 전송하고, 로봇의 상태를 수신하여 UI tool에서 나타낼 수 있게 전송한다. KUKA 로봇과 Bridge SW는 RSI와 KRL을 활용하여 12 ms의 주기로 로봇을 실시간으로 제어하고 로봇의 상태 를 읽어 올 수 있게 하였다. 제안한 플랫폼은 전문 기관 의 인증 방법에 기인하여 실제 로봇을 사용한 실험을 통해 위치 정밀도와 시간 정확도의 성능을 검증하였다.

    본 논문에서 제안하는 플랫폼은 실시간으로 경로를 생성 할 수 있고, 로봇을 제어할 수 있는 장점이 있다. 또한 제시한 플랫폼은 다양한 경로를 시간 기반으로 생 성하고 제어할 수 있으므로, 뉴 미디어 콘텐츠 분야에서 의 활용이 기대된다.

    Figure

    JKROS-12-306_F1.gif
    Platform structure: UI Tool, Bridge Software and Robot
    JKROS-12-306_F2.gif
    The joint coordinate information of the KUKA KR 16-2[5]
    JKROS-12-306_F3.gif
    Structure of an inverse kinematic engine
    JKROS-12-306_F4.gif
    Data transmission and reception between UI Tool and robot through the Bridge SW
    JKROS-12-306_F5.gif
    Pentagonal path - following experiment of KUKA robot KR-120

    Table

    Position error average of robot and simulation
    Time error of robot and simulation

    Reference

    1. Alami R. , Clodic A. , Montreuil V. , Sisbot E.A. , Chatila R. (2005) Task planning for human-robot interaction , Joint Conference on Smart Objects and Ambient Intelligence: Innovative Context-aware Services: Usages and Technologies, ; pp.81-85
    2. Mainprice J. , Berenson D. (2005) Human-robot collaborative manipulation planning using early prediction of human motion , IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), ; pp.299-306
    3. Saadat M. , Nan P. (2002) “Industrial applications of automatic manipulation of flexible materials”, Industrial Robot , Int. J, Vol.29 (5) ; pp.434-442
    4. Chua P.Y. , Ilschner T. , Caldwell D.G. (2003) Robotic manipulation of food products - a review , Industrial Robot : An International Journal, Vol.30 (4) ; pp.345-354
    5. Centai C. , Borroni G. , Cevasco L. , Parazzoli D. , Danesi M. (2011) An innovative methodology for laser scanner integration in a robot cell for small batch production of sculpture artworks,
    6. Schwartz M. , Prasad J. (2013) RoboSculpt, Springer Vienna, ; pp.23-237
    7. Heindl J. , Otter M. , Hirschmller H. (2005) The robocoaster as simulation platform-Experiences from the first authentic mars flight simulation ,
    8. (2017) Unity 3D , [Online], https://unity3d.com/kr/, Accessed: Februray 15, 2017
    9. Dahari M. , Tans J-D. (2011) Forward and inverse kinematics model for robotic welding process using KR-16KS KUKA robot , IEEE International Conference on Modeling, Simulation and Applied Optimization, ; pp.1-6
    10. Spong M.W. , Hutchinson S. , Vidyasagar M. (2006) Robot modeling and control, John Wiley & Sons,
    11. Frederic C. , Bidaud P. (2004) Closed form solutions for inverse kinematics approximation of general 6R manipulators , Mechanism Mach. Theory, Vol.39 (3) ; pp.323-338
    12. Telecommunications Technology Association[Online], http://www.tta.or.kr/, Accessed February 15, 2017

    저자소개

    • 박 범 영 (Beomyeong Park)
    • 2013 건국대학교 기계공학과(공학사)
    • 2014~현재 서울대학교 융합과학기술대학
    • 원 지능형 융합시스템 전공 석·박사 통합과정
    • 관심분야: Manipulation, Motion planning, Humanoid robot control

    • 이 지 민 (Jimin Lee)
    • 2011 경희대학교 의료공학과(공학사)
    • 2012~현재 서울대학교 융합과학기술대학
    • 원 지능형 융합시스템 전공 석·박사 통합과정
    • 관심분야: Manipulation, Robot navigation, Robot vision

    • 박 경 식 (Kyungsik Park)
    • 2010 포항공과대학교 전기전자컴퓨터전공 (학사)
    • 2012 서울대학교 공과대학원 지능 및 로보틱스 시스템 전공(석사)
    • 2016~현재 (주)원익 로보틱스
    • 관심분야: Mobile/Arm Robot, Vision SLAM, Machine Learning, Artistic Robot Application

    • 이 상 엽 (Sangyup Lee)
    • 1999 서울대학교 전기공학부(공학사)
    • 2008 포항공과대학 기계공학과(석사)
    • 2005~현재 (주)원익 로보틱스 연구개발팀장
    • 관심분야: Robot software framework

    • 이 은 규 (Eunkyu Lee)
    • 2004 성균관대학교 시각디자인(학사)
    • 2007~현재 (주)상화 최고기술책임(CTO) 역임 중
    • 2010~현재 홍익대학교 뉴미디어 석사과정
    • 2012~현재 상화융합미디어연구소장
    • 관심분야: 퓨쳐미디어, 가상/증강현실, 로보틱스

    • 박 재 흥 (Jaeheung Park)
    • 1995 서울대학교 항공우주공학과(공학사)
    • 1999 서울대학교 항공우주공학과(공학석사)
    • 2006 Stanford University, Department of Aeronautics & Astronautics(공학박사)
    • 2009~현재 서울대학교 융합과학기술대학 원 지능형융합시스템 전공 교수
    • 관심분야: Robot-environment Interaction, Contact Force Control, Multi Contact Control, Whole-body Dynamic Control, Bio-mechanics
    오늘하루 팝업창 안보기 닫기