Exemple de programme 13: MM_S13_Vis_MoveInAdvance
Présentation du programme
Description |
Une fois le projet Mech-Vision déclenché pour l’exécution, le robot se déplace à l’avance après que la caméra a terminé la capture des images, sans attendre l’arrêt du projet Mech-Vision. Ce programme d’exemple s’applique aux scénarios où le mode de montage de la caméra est œil dans la main. |
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 (le mode de montage de la caméra est œil dans la main) |
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_S13_Vis_MoveInAdvance.
| La seule différence entre le programme d’exemple MM_S13_Vis_MoveInAdvance et le programme d’exemple MM_S1_Vis_Basic est que MM_S13_Vis_MoveInAdvance peut déplacer le robot après que la caméra a capturé des images (le code de cette fonctionnalité est en gras). Ainsi, seule la fonctionnalité de déplacement du robot après la capture d’images par la caméra est décrite dans la section suivante. Pour les informations sur les parties de MM_S13_Vis_MoveInAdvance qui sont identiques à celles de MM_S1_Vis_Basic, voir Programme d’exemple 1: MM_S1_Vis_Basic. |
NOP
'--------------------------------
'FUNCTION: trigger Mech-Vision
'project then move to wait
'position and get vision pose in
'EIH setup
'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"
'move to wait position for
'picking
MOVJ C00002 VJ=50.00
'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 C00003 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 C00004 VJ=50.00
'move to approach waypoint of
'placing
MOVL C00005 V=166.6 PL=0
'move to placing waypoint
MOVL C00006 V=50.0 PL=0
'add object releasing logic here,
'such as DOUT OT#(1) OFF
PAUSE
'move to departure waypoint of
'placing
MOVL C00007 V=166.6 PL=0
'move back to robot home position
MOVJ C00008 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 la fonctionnalité de déplacement du robot après que la caméra a capturé des images. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour en afficher la description détaillée.
| Fonctionnalité | Code et description | ||||
|---|---|---|---|---|---|
Déplacer le robot après que la caméra a capturé des images |
Dans les scénarios œil dans la main, pour garantir que le robot puisse se déplacer après que la caméra a capturé des images sans attendre que le projet Mech-Vision cesse de s’exécuter, vous pouvez aller vers dans la barre d’outils supérieure de Mech-Vision et sélectionner Retourner « 1102: Déclenché avec succès » après la capture. Une fois cette option sélectionnée, le robot commencera à se déplacer après l’exécution de MM_START_VIS et la réception de « 1102: Déclenché avec succès », réduisant ainsi le temps de cycle. Si l’option n’est pas sélectionnée et que le projet Mech-Vision démarre avec succès, le système de vision renverra immédiatement le code d’état 1102 au robot. Le robot ne peut pas se déplacer à ce stade, car il ne peut pas déterminer si la caméra a terminé la capture des images. Dans ce cas, le robot doit attendre la fin de l’exécution du projet Mech-Vision avant de se déplacer.
Dans le code ci-dessus, C00002 indique le point d’attente du picking. Le robot se déplace vers le point d’attente du picking après la capture des images. Cela indique que le projet Mech-Vision peut être exécuté en même temps que le déplacement du robot afin de raccourcir le temps de cycle.
|