본문 바로 가기

Doosan Robotics

Log In
Log In Form

튜토리얼

문서
태스크 라이터 응용: 조건에 따른 작업 분기
기초
30 분
이 과정에서는 태스크 라이터를 사용한 조건에 따른 작업 분기 방법을 소개합니다.

1. 시작하기

두산 로봇에서는 태스크 라이터를 사용하여 조건문을 설정하여 작업 분기를 할 수 있습니다. 조건문은 ‘~라면’, ‘~일 때’라는 조건이 충족되면 실행되는 문장으로, 파이썬(Python)을 기반으로 한 두산 로봇에서는 ‘If’, ‘Else If’ 그리고 ‘Else’ 이렇게 3가지 명령어를 제공합니다.

 

이 과정에서는 태스크 라이터를 사용하여 조건문을 만들고, 작업을 분기하는 방법을 소개합니다.

2. 조건문 함수 알아보기

태스크 실행 중 특정 조건에 따라 분기하기 위해 사용되는 흐름 제어 명령어를 알아보겠습니다. ‘If’ 구문의 조건을 어떻게 정의하느냐에 따라 ‘Else If’와 ‘Else’를 사용할 수 있습니다. ‘Else If’와 ‘Else’의 경우, 독립적으로 사용할 수 없으며 ‘If’ 명령어와 함께 정의되어야 합니다.

 

2.1 If
If의 조건이 참일 경우 이하를 실행하고, 거짓일 경우 Else 이하를 실행합니다. 비교구문에는 주로 비교연산자가 사용됩니다.

 

※ If 뒤에 비교 구문을 쓰고 콜론(:)을 찍습니다. 그리고 다음 줄에 실행 코드를 씁니다. 파이썬 쉘 프로그램이 아닌 메모장이나 다른 에디터를 사용하여 프로그래밍하는 경우, 실행코드는 들여쓰기(Indent)를 반드시 해 주어야 합니다. 

2.2. Else If
Elif라고도 하며, Else If문의 경우, If문 다음에 위치할 수 있고, If문 조건이 참이 아닐 경우, Else If문의 조건을 실행합니다. 따라서 단독으로 사용되지 않습니다. Else If 뒤에 비교 구문을 쓰고 콜론을 찍은 뒤 다음 줄에 실행코드를 씁니다. If문과 Else If문은 들여쓰기 없이 나란히 위치해야 합니다.

2.3. Else
If문의 결과가 참이 아니면, Else 지침이 수행됩니다.

2.4 End If
If 구문은 여기서 종료되며, If 명령어 추가 시, 자동으로 입력됩니다.

3. 조건문 함수를 이용한 프로그래밍

태스크 리스트에서 임의의 작업 그룹을 Sub에 지정, Compliance Control, Repeat 그리고 If 명령어를 이용해서 작업 분기하는 방법을 알아보겠습니다. 
 


3.1 Compliance와 Move L 설정
1) 순응 제어 설정: 모드를 켜고 Z 방향 강도를 1 N/m, 나머지는 기본값으로 설정합니다. Z 방향으로 조금의 외력만 가해져도 수직으로 스프링처럼 로봇이 쉽게 움직일 수 있습니다. 
2) Move L 설정: 비동기 모드로 베이스 좌표계 기준 Z축 방향으로 -100 mm 상대 이동하도록 설정합니다.

 

※ 동기 모드는 하나의 모션이 끝나고 다른 모션이 시작하고, 비동기 모드는 모션 종료를 기다리지 않고 다음 명령어를 수행합니다.

3.2 반복 명령과 If문 조건 정의
1) Repeat 설정: 반복 명령 실행 조건을 ‘True’로 정의합니다.
2) If 설정: BASE 좌표계 기준해서 Z축 방향으로 최소 20 N이면, If 이하를 실행하도록 조건을 정의합니다.
  • 조건: check_force_condition(DR_AXIS_Z, min=20, ref=DR_BASE)



※ If 구문을 Repeat 명령어와 함께 쓸 경우, 보통 Repeat의 반복 조건을 ‘True’로 설정하고 If 값이 ‘참’이 될 때까지 반복하도록 합니다.

3.3 Else 지침 설정
1) Else: If문 결과가 참이 아니면, Else 지침이 수행되며, 자동 입력된 Else 하위 명령어를 추가하여 지침을 생성합니다.
2) Wait: 지정한 시간만큼 대기하는 명령어로, 대기 입력신호 또한 정의할 수 있습니다. If 구문 조건이 ‘참’이 될 때까지 일시 중지하는 모션을 지속합니다.


4. 정리

이번 과정에서는 두산 로봇의 태스크 라이터를 사용하여 조건에 따른 작업 분기 방법을 알아봤습니다. ‘If’ 구문의 정의된 조건에 따라 ‘Else If’와 ‘Else’를 추가하여 다양한 태스크 작성을 할 수 있습니다. 보다 상세한 사용 방법은 사용자 & 프로그래밍 매뉴얼에서 확인할 수 있습니다.

참고 자료

※ 본 자료의 모든 내용과 도안에 대한 저작권 및 지적재산권은 두산로보틱스에 있습니다. 따라서 두산로보틱스의 서면 허가 없이 사용, 복사, 유포하는 어떠한 행위도 금지됩니다. 또한 특허권을 오용하거나 변용하는데 따르는 책임은 전적으로 사용자에게 있습니다.
추천 교육
여러분에게 도움이 될 수 있는 추천 교육 과정들을 확인하세요.
문서
힘 제어를 이용한 프로그래밍 방법
문서
무선 공유기 사용방법
문서
DART-Studio 사용 방법 – 태스크 관리