1. 시작하기
두산 로봇에서는 태스크 라이터의 흐름 제어 명령어를 사용하여 반복 작업을 수행할 수 있습니다. 대표적으로 Pick & Place나 Palletizing과 같은 반복 작업을 카운트 입력을 통해서 혹은 반복조건 설정에 따라 특정 횟수나 무한 반복 작업이 가능합니다.
이 과정에서는 태스크 라이터를 사용한 반복 작업 방법을 소개합니다.
2. Repeat 명령어 소개
태스크 라이터 흐름 제어 명령어 탭에서 Repeat을 클릭합니다. 태스크 리스트에는 ‘Repeat’과 ‘End Repeat’이 추가 되며, 반복할 작업을 ‘Repeat’의 하위 명령어로 입력합니다.
① 카운트: 반복할 횟수를 설정합니다.
② 변수 이름: 반복 작업의 이름을 설정합니다.
③ 반복 조건: 조건문을 지정하여, 해당 조건이 참일 때 반복합니다.
※ 변수 이름은 알파벳으로만 시작 가능하며, 알파벳, 숫자, 언더스코어만 포함 가능합니다.
※ 반복 조건은 일반적으로 리턴값 조건이 참인 ‘True’를 입력하고, 조건 구문 정의하여 조건이 참인 경우, 반복 작업을 수행합니다.
3. Repeat을 이용한 프로그래밍
Repeat 명령어를 이용, 간단한 Pick & Place 태스크 리스트를 만들어 보았습니다. 특정 값의 변화에 따른 반복 조건이 가능합니다.
3.1 카운트를 이용한 반복 작업
1) Move J 모션 명령어를 입력, 동작을 실행할 임의의 점으로 로봇을 준비 시킵니다.
2) Repeat 명령어 추가 후, 임의의 3개 작업물을 집기/놓기 동작을 수행하기 위한 모션 명령어 및 입력된 서브루틴을 호출하는 Call Sub 명령어를 추가합니다.
3) Repeat 속성에서 카운트에 5회를 입력하고, 변수 이름은 ‘Loop’로 지정합니다.
4) Set 명령어를 입력, 그리퍼 동작을 설정합니다. 커넥터(X2)에 연결, 출력 신호 포트가 4, 5번으로 되어 있습니다.
5) 플레이 탭에서 태스크를 실행해 봅니다. 3개의 작업물을 집기/놓기 하는 과정을 총 5회 반복하는 것을 확인하실 수 있습니다.
3.2 반복 조건을 이용한 반복 작업
Pick & Place에서 작업물을 내려 놓는 과정에서, 바닥면과의 충돌을 최소화 하기 위해, Repeat 명령어와 If 명령어를 이용하여, 목표점까지 안전하게 이동 시킬 수 있습니다.
1) Repeat 명령어 속성의 반복 조건에 ‘True’를 입력합니다.
2) If 명령어를 추가하여, 구문의 조건을 아래와 같이 정의합니다. BASE 좌표계 기준, Z축 방향으로 최소 10 N이 되면 작업을 중지하고 순응/힘 제어를 끈 뒤, 후퇴합니다.
- 조건: check_force_condition(DR_AXIS_Z, min=10, ref=DR_BASE)
3) Stop Motion, Break 명령어는 실행중인 처리를 정지하고 다음 작업을 실행하게 합니다.
4. 정리
이번 과정에서는 두산 로봇의 태스크 라이터를 이용하여, 반복 작업 명령어를 알아봤습니다. 작업 일부를 일정 횟수만큼 반복 할 수 있고, ‘If’ 구문의 조건을 정의하여, ‘True’가 될 때까지 작업을 지속할 수 있습니다. 보다 상세한 사용 방법은 참조 & 프로그래밍 매뉴얼에서 확인할 수 있습니다.
참고 자료
※ 본 자료의 모든 내용과 도안에 대한 저작권 및 지적재산권은 두산로보틱스에 있습니다. 따라서 두산로보틱스의 서면 허가 없이 사용, 복사, 유포하는 어떠한 행위도 금지됩니다. 또한 특허권을 오용하거나 변용하는데 따르는 책임은 전적으로 사용자에게 있습니다.