ROBOT PROGRAMMING TREND
산업용 로봇 프로그래밍에 관한 최근 연구동향
중소기업에서의 산업용 로봇 활용은 많은 장점을 가지고 있지만, 작업환경을 모델링하고 로봇을 제어하는 프로그래밍 과정이 까다롭기 때문에 현실적으로 한계를 가지고 있다. 본고에서는 기 발표된 여러 리뷰논문을 기반으로 하여 산업용 로봇의 프로그래밍에 대한 최근 연구동향을 살펴보고자 한다.

1. 개요
제품의 개발 사이클이 짧아진 글로벌 시대에 있어서 숙련된 기술자의 부족과 고임금화로 인해 산업용 로봇에 대한 수요가 늘고 있다. 로봇을 이용한 자동화 시스템을 사용하게 되면 생산성이 향상되는 큰 장점이 있지만, 이러한 로봇을 제어하기 위한 프로그래밍 과정은 아직도 까다로운 작업이며, 많은 준비시간을 요하고 비용도 만만치 않다. 예를 들어 16시간짜리 용접작업을 위해 로봇을 프로그래밍 하는 경우, 프로그래밍 자체에만 8개월 정도의 시간이 소요되는 것이 현실이다.
실제 산업 현장에서 사용되고 있는 로봇 프로그래밍 기법에는 크게 두 가지가 있다.
첫 번째는 온라인 기법으로, 숙련된 작업자가 키보드와 조그다이얼이 달린 입력펜던트를 이용해 로봇 팔의 이동경로와 작업순서를 수작업으로 입력하는 방식이다. 이 방법은 매우 직관적이긴 하지만, 일단 작업을 생성한 뒤 수정하기가 까다로워 간단한 작업에나 적합하고, 작업자의 숙련도에 크게 영향을 받는다.
두 번째는 오프라인 기법(이하 OLP 기법)으로, 작업 대상이 되는 전체 공간에 대한 3D 모델을 미리 생성하여 로봇의 이동경로를 디자인하는 방법이다. 이는 앞의 온라인 기법에 비해서는 작업의 수정이 쉽고 작업자 숙련도의 영향이 적으므로 유연성 면에서는 장점이 있지만, 3D 모델을 생성하는 단계가 시간과 비용 면에서 투자가 필요하고, 작업준비 시간도 그다지 짧은 편이 아니다.
추가적으로, 산업현장에서 아직 활용되고 있지는 않으나 증강현실(Augmented Reality)을 이용한 프로그래밍 기법도 최근 연구되고 있다. 본문에서는 지난 10년간 연구된 세 가지 분야, 즉, 온라인 기법, OLP 기법, 증강현실 기법 등의 개요를 살펴보고, 실제 제품화된 예를 알아보고자 한다.
2. 온라인 프로그래밍 기법
온라인 프로그래밍 기법은 앞서 소개한 바와 같이 작업자가 작업 현장에서 로봇에 연결된 입력펜턴트를 이용해 로봇팔의 구동을 직접 제어하는 방식이다. 이는 몇 가지 단점이 있는데, 먼저 대부분의 로봇은 회전운동과 직선운동 등 6 자유도(Degree of Freedom)의 운동을 하게 되지만, 이는 작업자, 즉 사람에게는 그다지 직관적이지 못한 좌표계이므로 로봇 팔의 이동 시 충돌이 일어나지 않도록 신경 쓰는 데 많은 노력이 필요하다. 또한 일단 프로그램이 생성되더라도 실제로 제대로 작동하는지를 알기 위해서는 충분한 테스트 과정이 필요하고, 일단 입력이 끝나면 조그마한 수정사항이 발생해도 수정이 까다로우며, 로봇모션의 품질이 작업자의 숙련도에 의해 크게 좌우되게 된다.
이러한 단점에도 불구하고 산업현장에서는 별다른 대안이 없고, 특히 중소기업 입장에서는 로봇 프로그래밍의 유일한 방법으로 사용되고 있다. 다만 위의 단점들을 보완하기 위해 표1에서와 같이 보조장치나 센서를 추가적으로 이용하는 방법이 연구된 바 있다.

2.1. 보조 장치를 이용한 온라인 기법(Operator Assisted Online Programming)
기 발표된 다양한 자료들에 의하면 마무리 작업용 로봇에 있어서 위치와 방향벡터에 대한 입력 작업을 보조하기 위한 두 개의 보조장치를 사용하거나, COSMO라 불리는 모멘트 방향 센서를 이용하는 등의 방법이 연구되었다. COSMO 방향 센서를 활용하는 방법은 사용자가 좌표계에 대해 신경 쓸 필요 없이 센서를 손으로 밀거나 당김으로써 동작으로 제어하도록 하였다. 또한 토크 센서가 달린 핸들을 조작하여 PDA상에서 3D 인터페이스를 이용해 프로그래밍하는 환경을 구축하는 연구도 진행됐다.
2.2. 센서를 이용한 온라인 기법(Sensor Guided Online Programming)
앞에서 언급한 보조장치를 이용한 온라인 기법들은 추가적인 클래브레이션 과정이 필요하다. 이러한 번거로움 없이 센서를 이용함으로써 프로그래밍을 간단히 하기 위한 연구가 진행된 바 있는데, ‘Pan’ 등은 기존의 조그다이얼을 이용한 작업 입력에 두 가지 함수, 즉 로봇의 구동 방향을 입력하는 함수와 툴이 작업평면에 항상 접하도록 계산하는 함수를 추가하는 방식을 고안하였다. 이 방법은 특히 삭마 작업 등에 유용하고 작업자의 숙련도에 크게 영향을 받지 않는 장점이 있지만, 여전히 조그 작업이 필요한 것이 단점이다.
그래서 조그다이얼의 사용이 아예 필요 없도록 센서를 사용하는 방법이 제안되었는데, ‘Zhang’ 등은 마커 펜으로 경로를 표시하고 이를 자동으로 인식하여 로봇경로가 생성되도록 하였다. 비슷한 예로 ‘Solvang’ 등은 작업 대상물에 경로를 펜으로 표시하고 이를 한 대의 카메라로 촬영하여 x-y좌표를 획득하며, 깊이좌표(z좌표)는 상업용 프로그램을 이용해 가상으로 충돌검사를 행함으로써 작업경로를 생성하였다. 이 방법은 3D 데이터를 간접적으로 이용하는 점에서는 OLP기법과 유사한 면이 있기는 하나, OLP기법에 비해서는 센서의 활용비중이 더 큰 방법이다.
또 다른 예로서는 레이저로 특정 무늬를 가진 격자를 대상물에 투사하여 이를 이미지 처리를 통해 3D 작업경로를 얻는 방법과 두 대의 카메라로부터 얻은 이미지로부터 3D 모델을 재구성하는 스테레오 비전기법 등이 있고 이들은 주로 그 기법에 따라 적용 가능한 활용분야가 제한되어 있는 것이 단점이나, 센서의 가격경쟁력이 강화됨에 따라 점차 쓰임새가 많아지는 추세이다.
3. OLP기법
앞서 언급한 온라인 기법은 CAD 시스템이 없던 시절에 고안된 것으로써, 로봇 구동을 기계적으로 제어하는 기법이고 프로그래머가 실제 작업환경에서 작업해야 하므로 조건에 따라서는 작업자가 유해환경에 노출되는 문제점이 있다.
반면 오프라인 기법, 즉 OLP기법은 CAD 시스템을 이용한 것으로써, 작업자가 실제 환경에 노출되는 일 없이 작업환경 전체를 3D CAD 모델화하여 로봇구동을 가상의 시뮬레이션을 통해 구현하는 것이다. 따라서 실제 로봇이 없는 경우에도 미리 작업을 디자인할 수 있고, 수정이 매우 용이하며, 작업자의 숙련도에 구애받지 않는 것이 장점이다.
반면, OLP 패키지가 아직까지 매우 비싼 가격이고, 그 사용법도 쉽지 않으며, 로봇 프로그래밍이 끝난 후 실제 환경에서 잘 작동하는지를 검사하는 과정이 필요하므로 아직까지 실제현장에서 널리 쓰이고 있지는 않다.

3.1. OLP 작업 단계
OLP기법은 CAD 모델 생성으로부터 시작한다. 일반적인 CAD 작업과 마찬가지로 3D 스캐너를 이용하거나, CAD 시스템을 이용해 직접 모델을 디자인하는 방법이 있다.
이는 생성된 CAD 모델로부터 로봇의 위치 태그 정보를 추출하는 과정으로써, 코너와 에지 등의 정보가 필요한데 보통 별도의 소프트웨어를 사용하기도 하고, 이를 자동으로 추출하는 시스템도 연구된 바 있다. 데카르트 좌표계에서 로봇의 경로는 여러 가지 해가 있을 수 있으므로, 이 중에서 충돌검사 등을 고려하여 최적의 경로를 선택해야 한다. 이는 수작업으로 선택하기도 하고, 보조 소프트웨어를 활용하기도 한다.
여러 대의 로봇이 동시에 구동되는 경우 로봇 간의 구동을 최적화할 필요가 있다. 이와 관련하여 아직까지 상업적인 소프트웨어는 없고, TSP(Traveling Salesman Problem) 등의 최적화 알고리즘을 활용하는 방법이 연구된 바 있다.
후처리는 세부적인 동작을 미세조정하거나, 실제 로봇에 적합한 언어형태로 동작데이터를 변환하는 과정이다. 로봇 제작사가 다양해짐에 따라 점차 후처리 과정이 중요해지고 있다.
시뮬레이션은 실제 로봇으로 구동하기 전에 가상환경에서 미리 구동을 시현하여 문제점을 발견하는 과정으로써, 실패위험성을 감소시키기 위한 것이다. 이론상 시뮬레이션만으로 로봇 프로그램의 테스트가 충분하면 좋겠지만, 실제로는 3D 모델과 작업환경 간에 오차가 있으므로 이 오차를 보상해주는 과정, 즉 캘리브레이션 과정이 꼭 필요하다.
3.2. OLP 소프트웨어의 종류
로봇제어는 복잡한 시스템이 필요하므로, 용도에 따라 많은 플랫폼이 존재하고 있다. 여기서는 대표적인 몇 가지 소프트웨어를 살펴보고자 한다(표2 참조).
특정 하드웨어에 의존적인 것이 아니라 여러 장치에 사용할 수 있는 범용 OLP 소프트웨어가 있는데, Delmia와 RobCAD가 가장 유명하다. 두 가지 모두 가상환경 기능을 제공할 뿐만 아니라 시뮬레이션 등 여러 기본적인 기능을 갖추고 있다.
로봇제작사에서 자체적으로 제공하는 소프트웨어로서, 당연히 하드웨어에 대한 호환성이 높다. ABB사의 RobotStudio가 가장 널리 쓰이고 있다.
위의 상업용 소프트웨어는 높은 가격이 문제가 되므로 AutoCAD, Solidworks, OpenGL, VRML 등을 기반으로 해서 공개 소프트웨어를 개발하는 연구도 진행되고 있다.
4. 증강현실 기법
증강현실은 말 그대로 실제 환경에 가상환경을 투영하여 나타내는 기법이다. 아직까지 상업적으로 활용되고 있는 기법은 아니지만, 사용자에게는 좀 더 직관적인 방법이 될 것이므로 앞으로 많은 활용이 기대된다. ARToolkit과 C언어를 이용하거나 HMD를 활용하는 등의 기법이 연구된 바 있다.
5. 분석자 결론
‘Pan’ 등이 작성한 리뷰논문은 산업용 로봇에 대한 모션 플래닝을 프로그래밍 하는 대표적인 세 가지 방법들을 소개하고 있다. 짧은 분량으로 인해 세부적인 기법까지 전달하고 있지는 않으나, 널리 쓰이고 있는 소프트웨어 패키지들을 분류하고 정리한 것은 해당 분야의 입문자에게 좋은 참고자료가 될 것으로 기대된다.
한민족과학기술자 네트워크 www.kosen21.org
- 필 자 -
특허청 설인환
- 참고자료-
Zengxi Pan et al., RECENT PROGRESS ON PROGRAMMING METHODS FOR INDUSTRIAL ROBOTS, Robotics and Computer-Integrated Manufacturing, 28, pp.87-94 (2012) 外
*본 내용은 지면상의 이유로 재편집되었습니다.
