1. 시작하기
두산 로봇에서 제공하는 태스크 빌더의 스킬과 고급 제어기능을 사용하여, 기계부품 속에 다른 부품을 끼워 넣는 팩인홀(Peg-in-hole) 작업을 할 수 있습니다. 팩인홀 작업은 홀 근처까지 작업물이 접근, 접촉을 감지한 뒤, 스파이럴(Spiral) 모션을 통해 홀을 찾아 끼워 넣는 작업으로, 두산 로봇의 순응/힘 제어 기능을 이용하여 구현할 수 있습니다.

이 과정에서는 순응 제어를 이용한 프로그래밍 방법을 살펴보도록 하겠습니다.
2. Pick & Insert 스킬 살펴보기
Pick & Insert 스킬을 사용하기 위해서는 먼저 워크셀 매니저에서 엔드이펙터 및 툴 무게를 설정을 해야 합니다. 그리고 나서 태스크 빌더에서 신규 태스크 생성 시, 설정한 그리퍼와 툴 무게를 워크셀 아이템에서 선택합니다. 태스크 리스트의 명령어 탭에서 Pick, Insert 스킬을 선택하면, 접근/후퇴 설정부터 순응 제어, 접촉 감지, 스파이럴/회전 탐색 설정까지 손쉽게 프로그래밍 할 수 있습니다.
본 과정에서는 Pick & Insert 스킬 대신 다양한 태스크 빌더 명령어와 Grasp & Release 스킬로 프로그래밍을 해보겠습니다. 아래와 같이 Pick & Insert 작업에 필요한 명령어를 구성하였습니다.
① Set: 그리퍼 무게, TCP 등 설정
② Move L: 접근/후퇴 거리 및 이동 속도 등 지정
③ Grasp: 집기
④ Compliance & Force: 순응/힘 제어 설정
⑤ If: 조건 설정
⑥ Move Spiral: 스파이럴 모션 설정
⑦ Release: 놓기
팩인홀 작업에서 접촉 감지 후, 스파이럴 모션을 통한 홀 찾기를 위해서는 순응/힘 제어 설정과 반복 명령 실행 조건, 그리고 If 구문의 조건을 정의해야 합니다. 자세한 내용은 다음의 프로그래밍 방법에서 확인할 수 있습니다.
3. Pick & Insert 프로그래밍 방법
순응 제어를 활용하는 방법을 효과적으로 설명하기 위해, 순응 제어 및 힘 제어 그리고 나선(Spiral) 모션을 이용한 Pick & Insert 프로그래밍을 해보겠습니다. 하기 영상을 참고하세요.
3.1 접근/이동/후퇴 설정
Set 명령어를 이용하여 출력 신호, 툴 무게, 툴 중심 위치 그리고 기준 좌표계를 해당 태스크 리스트에 설정할 수 있습니다. 또한 Move L 명령어와 Grasp 스킬을 이용하여, 접근/이동/후퇴 및 집기를 프로그래밍 할 수 있습니다.
3.2 순응 제어 및 스파이럴 모션 설정
Compliance, Force, Repeat, Move Spiral 등의 명령어를 이용하여, 작업물이 홀 주위에 도달했을 때, 순응/힘 제어 조건에 따라 스파이럴 모션을 통해 홀 안으로 끼워 넣을 수 있습니다.
먼저 Compliance, Force 명령어를 추가하여, ‘켜기’ 모드를 선택 강도와 힘의 세기/방향을 설정하고 ‘확인’ 버튼을 누릅니다.
※ 각 축 별 Stiffness 범위는 X, Y, Z = 0~20,000 N/m, Rx, Ry, Rz = 0~400 N/m 입니다.
그리고 Repeat 명령어를 추가, 반복 조건을 설정합니다. 기준 좌표계 BASE 기준, 최대 힘이 20 N될 때까지 모션을 지속합니다.
- 반복 조건: check_force_condition(DR_AXIS_Z, max=20, ref=DR_BASE)
이번에는 If와 Move Spiral 명령어를 추가합니다. BASE 좌표계 기준, Z축 방향으로 최소 150 mm 지점으로 이동, 나선형 경로로 일정한 값만큼 증가하며 이동합니다.
- If 구문 조건: check_position_condition(DR_AXIS_Z, min=150, ref=DR_BASE)
마지막으로 Repeat 명령어를 추가, 반복 조건을 설정합니다. 기준 좌표계 BASE 방향 Z축으로 받는 힘이 0.5 N/m 될 때까지 반복합니다.
- 반복 조건: check_force_condition(DR_AXIS_Z, min=0.5, ref=DR_BASE)
3.3 순응/힘 제어 및 태스크 종료
Compliance, Force 명령어를 추가, ‘끄기’ 모드를 선택하고, 그리퍼 Release 스킬을 이용하여, 작업물을 내려 놓은 뒤, Move L로 후퇴합니다.
후퇴 시, ‘상대 이동’을 이용, Z축 방향으로 일정 거리를 입력하면 좀 더 신속한 프로그래밍을 할 수 있습니다.
4. 정리
이번 과정에서는 두산 로봇에서 제공하는 태스크 빌더를 이용한 Pick & Place 프로그래밍 방법을 알아봤습니다. 집기/놓기 동작을 기본으로 홀에 작업물 압입 시, 외부의 충격을 흡수하면서 모션을 수행하는 순응 제어를 이용하여, Pick & Insert 외에도 다양한 작업을 진행 할 수 있습니다. 보다 상세한 내용은 참조 & 프로그래밍 매뉴얼을 참고하시기 바랍니다.
참고 자료
※ 본 자료의 모든 내용과 도안에 대한 저작권 및 지적재산권은 두산로보틱스에 있습니다. 따라서 두산로보틱스의 서면 허가 없이 사용, 복사, 유포하는 어떠한 행위도 금지됩니다. 또한 특허권을 오용하거나 변용하는데 따르는 책임은 전적으로 사용자에게 있습니다.