Programme d’exemple 15 : MM_S15_Viz_GetDoList
Présentation du programme
Description |
Après avoir obtenu la trajectoire de prélèvement et les signaux DO, le robot peut effectuer le prélèvement en se déplaçant jusqu’au point de passage de prélèvement et en définissant les signaux DO en boucle. Ce programme d’exemple est utilisé dans des scénarios de dépalettisation, et l’outil utilisé par le robot est un préhenseur à vide à sections multiples. |
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 et projet Mech-Viz (l’outil est un préhenseur à vide de dépalettisation) |
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 partie décrit le programme d’exemple MM_S15_Viz_GetDoList.
| Par rapport au programme d’exemple MM_S2_Viz_Basic, ce programme d’exemple ne contient que la modification suivante (le code de cette modification est en gras). Par conséquent, seule la fonctionnalité de gestion des erreurs en fonction des différents codes d’erreur est décrite ci-après. Pour des informations sur les parties de MM_S6_Viz_ErrorHandle qui sont identiques à celles de MM_S2_Viz_Basic, voir Programme d’exemple 2 : MM_S2_Viz_Basic. |
1: !-------------------------------- ;
2: !FUNCTION: trigger Mech-Viz ;
3: !project, then get planned path ;
4: !and gripper control signal using ;
5: !command 210 ;
6: !Mech-Mind, 2023-12-25 ;
7: !-------------------------------- ;
8: ;
9: !set current uframe NO. to 0 ;
10: UFRAME_NUM=0 ;
11: !set current tool NO. to 1 ;
12: UTOOL_NUM=1 ;
13: !move to robot home position ;
14:J P[1] 100% FINE ;
15: !initialize communication ;
16: !parameters(initialization is ;
17: !required only once) ;
18: CALL MM_INIT_SKT('8','127.0.0.1',50000,5) ;
19: !move to image-capturing position ;
20:L P[2] 1000mm/sec FINE ;
21: !trigger Mech-Viz project ;
22: CALL MM_START_VIZ(2,10) ;
23: !get planned path ;
24: CALL MM_GET_PLNDT(0,3,51,52,53) ;
25: !check whether planned path has ;
26: !been got from Mech-Viz ;
27: !successfully ;
28: IF R[53]<>2100,JMP LBL[99] ;
29: !get gripper control signal list ;
30: CALL MM_GET_DL(0,0) ;
31: !save waypoints of the planned ;
32: !path to local variables one ;
33: !by one ;
34: CALL MM_GET_PLJOP(1,3,60,61,62,63,64,70) ;
35: CALL MM_GET_PLJOP(2,3,61,91,92,93,94,100) ;
36: CALL MM_GET_PLJOP(3,3,62,121,122,123,124,130) ;
37: !follow the planned path to pick ;
38: !move to approach waypoint ;
39: !of picking ;
40:J PR[60] 50% FINE ;
41: !move to picking waypoint ;
42:J PR[61] 10% FINE ;
43: !add object grasping logic here ;
44: PAUSE ;
45: !set gripper control signal ;
46: CALL MM_SET_DL(0) ;
47: !move to departure waypoint ;
48: !of picking ;
49:J PR[62] 50% FINE ;
50: !move to intermediate waypoint ;
51: !of placing ;
52:J P[3] 50% CNT100 ;
53: !move to approach waypoint ;
54: !of placing ;
55:L P[4] 1000mm/sec FINE Tool_Offset,PR[2] ;
56: !move to placing waypoint ;
57:L P[4] 300mm/sec FINE ;
58: !add object releasing logic here, ;
59: !such as "DO[1]=OFF" ;
60: PAUSE ;
61: !move to departure waypoint ;
62: !of placing ;
63:L P[4] 1000mm/sec FINE Tool_Offset,PR[2] ;
64: !move back to robot home position ;
65:J P[1] 100% FINE ;
66: END ;
67: ;
68: LBL[99:vision error] ;
69: !add error handling logic here ;
70: !according to different ;
71: !error codes ;
72: !e.g.: status=2038 means no ;
73: !point cloud in ROI ;
74: 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 le code en gras. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour en voir la description détaillée.
| Feature | Code et description | ||
|---|---|---|---|
Obtenir la trajectoire planifiée |
|
||
Obtenir la liste DO du préhenseur |
|
||
Stocker la trajectoire planifiée |
L’instruction complète « CALL MM_GET_PLJOP(1,3,60,61,62,63,64,70) » indique que la pose, le type de mouvement, l’ID d’outil, la vitesse, les données personnalisées et les données Vision Move du premier point de passage sont stockés dans les registres spécifiés.
|
||
Se déplacer jusqu’au point de prélèvement pour effectuer le prélèvement |
L’instruction ci-dessus indique que le robot se déplace jusqu’au point de prélèvement (PR[61]) puis exécute la commande MM_SET_DL pour définir les signaux DO du préhenseur afin d’effectuer le prélèvement. |