UR CB 시리즈 (Polyscope 3.9 및 이상)
플러그인 설치 및 배포
이 부분은 UR CB 시리즈 로봇용Mech-Mind 3D Vision Interface(URCap 플러그인)의 설치 및 배포에 대한 설명입니다.
전제 조건
Mech-Mind 시리즈 비전 소프트웨어와 Polyscope가 최소 버전 요구사항을 충족하는지 확인하십시오.
Polyscope의 버전을 확인하려면, Polyscope 메인 인터페이스의 About 버튼을 클릭하십시오.
URCap 플러그인 설치
URCap 플러그인을 설치하려면 다음 스텝를 수행하십시오:
-
Mech-Vision 및 Mech-Viz소프트웨어 설치 경로 아래의`통신 구성 요소\Robot_Interface\Robot_Plugin\UR_URCAP\Polyscope` 폴더로 이동합니다. 해당 폴더 내에서 확장명이 .urcap 인 파일을 찾아 USB 드라이브에 복사하십시오.
-
USB를 UR 티치 펜던트에 삽입합니다.
-
Polyscope 메인 인터페이스에서 Setup Robot버튼을 클릭하십시오.
-
Setup Robot 인터페이스의 좌측 패널에서 URCap 선택하십시오.
-
URCap 인터페이스에서 + 버튼을 눌러 USB 화면으로 전환하여 URCap 플러그인(.urcap 파일)을 찾으십시오.
-
Select URCap to install 인터페이스에서 URCap 플러그인을 선택하고 Open 버튼을 클릭하십시오. URCap 플러그인은 자동으로 설치됩니다.
-
Restart 버튼을 눌러 수정을 활성화시킵니다.
이로써 URCap 플러그인은 성공적으로 UR 티치 펜던트에 설치됩니다.
| 설치 완료 후 로봇의 IP 주소도 설정해야 합니다(차례로 Set Robot>Network 버튼을 클릭하십시오). 로봇의 IP 조소는 IPC의 IP 조소와 동일한 네트워크 세그먼트에 있어야 합니다. |
Mech-Mind 3D Vision Interface 사용하기
|
사용하기 전에 (필요한 경우)Mech-Vision 와 Mech-Viz프로젝트가 준비되고 Mech-Mind IPC가 로봇의 네트워크에 연결되어 있는지 확인합니다. |
또한 Mech-Mind 3D Vision Interface를 사용하기 전에 다음 작업을 완료해야 합니다.
-
Mech-Vision 소프트웨어를 시작합니다. 표시되는 인터페이스에 따라 다음의 적절한 방법을 선택하여 솔루션을 생성하십시오.
-
시작 화면이 나타나면 새로운 솔루션 만들기를 클릭하여 새로운 솔루션을 만듭니다.
-
메인 인터페이스가 나타나면 메뉴 바에서 을 차례로 클릭하여 새로운 솔루션을 만듭니다.
-
-
Mech-Vision 툴 바에서 로봇과 통신 - 로봇 통신 구성을 클릭합니다.
-
로봇 통신 구성 창에서 다음 구성을 수행합니다.
-
로봇 선택 드롭다운 디렉터리를 클릭하고 목록에 있는 로봇 을 선택한 다음 로봇 모델 선택을 클릭하여 로봇 모델을 선택합니다. 그 다음에 다음을 클릭합니다.
-
통신 방식 화면에서 인터페이스 서비스 유형을 표준 인터페이스로 선택하고, 프로토콜을 TCP Server로 선택하며 프로토콜 형식을 ASCII으로 선택합니다.
-
고급 설정 에서 한 번에 전송할 수 있는 최대 포즈 수 는 15 로 설정합니다.
-
포트 번호는 50000으로 설정합니다(고정값, 변경 불가). 설정된 포트 번호를 다른 프로그램이 사용하고 있지 않은지 확인해야 합니다.
-
(선택 사항) 솔루션을 열 때 인터페이스 서비스 자동 활성화 를 선택합니다.
-
응용을 클릭합니다.
-
-
Mech-Vision 메인 화면에서 툴 바에 있는 “인터페이스 서비스” 기능이 활성화되어 있는지 확인하십시오.
Mech-Vision 에서 인터페이스 서비스를 시작한 후 UR 티치 펜던트에서 다음과 같이 수행하여 인터페이스 서비스를 연결합니다.
-
Polyscope 메인 인터페이스에서 Program Robot버튼을 클릭하십시오.
-
Installation탭을 선택한 후, 좌측 패널에서Network Settings을 클릭하십시오. URCap 플러그인의 Network Settings 화면이 나타냅니다.
-
*MechMind IPC IP Address*와 *Port No.*를 각각 Mech-MindIPC의 IP 주소와 포트 번호(Mech-Vision통신 구성중의 포트 번호와 일치해야 함)를 설정하고 Apply 버튼을 클릭하십시오.
-
Connection Test 버튼을 클릭하십시오.
-
연결 성공하면 반환된 상태 메시지는 다음과 같습니다:
-
연결 실패하면 반환된 상태 메시지는 다음과 같습니다:
연결 테스트는 테스트 목적으로만 사용됩니다. 일단 설정에 성공하면 자동으로 연결이 끊어집니다. 따라서 Mech-Vision 로그 창의 콘솔 아래에서 클라이언트가 연결되어 있고 클라이언트가 로그가 끊긴 것을 볼 수 있습니다.
-
플러그인을 통해 캘리브레이션을 진행하기
표준 인터페이스 통신을 설정한 후, 로봇을 연결하여 자동 캘리브레이션을 수행할 수 있습니다. 자동 캘리브레이션의 전체적인 프로세스는 아래 그림과 같습니다.
특별 참고사항
캘리브레이션을 실행할 때 "로봇을 연결하기" 스텝에서 Mech-Vision 소프트웨어 화면에서 로봇이 연결되기를 기다리는 중... 버튼이 나타나면 사용자는 아래 스텝에 따라 로봇 측에서 작업을 수행해야 하며, 작업 완료 후 Mech-Vision 소프트웨어에서 나머지 단계를 스텝을 진행하십시오.
|
캘리브레이션 프로그램을 만들기
-
UR 티치 펜던트에서 차례로 버튼을 클릭한 다음Empty Program 버튼을 클릭하십시오.
-
차례로 menu:Structure [URCaps]을 선택하고 URCap 탭에서 Mech-Mind Calibrate버튼을 클릭하십시오. 좌측 패널의 Robot Program*따라 *Calibrate 프로그램 예시 노드가 자동으로 생성됩니다.
생성된 프로그램 예시 노드는 모델입니다. 로봇 캘리브레이션을 완료하려면 캘리브레이션 프로그램을 추가로 설정하고 캘리브레이션 시작점을 티칭해야 합니다.
티치 펜던트를 통해 캘리브레이션 시작점 설정
-
Calibrate 노드를 더블 클릭하여 우측 패널에서 Command 탭을 선택하고 실제 필요에 따라 *Type of point received fromMech-Vision*설정합니다.
-
Next 버튼을 클릭하여 MoveJ*노드로 이동한 후, 우측의 *Move 패널에서 이동 유형(MoveJ, MoveL 또는 MoveP)을 설정합니다. 이후 *Set TCP*를 *Use Tool Flange*으로 지정하여 경로 포인트가 플랜지 포즈로 정확히 기록되도록 합니다.
-
수동으로 로봇을 캘리브레이션 시작점 위치로 이동합니다.
시작점 위치는 캘리브레이션 보드의 포인트 클라우드 품질을 확인할 때 로봇이 있는 위치로 설정할 수 있습니다.
-
UR 티치 펜던트 화면으로 들어가 좌측 패널에서 start_pose 노드를 선택하고 우측 Waypoint*패널에서 Set Waypoint버튼을 클릭하십시오. 인터페이스는 *Move 탭으로 이동합니다.
-
Move 탭에서 현재 로봇의 플랜지 포즈가 맞는지 확인하고OK버튼을 누르십시오.
캘리브레이션 프로그램 실행
-
좌측 패널에서 Robot Program 로그램 트리를 선택하고 프로그램이 한번만 실행되도록 하기 위해 우측 패널에서 Program Loops Forever 옵션을 언체크해야 합니다.
-
안전을 위해 하단 바에서 로봇의 속도를 적당한 값(예: 10%)으로 낮추십시오.
-
하단 바에서
버튼을 눌러 프로그램을 실행하십시오. -
Mech-Vision의 캘리브레이션 창을 확인하고 로봇 연결 영역에 "연결됨" 상태 정보가 표시된 후 버튼이 로봇이 연결되기를 기다리는 중...에서 연결 끊기로 변경된 후 하단 바에서다음 버튼을 클릭합니다.
-
아래 링크를 각각 참고하여 캘리브레이션 시작 중 네 번째 스텝(이동 경로 설정)과 후속 워크플로를 실행하십시오.
후속 작업을 위해 캘리브레이션 프로그램을 저장해야 할 경우, 메뉴에서을 선택합니다.
핸드-아이 캘리브레이션을 완료한 후,픽 앤 플레이스 프로그램을 만들기하여 UR 로봇이 비전 가이드를 받아 픽 앤 플레이스 작업을 수행하도록 제어할 수 있습니다.
픽 앤 플레이스 프로그램을 만들기
URCap 플러그인은 최소한의 프로그래밍 노력으로 픽 앤 플레이스 프로그램을 생성할 수 있는 픽 앤 플레이스 예시 프로그램 노드를 제공합니다.
픽 앤 플레이스 예시 프로그램 노드는 셋 가지 옵션을 제공합니다:
-
Mech-Vision사용하기기(피킹 포즈): "경로 계획" 스텝을 포함하지 않은 Mech-Vision 프로젝트만 사용하는 경우로, 로봇이 Mech-Viz를 통한 경로 계획을 필요로 하지 않는 시나리오에 적용됩니다.
-
Mech-Vision사용하기기(피킹 경로): "경로 계획" 스텝을 포함하는 Mech-Vision 프로젝트만 사용하는 경우로, 로봇이 Mech-Viz를 통한 경로 계획을 필요로 하지 않는 시나리오에 적용됩니다.
-
Mech-Viz사용하기: Mech-Viz 프로젝트와 Mech-Vision 프로젝트 함께 사용되어 로봇에게 충돌이 없는 이동 경로를 제공하는 시나리오에 적응됩니다.
|
Mech-Vision 사용하기 (피킹 포즈)
Mech-Vision(피킹 포즈) 사용하는 프로그램을 만들기 위해 다음과 같은 스텝을 수행하십시오:
-
Mech-Vision(피킹 포즈) 옵션 사용을 선택하십시오.
-
UR 티치 펜던트에서 차례로 버튼을 클릭하십시오.
-
차례로 menu:Structure [URCaps]을 선택하고 URCap 탭에서 Mech-Mind Pick and Place버튼을 클릭하십시오. 좌측 패널의 Robot Program*따라 *Pick and Place 프로그램 예시 노드가 자동으로 생성됩니다.
-
Command 탭 선택하고 With Vision (picking points)버튼을 클릭하십시오.
-
프로그램 트리의 *Pick and Place*노드 하위에 프로그램 템플릿이 자동으로 추가된 것을 확인한 후, Next버튼을 클릭합니다.
-
-
Mech-Mind Connect 노드에서 우측 패널의 *Host IP*의 값이Mech-Mind IPC의 IP 주소로 설정되어 있는지 확인하십시오.
-
이미지 획득 포즈를 설정하십시오.
-
로봇을 수동으로 제어하여 적절한 위치로 이동합니다. 여기에서 Mech-Vision이 이미지 캡처를 트리거 할 것입니다.
-
Eye-In-Hand인 경우에 로봇은 작업물 위에 있어야 합니다.
-
Eye-To-Hand인 경우에 로봇은 카메라 시야를 가리면 안 됩니다.
-
-
UR 티치 펜던트 화면으로 돌어가 Next버튼을 클릭하여 *MoveJ*노드로 이동합니다. 우측 *Move*패널에서 이동 유형(MoveJ、MoveL 또는 MoveP)을 설정합니다. *Set TCP*을 *Use active TCP*으로 설정한 후 Next버튼을 클릭하십시오.
-
우측 Waypoint*패널에서 Set Waypoint버튼을 클릭하십시오. 인터페이스는 *Move 탭으로 이동합니다.
-
Move 화면에서 현재 로봇의 TCP 포즈가 맞는지 확인하고 OK버튼을 누르십시오.
-
이미지 획득 포인트 설정 후 Next버튼을 클릭하십시오.
-
-
Mech-Vision 프로젝트 실행을 트리거합니다.
-
우측*Trigger Mech-Vision*패널에서 Type of robot pose to send*와Mech-Vision Project ID* 및 *Num of expected poses*파라미터를 설정합니다. 자세한 설명은 다음 표와 같습니다.
파라미터 설명 로봇 포즈 전송 유형
Mech-Vision프로젝트에 보낼 로봇의 포즈 유형을 지정합니다. 본 예시에서는 Current position 파라미터 값을 선택합니다.
-
Current position: 로봇의 현재 관절 각도와 플랜지 포즈를 Mech-Vision프로젝트로 전송합니다. 카메라는 Eye In Hand 방식으로 장착되는 경우 이 파라미터를 사용해야 합니다.
-
Predefined JPs: 사용자 사전 정의한 관절 각도를 Mech-Vision 프로젝트로 전송합니다. 이 관절 각도 데이트는 Mech-Vision 프로젝트의 "경로 계획" 스텝에게 시작점으로 전송되며, 즉 로봇은 이 시작점에서 계획된 경로의 첫 번째 웨이포인트로 이동합니다. 카메라의 설치 방법은 Eye To Hand이며 프로젝트에 "경로 계획" 스텝이 있고 사전 사진 촬영이 필요한 경우 이 파라미터를 사용합니다.
Mech-Vision 프로젝트 번호
Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트 창에서 확인할 수 있습니다.
반환된 포즈 수량
Mech-Vision가 출력할 기대하는 포즈 수입니다.
-
0으로 설정하면Mech-Vision가 인식된 모든 포즈를 반환됩니다.
-
1에서 20사이의 정수로 설정한다면, 인식된 총 포즈 수가 원하는 값보다 클 것입니다.Mech-Vision설정된 수만큼의 포즈를 반환합니다. 단, 시스템이 인식한 포즈의 총 개수가 사용자가 설정한 기대값보다 적을 경우 Mech-Vision가 인식된 모든 포즈를 반환합니다.
-
-
(선택 사항) Set the Recipe ID버튼을 클릭하면 프로그램 트리의*Trigger Mech-Vision*노드 하위에*Set Recipe ID*노드가 자동으로 추가됩니다.
Set Recipe ID*노드를 더블 클릭한 후, 우측의 *Set Recipe ID 패널에서* Project Parameter Recipe ID*값을 설정합니다. *Mech-Vision Project ID*값은 이전 노드에서 설정한 값과 반드시 동일해야 합니다. 설정 완료 후 Next버튼을 클릭합니다.
-
-
Mech-Vision 결과 수신 설정합니다.
*Receive Mech-Vision Result*노드를더블 클릭하여 *Result type *와 *Return pose type*을 설정한 후*variables for saving returned data*명칭을 설정한 다음 Next 버튼을 클릭합니다.
본 예시는 Mech-Vision 으로부터 피킹 포즈를 직접 수신하는 기능을 사용하므로, 여기서 *Result type*는 *Basic*또는 *Custom*으로만 설정할 수 있으며, *Planned path*로는 설정할 수 없습니다.
-
*Result type*이 *Basic*인 경우 *Return pose type*는 *Pose*로만 설정할 수 있으며 이는 수신된 포즈가 TCP 포즈임을 의미합니다. 기타 파라미터의 설명은 아래 표와 같습니다.
파라미터 설명 포즈
해당 포즈는 로봇의 말단장치 포즈를 의미합니다. Mech-Vision에서 출력된 물체 포즈("Output" 스텝의 poses 포트 데이터)는 비전 시스템에 의해 자동으로 로봇의 말단장치 포즈로 변환됩니다. 활성화된 TCP를 사용하는 로봇은 해당 포즈 위치로 직접 이동할 수 있습니다. 기본적으로 포즈는 배열 변수 pose[]에 저장되며, 배열 시작 인덱스는 1입니다.
레이블
포즈에 대응하는 라벨로, 정수값입니다. 기본적으로 배열 변수 label[]에 저장되며, 배열 시작 인덱스는 1입니다.
수신 포즈 개수
Mech-Vision으로부터 수신한 포즈의 개수입니다. 기본적으로 포즈 수량은 total_recv 변수에 저장됩니다.
상태 코드
Mech-Vision에서 반환된 상태 코드입니다. 11xx는 정상적인 상태 코드, 10xx는 오류 코드를 의미하며, 자세한 내용은표준 인터페이스 상태 코드 및 오류 처리 문서를 참고하십시오. 기본적으로 상태 코드는 status_code 변수에 저장됩니다.
모든 포인트 수신 여부
Mech-Vision 으로부터 인식된 모든 포즈를 수신했는지를 나타냅니다. 값은 0 또는 1입니다. 0은 모든 포즈를 획득하지 않았음을 나타냅니다. 1은 모든 포즈를 획득함을 나타냅니다. 기본적으로 모든 포인트 수신 여부를 last_data 변수에 저장됩니다.
-
*Result type*이 *Custom*인 경우 *Return pose type*는 *Pose*로만 설정할 수 있으며 이는 수신된 포즈가 TCP 포즈임을 의미합니다. 기타 파라미터의 설명은 아래 표와 같습니다. 또한,Mech-Vision "출력"스텝의 포트 유형파라미터는 "사용자 정의" 설정해야 하며 poses 포트가 존재해야 합니다.
파라미터 설명 포즈
해당 포즈는 로봇의 말단장치 포즈를 의미합니다. Mech-Vision에서 출력된 물체 포즈("Output" 스텝의 poses 포트 데이터)는 비전 시스템에 의해 자동으로 로봇의 말단장치 포즈로 변환됩니다. 활성화된 TCP를 사용하는 로봇은 해당 포즈 위치로 직접 이동할 수 있습니다. 기본적으로 포즈는 배열 변수 pose[]에 저장되며, 배열 시작 인덱스는 1입니다.
레이블
포즈에 대응하는 라벨로, 정수값입니다. 기본적으로 배열 변수 label[]에 저장되며, 배열 시작 인덱스는 1입니다.
사용자 정의 데이터
포즈에 대응하는 사용자 정의 데이터입니다. 기본적으로 사용자 정의 데이터는 custom_data[]배열 변수에 저장되며, 배열 시작 인덱스는 1입니다.
수신 포즈 개수
Mech-Vision으로부터 수신한 포즈의 개수입니다. 기본적으로 포즈 수량은 total_recv 변수에 저장됩니다.
상태 코드
Mech-Vision에서 반환된 상태 코드입니다. 11xx는 정상적인 상태 코드, 10xx는 오류 코드를 의미하며, 자세한 내용은표준 인터페이스 상태 코드 및 오류 처리 문서를 참고하십시오. 기본적으로 상태 코드는 status_code 변수에 저장됩니다.
모든 포인트 수신 여부
Mech-Vision 으로부터 인식된 모든 포즈를 수신했는지를 나타냅니다. 값은 0 또는 1입니다. 0은 모든 포즈를 획득하지 않았음을 나타냅니다. 1은 모든 포즈를 획득함을 나타냅니다. 기본적으로 모든 포인트 수신 여부를 last_data 변수에 저장됩니다.
-
-
첫 번째 피킹 포즈을 설정합니다.
*pick_index:=…*노드를 터블 클릭하여 우측 패널에서 *Expression*의 값을 *1*로 설정하고 Next버튼을 클릭합니다.
pick_index는 후속 pick 변수에 값을 할당하도록 설정합니다. 값 1은 수신된 첫 번째 캡처 포인트의 포즈를 픽 변수에 할당하고 값 2는 수신된 두 번째 피킹 포즈의 포즈 픽 변수에 할당함을 나타냅니다.이러한 규칙으로 나머지 숫자도 동일하게 적용됩니다. 이 설정은 예제 프로그램을 루프를 통해 한 사이클에 여러 물체를 파지하는 기능으로 확장하는 데 사용됩니다. -
pick 작업을 설정합니다.
하나의 Pick 작업은 다음과 같은 세 가지 운동을 포함합니다. Pick_above(픽 포인트 위치에 직선 운동으로 이동함), Pick(피킹 포즈까지 운동을 하여 물체를 피킹함), Pick_depart(물체를 피킹한 후 직선 운동으로 이동함).
-
우측 패널에서 Pick_above 와 Pick_depart*에 대한 *Dist 와 *Coordinates*를 각각 설정한 후, Next 버튼을 누르십시오.
-
우측 *Move*패널에서 *MoveJ*노드를 기본 설정을 유지하고 Next버튼을 클릭하십시오.
-
우측*Waypoint* 패널에서 pick_above 노드를 기본 설정을 유지하고Next 버튼을 클릭하십시오.
-
우측 Move 패널에서 MoveL 노드를 기본 설정을 유지하고 Next 버튼을 클릭하십시오.
-
우측 *Waypoint*패널에서 *pick*노드를 기본 설정을 유지하고 Next버튼을 클릭하십시오.
-
실제 수요에 따라 pick 노드 뒤에 클램프 컨트롤 논리를 추가합니다.
-
우측 *Move*패널에서 *MoveJ*노드를 기본 설정을 유지하고 Next버튼을 클릭하십시오.
-
우측*Waypoint* 패널에서 pick_depart 노드를 기본 설정을 유지하고Next 버튼을 클릭하십시오.
-
-
place 작업을 설정합니다.
-
Next버튼을 클릭하여 *MoveJ*노드로 이동합니다.
-
우측 *Move*패널에서 *MoveJ*노드를 기본 설정을 유지하고 Next버튼을 클릭하십시오.
-
대상 물체를 배치하는 정확한 위치로 이동하도록 로봇을 제어하십시오.
-
UR 티치 펜던트로 들어가고 우측 Waypoint*패널에서 Set Waypoint버튼을 클릭하십시오. 인터페이스는 *Move 탭으로 이동합니다.
-
Move 탭에서 현재 로봇의 플랜지 포즈가 맞는지 확인하고OK버튼을 누르십시오.
-
배치 포즈 설정 후 Next버튼을 클릭하십시오.
-
실제 수요에 따라 프로그램 트리의*place* 노드 뒤에 클램프 컨트롤 논리를 추가합니다.
-
여기까지 Mech-Vision(피킹 포즈)을 사용하는 간단한 피킹 프로그램이 완료되었습니다. 하단 바에서
버튼을 눌러 프로그램을 실행하실 수 있습니다.
Mech-Vision 사용하기 (피킹 경로)
Mech-Vision(피킹 경로) 사용하는 프로그램을 만들기 위해 다음과 같은 스텝을 수행하십시오:
-
Mech-Vision(피킹 경로) 옵션 사용을 선택하십시오.
-
UR 티치 펜던트에서 차례로 버튼을 클릭하십시오.
-
차례로 menu:Structure [URCaps]을 선택하고 URCap 탭에서 Mech-Mind Pick and Place버튼을 클릭하십시오. 좌측 패널의 Robot Program*따라 *Pick and Place 프로그램 예시 노드가 자동으로 생성됩니다.
-
Command 탭 선택하고 With Vision (picking path)버튼을 클릭하십시오.
-
프로그램 트리의 *Pick and Place*노드 하위에 프로그램 템플릿이 자동으로 추가된 것을 확인한 후, Next버튼을 클릭합니다.
-
-
Mech-Vision사용하기(피킹 포인트) 항목의 스텝 2를 참조하여*Host IP*값이 Mech-Mind Mech-Mind IPC의 실제 IP 주소와 일치하는지 확인하십시오.
-
Mech-Vision사용하기(피킹 포인트) 항목의 스텝 3를 참조하여 이미지 획득 포인트를 설정하십시오.
-
Mech-Vision사용하기(피킹 포인트) 항목의 스텝 4를 참조하여 Mech-Vision 프로젝트 실행을 트리거하십시오.
-
Mech-Vision 결과 수신 설정합니다.
*Receive Mech-Vision Result*노드를 더블 클릭하여 *Result type *와 *Return pose type*을 설정한 후*variables for saving returned data*명칭을 설정한 다음 Next 버튼을 클릭합니다.
본 예시는 Mech-Vision 으로부터 계획된 경로를 가져오는 것이므로, 여기서 *Result type*는 반드시 *Planned path*로 설정해야 합니다.
-
*Result type*이 *Planned path*인 경우, *Return pose type*는*Pose*인 경우 획득한 포즈 유형은 말단장치 포즈입니다. 기타 파라미터의 설명은 아래 표와 같습니다.
파라미터 설명 포즈
여기서 포즈는 로봇의 말단장치 포즈입니다. 기본적으로 포즈는 배열 변수 pose[]에 저장되며, 배열 시작 인덱스는 1입니다.
레이블
포즈에 대응하는 라벨로, 정수값입니다. 기본적으로 배열 변수 label[]에 저장되며, 배열 시작 인덱스는 1입니다.
툴
포즈에 해당하는 말단장치 번호의 값은 정수입니다. 기본적으로 말단장치 번호는 tool_id[] 변수에 저장되며, 배열 시작 인덱스는 1입니다.
수신 포즈 개수
Mech-Vision으로부터 수신한 포즈의 개수입니다. 기본적으로 포즈 수량은 total_recv 변수에 저장됩니다.
상태 코드
Mech-Vision에서 반환된 상태 코드입니다. 11xx는 정상적인 상태 코드, 10xx는 오류 코드를 의미하며, 자세한 내용은표준 인터페이스 상태 코드 및 오류 처리 문서를 참고하십시오. 기본적으로 상태 코드는 status_code 변수에 저장됩니다.
픽 포인트 인덱스
전체 경로에서 경로 계획 도구의 "비전 이동" 스텝에 해당하는 웨이포인트(비전 이동 웨이포인트)의 위치를 나타냅니다. 경로에 비전 이동 웨이포인트가 없는 경우 이 파라미터의 값은 0입니다. 기본적으로 픽 포인트 인덱스는 vision_point 변수에 저장됩니다.
예를 들어, 계획된 경로가 "고정점 이동_1", "고정점 이동_2", "비전 이동", "고정점 이동_3" 스텝으로 구성된 경우 비전 이동 웨이포인트의 위치 번호는 3입니다.
모든 포인트 수신 여부
Mech-Vision으로부터 모든 계획 경로의 포즈를 수신했는지를 나타냅니다. 값은 0 또는 1입니다. 0은 모든 포즈를 획득하지 않았음을 나타냅니다. 1은 모든 포즈를 획득함을 나타냅니다. 기본적으로 모든 포인트 수신 여부를 last_data 변수에 저장됩니다.
-
*Result type*이 *Planned path*인 경우, *Return pose type*는*Jps*인 경우 획득한 포즈 유형은 관절 각도입니다. 레이블, 툴등 파라미터의 설명은 위 표와 같습니다. 기본적으로 관절 각도 데이터는 jps[] 배열 변수에 저장됩니다. jps[] 배열 변수 직접 사용하지 마십시오. 사용자는 해당 배열 변수를 추출한 후에야 그 안에 포함된 관절 각도을 사용할 수 있습니다. 이 예시의 경우 사용자는 다음 작업에 따라 관절 각도을 추출할 수 있습니다.
-
Receive Mech-Vision Result*노드를 터블 클릭하여 *Return pose type *Jps*선택합니다.
-
*target:=pose[j]*노드를 터블 클릭하여 차례로 버튼을 클릭하면 *Extract Jps*노드 나타날 것 입니다.
-
Extract Jps*노드를 터블 클릭하여 *Variable Input*체크하고 *Extracted index number*에서 *j*선택한 다음 *Save to variable name*에 *target1 입력합니다.
-
*target:=pose[j]*노드를 터블 클릭하여 Structure클릭하고 편집 옵션에서 Delete를 클릭합니다.
-
후속 노드의 target 변수를 target1 변수로 단체합니다.
-
-
-
동작 루프를 구성하여 로봇이 "경로 계획" 스텝에서 출력된 경로대로 움직이도록 하십시오. 즉, 물체에 접근, 물체 피킹, 피킹 포즈에서 이탈하는 동작을 수행합니다 (이때 물체 배치는 포함되지 않음). MoveL 및 MoveJ 노드를 설정하는 방법에 대해서는Mech-Vision(피킹 포즈)사용하기항목의 스텝 7을 참조하십시오.
-
실제 응용에서 모션 루프에 여러 개의 pick_above MoveJ 노드, 하나의 pick MoveL 노드와 여러 개의 pick_depart MoveJ 노드가 포함될 수 있습니다.
-
Receive Mech-Vision Result 노드에서 포즈, 레이블 등 파라미터의 기본 변수 이름을 수정한다면 해당 스텝의 변수 이름도 함께 수정해야 합니다.
-
-
Mech-Vision사용하기(피킹 포인트) 항목의 스텝 8를 참조하여 배치 작업을 설정하십시오.
여기까지 Mech-Vision(피킹 경로)을 사용하는 간단한 피킹 프로그램이 완료되었습니다. 하단 바에서
버튼을 눌러 프로그램을 실행하실 수 있습니다.
Mech-Viz 사용
Mech-Viz사용하는 픽 앤 플레이스 프로그램을 만들기 위해 다음과 같은 스텝을 수행하십시오:
-
Mech-Viz옵션 사용을 선택하십시오.
-
UR 티치 펜던트에서 차례로 버튼을 클릭하십시오.
-
차례로 menu:Structure [URCaps]을 선택하고 URCap 탭에서 Mech-Mind Pick and Place버튼을 클릭하십시오. 좌측 패널의 Robot Program*따라 *Pick and Place 프로그램 예시 노드가 자동으로 생성됩니다.
-
Command 탭 선택하고 WithMech-Viz버튼을 클릭하십시오.
-
프로그램 트리의 *Pick and Place*노드 하위에 프로그램 템플릿이 자동으로 추가된 것을 확인한 후, Next버튼을 클릭합니다.
-
-
Mech-Mind Connect 노드에서 우측 패널의 *Host IP*의 값이Mech-Mind IPC의 IP 주소로 설정되어 있는지 확인하십시오.
-
Mech-Vision사용하기(피킹 포인트) 항목의 스텝 3를 참조하여 이미지 획득 포인트를 설정하십시오.
-
Mech-Viz 프로젝트 실행을 트리거합니다.
-
우측*Trigger Mech-Viz*패널에서 *Type of robot pose to send*파라미터를 설정하십시오. 자세한 설명은 다음 표와 같습니다.
파라미터 설명 로봇 포즈 전송 유형
Mech-Viz프로젝트에 보낼 로봇의 포즈 유형을 지정합니다.
-
Current Position: 로봇의 현재 관절 각도와 플랜지 포즈를 Mech-Viz프로젝트로 전송합니다. 카메라는 Eye In Hand 방식으로 장착되는 경우 이 파라미터를 사용해야 합니다.
-
Predefined JPs: 사용자 사전 정의한 관절 각도를 Mech-Viz 프로젝트로 전송합니다. 로봇이 이미지 캡처 영역 밖에 있는 경우 Mech-Viz프로젝트를 미리 트리거하여 다음 라운드의 경로를 계획할 수 있습니다. 카메라는 Eye To Hand 방식으로 장착되는 경우 이 파라미터를 사용해야 합니다. 프로젝트는 사전에 이미지를 캡처할 필요가 있습니다.
-
Mech-Viz 프로젝트에서 "메시지 분기" 스텝 있다면 Set branch exit port버튼을 누르고 스텝 b로 건너뛰어 분기 출구를 설정합니다.
-
Mech-Viz프로젝트에 인덱스 스텝이 있는 경우 Set Index Value 버튼을 누르고 스텝 c로 건너뛰어 인덱스 값을 설정합니다.
-
-
(선택 사항) 프로젝트 트리에서 Set Branch Value 노드를 선택하고 우측 패널에서 Branch Step ID 와 *Exit port number*를 설정한 다음 Next 버튼을 클릭합니다.
-
(선택 사항) 프로젝트 트리에서서*Set Index Value* 선택하고 우측 패널에서 Move Step ID 와*Index value*를 설정한 다음 Next 버튼을 클릭합니다.
-
-
Mech-Viz 결과 수신 설정합니다.
프로그램 트리에서 Receive Mech-Viz Result 노드를 터블 클릭하여 Mech-Viz결과를 저장하는 변수 이름을 설정하고 Next 버튼을 클릭합니다.
-
*Return pose type*이 *Pose*인 경우 수신된 포즈 유형은 말단장치 포즈로 표시됩니다. 기타 파라미터의 설명은 아래 표와 같습니다.
파라미터 설명 포즈
여기서 포즈는 로봇의 말단장치 포즈입니다. 기본적으로 포즈는 배열 변수 pose[]에 저장되며, 배열 시작 인덱스는 1입니다.
레이블
포즈에 대응하는 라벨로, 정수값입니다. 기본적으로 배열 변수 label[]에 저장되며, 배열 시작 인덱스는 1입니다.
툴
포즈에 해당하는 말단장치 번호의 값은 정수입니다. 기본적으로 말단장치 번호는 tool_id[] 변수에 저장되며, 배열 시작 인덱스는 1입니다.
수신 포즈 개수
Mech-Viz으로부터 수신한 포즈의 개수입니다. 기본적으로 포즈 수량은 total_recv 변수에 저장됩니다.
상태 코드
Mech-Vision에서 반환된 상태 코드입니다. 21xx는 정상적인 상태 코드, 20xx는 오류 코드를 의미하며, 자세한 내용은표준 인터페이스 상태 코드 및 오류 처리 문서를 참고하십시오. 기본적으로 상태 코드는 status_code 변수에 저장됩니다.
픽 포인트 인덱스
전체 경로에서 프로젝트의 "비전 이동" 스텝에 해당하는 웨이포인트(비전 이동 웨이포인트)의 위치를 나타냅니다. 경로에 비전 이동 웨이포인트가 없는 경우 이 파라미터의 값은 0입니다. 기본적으로 픽 포인트 인덱스는 vision_point 변수에 저장됩니다.
예를 들어, 계획된 경로가 "고정점 이동_1", "고정점 이동_2", "비전 이동", "고정점 이동_3" 스텝으로 구성된 경우 비전 이동 웨이포인트의 위치 번호는 3입니다.
모든 포인트 수신 여부
Mech-Viz으로부터 모든 계획 경로의 포즈를 수신했는지를 나타냅니다. 값은 0 또는 1입니다. 0은 모든 포즈를 획득하지 않았음을 나타냅니다. 1은 모든 포즈를 획득함을 나타냅니다. 기본적으로 모든 포인트 수신 여부를 last_data 변수에 저장됩니다.
-
*Return pose type*이 *Jps*인 경우 수신된 포즈 유형은 관절 각도로 표시됩니다. 레이블, 툴등 파라미터의 설명은 위 표와 같습니다. 기본적으로 관절 각도 데이터는 jps[] 배열 변수에 저장됩니다. jps[] 배열 변수 직접 사용하지 마십시오. 사용자는 해당 배열 변수를 추출한 후에야 그 안에 포함된 관절 각도을 사용할 수 있습니다. 이 예시의 경우 사용자는 다음 작업에 따라 관절 각도을 추출할 수 있습니다.
-
Receive Mech-Viz Result*노드를 터블 클릭하여 *Return pose type *Jps*선택합니다.
-
*target:=pose[j]*노드를 터블 클릭하여 차례로 버튼을 클릭하면 *Extract Jps*노드 나타납니다.
-
Extract Jps*노드를 터블 클릭하여 *Variable Input*체크하고 *Extracted index number*에서 *j*선택한 다음 *Save to variable name*에 *target1 입력합니다.
-
*target:=pose[j]*노드를 터블 클릭하여 Structure클릭하고 편집 옵션에서 Delete를 클릭합니다.
-
후속 노드의 target 변수를 target1 변수로 단체합니다.
-
-
-
동작 루프를 구성하여 로봇이 Mech-Viz 계획된 경로대로 움직이도록 하십시오. 즉, 물체에 접근, 물체 피킹, 피킹 포즈에서 이탈하는 동작을 수행합니다 (이때 물체 배치는 포함되지 않음). MoveL 및 MoveJ 노드를 설정하는 방법에 대해서는Mech-Vision(피킹 포즈)사용하기항목의 스텝 7을 참조하십시오.
-
실제 응용에서 모션 루프에 여러 개의 pick_above MoveJ 노드, 하나의 pick MoveL 노드와 여러 개의 pick_depart MoveJ 노드가 포함될 수 있습니다.
-
Receive Mech-Viz Result 노드에서 포즈, 레이블 등 파라미터의 기본 변수 이름을 수정한다면 해당 스텝의 변수 이름도 함께 수정해야 합니다.
-
-
Mech-Vision사용하기(피킹 포인트) 항목의 스텝 8를 참조하여 배치 작업을 설정하십시오.
여기까지 Mech-Viz사용하는 간단한 피킹 프로그램이 완료되었습니다. 하단 바에서
버튼을 눌러 프로그램을 실행하실 수 있습니다.