Programme d’exemple 13 : MM_S13_Vis_MoveInAdvance

Vous consultez actuellement la documentation pour la dernière version (2.1.2). Pour accéder à une autre version, cliquez sur le bouton "Changer de version" situé dans le coin supérieur droit de la page.

■ Si vous n’êtes pas sûr de la version du produit que vous utilisez, veuillez contacter le support technique Mech-Mind pour obtenir de l’aide.

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 Communication Component/Robot_Interface/FANUC/sample/MM_S13_Vis_MoveInAdvance.

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.

sample13

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

  20:  !trigger NO.1 Mech-Vision project ;
  21:  CALL MM_START_VIS(1,0,1,10) ;
  • MM_START_VIS: La commande pour déclencher l’exécution du projet Mech-Vision.

  • 1: L’ID du projet Mech-Vision.

  • 0: Le projet Mech-Vision est censé retourner tous les points de vision.

  • 1: Les positions articulaires du robot et la pose de la bride doivent être fournies au projet Mech-Vision. Si le mode de montage de la caméra est eye in hand, 1 est généralement spécifié ici.

  • 10: Le registre de position PR[10], qui stocke des positions articulaires personnalisées. Dans ce programme d’exemple, ces positions n’ont pas d’utilité pratique, mais l’ID du registre de position doit être spécifié.

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 Configuration de la communication du robot  Suivant  Paramètres avancés 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 d’état 1102 renvoyé par le système de vision indique l’achèvement logique de la commande MM_Start_Vis. Si l’option est sélectionnée, le robot peut commencer à se déplacer après l’exécution de la commande MM_START_VIS.
configure communication
  22:  !move to wait position for ;
  23:  !picking ;
  24:J P[3] 50% CNT100    ;

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.

Veuillez noter la différence entre ce programme d’exemple et le programme MM_S1_Vis_Basic. Le programme d’exemple MM_S1_Vis_Basic permet au robot de se déplacer uniquement après la fin d’exécution du projet Mech-Vision, tandis que ce programme d’exemple permet au robot de se déplacer après que la caméra a terminé la capture des images.

Cette page est-elle utile ?

Veuillez nous indiquer comment améliorer :

Nous accordons de l’importance à votre vie privée

Nous utilisons des cookies pour vous offrir la meilleure expérience possible sur notre site web. En continuant à utiliser le site, vous reconnaissez accepter l’utilisation des cookies. Si vous refusez, un cookie unique sera utilisé pour garantir que vous ne soyez pas suivi ou reconnu lors de votre visite sur ce site.