Programme d’exemple 18 : MM_S18_Viz_GetUserData
Présentation du programme
Description |
Lorsque le robot obtient la trajectoire de prélèvement, il obtient également les données de sortie personnalisées du projet Mech-Vision. |
Chemin du fichier |
Vous pouvez accéder au répertoire d’installation de Mech-Vision et Mech-Viz et trouver le fichier en utilisant le chemin |
Projet |
projet Mech-Vision (un ou plusieurs ports personnalisés doivent être ajoutés à l’étape Sortie) et projet Mech-Viz (l’outil est une pince à vide de dépalletisation) |
Prérequis |
|
| Ce programme d’exemple est fourni à titre de référence uniquement. 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_S18_Viz_GetUserData.
| 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). Par conséquent, seule la modification est décrite dans la partie suivante. Pour obtenir des informations sur les parties de MM_S18_Viz_GetUserData qui sont 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 custom data from
'Mech-Vision 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"
'received custom data is saved
'from R052
'R052 = offset_x;
'R053 = offset_y;
'R054 = offset_z;
SET R010 R052
SET R011 R053
SET R012 R054
'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
Le flux de travail correspondant au code du programme d’exemple ci-dessus est illustré dans la figure ci-dessous.
Le tableau ci-dessous décrit le code en gras. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour en consulter la description détaillée.
| Fonctionnalité | Code et description | ||||
|---|---|---|---|---|---|
Stocker les données personnalisées des points de passage |
Le robot exécute la commande MM_GET_PLANDATA pour obtenir les données Vision Move planifiées et les données personnalisées des points de passage, puis exécute la commande MM_GET_PLANPOSE pour enregistrer séquentiellement les données Vision Move des points de passage dans les variables R031 à R051 et les données personnalisées des points de passage dans les variables à partir de R052. Le code ci-dessus affecte les trois éléments de données personnalisées du point de passage Vision Move (point de passage de prélèvement) dans R052, R053 et R054 à R010, R011 et R012, respectivement.
|