Programme d’exemple 16 : MM_S16_Viz_GetDirection

Vous consultez actuellement la documentation pour la dernière version (2.1.2). Pour accéder à une autre version, cliquez sur le bouton "Changer de version" situé dans le coin supérieur droit de la page.

■ Si vous n’êtes pas sûr de la version du produit que vous utilisez, veuillez contacter le support technique Mech-Mind pour obtenir de l’aide.

Introduction du programme

Description

Après que le robot a obtenu le trajet planifié et terminé la prise, le robot adopte différentes stratégies de pose en fonction de l’orientation du groupe de pièces.

File path

Vous pouvez accéder au répertoire d’installation de Mech-Vision et Mech-Viz et trouver le fichier en utilisant le chemin Communication Component/Robot_Interface/YASKAWA/sample/MM_S16_Viz_GetDirection.

Project

projet Mech-Vision et projet Mech-Viz (l’outil est un préhenseur à vide de dépalletisation)

Prerequisites

Ce programme d’exemple est fourni uniquement à titre de référence. Avant d’utiliser le programme, veuillez le modifier en fonction du scénario réel.

Description du programme

Cette partie décrit le programme d’exemple MM_S16_Viz_GetDirection.

Par rapport au programme d’exemple MM_S15_Viz_GetDoList, ce programme d’exemple ne comporte que la modification suivante (le code de cette modification est en gras). En conséquence, seule cette modification est décrite dans la section suivante. Pour les parties de MM_S16_Viz_GetDirection identiques à celles de MM_S15_Viz_GetDoList, voir Programme d’exemple 15 : MM_S15_Viz_GetDoList.
NOP
'--------------------------------
'FUNCTION: trigger Mech-Viz
'project, then get planned path
'and get box direction 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"
'get box direction status from
'planned results
SET I005 R047
'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
'place the box according to its
'direction
IFTHENEXP I005=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
ELSE
	'move to intermediate waypoint of
	'placing
	 MOVJ C00006 VJ=50.00
	'move to approach waypoint of
	'placing
	 MOVL C00007 V=166.6 PL=0
	'move to placing waypoint
	 MOVL C00008 V=50.0 PL=0
	'add object releasing logic here,
	'such as DOUT OT#(1) OFF
	 PAUSE
	'move to departure waypoint of
	'placing
	 MOVL C00009 V=166.6 PL=0
ENDIF
'move back to robot home position
MOVJ C00010 VJ=50.00
END

Le flux de travail correspondant au code du programme d’exemple ci-dessus est illustré dans la figure ci-dessous.

sample16

Le tableau ci-dessous décrit le code en gras. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour en afficher la description détaillée.

Feature Code and description

Obtenir l’orientation du groupe de pièces

'get box direction status from
'planned results
SET I005 R047
Dans le projet Mech-Viz, les données Vision Move désignent les données produites par l’Étape Vision Move, incluant les étiquettes des pièces prélevées, le nombre de pièces prélevées, le nombre de pièces à prélever cette fois, l’ID de bord ou d’angle du préhenseur à vide, le décalage du TCP, orientation du groupe de pièces, l’orientation de la pièce et les dimensions du groupe de pièces.

Le robot obtient les données Vision Move des points de passage en exécutant la commande MM_GET_PLANDATA, puis enregistre les données Vision Move des points de passage qui sont stockées dans la mémoire du robot dans les variables à partir de R031 en exécutant la commande MM_GET_PLANPOSE. La valeur de la variable P047 indique la position relative entre le groupe de pièces et la longueur du préhenseur à vide. La valeur est 0 ou 1, où 0 signifie parallèle et 1 signifie vertical.

Le code ci-dessus affecte la valeur de la variable R047 à la variable I005, donc I005 représentera l’orientation du groupe de pièces.

Adopter une stratégie de pose en fonction de l’orientation du groupe de pièces

'place the box according to its
'direction
IFTHENEXP I005=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
ELSE
	'move to intermediate waypoint of
	'placing
	 MOVJ C00006 VJ=50.00
	'move to approach waypoint of
	'placing
	 MOVL C00007 V=166.6 PL=0
	'move to placing waypoint
	 MOVL C00008 V=50.0 PL=0
	'add object releasing logic here,
	'such as DOUT OT#(1) OFF
	 PAUSE
	'move to departure waypoint of
	'placing
	 MOVL C00009 V=166.6 PL=0
ENDIF

Le code ci-dessus indique que si le groupe de pièces est parallèle au grand côté du préhenseur à vide (c’est-à-dire que I005 est défini sur 0), le groupe de pièces sera posé à la position enseignée C00004 ; sinon, le groupe de pièces sera posé à la position enseignée C00008.

Cette page est-elle utile ?

Veuillez nous indiquer comment améliorer :

Nous accordons de l’importance à votre vie privée

Nous utilisons des cookies pour vous offrir la meilleure expérience possible sur notre site web. En continuant à utiliser le site, vous reconnaissez accepter l’utilisation des cookies. Si vous refusez, un cookie unique sera utilisé pour garantir que vous ne soyez pas suivi ou reconnu lors de votre visite sur ce site.