Exemple de programme 2: MM_S2_Viz_Basic
Introduction du programme
Description |
Le robot déclenche l’exécution du projet Mech-Viz, puis obtient la trajectoire planifiée pour la prise et la dépose. |
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 |
Projets Mech-Vision et Mech-Viz |
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_S2_Viz_Basic.
NOP
'--------------------------------
'FUNCTION: trigger Mech-Viz
'project and get planned path
'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, 1st argument
'(1) means getting pose in JPs
CALL JOB:MM_GET_VIZDATA ARGF"1;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
'close socket connection
CALL JOB:MM_CLOSE_SOCKET
'save waypoints of the planned
'path to local variables one
'by one
CALL JOB:MM_GET_JPS ARGF"1;71;61;62"
CALL JOB:MM_GET_JPS ARGF"2;72;63;64"
CALL JOB:MM_GET_JPS ARGF"3;73;65;66"
'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
'add object grasping logic here,
'such as DOUT OT#(1) ON
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 de l’exemple ci-dessus est illustré dans la figure ci-dessous.
Le tableau ci-dessous explique le programme ci-dessus. Vous pouvez cliquer sur le lien hypertexte du nom de commande pour en afficher la description détaillée.
| Feature | Code and description | ||
|---|---|---|---|
Initialize variables |
L’énoncé complet indique d’effacer les données des variables entières I050 à I069 (soit un total de 20 variables) en les mettant à 0.
Les deux instructions ci-dessus signifient que les variables de position P071, P072 et P073 sont mises à 0. |
||
Move to the home position |
L’énoncé complet indique que le robot se déplace vers la position de départ enseignée en utilisant un mouvement en position articulaire. |
||
Initialize communication parameters |
Le robot envoie la commande MM_INIT_SOCKET pour définir l’adresse IP, le numéro de port et le délai d’expiration de l’objet de communication (l’IPC) à 192.168.170.22, 50000 et 1 minute.
|
||
Move to the image-capturing position |
L’énoncé complet indique que le robot se déplace vers la position de capture d’image enseignée en utilisant un mouvement en position articulaire. |
||
Establish the communication |
La communication TCP entre le robot et le système de vision est établie à l’aide de la commande MM_OPEN_SOCKET. |
||
Trigger the Mech-Viz project to run |
L’ensemble de la commande indique que le robot déclenche le système de vision pour exécuter le projet Mech-Viz, puis que Mech-Viz planifie la trajectoire de prise du robot sur la base du résultat de vision fourni par Mech-Vision. |
||
Obtain the planned path |
L’énoncé complet indique que le robot obtient la trajectoire planifiée depuis le projet Mech-Viz.
L’énoncé ci-dessus indique que lorsque le code d’état dans I052 est 2100, le robot a obtenu avec succès la trajectoire planifiée ; 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 selon le code d’erreur spécifique. Dans cet exemple de programme, tous les codes d’erreur sont traités de la même manière, en mettant en pause l’exécution du programme à l’aide de la commande PAUSE. |
||
Close the communication |
La communication TCP entre le robot et le système de vision est fermée à l’aide de la commande MM_CLOSE_SOCKET. |
||
Store the planned path |
L’ensemble de la commande « CALL JOB:MM_GET_JPS ARGF"1;71;61;62" » stocke les positions articulaires, l’étiquette et l’ID d’outil du premier point de passage dans les variables spécifiées.
|
||
Move to the Approach Waypoint of Picking |
Le robot se déplace vers le point d’approche de prise (la position représentée par P071). |
||
Move to the picking waypoint |
Le robot se déplace vers le point de prise (la position représentée par P072). |
||
Set DO commands to perform picking |
Après que le robot s’est déplacé vers le point de prise, vous pouvez définir une commande DO (telle que « DOUT OT#(1) ON ») pour contrôler le robot afin d’utiliser l’outil pour effectuer la prise. Veuillez définir les commandes DO en fonction de la situation réelle.
|
||
Move to the departure waypoint of picking |
Le robot se déplace vers le point de départ de prise (la position représentée par P073). |
||
Move to the intermediate waypoint |
Le robot se déplace vers un point de passage intermédiaire entre le point de départ de prise et le point d’approche de dépose.
|
||
Move the robot to the approach waypoint of placing |
Le robot se déplace du point de passage intermédiaire vers le point d’approche de dépose.
|
||
Move to the placing waypoint |
Le robot se déplace du point d’approche de dépose vers le point de dépose.
|
||
Set DO commands to perform placing |
Après que le robot s’est déplacé vers le point de dépose, vous pouvez définir une commande DO (telle que « DOUT OT#(1) OFF ») pour contrôler le robot afin d’utiliser l’outil pour effectuer la dépose. Veuillez définir les commandes DO en fonction de la situation réelle.
|
||
Move the robot to the departure waypoint of placing |
Le robot se déplace du point de dépose vers le point de départ de dépose.
|
||
Move to the home position |
Le robot se déplace à nouveau du point de départ de dépose vers la position de départ.
|