Programme d’exemple 13 : MM_S13_Vis_MoveInAdvance
Introduction du programme
Description |
Après le déclenchement de l’exécution du projet Mech-Vision, le robot se déplace par anticipation 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 eye in hand. |
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 (le mode de montage de la caméra est eye in hand) |
Prérequis |
|
| 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 partie 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é les images (le code de cette fonctionnalité est en gras). Ainsi, seule la fonctionnalité de déplacement du robot après la capture des images par la caméra est décrite ci-dessous. Pour les éléments de MM_S13_Vis_MoveInAdvance identiques à ceux de MM_S1_Vis_Basic, voir Programme d’exemple 1 : MM_S1_Vis_Basic. |
1: !-------------------------------- ;
2: !FUNCTION: trigger Mech-Vision ;
3: !then move to wait position and ;
4: !get vision pose in EIH setup ;
5: !Mech-Mind, 2023-12-25 ;
6: !-------------------------------- ;
7: ;
8: !set current uframe NO. to 0 ;
9: UFRAME_NUM=0 ;
10: !set current tool NO. to 1 ;
11: UTOOL_NUM=1 ;
12: !move to robot home position ;
13:J P[1] 100% FINE ;
14: !initialize communication ;
15: !parameters(initialization is ;
16: !required only once) ;
17: CALL MM_INIT_SKT('8','127.0.0.1',50000,5) ;
18: !move to image-capturing position ;
19:L P[2] 1000mm/sec FINE ;
20: !trigger NO.1 Mech-Vision project ;
21: CALL MM_START_VIS(1,0,1,10) ;
22: !move to wait position for ;
23: !picking ;
24:J P[3] 50% CNT100 ;
25: !get vision result from NO.1 ;
26: !Mech-Vision project ;
27: CALL MM_GET_VIS(1,51,53) ;
28: !check whether vision result has ;
29: !been got from Mech-Vision ;
30: !successfully ;
31: IF R[53]<>1100,JMP LBL[99] ;
32: !save first vision point data to ;
33: !local variables ;
34: CALL MM_GET_POS(1,60,70,80) ;
35: !move to intermediate waypoint ;
36: !of picking ;
37:J P[4] 50% CNT100 ;
38: !move to approach waypoint ;
39: !of picking ;
40:L PR[60] 1000mm/sec FINE Tool_Offset,PR[1] ;
41: !move to picking waypoint ;
42:L PR[60] 300mm/sec FINE ;
43: !add object grasping logic here, ;
44: !such as "DO[1]=ON" ;
45: PAUSE ;
46: !move to departure waypoint ;
47: !of picking ;
48:L PR[60] 1000mm/sec FINE Tool_Offset,PR[1] ;
49: !move to intermediate waypoint ;
50: !of placing ;
51:J P[5] 50% CNT100 ;
52: !move to approach waypoint ;
53: !of placing ;
54:L P[6] 1000mm/sec FINE Tool_Offset,PR[2] ;
55: !move to placing waypoint ;
56:L P[6] 300mm/sec FINE ;
57: !add object releasing logic here, ;
58: !such as "DO[1]=OFF" ;
59: PAUSE ;
60: !move to departure waypoint ;
61: !of placing ;
62:L P[6] 1000mm/sec FINE Tool_Offset,PR[2] ;
63: !move back to robot home position ;
64:J P[1] 100% FINE ;
65: END ;
66: ;
67: LBL[99:vision error] ;
68: !add error handling logic here ;
69: !according to different ;
70: !error codes ;
71: !e.g.: status=1003 means no ;
72: !point cloud in ROI ;
73: !e.g.: status=1002 means no ;
74: !vision results ;
75: PAUSE ;
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é les 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é les images |
Dans les scénarios eye in hand, pour garantir que le robot puisse se déplacer après que la caméra a capturé les images sans attendre la fin d’exécution du projet Mech-Vision, vous pouvez aller dans dans la barre d’outils supérieure de Mech-Vision et sélectionner Return « 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 avoir déclenché le projet Mech-Vision et reçu « 1102 : Déclenché avec succès », ce qui réduit 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 au robot le code d’état 1102. 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 du projet Mech-Vision avant de se déplacer.
Le code ci-dessus indique que le robot peut se déplacer vers le point d’attente de la prise (P[3], vous devez enseigner ce point de passage au préalable) après la capture des images. Cela indique que le projet Mech-Vision peut s’exécuter en même temps que le déplacement du robot afin de raccourcir le temps de cycle.
|