1. 시작하기
두산 로봇에서는 프로그래밍을 위해 크게 두 가지 방법을 제공하고 있습니다.
- 태스크 빌더(Task Builder): 아이콘 형태로 로봇 및 주변기기 작동에 관한 스킬(Skill)을 제공하여, 직관적이고 손쉬운 프로그래밍 환경을 제공합니다.
- 태스크 라이터(Task Writer): 로봇 작동에 관련된 다양한 명령어를 제공하여, 정교하고 다양한 태스크 프로그래밍이 가능합니다.
태스크 라이터는 프로그램 코딩에 익숙한 고급 사용자용으로 기본 제공되는 명령어로는 구현할 수 없는 복잡한 모션 구현을 위해 사용자가 DRL (Doosan Robot Language)로 직접 작성하거나, 외부 저장 장치에 저장된 프로그램을 불러와 실행할 수 있는 커스텀 코드(Custom Code) 기능을 지원합니다.
이 과정에서는 두산 로봇에서 제공하는 태스크 라이터 사용 방법에 대해 알아보겠습니다.
2. 태스크 관리
고급 명령어와 커스텀 코드 등의 기능은 태스크 라이터에서 유용하게 사용할 수 있습니다. 스킬 명령어와 같이 간소화되고 편리한 기능은 태스크 빌더에서 사용할 수 있습니다. 태스크 라이터를 이용하여 태스크를 관리하는 방법에 대해 알아보겠습니다.
2.1 태스크 생성 및 저장
새 태스크 추가 시, 태스크 빌더와 다른 점은 워크셀 아이템 선택 없이 파일 이름 지정 후 프로그래밍을 시작할 수 있습니다. 또한 태스크 빌더에서 사용하는 템플릿 메뉴(등록된 워크셀 아이템의 조합으로 사용할 수 있는 스킬 모음) 대신 태스크 라이터에서는 커스텀 코드를 이용하여 외부의 태스크를 불러올 수 있습니다.
편집한 태스크를 저장하려면 메뉴 버튼을 누른 뒤, ‘저장’을 누릅니다. ‘다른 이름으로 저장’을 이용하여 태스크를 다른 이름으로 저장할 수 있습니다.
※ 최초 저장이 아닌 경우에는 확인 창이 나타나며, 확인 버튼 누를 시 기존 파일에 저장됩니다.
2.2 외부 저장 장치에 태스크 저장 및 가져오기
외부 저장 장치를 컨트롤박스의 USB 단자에 연결 후, ‘내보내기’를 눌러 외부 저장 장치가 연결된 드라이브를 선택해서 태스크를 저장할 수 있습니다. 외부 저장 장치의 파일 시스템은 FAT32, exFAT 형식만 사용할 수 있습니다
※ 태스크 라이터의 확장자는 ‘.tw’, 태스크 빌더의 확장자는 ‘.tb’ 입니다.
3. 태스크 라이터 명령어
태스크 라이터에서 사용할 수 있는 명령어에는 모션 명령어, 흐름 제어 및 기타 명령어, 고급 명령어가 있습니다.
- 모션 명령어: 로봇의 자세를 조정하거나 변경할 수 있습니다.
- 흐름 제어 및 기타 명령어: 태스크를 대기, 반복하거나 태스크에 포함된 명령어의 실행 여부를 결정하는 조건문 등 태스크 실행 흐름을 제어할 수 있습니다.
- 고급 명령어: 대상물의 무게를 측정하는 명령, 강성 제어, 힘 제어 실행 명령, 핸드가이딩 실행 명령, 사용자의 입력을 받는 명령이 있습니다.
4. 태스크 프로그램 편집 및 실행
태스크 라이터의 편집 화면과 실행 방법은 태스크 빌더와 동일합니다.
4.1 태스크 프로그램 편집하기
- GlobalVariables: 전역 변수값의 속성 탭에서 태스크 프로그램의 전역 변수 및 전역 포즈를 입력할 수 있으며 사전 설정된 전역 변수와 전역 포즈는 태스크 리스트에 추가된 명령어의 속성 화면에서 사용할 수 있습니다.
- CustomCode: 사용자가 DRL Code를 직접 입력하거나 사전에 작성하여 외부 저장 장치에 저장한 프로그램을 실행할 수 있습니다.
- MainSub & EndMainSub: 기본적으로 사용자가 선택한 명령어는 MainSub 의 하단에 추가되며, MainSub 의 하단에 위치한 명령어부터 EndMainSub 상단에 위치한 명령어까지 위에서부터 순서대로 실행됩니다.
태스크 리스트에서 명령어를 추가할 위치를 선택, 우측 명령어를 눌러서 입력합니다. 태스크 리스트에 추가된 명령어를 삭제하려면, 삭제하고자 하는 명령어 선택 후, 좌측 편집 도구에서 삭제 버튼을 누릅니다. 복사/잘라내기 및 붙여 넣기도 가능하며, 여러 명령어 선택 시 ‘다중 선택’을 눌러 편집합니다.
※ MainSub와 동시에 작업을 수행하기 위해, Thread를 추가 할 수 있습니다. 모션 명령어를 제외한 나머지 명령어를 Thread 하단에 추가 할 수 있습니다.
4.2 실행(플레이) 해보기
① 우측 상단 플레이 탭 선택합니다. 화면 전환 완료 시, 티치펜던트와 플랜지 LED는 청색에서 흰색 점등으로 변경 됩니다.
② 토글 버튼이 비활성화 시, 가상 모드(시뮬레이션)로 변경됩니다.
③ 실제모드(Real Mode)로 실행 시, 작성된 프로그램의 실제 로봇 작동을 통해 실행 결과를 확인할 수 있습니다.
④ 툴 중심 위치, 무게, 충돌, 힘 등 엔드 이펙터 정보를 볼 수 있습니다.
⑤ 컨트롤러, 플랜지 디지털 입/출력 정보를 확인할 수 있습니다.
⑥ 실제/가상 모드 작동 시, 로봇 이동 속도를 조절할 수 있습니다.
※ 실행 탭에서 시작 버튼을 탭 한 후, 일시 정지를 누르게 되면, 변수 탭만 활성화 되고 나머지 메뉴는 비활성화 됩니다. 명령어 추가나 속성으로 가기 위해서는 종료 버튼을 눌러야 합니다.
4.3 디버그 모드
주로 컴퓨터의 프로그램 중에 존재하는 오류를 확인하는 디버깅을 할 수 있고, 주요 버튼은 다음과 같습니다.
① 로봇 테스트 플레이 디버그 모드로 전환합니다.
② 명령어에 브레이크 지점을 설정합니다. 태스크 실행 후 해당 명령어 도달 시 실행하지 않고 멈추게 됩니다.
③ 명령어에 스킵 지점을 설정합니다. 태스크 실행 후 해당 명령어 도달 시 실행하지 않습니다.
④ 디버그 모드로 태스크를 실행 합니다. 태스크가 실행 중 브레이크 지점 도달 또는 일시 정지 등의 상태로 태스크가 일시 중지 되었을 경우, 재시작 버튼으로 변경 됩니다.
5. 정리
이번 과정에서는 두산 로봇의 태스크 라이터 사용 방법을 알아봤습니다. 태스크 라이터는 태스크 빌더와 대부분 동일하게 구성되어 있으며, 프로그래밍 시 다양한 명령어를 가지고 직접 복잡한 태스크를 보다 쉽게 작성할 수 있습니다. 보다 상세한 내용은 사용자 매뉴얼을 참조하시기 바랍니다.
참고 자료
※ 본 자료의 모든 내용과 도안에 대한 저작권 및 지적재산권은 두산로보틱스에 있습니다. 따라서 두산로보틱스의 서면 허가 없이 사용, 복사, 유포하는 어떠한 행위도 금지됩니다. 또한 특허권을 오용하거나 변용하는데 따르는 책임은 전적으로 사용자에게 있습니다.