Programme d’exemple 1: MM_S1_Vis_Basic
Introduction du programme
Description |
Le robot déclenche l’exécution du projet Mech-Vision, puis obtient le résultat de vision pour saisir et déposer l’objet. |
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 |
Project |
Projet Mech-Vision |
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 section décrit le programme d’exemple MM_S1_Vis_Basic.
NOP
'--------------------------------
'FUNCTION: trigger Mech-Vision
'project and get vision result
'Mech-Mind, 2023-12-25
'--------------------------------
'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.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 NO.1 Mech-Vision project
CALL JOB:MM_START_VIS ARGF"1;0;2;30"
'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
'local variables
CALL JOB:MM_GET_POSE ARGF"1;71;61;62"
'move to intermediate waypoint of
'picking
MOVJ C00002 VJ=50.00
'move to approach waypoint of
'picking
SFTON P070
MOVL P071 V=166.6 PL=0
SFTOF
'move to picking waypoint
MOVL P071 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 P071 V=166.6 PL=0
SFTOF
'move to intermediate waypoint of
'placing
MOVJ C00003 VJ=50.00
'move to approach waypoint of
'placing
MOVL C00004 V=166.6 PL=0
'move to placing waypoint
MOVL C00005 V=50.0 PL=0
'add object releasing logic here,
'such as DOUT OT#(1) OFF
PAUSE
'move to departure waypoint of
'placing
MOVL C00006 V=166.6 PL=0
'move back to robot home position
MOVJ C00007 VJ=50.00
END
Le flux de travail correspondant au code de programme ci-dessus est présenté dans la figure ci-dessous.
Le tableau ci-dessous explique le programme ci-dessus. Vous pouvez cliquer sur l’hyperlien du nom de commande pour afficher sa description détaillée.
| Feature | Code and description | ||
|---|---|---|---|
Initialiser les variables |
L’instruction entière indique d’effacer les données des variables entières I050 à I069 (un total de 20 variables) en les mettant à 0.
Les deux instructions ci-dessus indiquent que les variables de position P070 et P071 sont mises à 0.
L’instruction ci-dessus indique de définir l’axe Z de P070 à 100 000 µm (équivalents à 100 mm). |
||
Aller à la position d’origine |
L’instruction entière indique que le robot se déplace vers la position d’origine enseignée en utilisant un mouvement en position articulaire. |
||
Initialiser les paramètres de communication |
Le robot envoie la commande MM_INIT_SOCKET pour définir l’adresse IP, le numéro de port et le délai du périphérique de communication (l’IPC) à 192.168.170.22, 50000 et 1 minute.
|
||
Aller à la position de capture d’image |
L’instruction entière indique que le robot se déplace vers la position de capture d’image enseignée en utilisant un mouvement en position articulaire. |
||
Établir la communication |
La communication TCP entre le robot et le système de vision est établie au moyen de la commande MM_OPEN_SOCKET. |
||
Déclencher l’exécution du projet Mech-Vision |
L’instruction entière indique que le robot déclenche le système de vision pour exécuter le projet Mech-Vision avec l’ID 1 et attend que le projet Mech-Vision retourne tous les points de vision. |
||
Obtenir le résultat de vision |
L’instruction entière indique que le robot obtient le résultat de vision du projet Mech-Vision avec l’ID 1.
L’instruction ci-dessus indique que lorsque le code d’état dans I052 est 1100, le robot a obtenu avec succès tous les résultats de vision ; sinon, une exception s’est produite dans le système de vision et le programme exécute le code entre IFTHENEXP et ENDIF. Vous pouvez effectuer l’opération correspondante en fonction du code d’erreur spécifique. Dans ce programme d’exemple, tous les codes d’erreur sont traités de la même manière, en mettant en pause l’exécution du programme via la commande PAUSE. |
||
Fermer la communication |
La communication TCP entre le robot et le système de vision est fermée au moyen de la commande MM_CLOSE_SOCKET. |
||
Stocker le résultat de vision |
L’instruction entière stocke le TCP, l’étiquette et l’ID d’outil du premier point de vision dans les variables spécifiées. |
||
Aller au point de passage intermédiaire |
L’instruction entière déplace le robot en positions articulaires vers un certain point de passage intermédiaire entre la position de capture d’image et le point de passage d’approche de prise.
|
||
Aller au point de passage d’approche de prise |
L’instruction entière indique que le robot se déplace linéairement à 100 mm au-dessus du point de passage de prise (P071).
|
||
Aller au point de passage de prise |
Le robot se déplace du point de passage d’approche de prise au point de passage de prise en mouvement linéaire. |
||
Définir des commandes DO pour effectuer la prise |
Après que le robot s’est déplacé vers le point de passage de prise, vous pouvez définir une commande DO (telle que "DOUT OT#(1) ON") pour contrôler l’utilisation de l’outil par le robot afin d’effectuer la prise. Veuillez définir les commandes DO en fonction de la situation réelle.
|
||
Aller au point de passage de départ de prise |
Le robot se déplace à 100 mm au-dessus du point de passage de prise et atteint le point de passage de départ de prise.
|
||
Aller au point de passage intermédiaire |
Le robot se déplace vers un point de passage intermédiaire entre le point de passage de départ de prise et le point de passage d’approche de dépose.
|
||
Amener le robot au point de passage d’approche de dépose |
Le robot se déplace du point de passage intermédiaire au point de passage d’approche de dépose.
|
||
Aller au point de passage de dépose |
Le robot se déplace du point de passage d’approche de dépose au point de passage de dépose.
|
||
Définir des commandes DO pour effectuer la dépose |
Après que le robot s’est déplacé vers le point de passage de dépose, vous pouvez définir une commande DO (telle que "DOUT OT#(1) OFF") pour contrôler l’utilisation de l’outil par le robot afin d’effectuer la dépose. Veuillez définir les commandes DO en fonction de la situation réelle.
|
||
Amener le robot au point de passage de départ de dépose |
Le robot se déplace du point de passage de dépose vers le point de passage de départ de dépose.
|
||
Aller à la position d’origine |
Le robot se déplace du point de passage de départ de dépose vers la position d’origine à nouveau.
|