Exemple de programme 3 : MM_S3_Vis_Path
Présentation du programme
Description |
Le robot déclenche l’exécution du projet Mech-Vision, 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 via 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_S3_Vis_Path.
NOP
'--------------------------------
'FUNCTION: trigger Mech-Vision
'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 NO.1 Mech-Vision project
CALL JOB:MM_START_VIS ARGF"1;0;2;30"
'get planned path from NO.1
'Mech-Vision project; 2nd
'argument (1) means getting pose
'in JPs
CALL JOB:MM_GET_VISPATH ARGF"1;1;51;52;53"
'check whether planned path has
'been got from Mech-Vision
'successfully
IFTHENEXP I053<>1103
'add error handling logic here
'according to different error
'codes
'e.g.: status=1003 means no
'point cloud in ROI
'e.g.: status=1002 means no
'vision results
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 du programme d’exemple ci-dessus est illustré dans la figure ci-dessous.
Le tableau ci-dessous explique le programme ci-dessus. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour consulter sa description détaillée.
| Feature | Code and description | ||
|---|---|---|---|
Initialize variables |
L’instruction complète indique d’effacer les données des variables entières I050 à I069 (un total de 20 variables) en les réglant à 0.
Les deux instructions ci-dessus indiquent que les variables de position P071, P072 et P073 sont réglées à 0. |
||
Move to the home position |
L’instruction complète indique que le robot se déplace vers la position d’origine 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 la durée de temporisation de l’objet de communication (l’IPC) à 192.168.170.22, 50000 et 1 minute.
|
||
Move to the image-capturing position |
L’instruction complète 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-Vision project to run |
L’instruction complète indique que le robot déclenche le système de vision pour exécuter le projet Mech-Vision avec un ID de 1 et attend que le projet Mech-Vision renvoie tous les points de passage. |
||
Obtain the planned path |
L’instruction complète indique que le robot obtient la trajectoire planifiée depuis le projet Mech-Vision dont l’ID est 1.
L’instruction ci-dessus indique que lorsque le code d’état dans I052 est 1103, 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 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 à 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 |
La commande complète “CALL JOB:MM_GET_JPS ARGF"1;71;61;62"” stocke les positions articulaires, l’étiquette et l’ID de l’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 la 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 DOs 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 qu’il utilise 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 la prise (la position représentée par P073). |
||
Move to the intermediate waypoint |
Le robot se déplace vers un point intermédiaire entre le point de départ de la prise et le point d’approche de la dépose.
|
||
Move the robot to the approach waypoint of placing |
Le robot passe du point intermédiaire au point d’approche de la dépose.
|
||
Move to the placing waypoint |
Le robot passe du point d’approche de la dépose au 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 qu’il utilise 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 passe du point de dépose au point de départ de la dépose.
|
||
Move to the home position |
Le robot revient du point de départ de la dépose à la position d’origine.
|