유용한 작업을 하기 위하여 로봇은 동작 사이클을 수행하도록 프로그래밍되어야만 한다. 로봇 프로그램은 작업 사이클을 지원하는 주변 행위들과 결하된 로봇 팔에 의해 따라가는 공간상의 경로로 정의될 수 있다. 주변 행위들의 예는 그리퍼의 개폐, 논리적 결정 과정의 수행, 로봇 셀의 다른 장치들과의 통신 등을 들 수 있다. 로봇은 명령을 제어기 메모리에 입력함으로써 프로그래밍될 수 있고 서로 다른 로봇은 서로 다른 명령 입력 방법을 사용한다. 오늘날 거의 모든 산업용 로봇이 메모리를 저장장치로 갖는 디지털 컴퓨터를 제어기로 사용하고 있다. 이들 로봇은 세 가지 구별되는 프로그램 방식을 가지고 있다.
- 교시형 프로그래밍
교시형 프로그래밍의 역사는 컴퓨터 제어가 널리 쓰이기 전인 1960년 초로 거슬러 올라간 다. 그 때 사용된 것과 같은 기본 방법들이 오늘날의 많은 컴퓨터 제어 로봇에도 사용된다. 교시형 프로그래밍에서는 요구되는 동작 사이클을 따라 로봇 팔을 움직이고, 나중의 재연을 위하여 제어기 메모리에 프로그램을 저장함으로써 로봇에게 작업이 가르쳐진다.
(1) 동력 이용 교시와 수동 교시
프로그래밍 교시 과정을 수행하는 데는 동력 이용 교시와 수동 교시의 두 가지 방법이 있다. 이 두 방법의 차이점은 프로그래밍 중에 로봇 팔이 동작 사이클을 따라 움직 이게 하는 방법에 있다. 동력 이용 교시는 점간 제어를 하는 재연 로봇의 프로그래밍 방법으로 흔히 사용된다. 이것은 로봇 팔 관절의 움직임을 제어하기 위한 토글 스위치나 접촉 버튼이 있는 티치 펜던트(teach pendant, 손바닥 크기의 제어 상자)를 사용하는 것이다.
[그림 1]과 [그림 2]는 티치 펜던트의 예를 나타내고 있다. 토글 스위치나 버튼을 이용하여 프로그래머는 로봇 팔이 원하는 위치로 구동되도록 순서대로 조작한다. 그리고 그 위치를 메모리에 기록한다. 차후의 재연 시 로봇은 자체의 동력으로 위치를 연속적으로 통과하면서 움직인다.
로봇의 이동 가능한 3차원 공간상에서, Work Space, 이 입력장치를 통해 X,Y,Z 좌표 값을 입력한다는 의미이다. 이 입력을 통해 로봇은 역기구학을 계산하고 이로부터 각 관절의 목표 각도값을 산출된다. 이 값을 통해 3차원 공간상에 작업자가 지정한 포인트들을 지나게 되는 것이다.
수동 교시는 스프레이 페인팅과 같은 불규칙 경로 동작 패턴일 때 연속경로 제어를 히는 재연 로봇의 프로그래밍에 편리하다. 이 프로그래밍 방법에서는 조작자가 팔 끝이나 팔에 달려 있는 공구를 붙잡고서 손으로 동작 순서에 따라 움직이면서 그 경로를 메모리에 기록해야 한다. 로봇 팔 자체는 상당한 질량을 가지고 있어 움직이기 어렵기 때문에 특별한 프로그래밍 장치가 교시 과정 동안 실제 로봇을 대신하기도 한다.
이 프로그래밍 장치는 로봇과 같은 관절 배치를 가지고 있고 트리거 핸들(또는 다른 제어 스위치)이 장착되어 있는데, 이 장치는 작업자가 동작을 메모리에 기억시키고자할 때 사용된다. 동작은 촘촘하게 위치한 점의 연속으로 기억된다. 경로를 재연할 때앞에서 입력한 것과 동일한 점의 연속을 따라 실제 로봇 팔을 제어함으로써 경로가 다시 생성된다.
(2) 동작 프로그래밍
교시 펜던트로 각 관절을 조종하는 것은 로봇에게 동작 명령을 입력하는 불편한 방법이 될 수 있다. 예를 들면 다관절 로봇의 각 관절을 조정하여 손끝을 직선 운동시키는 것은 어려운 일이다. 그러므로 동력 이용 교시를 사용하는 많은 로봇이 개별 관절 제어 외에도 두 가지의 방법을 추가로 제공하고 있다. 이들 방법을 이용하여 프로그래머는 로봇의 손목 끝을 직선 경로로 움직이도록 제어할 수 있다.
이 두 가지 방법은 월드좌표계와 공구좌표계이다. 두 좌표계는 모두 직교좌표계를 사용한다. [그림 3]과 같은 월드좌표계에서는 기준 원점과 좌표축은 어떤 고정된 위치와 로봇 베이스에 대한 상대적인 위치로 정의된다. [그림 4]에서 보여준 공구좌표계 에서 좌표계는 손목 면판(faceplate, 엔드이펙터가 붙는 곳)의 자세에 대해 상대적으로 정의된다.
월드좌표계는 로봇팔이 고정된 지점이 3차원 공간상의 중심으로 기준을 잡고 좌표계를 표현한다.
공구좌표계는 로봇팔이 어디에 붙어있던 고려하지 않고 오직 공구의 위치를 기준으로 잡은 좌표계이다.
이런 방식에서 프로그래머는 공구를 원하는 방향으로 향하게 할 수 있고, 로봇을 공구에 평행 또는 직각 방향으로 직선운동하도록 제어할 수 있다. 월드좌표계와 공구좌표 계는 로봇이 손목 끝을 좌표계 축 중의 하나에 평행한 직선운동을 할 수 있을 때만 유용한 것이다. 직선운동은 직교 로봇에게는 아주 자연스럽지만, 회전관절의 조합을 갖는 로봇에게는 몹시 부자연스럽다. 이런 형식의 관절을 갖는 로봇으로 직선운동을 얻으려면 로봇 제어기에 의해 수행되는 직선 보간 과정이 필요하다. 직선 보간에서 두점 사이의 직선을 얻기 위해서 제어 컴퓨터는 로봇 손목 끝이 통과해야만 하는 공간 상의 점을 계산해야 한다.
두 지점을 이동하는 경로는 매우 다양하다. 각 관절의 움직임으로 이 두 지점을 직선으로 또는 위 아래로 유선형으로도 움직일 수 있다. 직선 이라 보간 과정이 필요한 것이 아니라 어떠한 경로이든 보간이 필요한 것이고 그것이 각관절에서 제어가 되어야 부자연스러운 움직임이 발생하지 않는다. 사람의 움직이다 보면 팔 다리가 부딪히는 것 처럼 로봇팔도 그러한 교차점이 존재하기 때문이다.또한 팔이 짧은 사람처럼 등 뒤에 도달 할 수 없는 지점이 발생하기도 한다. 그래서 활용 목적에 맞게 로봇팔의 길이 모터 용량 등을 개발 단계에 수립한다.
로봇이 사용할 수 있는 다른 종류의 보간들이 있다. 직선 보간보다 더 흔한 것이 관절 보간이다. 로봇의 손목 끝이 두 점 사이를 관절 보간을 이용하여 이동하도록 명령받았을 때 로봇은 각 관절을 각자의 등속도로 동시에 움직이게 하는데, 이때 각 관절의 속도는 각 관절의 시작과 종료를 같은 시간에 할 수 있도록 하는 속도이다. 관절 보간이 직선 보간보다 더 좋은 점은 동작하기 위해 필요한 전체 동작 에너지가 더 적게 필요 하다는 것이다. 이것은 같은 동작을 더 빨리 할 수 있다는 의미일 수 있다. 직교 로봇의 경우에는 관절 보간과 직선 보간이 동일한 동작 경로 경과를 준다.
수동 교시 프로그래밍에서는 전혀 다른 보간 방법이 사용된다. 이 경우에 로봇은 수동 교시 프로그램 과정에서 정의된 밀접하게 배치된 점의 연속을 따라야 한다. 사실 이것은 불규칙적인 동작으로 구성된 경로의 보간 과정이다.
로봇의 속도는 티치 펜던트나 제어 패널에 위치한 다이얼이나 다른 입력 도구를 사용 하여 제어된다. 작업 사이클의 어떤 동작들은 고속으로 수행되어야 한다(예: 작업 셀에서 상당히 떨어진 곳으로 물건을 옮기는 작업). 반면에 어떤 동작들은 낮은 속도의 작업을 요구한다(예: 정밀도가 높게 부품을 놓는 작업). 속도 제어는 주어진 프로그램이 일단 안전한 느린 속도로 시험된 후에, 생산에 사용되기 위한 더 높은 속도로 운전할수 있게 해 준다.
(3) 장점과 단점
교시 방법의 장점은 작업자가 쉽게 로봇을 학습시킬 수 있다는 점이다. 로봇 팔을 요구되는 동작 경로를 따라서 움직이게 하여 로봇 프로그램을 작성하는 것은 사람에게 작업 사이클을 가르치는 논리적 방법과 유사하다.
교시 방법 고유의 단점이 몇 가지 있다.
첫째, 정규 생산이 교시형 프로그래밍 과정 동안에는 중지되어야만 한다. 즉, 교시형 프로그래밍은 로봇 셀이나 생산 라인의 조업 중지를 초래한다. 이것의 경제적인 의미는 교시 방법이 상대적으로 긴 생산 기간을 갖는 대상에 사용되어야만 하고 작은 뱃치 크기에는 부적절하다는 것이다.
둘째, 동력 이용 교시에 사용되는 티치 펜던트와 수동 교시에 시용되는 프로그래밍 장치는 프로그램에 들어가야 할 의사 결정 논리의 사용이 제한받는다. 교시 방법보다 컴퓨터와 같은 로봇 언어를 사용하여 논리적 지침을 만드는 것이 훨씬 더 쉽다.
셋째, 교시 방법은 컴퓨터 제어가 로봇에 사용되기 전에 개발되었기 때문에, 이들 방법은 CAD/CAM, 생산 데이터베이스, 지역 통신망과 같은 최신 컴퓨터 기술과 쉽게 호환되지 않는다. 공장의 여러 컴퓨터로 자동화된 하부 시스템에 쉽게 인터페이스되는 능력이 컴퓨터 통합 생산을 이루기 위하여 필요하다.
- 시뮬레이션과 오프라인 프로그래밍
교시 방법의 문제점은 로봇이 프로그램을 위하여 얼마간의 시간 동안 생산 작업으로부터 제외되어야 한다는 것이다. [그림 5]와 같은 오프라인 프로그램은 로봇 프로그램이 원격지 컴퓨터 터미널에서 준비된 후 실행되기 위하여 로봇 제어기로 다운로드 되는 것이 기능하게 해 준다. 진정한 오프라인 프로그래밍에서는 현재의 프로그래밍 언어에서처럼 실제적인 작업장에서의 위치를 로봇에게 지정해 줄 필요가 없다. 그래픽을 이용한 컴퓨터 시뮬레이션이 오프라인 상에서 작성된 프로그램을 검증하기 위하여 필요하다. 이는 NC 파트 프로그래밍에서 사용되는 오프라인 과정과 비슷하다. 진정한 오프라인 프로그래밍의 장점은 생산을 중단하지 않은 채 새로운 프로그램이 준비되고 로봇에게 다운로드 될 수 있다는 것이다.
현재 개발되고 있고 상업적으로 제공되는 오프라인 프로그래밍 과정은 검증과 프로그램 작성을 위한 삼차원 모델을 만들기 위해서 그래픽 시뮬레이션을 사용한다. 로봇 셀은 로봇, 공작 기계, 컨베이어, 그리고 다른 기계로 구성될 수 있다. 시뮬레이션은 이런셀 구성 요소들이 모니터상에 표시되고, 동영상을 통해 로봇이 작업 사이클을 수행할수 있도록 해 준다. 시뮬레이션 과정을 이용하여 프로그램이 개발된 뒤에 셀에서 사용 하는 특정 로봇에 맞는 문자 언어로 전환된다. 이것은 NC 파트 프로그래밍의 후처리 과정과 유사한 단계이다.
현재의 상업적 오프라인 프로그래밍 패키지에서는 컴퓨터 시스템의 3차원 모델과 실제 물리적 셀 사이의 형상 차이를 보정하기 위한 작업이 수행될 수 있다. 예를 들면 실제 레이아웃에서의 공작기계 위치는 오프라인 프로그램에서 사용되는 모델과는 약간의 차이가 있을 수 있다. 로봇이 신뢰성 있게 그 기계에 장착과 탈착을 하기 위해서는 로봇이 제어 메모리에 기억될 장착/탈착점의 정확한 위치를 가지고 있어야 한다. 이 보정 모듈은 검퓨터 모델에서 얻어진 근사값을 실제 셀에서 얻어진 위치 데이터로 대체함으 로써 3D 컴퓨터 모델을 보정하는 데 사용된다. 하지만 이 과정을 수행하는 데 시간이 소비된다는 단점이 있다.
'Robotics : 로봇공학 > Certificate : 자격증' 카테고리의 다른 글
1-1-5 로봇 학습, 머신 비전 (0) | 2023.07.16 |
---|---|
1-1-4 블루투스 통신, 스마트폰 앱 프로그래밍 (0) | 2023.07.15 |
1-1-2 EtherCAT (0) | 2023.07.09 |
1-1-1 마이크로컨트롤러의 통신 방식 (0) | 2023.07.09 |
4-1-2 인공지능 1/3 (0) | 2023.07.09 |