Design and implementation of industrial robot controllers

Gyoung H. Kim, Ph.D. (E-mail: gyounghkim@open-robotics.com)

저자는 국내외의 산업용 로봇, 수중 로봇, 의료 로봇, 반도체 로봇의 controller 및 software 개발에 참여한 바 있으며, 국내 산업용 로봇 개발의 초창기부터 현재에 이르기까지 다소 긴 기간 (30년)에 걸쳐 산업용 로봇에 대해 생각해 볼 기회가 많았던 engineer라 할 수 있다. 저자가 산업용 로봇 분야에 참여하면서 가졌던 기술적 의문점에 대한 해답이나 생각해 온 개발 방향에 대해, 시간이 날 때마다 memo 해 본 것들을 보고서의 형식으로 편집하여 보았다. 본 보고서를 통해 기존의 주요 연구 및 개발 결과와 저자의 관점에서 본 제어기의 개발 방향 및 방법을 소개함으로써, 실제 산업용 로봇 제어기의 개발 시 당면하는 많은 기술적 문제에 그 해답을 제시하고자 한다.

For over 30 years, I have been actively involved in the development of robot controllers for medical robots, underwater robot, and various industrial robots including  XYZ rectangular (Cartesian) robots, SCARA robots, LCD transfer robots, wafer transfer robots,and  sealing robots.

Believe it or not, I still design the hardware and write the software of industrial robot controllers as an engineer.  While working with other engineers,  I watched them “invent” their own robot controllers from scratch. I know why they should develop robot controllers in that way. I was in the same situation 30 years ago; I could not find any information on  “real” robot controllers, not the robot controllers that existed only on research papers.

To develop industrial robot controllers, I had to solve so many practical problems everyday. Recently I started to write down those problems and solutions in form of a technical report. My  report is not a textbook on robotics.  It is filled with all kind of  know-hows and  must-knows, which are needed for  designing  and implementing industrial robot controllers.

What is the FDA 510(k) clearance for surgical robots ?

Several surgical robots get the FDA 510(k) clearance, which means they are proven to be equivalent to the already-approved surgical techniques.

Here is a story behind the FDA approval.  ISS could not get through  FDA approval procedures because they claimed their surgical robot, robodoc, used a new kind of surgical techniques. They changed their claim and applied for the FDA 510(k). Finally,  they got the FDA approval.   The FDA 510(k) document of the robodoc can be found at the following link: 

http://www.accessdata.fda.gov/cdrh_docs/pdf7/K072629.pdf

Since the robodoc succeeded in getting the FDA 510(k), other surgical robots including da Vinci  have followed the FDA 510(k) approval path.

What is the inconvenient truth that medical robot companies and hospitals will never tell you ?

Do you really want to know this ? 

Please go to the  FDA web page and look at the FDA approval documents of  medical robots.

Informally speaking,  FDA approval is given to the specific-application of a medical robot, not the medical robot itself. That means if a hospital buys a medical robot and does whatever-we-want  surgeries, it violates FDA regulations.

산업용 로봇의 trajectory generation 방법은 ?

여러 형태의 robot arms과 다양한 응응을 지원하기 위해 trajectory generator 에 새로운 routines이 추가되는 경우가 빈번하며, 이에 따라 trajectory generator의 source code가 점점 “스타게티 코드”로 변화되는 것을 경험할 수 있다.

robotics textbook의 trajectory generator chapter를 보면,  대부분 설명의 편의를 위해 수식의 유도 과정만을 설명하고 있다. 실제 trajectory generator를 개발하려면 많은 구현상의 문제를 해결해야 한다.

trajectory generator의 구현에 참고하기 위해 인터넷에서 trajectory generator의 source code를  검색해 보면, 많은 경우 textbooks의 수식을 단순히 C language로 작성해 놓았거나 robot package의 sub-module로서 작성되어 있기 때문에 실제  큰 도움이 되지 않는다.

trajectory generator의 구조는 오래 전에  정립이 되어 더 이상 연구 대상이 아니다. 따라서 관련 기술 자료를 찾기 어려울 뿐, trajectory generator의 구현에 대한 연구가 없었던 것은 아니다.

다음은 내 report에서 발췌한 trajectory generator의 구현 예이다.

Trajectory generator(TG)를 finite-state machine으로 정의하여 각 state에서 필요한 계산 과정을 Table 8.13에 보였다. Table 8.13의 TG를 실제 robot programming system에 적용하려면 data structure나 관련 function의 정의 및 coding이 필요하다. 이러한 작업은 많은 노력과 시간이 소요되기 때문에, TG의 실제 coding 결과를 보이고 기존 robot programming system과의 interface 방법을 설명하고자 한다.

RCCL v1.0에서 destination position은 position equation을 이용하여 기술되고, move() command에 의해 motion request가 queue에 넣어 진다. 주어진 motion request에 대해 28ms 마다 setpoint_n()을 실행하여, servo controller를 위한 setpoints를 계산한다. 따라서 RCCL의 setpoint_n() routine은 trajectory generator의 역할을 수행한다고 할 수 있다.

RFMS system의 TG는 Table 8.13을 기준으로 구현되었으며, 이에 대한 설명을 RFMS software manual과 source code listing에서 찾아 볼 수 있다. 그러나 RFMS system은 TG의 계산 기능을 supervisor processor와 joint processors로 나누어 수행하고 joint processor code의 일부는 assembly lanuguage로 작성되어 있기 때문에, RFMS의 TG를 RCCL에 그대로 적용할 수 없다.  RFMS의 TG의 구조를 참조하고,  RCCL library를 이용하여 GetEx(), ik_solve(), GetLDR()과 같은 routine()을 구현함으로써, RCCL의 TG를 새로이 작성하였다.

산업용 로봇 제어의 뒷이야기

산업용 로봇의 초창기에 제어 분야의 많은 사람들이 산업용 로봇에 관심을 보였다.  그 당시에는 많은 제어 이론 중 하나를 골라 다른 사람 보다 먼저 로봇에 적용하기만 해도 논문이 학술지에 실릴 수 있었기 때문에, 로봇 학술지가 제어 이론의 “슈퍼마켓” 분위기 였다고 말할 수 있다.   

plant의 보다 정확한 model를 구할 수 있으면, 제어기의 성능 향상을 가져 올 거라는 믿음을 가지고 많은 사람들이 robot의 dynamic model를 구하려는 연구에 뛰어 들었다. 이러한 연구를 가장 먼저 시작한 사람 중 하나가  J. Y. S. Luh 교수이다.

J. Y. S. Luh는 Purdue University 교수로 재직 당시 Richard Paul을 Purdue University로 데려 왔다. Purdue University로 이끌었다고 영어로 표현하던 데, 당시 robotics가 독립된 학문 분야가 아니었기 때문에 Richard Paul이 Stanford University에서 박사 학위를 받고 학교로 가기가 쉽지 않았을 것이라 추측된다. 참고로  manipulator에 computer를 연결한 최초의 (실질적으로) 사람이 Richard Paul이고, robotics 분야에서 최초로 박사 학위를 받은 사람이라고 생각한다. 물론 robotics 분야를 어떻게 정의하는 지에 따라 최초의 기준은 달라질 수 있다.   

robot의 forward/inverse dynamic model를 구하면서 당면했던 문제는 계산 시간이였다. CPU의 computing power가 충분하지 않았기 때문에,  곱셈 수가 작은 inverse dynamics equations의 계산 algorithms을 구하려 하였다. C. S. G. Lee (개인적으로 내 박사학위 지도교수이기도 하다)는 이러한 계산의 lower bound를 구하여 IEEE follow가 되었다.

forward/inverse dynamics 계산식을 구한 후에 이를 realtime으로 계산하여 실제 control에 적용해 보고자 하였다. transputer도 시도되었으며, multiple CPU baords를 가진 VMEbus 또는 Multibus systems으로 robot controller를 구성해 보는 것이 당시 hot research topic이였다. 또한 dynamic model의 symbol derivation과 실제 실험을 통해  robot의 dynamic parameters를 구하려는 연구 역시 진행되었다.

많은 사람들이 노력한 결과,  dynamics-based realtime control algorithms을 (industrial) robot controller에 구현할 수 있게 되었다. 그 실험 결과는 불행하게도 kinematic-based control (independent joint control) 방식에 비해 우월한 성능 향상을 보이지 않았다. 높은 기어 감속비와 비교적 낮은 joint velocity와 acceleration를 가진 산업용 로봇의 경우,  robot dynamics의 영향을  그다지 크지 받지 않게 된다.

연구는 계속 진행되어야 하기 때문에,  이제 dyamics-based control algorithms을 적용할 수 있는 robot arm을 제작해 보고자 시도하였다. 이런 이유로 등장한 것이 direct drive arm이다. 감속 기어를 제거하면 원하는 joint torque를 발생시키기 위해 대용량의 motor가 필요하고 이에 따라 joint의 weight 역시 증가하게 된다. 따라서 중력의 영향을 받지 않는 first axis를 제외한 다른 axis에  direct drive 방식을 적용할 수 없었다. 

이 때 중력의 영향을 받지 않으며, rigid body를 요구하지 않는 robot 응용이 등장하였다. NASA는 space shuttle에 canadaarm이라 불리우는 robot arm을 장착하여 활용하려 하였으며,  산하 연구기관인 JPL에 많은 연구비를 지원하였다. 이에 따라 flexible manipulator라는 연구 topic이 생겼으며,  (flexible) robot arm의 vibration 문제가 관찰되어 이에 대한 연구 역시 활발하게 이루어졌다.

NASA가 robot 관련 연구비 지원을 중단하고, 미국의 제조업 회사들이 공장을 해외로 이전함에 따라 산업용 로봇에 대한 연구가 미국에서  점차 사라지게 되었다.    

과거 robot control 분야에서 다양한 연구가 진행되었으며 그 결과 상당한 양의  연구 결과가 이미 축적되어 있다고 할 수 있다. 그러나, 대부분의 로봇 제어 관련 연구는  인터넷 등장 이전에 이루어졌으며  학술 논문, 학위 논문, 련구 보고서, 특허 등의 형태로 존재한다.  따라서  인터넷 검색을 통해 충분한 정보를 얻기  어려울 수도 있다.   

산업용 로봇에 도입된 OS, RTOS와 그 뒷이야기

초창기의 robot controllers는 OS라는 개념을 사용하지  않았다. 

최초의  commercial industrial robots을 판매하였던 Unimation의 robot controller를 살펴 보자.  그 hardware는, 당시 개발된 microprocessors 중 high computing power를 가진 DEC의 LSI-11 CPU board, DEC의 serial interface board와  parallel I/O board, 자체 개발한 joint servo boards로 구성되어 있었다. Unimation controller의 software는 DEC의 BASIC interepreter와 유사한 syntax를 가진  VAL language와 monitor라 불리우는 commnad interepreter로 구성되어 있었다. monitor와 VAL language는 밀접하게 integrate 되어 있어서 VAL program instruction을 monitor의 command로 실행시킬 수 있었다.   

Unimation  controller 이 후  개발된 industrial robot controllers의 softwares는 대부분 Unimation controller의 software와 유사한 구조를 가지고 있었다.  robot에 따른 전용 software를 개발하여 이를  robot language라 호칭함에 따라  많은 수의 robot langauges가 개발되어 발표되었다. 따라서 robotics 초창기에 사용되었던 robot language는 robot software 또는 robot programming system을 의미한다.   

Unimation 출신 개발자들이 주축이 되어 설립한 Adept는 Unimation controller의 monitor가 가진  기능을 확장하고 task scheduer를 추가하여 이를 robot operating system이라 부르고 있다. 실제 Adept의 software manuals를 보면, robot operating system과 robot language를 구분하여 설명하고 있다.  

1984년 Vincent Hayward는 “realtime” UNIX system를 이용하여 robot controller를 구축하는 방법을 발표하였다. robot을 UNIX system의 device로 보고, 이를 위한 device driver와 응용 software를 C language로 구현하였다.   이 후 robot programming 분야의 연구 방향은  robot language 개발로부터 robot system에  적합한 OS와 C library의 개발로 변화하였으며, robot language라는 연구 topic이 점차 사라지게 되었다.

Vincent Hayward가 Purdue University 에서 구현한 realtime UNIX system을 재현하려면 VAX-11/780 mini computer,   kernel이 수정된 PDP-11의 BSD UNIX OS, custom FIFO boards가 필요하였다. 참고로, Purdue University에서 Richard Paul과 Vincent Hayward에 의해 개발된 robot system은  RCCL이라 명명되었다.

NASA의 space shuttle에 Shuttle Remote Manipulator System (SRMS) (Canada의 DSMA atcon이라는 회사에서  robot arm이 제작되었기 때문에 흔히 canadaarm이라 부른다)의 탑재가 계획되면서 이를 위한 robot controller의 개발이 JPL (NASA 산하의 연구소)과 Canada의 McGill University에서 이루어졌다. McGill univerity는 Multibus 기반의 i386 system과 intel의 iRMX RTOS (realtime OS)에 Purdue University의 RCCL system을 porting 하였다. 이 후 McGill University는  Vincent Hayward를 hire 하였으며, Vincent Hayward는 NASA JPL로부터  연구비를 받아  Kali과 MultiRCCL을 개발하였다.  

Vincent Hayward는 Kali와 MultiRCCL의 OS로서 vxWorks를 선택하였다. BSD Unix를 robot controller의 OS로 사용하려면 kernel 수정이 필요하였다. vxWorks는 그 자체가 RTOS (realtime OS)이기 때문에 kernel 수정 작업을 생략할 수 있으며, vxWorks의 API는 UNIX의 API와 유사하기 때문에  Unix OS에서 개발된 software의 source code를  별다른 수정없이 vxworks에서 build 하여 사용할 수 있다는 장점이 있었다.   

미국 내의 연구 기관과 학교는  미국의 국가 지원  연구비로 수행된 연구 결과를 무료로 제공받아 이를 사용할 수 있는 제도를 가지고 있다  (국방부의 연구비 지원 사업은 제외이다).  미국 내의 여러 연구 기관과 대학교가 MultiRCCL의 source code와 기술 자료를 받아 McGill University와 JPL의 MultiRCCL systems과 유사한 MultiRCCL systems을 구축할 수 있게 됨에 따라 vxWorks와 MultiRCCL은 상당 기간 robotics 연구의 reference software platform으로 사용되었다. 

Unix workstations의 computing power가 향상되고 OS가 BSD UNIX에서 System V Release 4 (SVR4) UNIX로 전환됨에 따라 vxWorks 대신 SVR4 UNIX의 realtime  기능을 이용하여 MultiRCCL을 구동할 수 있게 되었다. 1992년 Sun Microsystems가 SVR4 기반의 OS인 Solaris 2.0을 발표하였으며, 1993년  Silicon Graphics 역시 SVR4 기반의 IRIX  5.0를 발표하였다.  이 후 vxWorks + Motorola 680X0 기반의 platform은 점차 사라지게 되었다. 

초기의 vxworks는 VMEbus의 Motorola 680×0 CPU boards를 main hardware platform으로 지원하였다. 보다 빠른 CPU가 요구되고 PC의 성능이 향상됨에 따라 1998년 Clemson University는 QNX + PC의 조합을 도입하여 QRobot이라는 robot system을 개발하였다. 

CPU의 성능이 지속적으로 향상됨에 따라  joint servo control task을 제외한 tasks의 실행에 non-realtime OS를 사용하는 것이 가능해졌다. 또한  Microsoft의 MS-DOS나  Windows에 realtime module을 추가하거나  Linux에  realtime patch를 적용하여 robot controller를 위한 RTOS로 사용하는 접근 방법도 존재한다. 산업용 로봇 제어기의 software 구조는 이미 확립되어 있으며, 각 기능에 따른 computing power 의 요구량 역시 이미 계산되어 있다.  robot controller의 경우, RTOS 자체의 성능 비교는 의미가 없다고 말할 수 있다.  

사용자가 그다지 많지 않고 제공되는 예제가 충분하지  않은 RTOS를 선택하면,  자신의 program에 RTOS의  function을  추가할 때마다  test program을 작성해서 그 function의 동작을 일일히 확인해 보는 덫에 빠지게 된다. Unix/Linux system programming과  OS, kernel에 대한 이해가 부족하면, RTOS의 manual에서 사용하는 용어와 개념을 이해할 수 없으며 자신이 작성한 software를 충분히 test 할 수 없는 경우가 발생한다.

“software realiablity”는 대부분의 산업용 로봇 개발자들이 생각 조차 하지  않는 단어이며, 언급하지 않으려는 단어이기도 하다. 자신이 이해할 수 없는 commercial 또는 open-source  RTOS를 밑에 깔아 놓고  그 위에 자신이 나름대로 개발한 software을 실행시킨다면, 문제가 발생하였을 때 그 원인을 쉽게 찾아 낼 수 있을까 ?

industrial robots의 오동작 조건은 찾기가 어렵고 재현이 되지 않는 경우가 대부분이다.  industrial robots이 작업 중 정지하면, 생산 라인 전체가 정지되는 경우도 있기 때문에 검증되지 않은 robots은 구매하지 않으려는 경향이 있다. 산업 현장에서는, robots의 accuracy나 repeatibility 보다 reliability가 더 중요할 수도 있다. 

산업용 로봇 제어기 개발 입문서 ?

robot이란 용어의 정의를 살펴 보면 programmable machine의 의미를 포함하고  있다. 산업용 로봇이란 용어를  programmable manipulator의 의미로 사용하는 경우가 많은 듯 하다.

산업용 로봇 제어기 개발의  입문서로서 다음과 같은 textbooks을 추천한다.

1. John Craig, Introduction ro robotics: mechanisms and control,  1986. 

John Craig는 NASA의 JPL 연구소에 근무하였으며, Silma라는 회사를 설립하여 robot offline programming과 simulation을 위한 software를 개발, 판매하였다. Silma는Adept에 합병되었으며, John Craig는 현재 Adept에서 근무하고 있다.

John Craig는 1986년 Stanford University의 Department of Electrical Engineering에서 robot의 adaptive control에 관한 연구로 박사 학위를 받았으며 hybrid control에 대한 논문을 발표하였다. John Craig는 JPL에서 robot control 분야에  종사하였으나 Silma 설립 후에  robot programming으로 그의 관심 분야를 옯겼다고 할 수 있다.

John Craig의 textbook은 산업용 로봇의 전반적 분야를 개념 위주로 설명하고 있다. 문제점으로는,  (조금 과장해서 표현하면) “만화책” 수준으로 쉽게 설명하려다 보니 용어를 정확하게 정의하지 않고 넘어가는  경향이 있다. 2004년에 third edition이 출간되었다.  

2.  Richard P. Paul,  Robot manipulators: mathematics, programming, and control, 1981.

Richard Paul은 Standford University의 Computer Science Department에서 1972년 박사 학위를 받았으며 Purdue University의 석좌 교수를 거쳐 University of Pennsylvania의 공대 학장으로 근무하였다.

Richard Paul의  textbook은,  1981년까지 Richard Paul이 수행한  “산업용” 로봇에 대한 연구 결과를  집약해서 소개하고 있다.  Richard Paul의 textbook을 간략하게 평가하면, robotics 분야에서 최초의 textbook이며 당시 모든 로봇 연구자나 개발자가 한 권씩 소장했을 정도로 popular 했던 책이지만, 많은 분량을 함축해 놓았기 때문에 상세한 설명이 생략된 부분이 많으며  실제 산업용 로봇 개발에 종사하지 않은 사람은 그 필요성을 인식하기 어려운 부분도 일부 포함하고 있다.

대부분의 대학들이 John Criag의  textbook과 같이 강의에 적합한 textbooks을  선호함에 따라 Richard Paul의 textbook은 1992년 절판되었다.  1992년까지 Richard Paul의  textbook 개정판은 출간되지 않았다.  1981년부터 1992년까지의 산업용 로봇에 대한 연구, 개발의 결과가,  그 textbook의 내용을 수정하거나 새로운 chapter를 추가할 정도가 아니라는 해석도 가능하다.

이 textbook의 저작권은 MIT Press로부터 저자인 Richard Paul로 이전되었으며, 한동안  books.google.com에 이 textbook의 모든 pages가 공개된 적도 있었다. google의 정책이 바뀜에 따라 현재는 이 textbook의 일부만 books.google.com에 공개되어 있다.  인터넷 검색을 해보면, 그리 어렵지 않게 이 책의 PDF file을 찾을 수 있다.  

3. 김경환, 산업용 로봇 제어기의 설계 및 구현, 2014.

Richard Paul의 textbook은 산업용 로봇 개발의 출발점이라 할 수 있으나. 그 textbook의 내용을 모두 이해 하는 것은 쉽지 않다.  다행히 이 textbook에 소개된 내용을 충실하게 구현하여 실제 robot에 적용한 software package (RCCL 또는  MultiRCCL)가 존재한다. RCCL은  상당 기간 해외 주요 연구기관에서 robotics 연구 및 개발의 표준 software로서 널리 사용되었다. 

RCCL 그 자체도  많은 연구 및 개발의 결과물이기 때문에, 관련 이론이나 algorithm을 파악하고 있지 않으면,  RCCL의  source code를 follow 해 보는 것은 불가능하다.  또한  RCCL의 내부 동작을 파악하려면, RCCL이 사용하는 hardware  platforms에 대한 기술 자료를  수집하여 분석하는 과정이 필요하다.   

Richard Paul의 textbook과 RCCL은 산업용 로봇 개발자 또는 산업용 로봇 업계 종사자를 위해 매우 유용한 기술 자료이나 , 이해와 분석이 어렵다는 문제점이 있다.  따라서 Richard Paul의 textbook과 RCCL을 풀어서 쉽게 설명한 “해설판”과  Richard Paul의 textbook이 절판되고  RCCL이 개발 종료된 후에 진행된 연구 및 개발 결과를 추가한 “개정판” 이 필요하다고 생각하였다.  

미국에서 박사 과정 중 (1990년 쯤)  산업용 로봇에 대한 기술 자료를 엮어 책으로 출간하려는 생각이 있었으나, 이를 구체적으로 진행하지 않았다.  최근 몇 년 동안  국내 여러 회사의 로봇 개발을 지켜 보고 참여하면서, 기존의 연구, 개발 결과물을 접할 수 없어  scratch 부터 개발을 시작하거나 그런 방식으로 산업용 로봇을 개발하여 판매한 후 로봇 제어기의 보수와 기능 확장에 많은 어려움을 겪고 있는 것을 목격할 수 있었다.  

산업용 로봇 제어기 개발자에게 도움을 주고자, Richard Paul의 textbook, RCCL, 지금까지 개발된 산업용 로봇 개발 제어기의 분석 결과, 개발에 필요한 요소 기술,  내가 제안하는 산업용 로봇 제어기의 개발 및 구현 방법을 topic 별로 정리하여 report의 형태로 정리하였다. 이 report의 요약본 전부 (310 pages)와 전체본의 일부를 www.open-robotics.com에 공개되어 있다. 

2012년 report의 일부을 wordpress로 변환하여 open-robotics.com에 공개한 바 있으나,  많은 수식과 그림으로 인해 변환된 결과물의 quality가 만족스럽지  않았다. 또한 report 전체본의  분량이 작지 않으므로 (3400 pages 이상),   report 전체본을 web browser를 통해 page 단위로 읽는 방법은  바람직하지  않다고 판단되었다. report 전체본에 보다 용이하게 접근할 수 있는 방법을 찾아 보고 있다.  

이제 “입문편”이 어느 정도  마무리되었기 때문에,  보다 이론적인 문제와 실제 응용 예를 다룬 “심화본”이나 source code와 회로도를 구체적으로 설명하는 “부록본”을 만들어 볼까하는 생각도 가지고 있다. 물론 시간이 나야 하겠지만

산업용 로봇 전문가는 과연 누구인가 ?

AI (Artificial Intelligence)의 한 분야인  expert systems에서, 특정 분야 에 대한 지식 (domain knowledge)를 가지고 있는 사람을 전문가 (expert)라 정의한다. 명확히 knowledge를 정의하는 것은 그 자체가 연구 topic이지만, 사람의 경우 경험 (experience)이 지식 획득 (knowledge acquisition)의 주요 수단이라는 관점은 보편적으로 받아 들여지는 듯 하다.  

미국의 대학에서  robot에 대한 연구는  Stanford University와 MIT의 AI (artificial intelligence) 연구의 일부로 시작되었으며,  AI 분야의 연구 결과를 robot을 이용하여 구현해 보고 AI의 한계점을 파악해 보고자 하는 의도에서 robot에 대한 연구가 시작되었다고 할 수 있다. 이 후 전기공학, 기계공학, computer science를 비롯한 여러 분야의 사람들이 참여하여 robotics가 하나의 독립적인 학문 분야로 정립되었다.  따라서  robots을 전반적으로 이해하려면 관련 분야의 지식을  충분히 이해하는 것이 필요하다고 말할 수 있다. 

이제 산업용 로봇의 전문가를 정의하는 문제를 생각해 보자. 일단 전문가의 정의에 따르면,  산업용 로봇 전문가는 산업용 로봇에 대한  experince가 충분히 많아야 하며, 산업용 로봇에 대해 상당한  knowledge (deep knowledge)를 보유하고 있는 사람이라 할 수 있다.  

나 자신에게 다음과 같은 질문은 종종 던지고는 한다:  “당신의 산업용 로봇은 안녕하십니까 ?”  

산업용 로봇의 개발 및 제조에 있어 극히 지엽적인 문제, 불필요한 문제, 이미 해결된 문제를 자신의 독창적인 방법으로  해결하였다고 주장하고 있지는 않는지 ? 과거 또는 현재 다른 회사에서 판매하고 있는 산업용 로봇에 대한 이해가 부족한 상태에서 적당히 자신의 로봇을 만들어 놓고, “그래도 내가 만든  로봇은 잘 돌아간다”며 행복해 하고 있지는 않는지? 

 “산업용 로봇은 sex와 같다”.

많은 사람이 다소의 경험과 지식을 가지고 있으며 자신이 전문가라고 주장하지만, 객관적, 공개적으로 비교할 방법이 아직 존재하지 않는다. 

 

 

 

 

한국산 산업용 로봇의 수출은 가능한가 ?

산업용 로봇은 용어의 의미대로 산업체에서 사용되는 로봇이다. 산업용 로봇은 공장 자동화를 위한 여러 장비 중의 하나이며, 단순히 산업용 로봇을 몇 대 구입한다고 해서 공장 자동화가 이루어지는 것은 아니다. 실제 산업용 로봇을 구입하여 활용하려면,  로봇 설치와 응용 프로그래밍 작성을 위해 로봇 제작회사 또는 판매회사의 기술 지원이 필수적이다.  자동화 설비의 설계에 따라 특별한 사양을 지닌 로봇을 주문하는 경우도 빈번하다.

양산하는 로봇 모델을 구매하여 용이하게 로봇 프로그램을 작성할 수 있는 경우, 산업용 로봇의 가격은  구매를 결정하는 주요 기준이 될 수 있다. 반면, 원하는 사양을 만족하는 로봇이 없어 특별한 사양을 지닌 로봇을 주문하거나,  설치와 프로그래밍에 많은 시간과 노력이 소요되는 경우,  산업용 로봇의 가격은  구매 결정에 크게 영향을 미치지 않는다. 국내에서 생산하는 산업용 로봇의 부품은 대부분 수입에 의존하고 있다. 수입 부품을 사용하여 로봇을 제조하고 이를 저렴한 가격으로 수출하는 로봇 제조 회사는 과연  생존할 수 있을까 ?   가격때문에  외국 제조 업체가  한국산 산업용 로봇을 구매하는 경우가 생길 수 있을까 ?

중국의 로봇 수요가 폭발적으로 증가하기 때문에, 중국의 로봇 업체가  대량으로 부품을 공동 구매해서 중국 내 산업용 로봇 수요를 충당하는 시나리오가 가능하다 (전에 타이완의 PC 업체가 이런 방법으로 전세계 PC motherboard 시장을 장악한 바 있다). 이 후, 중국산 산업용 로봇을 저렴한 가격으로 한국에 수출할 수도 있다. 또한 세계적으로 산업용 로봇 수요가 많아지면,  일본 로봇의 가격이 더욱 저렴해져서 일본 로봇의 한국 시장 점유율이 증가하는 경우도 생길 수 있다. 이런 상황이 되면, 저렴한 인건비로 버티고 있는 일부 로봇 제조회사는 영업이익율 급감으로 인해 새로운 사업 모델을  찾게 되리라고  생각된다.

종종 한국 로봇 업계의 기술 수준을 미국, 일본, 유럽 로봇 업계의 기술 수준과  비교하는 언론의 보도를 접하곤 한다.  로봇 기술 수준을 평가하는 객관적 기준이 무엇인 지 궁금하다.  로봇의 일부분만 접해 본 사람들에게 설문지를 돌려 구한 통계 결과가  무슨 의미가 있는 지 한 번 생각해 볼 필요가 있다.  몇몇 보고서에 따르면 미국 로봇 업계의 기술 수준이 세계 최고라는데, 미국산 산업용 로봇의 세계 시장 점유율이 얼마인 지 다들 알고는 있는지. . .