1. 시작하기
두산 로봇에서 제공하는 모션 명령은 크게 두 가지로, 기본 모션과 고급 모션으로 구분할 수 있습니다. 각 모션 명령은 아래와 같습니다.
- 기본 모션(4가지): Move J, Move L, Move C, Move JX
- 고급 모션(5가지): Move SX, Move SJ, Move B, Move Spiral, Move Periodic
이 과정에서는 고급 모션 명령 방법 5가지에 대해 알아보겠습니다.
Move SX, Move SJ는 스플라인(Spline) 모션으로, 여러 개의 경유점과 목표점으로 연결 되는 곡선을 따라 로봇을 이동시키기 위해 사용됩니다. 스플라인은 금속이나 나무로 된 긴 자를 뜻하는데, 해당 모션은 탄력이 있고 자유롭게 변형 되는 곡선을 만들 수 있어, 복수의 제어점을 통과하는 부드러운 곡선 이동을 구현할 수 있습니다. Move B의 경우, 작업, 패스 등을 설정 후, 등속도로 설정된 반경 값으로 블렌딩하여 등속 이동을 합니다. 기본 모션 공통 설정값의 블렌딩 모드와는 속도 유형 및 세그먼트 별 설정 방식이 상이합니다. 또한 Move Spiral은 나선의 중심에서 바깥쪽으로 뻗어 나가는 이동을, Move Periodic은 주기적으로 반복되는 경로를 따라 로봇을 이동시킬 수 있습니다.
2. Move SX 알아보기
로봇이 임의의 위치에서 입력된 경유점들을 거쳐 목표위치까지 연결되는 스플라인 곡선경로를 따라 이동합니다. 입력한 전환 속도와 회전 속도는 이동 시 최대 속도 이며, 속도 옵션에서 고정을 선택할 경우 조건에 따라 입력한 속도로 정속 모션을 수행합니다.
[따라 해보기]
1) Move J로 임의의 기준점을 잡고, 웨이포인트 추가를 눌러 세그먼트 3개를 생성해보세요.
2) 로컬 탭에서 최대 전환 속도와 회전 속도를 아래와 같이 지정 후, 1)에서 지정한 경유점을 연결하는 스플라인 곡선경로를 따라 이동시켜보세요.
- 전환 속도: 150 mm/s
- 회전 속도: 30 ˚/s, 60 ˚/s²
3) 속도 옵션에서 고정을 선택하고, 전환 속도: 150 mm/s, 회전 속도: 30 ˚/s로 이동시켜 보세요.
3. Move SJ 알아보기
로봇이 임의의 위치에서 입력된 관절공간(joint space)의 경유점들을 거쳐 목표위치까지 연결되는 스플라인 곡선경로를 따라 이동합니다. 각 관절의 각도값으로 표현되는 여러 개의 경유점과 목표점으로 연결되는 곡선 경로를 따라 모션을 수행합니다. 입력한 속도/가속도는 경로 중 최대 속도/가속도를 의미하며, 입력되는 경유점의 위치에 따라 모션중의 감속, 가속이 결정됩니다.
[따라 해보기]
1) Move J로 임의의 기준점을 잡고, 웨이포인트 추가를 눌러 세그먼트 3개를 생성해보세요.
2) 로컬 탭에서 속도와 가속도를 아래와 같이 지정 후, 1)에서 지정한 경유점을 연결하는 곡선 경로를 따라 이동시켜보세요.
4. Move B 알아보기
작업 공간 내 여러 개의 경유점과 목표점으로 연결되는 직선 및 원호 경로를 따라 로봇을 이동시키기 위해 사용됩니다. 각 세그먼트를 설정된 반경값으로 블렌딩하여 등속으로 이동합니다. 기본 모션 명령어에서 공통으로 동작 설정하는 블렌딩의 경우에는 모션 수행 중, 블렌딩 위치에 갔을 때 중첩, 오버라이드 옵션값에 따라 실행됩니다. Move B의 경우, 속도, 이동 경로 등을 미리 설정한 뒤에 모션을 수행하게 됩니다.
Move B는 표면에 액체를 도포하는 작업처럼 균일한 속도로 동작해야 할 경우 사용되며, 속성값 설정에서 블렌딩 수행 가능 범위를 넘어설 경우 이동이 제한됩니다.
- 블렌딩 구간에서 조건에 따라 급격하게 방향전환이 발생될 경우, 급 가속을 방지하기 위해 사용자 입력오류가 나타납니다.
- 연속된 Line-Line segment 가 같은 방향을 가질 경우 Line 의 중복입력으로 사용자 입력 오류가 나타납니다.
[따라 해보기]
1) Move J를 이용, 속도: 30 ˚/s, 가속도: 60 ˚/s²로 임의의 기준점을 잡으세요.
2) 웨이포인트 추가에서 Move L로 반경값 20 mm 입력, 임의의 세그먼트 1을 생성해보세요.
3) 웨이포인트 추가에서 Move C로 반경값 20 mm 입력 후, 경유점 2개를 생성해보세요.
4) 전역값을 아래와 같이 설정해보세요.
- 전환 속도: 150 mm/s
- 회전 속도: 30˚/s, 60˚/s²
마지막 경유점 블렌딩 반경값은 반영되지 않고, 동일한 속도로 모션이 진행되는 것을 확인하실 수 있습니다.
5. Move Spiral 알아보기
방사형 방향으로 반경이 증가하며 회전하는 나선형 모션과 축 방향으로 선행모션이 병행하며 이동합니다. 구멍을 찾는 작업에 주로 사용되며, 모션의 총 회전수, 회전 축, 최대 반경 및 축간 거리를 지정해야 합니다.
[따라 해보기]
임의의 시작점에서 총 회전수 10회, 툴의 X/Y 평면에서 최대 반경 50 mm, 툴의 Z축 방향으로 회전, 수행 시간 10초로 프로그램을 생성해 보겠습니다.
1) Move J로 초기 자세 조인트로 이동하세요.
2) 아래와 같이 속성값에서 작동 조건을 정의하세요.
- 회전수: 10 rev
- 최대 반경: 50 mm
- 시간: 10 sec
- 회전 축: AXIS_Z
경로 생성 시 나선 경로에 의한 회전각 가속도를 연산하여 값이 큰 경우 안정적인 모션을 위하여 제한이 있을 수 있습니다. 이러한 경우에는 속도, 가속도 값 또는 도달 시간 값을 작게 조정하는 것을 권장합니다.
6. Move Periodic 알아보기
주기적으로 반복되는 경로를 따라 로봇을 이동시키기 위해 사용됩니다. 임의의 시작점에서 상대 모션으로 입력된 기준 좌표의 각 축(병진 및 회전)에 대한 주기 모션을 수행합니다. 각 축 별 모션의 특성은 진폭과 모션 1회 반복 시간에 의해 결정됩니다. 그리고 시작과 끝의 가속 및 감속 시간과 총 모션 시간은 주기, 반복 횟수에 의해 설정됩니다.
[따라 해보기]
Tool 좌표계 X축(10 mm 진폭, 1초 주기), Y회전축(진폭 30˚, 1초 주기) 모션 총 5회 반복 수행하도록 프로그래밍을 해보세요.
1) 진폭에서 X값에 10 mm, B값에 30 ˚를 입력하세요.
2) 주기에서 X값에 1 sec, B값에 1 sec를 입력하세요.
3) 기준좌표계에서 툴을 설정하고 반복 횟수는 5카운트로 입력하세요.
모션 수행 중, 최대속도 에러가 발생하는 경우, 다음의 식을 참고하여 진폭 및 주기를 수정하세요.
- 최대속도=진폭(amp)*2*pi(3.14)/주기(period)
(예, 진폭=10 mm, 주기=1 초인 경우, 최대속도=62.83 mm/sec)
7. 정리
이번 과정에서는 두산 로봇에서 제공하는 고급 모션 명령에 대해 알아봤습니다. 태스크 빌더를 통해 간단한 프로그래밍이 가능하며, 태스크 라이터에서는 다양한 명령 및 조건 설정을 통해 좀 더 심화적인 로봇 모션을 구현할 수 있습니다. 각 모션 별 특징을 이해하고 속성 옵션을 숙지하는 것이 필요합니다.
참고 자료
※ 본 자료의 모든 내용과 도안에 대한 저작권 및 지적재산권은 두산로보틱스에 있습니다. 따라서 두산로보틱스의 서면 허가 없이 사용, 복사, 유포하는 어떠한 행위도 금지됩니다. 또한 특허권을 오용하거나 변용하는데 따르는 책임은 전적으로 사용자에게 있습니다.