Sample Program 17: MM_S19_Vis_As_Uframe

You are currently viewing the documentation for a pre-release version (2.2.0). To access documentation for other versions, click the "Switch Version" button located in the upper-right corner of the page.

■ If you're unsure about the version of the product you are using, please contact Mech-Mind Technical Support for assistance.

Program Introduction

Function description

The robot triggers the Mech-Vision project to run and obtain vision results, uses the result as a coordinate system, and performs the pick-and-place workflow.

File path

Under the installation directory of Mech-Vision and Mech-Viz: Communication Component/Robot_Interface/YASKAWA/sample/MM_S19_Vis_As_Uframe.

Required project

Mech-Vision project

Prerequisites

  1. Standard interface communication has been configured in Set up Standard Interface Communication with YASKAWA.

  2. Automatic calibration has been completed in YASKAWA Automatic Calibration.

This sample program is for reference only. Modify it according to your actual situation. Do not use it directly.

Program Explanation

The following shows the code of the MM_S19_Vis_As_Uframe sample program and related explanations.

Compared with the MM_S1_Vis_Basic sample, this sample only adds the function of using the obtained result as a user frame (the bold code). Therefore, the following content does not repeat the explanation of the code parts identical to MM_S1_Vis_Basic (for details, see MM_S1_Vis_Basic sample description).
NOP
'--------------------------------
'FUNCTION: trigger Mech-Vision
'project and get vision result
'Mech-Mind, 2026-2-24
'--------------------------------
'clear I50 to I69
CLEAR I050 20
'initialize p variables
SUB P070 P070
SUB P071 P071
'set 100mm to z of P070
SETE P070 (3) 100000
'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.110.72;50000;2"
'move to image-capturing position
MOVJ C00001 VJ=50.00 PL=0
'open socket connection
CALL JOB:MM_OPEN_SOCKET
'trigger NO.1 Mech-Vision project
CALL JOB:MM_START_VIS ARGF"1;0;2;30;80"
IFTHENEXP I080<>1102
	'add error handling logic here
	 PAUSE
ENDIF
'get vision result from NO.1
'Mech-Vision project
CALL JOB:MM_GET_VISDATA ARGF"1;51;52"
'check whether vision result has
'been got from Mech-Vision
'successfully
IFTHENEXP I052<>1100
	'add error handling logic here
	'according to different error
	'codes
	'e.g.: I052=1003 means no point
	'cloud in ROI
	'e.g.: I052=1002 means no
	'vision result
	 PAUSE
ENDIF
'close socket connection
CALL JOB:MM_CLOSE_SOCKET
'save first vision point data to
PAUSE
'local variables
CALL JOB:MM_GET_POSE ARGF"1;71;61;62"
'Convert visual point to user pos
MFRAME UF#(10) P071 BF
'move to intermediate waypoint of
'picking
MOVJ C00002 VJ=50.00
'move to approach waypoint of
'picking
SFTON P070
MOVL P080 V=166.6 PL=0
SFTOF
'move to picking waypoint
MOVL P080 V=50.0 PL=0
'add object grasping logic here,
'such as DOUT OT#(1) ON
PAUSE
'move to departure waypoint of
'picking
SFTON P070
MOVL P080 V=166.6 PL=0
SFTOF
'move to intermediate waypoint of
'placing
MOVJ C00003 VJ=50.00
END

The workflow corresponding to the sample program code above is shown in the following figure.

The following table explains the logic of using the visual point as a user frame. Click the hyperlink of a command to view its detailed description.

Workflow Code and description

Convert the vision point into a user frame

'Convert visual point to user pos
MFRAME UF#(10) P071 BF
  • MFRAME: Command for activating a user frame.

  • UF#(10): User frame with index 10, pre-calibrated to match vision.

  • P071: Target position identified by vision.

  • BF: Base frame, using the robot coordinate system as reference.

Is this page helpful?

You can give a feedback in any of the following ways:

We Value Your Privacy

We use cookies to provide you with the best possible experience on our website. By continuing to use the site, you acknowledge that you agree to the use of cookies. If you decline, a single cookie will be used to ensure you're not tracked or remembered when you visit this website.