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

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 시장을 장악한 바 있다). 이 후, 중국산 산업용 로봇을 저렴한 가격으로 한국에 수출할 수도 있다. 또한 세계적으로 산업용 로봇 수요가 많아지면,  일본 로봇의 가격이 더욱 저렴해져서 일본 로봇의 한국 시장 점유율이 증가하는 경우도 생길 수 있다. 이런 상황이 되면, 저렴한 인건비로 버티고 있는 일부 로봇 제조회사는 영업이익율 급감으로 인해 새로운 사업 모델을  찾게 되리라고  생각된다.

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

Design of a robot programming system using the VAL compiler

To figure out how to expand/extend the VAL robot programming language, I reverse-engineered the VAL language ROMs in 1985.

My master thesis shows  the internals of the VAL robot programming language. As far as I know,  there is  no other techical document that reveals the internals of a commercial robot programming language.

The  Japanese indistrial standard on robot programming languages tooks many commands from the VAL and  the descendants of the VAL are still used in many robot systems. Thus, it would be interesting to take a look at how robot programming languages began.

The draft of  my master thesis was written in English, but for some reasons the final version was re-written in Korean.

design-of-a-robot-programming-system-master