Prélèvement et dépose

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.

Dans ce tutoriel, vous apprendrez d’abord le processus de prélèvement et de dépose dans cet exemple, puis comment le configurer.

Processus de prélèvement et de dépose

La logique de prélèvement et de dépose dans cet exemple est illustrée dans la figure ci-dessous.

picking workflow
Dans cet exemple, le robot prélève les boulons depuis une position fixe, telle qu’une plateforme de positionnement, puis utilise les points de prise fournis par Mech-Vision comme cibles pour l’assemblage.

Description de la solution de communication

Dans le processus ci-dessus, l’étape « le robot déclenche la caméra pour capturer des images et obtenir le point de prise » nécessite que le robot utilise l’Interface Standard pour communiquer avec le système de vision, ainsi que l’Interface Standard « utilise Mech-Vision pour obtenir le résultat de vision » du système de vision.

Lorsque vous utilisez cette méthode, vous devez écrire le programme du robot. Veuillez vous référer à Configuration du processus de prélèvement et de dépose pour écrire le programme du robot.

Configurer le processus de prélèvement et de dépose

Pour réaliser le flux logique de prélèvement et de dépose, vous devez effectuer les configurations suivantes:

picking workflow config

Configurer les paramètres du robot et écrire le programme du robot

Le programme d’exemple de l’Interface Standard de YASKAWA, MM_S1_Vis_Basic, peut essentiellement répondre aux exigences de cet exemple. Vous pouvez modifier le programme d’exemple. Pour une explication détaillée du programme MM_S1_Vis_Basic, veuillez consulter Explication de l’exemple de programme.

Sur la base du programme d’exemple, veuillez effectuer les étapes suivantes côté robot:

  1. Enseigner la position d’origine (position initiale).

    Déplacez le robot vers la position initiale en mode TEACH. La position initiale doit être éloignée des objets à prélever et des dispositifs environnants, et ne doit pas obstruer le champ de vision (FOV) de la caméra. Enregistrez la pose actuelle du robot dans la variable C00000.

  2. Spécifiez l’adresse IP de l’IPC. Mettez à jour l’adresse IP et le port de la commande MM_Init_Socket avec ceux de l’IPC.

    Avant modification Après modification (exemple)
    'initialize communication
    'parameters (initialization is
    'required only once)
    CALL JOB:MM_INIT_SOCKET ARGF"192.168.170.22;50000;1"
    'initialize communication
    'parameters (initialization is
    'required only once)
    CALL JOB:MM_INIT_SOCKET ARGF"192.168.10.40;50000;1"
  3. Définissez le signal du port DO pour ouvrir le préhenseur. Notez que la commande DO doit être définie selon le numéro de port DO réellement utilisé sur site.

    'open gripper
    DOUT OT#(14) ON
    DOUT OT#(15) OFF
  4. Enseigner le point de prélèvement fixe.

    Déplacez le robot vers le point de prélèvement en mode TEACH. Cette position est aussi celle où la caméra capture des images. À cette position, le bras du robot ne doit pas obstruer le champ de vision (FOV) de la caméra. Enregistrez la pose actuelle du robot dans la variable C00001.

    Avant modification Après modification (exemple)
    'move to image-capturing position
    MOVJ C00001 VJ=50.00 PL=0
    'move to fixed position of picking
    MOVJ C00001 VJ=20.00 PL=0
  5. Définissez le signal du port DO pour fermer le préhenseur afin de prélever le boulon à la position fixe. Notez que la commande DO doit être définie selon le numéro de port DO réellement utilisé sur site.

    'close gripper
    DOUT OT#(14) OFF
    DOUT OT#(15) ON
  6. Enseigner le point intermédiaire du processus d’assemblage.

    Avant modification Après modification (exemple)
    'move to intermediate waypoint of
    'picking
    MOVJ C00002 VJ=50.00
    'move to intermediate waypoint of
    'assembly
    MOVJ C00002 VJ=50.00
  7. Modifier les commentaires des commandes liées à l’assemblage.

    Avant modification Après modification (exemple)
    '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
    
    ...
    
    'move to departure waypoint of
    'picking
    SFTON P070
    MOVL P071 V=166.6 PL=0
    SFTOF
    'move to approach waypoint of
    'assembly
    SFTON P070
    MOVL P071 V=166.6 PL=0
    SFTOF
    'move to assembly waypoint
    MOVL P071 V=50.0 PL=0
    
    ...
    
    'move to departure waypoint of
    'assembly
    SFTON P070
    MOVL P071 V=166.6 PL=0
    SFTOF
  8. Définissez le signal du port DO pour ouvrir le préhenseur afin de placer le boulon dans le trou de goupille. Notez que la commande DO doit être définie selon le numéro de port DO réellement utilisé sur site.

    Avant modification Après modification (exemple)
    'add object grasping logic here,
    'such as DOUT OT#(1) ON
    PAUSE
    'add object releasing logic here,
    'such as DOUT OT#(1) ON
    DOUT OT#(15) OFF
    DOUT OT#(14) ON
    PAUSE
  9. Supprimez le code lié à la dépose dans le programme d’exemple.

    'move to intermediate waypoint of
    'placing
    MOVJ C00003 VJ=50.00
    'move to approach waypoint of
    'placing
    MOVL C00004 V=166.6 PL=0
    'move to placing waypoint
    MOVL C00005 V=50.0 PL=0
    'add object releasing logic here,
    'such as DOUT OT#(1) OFF
    PAUSE
    'move to departure waypoint of
    'placing
    MOVL C00006 V=166.6 PL=0
  10. Enseigner la position d’origine.

    Déplacez le robot vers la position d’origine en mode TEACH et enregistrez la pose du robot dans la variable C00003.

Tester l’effet d’assemblage du robot avec une exécution pas à pas

Suivez ces étapes pour tester l’effet d’assemblage du robot:

  1. Tournez la clé de mode sur le boîtier d’apprentissage sur PLAY pour entrer en mode REPEAT.

    run program 1
  2. Appuyez sur la touche SERVO ON READY sur le boîtier d’apprentissage, puis appuyez sur le bouton bleu Exécuter.

    run program 2
    run program 3
  3. Le robot exécutera automatiquement le programme pour prélever et déposer un objet cible.

    Veuillez prêter une attention particulière à la trajectoire de mouvement du robot. En cas d’urgence, appuyez sur la touche d’arrêt d’urgence.

Si le robot peut prélever et déposer des objets cibles avec succès, le programme du robot répond aux exigences.

Insérer l’instruction de boucle pour le cycle d’assemblage

Après avoir vérifié que le robot peut assembler avec succès une fois, vous pouvez insérer une instruction de boucle dans le programme pour répéter l’assemblage du robot.

Ajoutez l’instruction de boucle suivante:

LOOP
   'move to fixed position of picking
   MOVJ C00001 VJ=20.00 PL=0

   ...

   MOVJ C00003 VJ=50.00
END LOOP

Référence : programme d’exemple modifié

Le programme d’exemple final est le suivant:

NOP
'--------------------------------
'FUNCTION: trigger Mech-Vision
'project and get vision result
'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.10.40;50000;1"
'open gripper
DOUT OT#(14) ON
DOUT OT#(15) OFF
LOOP
   'move to fixed position of picking
   MOVJ C00001 VJ=20.00 PL=0
   'close gripper
   DOUT OT#(14) OFF
   DOUT OT#(15) ON
   'open socket connection
   CALL JOB:MM_OPEN_SOCKET
   MOVL P110 V=25.0
   'trigger NO.1 Mech-Vision project
   CALL JOB:MM_START_VIS ARGF"1;0;2;30"
   '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
   'assembly
   MOVJ C00002 VJ=50.00
   'move to approach waypoint of
   'assembly
   SFTON P070
   MOVL P071 V=166.6 PL=0
   SFTOF
   'move to assembly waypoint
   MOVL P071 V=50.0 PL=0
   'add object releasing logic here,
   'such as DOUT OT#(1) ON
   DOUT OT#(15) OFF
   DOUT OT#(14) ON
   PAUSE
   'move to departure waypoint of
   'assembly
   SFTON P070
   MOVL P071 V=166.6 PL=0
   SFTOF
   'move back to robot home position
   MOVJ C00003 VJ=50.00’move to fixed position of picking
   MOVJ C00001 VJ=20.00 PL=0
   'close gripper
   DOUT OT#(14) OFF
   DOUT OT#(15) ON
   'open socket connection
   CALL JOB:MM_OPEN_SOCKET
   MOVL P110 V=25.0
   'trigger NO.1 Mech-Vision project
   CALL JOB:MM_START_VIS ARGF"1;0;2;30"
   '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
   'assembly
   MOVJ C00002 VJ=50.00
   'move to approach waypoint of
   'assembly
   SFTON P070
   MOVL P071 V=166.6 PL=0
   SFTOF
   'move to assembly waypoint
   MOVL P071 V=50.0 PL=0
   'add object releasing logic here,
   'such as DOUT OT#(1) ON
   DOUT OT#(15) OFF
   DOUT OT#(14) ON
   PAUSE
   'move to departure waypoint of
   'assembly
   SFTON P070
   MOVL P071 V=166.6 PL=0
   SFTOF
   'move back to robot home position
   MOVJ C00003 VJ=50.00
END LOOP
END

Vous avez maintenant déployé une application de positionnement et d’assemblage guidée par vision 3D.

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.