샘플 프로그램15: MM_S15_Viz_GetDoList

현재 최신 버전 (2.1.2)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

프로그램 소개

기능 설명

로봇은 피킹 경로와 DO 신호를 획득한 후, 피킹 웨이포인트로 이동하고 DO 신호를 설정하여 피킹 및 배치 작업을 완성합니다. 이 샘플 예시는 일반적으로 디팔레타이징 시나리오에 사용되며, 로봇의 말단장치는 멀티 파티션 빨판입니다.

파일 경로

Mech-Vision 및 Mech-Viz의 설치 디렉토리로 이동하여 통신 구성 요소/Robot_Interface/YASKAWA/sample/MM_S15_Viz_GetDoList 경로를 사용하여 파일을 찾을 수 있습니다.

필요한 프로젝트

Mech-Vision와 Mech-Viz 프로젝트(말단장치 유형은 디팔레타이징 진공 그리퍼입니다)

사용 전제 조건

  1. 표준 인터페이스 통신 구성이 완료됩니다.

  2. 자동 캘리브레이션이 완료됩니다.

이 샘플 프로그램은 참고용으로 제공됩니다. 사용자는 실제 상황에 맞춰 이 내용을 바탕으로 수정해야 하며, 해당 프로그램을 그대로 사용하지 않도록 하십시오.

프로그램 설명

다음에는 MM_S15_Viz_GetDoList 샘플 프로그램의 코드와 관련 설명입니다.

MM_S2_Viz_Basic 샘플과 비하면, 이 샘플은 아래와 같이 굵게 표시된 코드 부분만 수정되었습니다. 따라서, MM_S15_Viz_GetDoList의 MM_S2_Viz_Basic과 일치하는 부분은 다시 설명하지 않습니다. (일치하는 부분에 대한 정보는 MM_S2_Viz_Basic 샘플 프로그램 설명을 참조하십시오).
NOP
'--------------------------------
'FUNCTION: trigger Mech-Viz
'project, then get planned path
'and gripper control signal using
'command 210
'Mech-Mind, 2023-12-25
'--------------------------------
'clear I50 to I69
CLEAR I050 20
'initialize p variables
SUB P071 P071
SUB P072 P072
SUB P073 P073
'move to robot home position
MOVJ C00000 VJ=50.00
'initialize communication
'parameters (initialization is
'required only once)
CALL JOB:MM_INIT_SOCKET ARGF"192.168.170.22;50000;1"
'move to image-capturing position
MOVJ C00001 VJ=50.00 PL=0
'open socket connection
CALL JOB:MM_OPEN_SOCKET
'trigger Mech-Viz project
CALL JOB:MM_START_VIZ ARGF"2;30"
'get planned path
CALL JOB:MM_GET_PLANDATA ARGF"0;3;51;52;53"
'check whether planned path has
'been got from Mech-Viz
'successfully
IFTHENEXP I053<>2100
	'add error handling logic here
	'according to different error
	'codes
	'e.g.: I053=2038 means no
	'point cloud in ROI
	 PAUSE
ENDIF
'get gripper control signal list
CALL JOB:MM_GET_DOLIST ARGF"0;0"
'close socket connection
CALL JOB:MM_CLOSE_SOCKET
'save waypoints of the planned
'path to local variables one
'by one
CALL JOB:MM_GET_PLANPOSE ARGF"1;71;61;31"
CALL JOB:MM_GET_PLANPOSE ARGF"2;72;71;31"
CALL JOB:MM_GET_PLANPOSE ARGF"3;73;81;31"
'follow the planned path to pick
'move to approach waypoint of
'picking
MOVJ P071 VJ=50.00 PL=0
'move to picking waypoint
MOVJ P072 VJ=10.00 PL=0
'set gripper control signal when
'current waypoint is picking
'waypoint
CALL JOB:MM_SET_DOLIST ARGF"0"
PAUSE
'move to departure waypoint of
'picking
MOVJ P073 VJ=50.00 PL=0
'move to intermediate waypoint of
'placing
MOVJ C00002 VJ=50.00
'move to approach waypoint of
'placing
MOVL C00003 V=166.6 PL=0
'move to placing waypoint
MOVL C00004 V=50.0 PL=0
'add object releasing logic here,
'such as DOUT OT#(1) OFF
PAUSE
'move to departure waypoint of
'placing
MOVL C00005 V=166.6 PL=0
'move back to robot home position
MOVJ C00006 VJ=50.00
END

위 샘플 프로그램 코드에 해당하는 워크플로는 아래 그림에 표시되어 있습니다.

sample15

아래 표는 굵게 표시된 코드의 설명입니다. 명령어 이름의 링크를 클릭하면 해당 명령의 상세 설명을 확인할 수 있습니다.

워크플로 코드와 설명

계획 경로를 획득하기

'get planned path
CALL JOB:MM_GET_PLANDATA ARGF"0;3;51;52;53"
  • MM_GET_PLANDATA: 계획된 경로를 획득하는 명령어. 이 명령어를 통해 획득된 비전 이동 웨이포인트는 포즈와 비전 이동 계획 결과, 사용자 정의 데이터가 포함되지만, MM_GET_VIZDATA명령어를 통해 획득된 비전 이동 포인트는 사용자 정의 데이터와 비전 이동 계획 결과가 포함되지 않습니다.

  • 0: Mech-Viz에서 계획 경로를 획득합니다.

  • 3: 반환될 것으로 예상되는 데이터 포맷, 즉 "포즈(관절 각도 유형), 이동 유형, 말단장치의 번호, 속도, Mech-Viz 비전 이동 계획 결과, 사용자 정의 출력 데이터 1..., 사용자 정의 출력 데이터 N" 포맷으로 데이터가 반환됩니다.

  • 51: 번호가 51인 I 변수입니다. 이 변수는 비전 시스템이 반환한 웨이포인트의 개수를 저장합니다.

  • 52: 번호가 52인 I 변수입니다. 이 변수는 비전 이동 웨이포인트(피킹 웨이포인트)의 경로 내 위치 번호를 저장합니다.

  • 53: 번호가 53인 I 변수입니다. 이 변수는 명령어 실행 상태 코드를 저장하는 것입니다.

진공 그리퍼의 DO 신호를 가져오기

'get gripper control signal list
CALL JOB:MM_GET_DOLIST ARGF"0;0"
  • MM_GET_DOLIS:진공 그리퍼의 DO 신호를 가져오는 명령어.

  • 첫 번째 0: DO 신호의 소스를 지정합니다. 즉, Mech-Viz에서 멀티 파티션 진공 그리퍼 DO 신호를 가져옵니다.

  • 두 번째 0: 모든 계획된 진공 그리퍼 DO 신호를 가져옵니다.

계획 경로를 저장하기

'save waypoints of the planned
'path to local variables one
'by one
CALL JOB:MM_GET_PLANPOSE ARGF"1;71;61;31"
CALL JOB:MM_GET_PLANPOSE ARGF"2;72;71;31"
CALL JOB:MM_GET_PLANPOSE ARGF"3;73;81;31"
  • MM_GET_PLANPOSE: 비전 이동 계획 결과와 사용자 정의 데이터를 저장하는 명령어.

  • 1: 첫 번째 웨이포인트가 저장됩니다.

  • 71: 번호가 71인 P 변수입니다. 이 변수는 첫 번째 웨이포인트의 TCP 포즈를 저장하는 것입니다.

  • 61: 번호가 61인 B 변수입니다. B061부터 시작하는 B 변수들은 첫 번째 웨이포인트의 이동 유형, 말단장치 번호, 속도를 각각 B061, B062, B063에 순차적으로 저장하는 데 사용됩니다.

  • 31: 번호가 31인 R 변수입니다. R031부터 R051까지의 R 변수들은 첫 번째 웨이포인트의 비전 이동 계획 결과를 순차적으로 저장하는 데 사용됩니다. R052부터 시작하는 R 변수들은 첫 번째 웨이포인트의 사용자 정의 데이터를 순차적으로 저장하는 데 사용됩니다.

따라서, “CALL JOB:MM_GET_PLANPOSE ARGF"1;71;61;31"”는 첫 번째 웨이포인트의 포즈, 이동 유형, 말단장치 번호, 속도, 비전 이동 계획 결과 및 사용자 정의 데이터를 지정된 변수에 저장하는 명령어입니다.

  • 이 샘플에서는 Mech-Viz가 계획한 경로가 세 개의 웨이포인트로 구성됩니다: 첫 번째는 피킹 접근 웨이포인트(P071), 두 번째는 피킹 웨이포인트(P072, 동시에 비전 이동 웨이포인트이다), 세 번째는 피킹 출발 웨이포인트(P073)입니다. 사용자는 실제 Mech-Viz 프로젝트를 고려하여 계획된 경로를 저장해야 합니다.

  • 첫 번째와 세 번째 웨이포인트는 비전 이동 웨이포인트가 아닙니다. 따라서 첫 번째와 세 번째 웨이포인트는 비전 이동 계획 결과나 사용자 정의 데이터를 포함하지 않습니다. 즉, 프로그램이 "CALL JOB:MM_GET_PLANPOSE ARGF"1;71;61;31"을 호출한 후, R031부터 시작하는 변수들에는 데이터가 없습니다. 프로그램이 "CALL JOB:MM_GET_PLANPOSE ARGF"2;72;71;31"을 호출한 후에야 R031부터 시작하는 변수들에 비전 이동 계획 결과가 저장되기 시작합니다.

피킹 웨이포인트로 이동하고 피킹하기

'follow the planned path to pick
'move to approach waypoint of
'picking
MOVJ P071 VJ=50.00 PL=0
'move to picking waypoint
MOVJ P072 VJ=10.00 PL=0
'set gripper control signal when
'current waypoint is picking
'waypoint
CALL JOB:MM_SET_DOLIST ARGF"0"
  • MM_SET_DOLIST: 진공 그리퍼의 DO 신호를 설정하는 명령어.

  • 0: 모든 계획된 진공 그리퍼 DO 신호를 설정합니다.

따라서 위 문장은 로봇이 피킹 웨이포인트(P072)로 이동한 후, MM_SET_DOLIST명령어를 통해 진공 그리퍼의 DO 신호를 설정하여 피킹 작업을 완료합니다.

이 페이지가 도움이 되었습니까?

다음 방법을 통해 피드백을 보내주실 수 있습니다:

저희는 귀하의 개인정보를 소중히 다룹니다.

당사 웹사이트는 최상의 사용자 경험을 제공하기 위해 쿠키를 사용하고 있습니다. "모두 수락"을 클릭하시면 쿠키 사용에 동의하시는 것이며, "모두 거부"를 클릭하시면 이 웹사이트 방문 시 귀하의 정보가 추적되거나 기억되지 않도록 단일 쿠키만 사용됩니다.