1. 시작하기
두산 로봇에서 제공하는 모션 명령은 크게 두 가지로, 기본 모션과 고급 모션으로 구분할 수 있습니다. 각 모션 명령은 아래와 같습니다.
- 기본 모션 (4가지): Move J, Move L, Move C, Move JX
- 고급 모션 (5가지): Move SX, Move SJ, Move B, Move Spiral, Move Periodic
이 과정에서는 기본 모션 명령 방법 4가지에 대해 알아보겠습니다.
로봇을 구동하는 모션 명령에는 조인트 모션과 태스크 모션으로 나눌 수 있습니다. 모션 명령어에 ‘J’가 포함되어 있는 경우, 로봇의 각 관절이 움직여 목표 위치로 이동하는 조인트 모션이라고 하며, 툴 좌표와 직진성을 고려하지 않고, 관절 각도에 따라 최종 좌표로 이동합니다. 반면 ‘J’가 없는 경우에는 태스크 모션으로, 툴의 끝 단 위치에서 최종 좌표로 직선 또는 원호 형태로 이동을 합니다. 결과적으로 여러 가지 관절 각도의 조합이 가능하나, 각 관절의 각도로 이동이 불가할 경우, 특이점 (singularity) 오류가 발생할 수 있습니다.
2. 공통 설정: 동작 조건
모션 명령어 작성시 공통으로 설정하는 속성값에 대해 알아보겠습니다.
2.1 위치 정보
Move J의 경우, 목표하는 관절 좌표로 로봇을 이동 시키기 위해 사용되어, 기준 좌표 설정 없이 각 관절 별 각도를 지정하여 해당 위치로 이동합니다.
① 이동 유형 (절대, 상대)를 선택합니다.
② 조그 기능을 이용하거나 직접 교시하여 임의로 설정한 위치로 로봇을 이동 후 포즈를 저장합니다.
③ 각 관절 각도를 지정합니다. 6개의 관절이 동시에 움직이는 특징이 있습니다.
반면 Move L, Move C, Move JX의 경우, 기준 좌표를 설정하고 X, Y, Z 축 위치값 및 A, B, C 축 회전 각도를 설정합니다.
④ 베이스, 월드, 툴 기준으로 좌표를 설정할 수 있습니다.
⑤ X, Y, Z 축 위치값 및 A, B, C 축 회전 각도를 설정합니다.
2.2 속도, 가속도
속도, 가속도는 각 모션 명령어의 별도 설정이 없을 경우, 태스크 상위 리스트 MainSub에 입력된 값이 기본값입니다. 태스크, 조인트 속도, 가속도 및 특이점 처리 등 MainSub에 일괄적으로 설정할 수 있습니다. 조인트 모션인 Move J는 각 관절의 이동 속도를, 태스크 모션인 Move L 등은 전환, 회전 속도를 ‘로컬’ 탭에서 설정할 수 있으며, 도달 시간 또한 지정할 수 있습니다.
① 전역으로 설정 시, MainSub의 속성에 설정되어 있는 속도로 작동합니다.
② 로컬로 설정 시, 모션 명령어 별 적용할 속도, 가속도를 개별적으로 지정할 수 있습니다.
③ 속도 및 가속도를 직접 입력하거나, 슬라이드 바를 이용하여 설정할 수 있습니다.
2.3 작동 모드, 반경, 블렌딩
① 이동 시 축의 작동 방식에 따라 동기 모드와 비동기 모드가 있습니다.
- 동기: 순차적으로 모션 명령어 실행합니다. 실행중인 명령이 종료되고 나서, 순서대로 이어지는 명령을 진행합니다.
- 비동기: 비순차적인 모션 명령어입니다. 임의의 모션 명령 실행 후, 다음 명령을 바로 진행합니다.
② 반경 (Radius)을 0으로 설정하면 모션 블렌딩 기능이 활성화되지 않아 현재 모션 명령어 목표점에 도달하여 정지한 후 다음 모션 명령어의 목표점으로 이동합니다.
③ 목표점에 도달하여 정지하는 대신 특정 조건이 갖춰졌을 때 목표점 도달 없이 다음 모션 명령어의 목표점으로 부드럽게 이동하는 기능입니다.
- 중첩: 모션 명령어의 목표점을 기준으로 설정한 반경 (radius)이내 도착했을 때, 현재 명령어 목표점 방향의 속도 성분을 유지한 채, 다음 모션 명령어의 목표점으로 진행합니다.
- 오버라이드: 모션 명령어의 목표점을 기준으로 설정한 반경 (radius)이내에 도착했을 때, 현재 명령어 목표점 방향의 속도 성분을 즉시 감소시키고, 다음 모션 명령어의 목표점으로 진행합니다.
[따라 해보기]
기본 모션 속성에서 여러 가지 동작 조건을 설정한 후, 로봇을 직접 움직여보세요. MainSub와 각 모션 속성 별 위치 정보, 속도/가속도 및 작동 모드를 변경하면서, 로봇의 움직임을 비교해보세요.
3. Move J 알아보기
목표하는 위치에 로봇의 관절 각도를 설정하여 이동시키기 위해 사용됩니다. TCP가 특정 경로를 따를 필요가 없으며, 다른 유형보다 모션 속도가 빠릅니다. 별도로 설정한 중간 목표점이 없을 경우, 끝 단의 위치가 중요하지 않고 이동 속도를 높여 신속한 작업을 수행하기 위해 많이 쓰입니다. 예를 들면, 컨베이어에서 공작물을 집은 상태에서, 팔레트에 적재하기 위해 빠른 이동을 할 때 효과적입니다.
[따라 해보기]
Move J를 이용하여 임의의 시작점 P0으로 이동, 다음의 프로그램을 만들어보세요.
- 속도 (60 ˚/s)와 가속도 (100 ˚/s²) 설정 후, 임의의 목표점 P1까지 이동해보세요. 추가적으로 도달 시간 5초로 설정하여 목표점 P0에서 P1까지 이동하여 속도의 차이를 비교해보세요.
- 속도 (30 ˚/s)와 가속도 (50 ˚/s²) 설정 후, 또 다른 임의의 목표점 P2까지 이동해보세요. 이어서 1) 모션 속성에서 반경값 설정 후, 블렌딩 모드로 P1을 경유하여 P2로 이동해보세요.
조인트 모션에 영향을 주는 속성 및 관절의 움직임, 이동 속도의 이해를 높일 수 있습니다.
4. Move L 알아보기
목표하는 작업 공간 좌표로 직선을 따라 로봇을 이동시키기 위해 사용됩니다. 일반적으로 물건을 Pick & Place 할 때 TCP가 중요합니다. 정교한 모션이나 컨베이어에서 공작물 집어 들거나, 팔레트 위에 정확히 적재하는 등 선형 모션에서 유용하게 쓰입니다.
[따라 해보기]
Move J를 이용하여 임의의 시작점 P0으로 이동, 다음의 프로그램을 만들어보세요.
- ‘로컬’ 속성에서 속도 (250 mm/s) 설정 후, 임의의 목표점 P1으로 이동해 보세요.
- 기존 경로에 대해 가급적 수직이 되도록 다른 임의의 점 P2 설정 후, 비동기 모드 및 블렌딩 오버라이드 모드로 모션을 수행해 보세요.
5. Move C 알아보기
현재 위치에서 두 점 (경유점, 목표점)으로 이루어지는 원호를 따라 로봇을 이동시키기 위해 사용됩니다. 두 점을 교시하여 Arc를 그리는 방식이며, 현재 위치 값이 달라지면 다른 위치에 원호를 그리게 되므로 시작점이 바뀌지 않도록 주의해야 합니다.
[따라 해보기]
임의의 시작점 P0으로 이동, 경유점 2개 (P1, P2)를 대상으로 다음의 프로그램을 만들어 보세요.
- 속도 (250 mm/s) 설정 후, P1을 경유하여 P2에 이르는 원호궤적을 따라 이동하세요.
- 전체 원형 각도 및 선택적 각도를 각각 60 ˚, 30 ˚로 설정해보세요. 앞서 세 개의 점 (P0, P1, P2)로 이루어진 궤적을 따라 시작점 P0으로부터 30 ˚ 지점까지는 가속하여 이동, 이 후 60 ˚ 지점까지는 설정된 속도로 이동, 마지막 30 ˚ 위치까지는 감속 이동, 총 120 ˚ 곡선 이동을 합니다. 이 때 설정한 각도에 따라 경유점 P1, P2에 못 미칠 수도 혹은 원호궤적에 따라 경유점을 지나칠 수 있습니다.
6. Move JX 알아보기
목표하는 작업 공간 좌표 및 관절 형태로 로봇을 이동시키기 위해 사용됩니다. 직선을 따라 움직이지 않고, 관절마다 이동 규제를 하고, 간섭 회피 교시가 가능합니다. 특이점 오류 문제를 해소하며, 목표로 한 태스크 좌표까지 이동하는 방법으로, Shoulder (우/좌), Elbow (위/하), Wrist (반전 없음/반전)을 고려해야 합니다.
[따라 해보기]
Move J를 이용하여 임의의 시작점 P0으로 이동, 다음의 프로그램을 만들어보세요.
- 속도 (60 ˚/s)와 가속도 (120 ˚/s²) 및 Shoulder, Elbow, Wrist 조건 설정하여, 임의의 목표점 P1으로 이동해보세요. 로봇의 이동 범위가 클 수도 있으므로 안전에 유의하세요. 에러 발생의 경우, 조건을 바꿔가며 작동시켜 보세요.
7. 정리
이번 과정에서는 두산 로봇에서 제공하는 기본 모션 명령에 대해 알아보았습니다. 태스크 빌더 혹은 태스크 라이터에서 로봇 작동의 공통 설정값 및 기본 모션 명령어 4가지를 이용하여, 간단한 프로그래밍이 가능합니다. 각 모션 별 속성 값의 특징을 숙지하는 것이 필요합니다.
참고 자료
※ 본 자료의 모든 내용과 도안에 대한 저작권 및 지적재산권은 두산로보틱스에 있습니다. 따라서 두산로보틱스의 서면 허가 없이 사용, 복사, 유포하는 어떠한 행위도 금지됩니다. 또한 특허권을 오용하거나 변용하는데 따르는 책임은 전적으로 사용자에게 있습니다.