Déploiement de la solution

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.

Cette section présente le déploiement de la solution Stators. Le processus global est illustré dans la figure ci-dessous.

solution configuration overview

Configuration matérielle du système de vision

La configuration matérielle du système de vision consiste à intégrer le matériel (caméra et PC industriel) dans l’environnement réel afin de garantir le fonctionnement normal du système de vision.

Dans cette phase, vous devez installer et configurer le matériel du système de vision. Pour plus de détails, reportez-vous à Configuration matérielle du système de vision.

Configuration de la communication avec le robot

Avant la configuration de la communication avec le robot, il est nécessaire d’obtenir d’abord la solution. Cliquez ici pour savoir comment obtenir la solution.
  1. Ouvrez Mech-Vision.

  2. Dans l’interface d’accueil de Mech-Vision, cliquez sur Créer à partir de la bibliothèque de solutions pour ouvrir la bibliothèque de solutions.

  3. Entrez dans la catégorie Cas typiques de la bibliothèque de solutions, cliquez sur l’icône get resource dans le coin supérieur droit pour plus de ressources, puis cliquez sur le bouton Confirmer dans la fenêtre contextuelle.

  4. Après avoir acquis les ressources de la solution, sélectionnez la solution Stators dans la catégorie Préhension de pièces bien rangées, renseignez le nom de la solution et le chemin en bas, puis cliquez sur le bouton Créer. Ensuite, cliquez sur le bouton OK dans la fenêtre contextuelle pour télécharger la solution Stators.

    Une fois la solution téléchargée, elle s’ouvrira automatiquement dans Mech-Vision.

Avant de déployer un projet de vision, vous devez configurer la communication entre le système de vision Mech-Mind et le côté robot (robot, PLC ou ordinateur hôte).

La solution Stators utilise la communication par Interface standard. Pour des instructions détaillées, veuillez consulter Configuration de la communication via l’Interface standard.

Calibration main-œil

La calibration main-œil établit la relation de transformation entre les repères de la caméra et du robot. Grâce à cette relation, la pose de l’objet déterminée par le système de vision peut être transformée dans le repère du robot, ce qui guide le robot pour exécuter ses tâches.

Veuillez consulter Guide de calibration main-œil du robot et réaliser la calibration main-œil.

Chaque fois que la caméra est montée, ou que la position relative entre la caméra et le robot change après la calibration, il est nécessaire d’effectuer à nouveau la calibration main-œil.

Configuration du projet de vision

Après avoir terminé la configuration de la communication et la calibration main-œil, vous pouvez utiliser Mech-Vision pour configurer le projet de vision.

Le processus de configuration d’un projet de vision est illustré dans la figure ci-dessous.

vision overall

Se connecter à la caméra et capturer des images

  1. Connectez-vous à la caméra.

    Ouvrez Mech-Eye Viewer, trouvez la caméra à connecter et cliquez sur le bouton Se connecter.

    vision click connect camera
  2. Réglez les paramètres de la caméra.

    Pour garantir que l’image 2D capturée est nette et que le nuage de points est complet, vous devez régler les paramètres de la caméra. Pour des instructions détaillées, veuillez consulter LSR L-GL Référence des paramètres de la caméra.

  3. Capturez des images.

    Après la connexion réussie de la caméra et la définition du groupe de paramètres, vous pouvez commencer à capturer des images de l’objet cible. Cliquez sur le bouton vision click capture icon en haut pour capturer une image unique. À ce moment-là, vous pouvez visualiser l’image 2D et le nuage de points de l’objet cible capturés. Assurez-vous que l’image 2D est nette, que le nuage de points est complet et que les contours sont clairs. L’image 2D et le nuage de points qualifiés de l’objet cible sont respectivement affichés à gauche et à droite dans la figure ci-dessous.

    camera vision image and cloud
  4. Connectez-vous à la caméra dans Mech-Vision.

    Sélectionnez l’étape Capturer des images depuis la caméra, désactivez l’option Mode virtuel dans le panneau des Paramètres de l’étape, et cliquez sur le bouton Sélectionner la caméra.

    vision select camera

    Dans la fenêtre contextuelle, cliquez sur l’icône vision connect camera before icon à droite du numéro de série de la caméra. Lorsque l’icône devient vision connect camera after icon, la connexion de la caméra est réussie. Après la connexion, vous pouvez sélectionner le groupe de paramètres de calibration de la caméra dans la liste déroulante à droite, comme illustré ci-dessous.

    vision connect camera

    Maintenant que vous êtes connecté à la caméra réelle, vous n’avez pas besoin de régler d’autres paramètres. Cliquez sur l’icône vision run step camera icon sur l’étape Capturer des images depuis la caméra pour exécuter l’étape. S’il n’y a aucune erreur, la caméra est connectée avec succès et les images peuvent être capturées correctement.

Reconnaissance 3D de l’objet cible

La solution Stators utilise l’étape Reconnaissance 3D de l’objet cible pour reconnaître les objets cibles. Cliquez sur le bouton Assistant de configuration dans le panneau des Paramètres de l’étape Reconnaissance 3D de l’objet cible pour ouvrir l’outil Reconnaissance 3D de l’objet cible et configurer les réglages pertinents. Le processus de configuration global est illustré dans la figure ci-dessous.

vision 3d target object recognition overall

Prétraitement du nuage de points

Avant le prétraitement du nuage de points, vous devez préparer les données en ajustant les paramètres pour rendre le nuage de points original plus clair, améliorant ainsi la précision et l’efficacité de la reconnaissance.

  1. Définir la zone de reconnaissance.

    Définissez une zone de reconnaissance efficace pour exclure les facteurs d’interférence et améliorer l’efficacité de la reconnaissance. Le ROI doit inclure les nuages de points des objets cibles et du plateau, et exclure les autres nuages de points de la scène. Pour tenir compte des écarts de position des objets entrants, la longueur et la largeur du ROI peuvent chacune être augmentées de 100 mm au-delà des dimensions du plateau.

  2. Ajuster les paramètres.

    Dans la plupart des cas, conservez les valeurs par défaut de ces paramètres. Si du bruit persiste dans le nuage de points de la scène, essayez d’ajuster les paramètres pertinents pour filtrer ce bruit.

Après le prétraitement du nuage de points, cliquez sur le bouton Exécuter l’étape.

Reconnaître l’objet cible

Après le prétraitement du nuage de points, vous devez créer un modèle de nuage de points pour l’objet cible dans l’Éditeur d’objet cible, puis définir les paramètres d’appariement dans l’outil Reconnaissance 3D de l’objet cible pour l’appariement du modèle de nuage de points.

  1. Créez le modèle d’objet cible et configurez le point de prise.

    • Créez le modèle de nuage de points. Cliquez sur le bouton Ouvrir l’éditeur d’objet cible pour ouvrir l’éditeur, générez un modèle de nuage de points à partir de l’image acquise par la caméra.

    • Ajustez les paramètres pertinents utilisés pour distinguer les orientations des objets cibles.

      Veuillez ignorer cette étape s’il n’est pas nécessaire de distinguer les orientations des objets cibles.

      Calculer des poses pour filtrer le résultat d’appariement. La forme de l’objet cible est similaire à un anneau. Pour reconnaître précisément l’orientation de l’objet cible, ajustez les paramètres du groupe de paramètres Calculer des poses pour filtrer le résultat d’appariement. Étant donné que l’objet cible est symétrique, sélectionnez l’option Configurer la symétrie manuellement, activez le commutateur Autour de l’axe Z et définissez l’Ordre de symétrie et la Plage angulaire sur 30 et ±180, respectivement.

      Définir le modèle de poids. Il est recommandé de Définir le modèle de poids car il est difficile de reconnaître les orientations des objets cibles. Dans le coin supérieur droit de l’éditeur d’objet cible, dans le groupe de paramètres Affichage du nuage de points, sélectionnez l’option Afficher uniquement le nuage de points de surface, puis cliquez sur le bouton Éditer le modèle sous Définir le modèle de poids pour définir les protubérances de l’anneau comme modèles de poids, comme indiqué en rouge dans la figure ci-dessous :

      set weight template

    • Configurez le point central de l’objet et le point de prise. En général, le centre géométrique de l’objet cible est défini comme point central de l’objet, puis un point de prise approprié est configuré en fonction de la pince utilisée sur site.

  2. Définir les paramètres liés à la reconnaissance d’objet.

    • Pour appliquer la symétrie de l’objet cible configurée, veuillez activer le commutateur Mode avancé sur le côté droit de Reconnaître l’objet cible.

    • Mode d’appariement : désactivez Définition automatique du mode d’appariement et définissez à la fois le Mode d’appariement grossier et le Mode d’appariement fin sur Appariement de surface.

    • Ajuster ou filtrer les poses issues de l’appariement grossier : définissez Stratégie de sélection sur Filtrer les poses potentiellement fausses.

    • Sortie – Nombre maximal de sorties : définissez la valeur de ce paramètre sur le nombre d’objets cibles lorsque le plateau est complètement chargé. Dans cette solution, le paramètre Max outputs est défini sur 6.

Après avoir défini les paramètres ci-dessus, cliquez sur le bouton Exécuter l’étape pour afficher le résultat d’appariement.

Configurer les ports de l’étape

Après la reconnaissance de l’objet cible, les ports de l’étape doivent être configurés pour fournir les résultats de vision et les nuages de points aux étapes suivantes pour la planification de trajectoire et la détection de collisions.

Étant donné que les points de prise doivent être traités dans les étapes suivantes, sélectionnez Port(s) liés au point de prise sous Sélectionner le port. Ensuite, sélectionnez l’option Nuage de points original acquis par la caméra, puis cliquez sur le bouton Enregistrer. De nouveaux ports de sortie seront ajoutés à l’étape Reconnaissance 3D de l’objet cible, comme montré ci-dessous.

vision general settings effect

Ajuster les poses

Après avoir obtenu les poses de l’objet cible, vous devez utiliser l’étape Ajuster les poses V2 pour ajuster les poses. Cliquez sur le bouton Assistant de configuration dans le panneau des Paramètres de l’étape Ajuster les poses V2 pour ouvrir l’outil ajustement des poses et configurer l’ajustement des poses. Le processus de configuration global est illustré dans la figure ci-dessous.

vision adjust poses overall
  1. Transformer les poses.

    Pour produire les poses de l’objet cible dans le repère du robot, veuillez cocher la case devant Transformer la pose vers le repère du robot afin de transformer les poses du repère de la caméra vers le repère du robot.

  2. Ajuster l’orientation des poses.

    Définissez Orientation sur Alignement automatique et Scénario d’application sur Aligner les axes Z (alimentation de machine) afin de garantir que le robot prélève dans une direction spécifiée, évitant ainsi les collisions.

  3. Trier les poses.

    Définissez Type de tri sur Trier par forme Z sur plan. Étant donné que les objets entrants sont dans une direction fixe, définissez le paramètre « Pose de référence » sur déplacer en faisant glisser avec le manipulateur de pose, et rendez l’axe X de la pose de référence parallèle au plateau. Définissez Direction de ligne sur Axe X positif de la pose de référence et Direction de colonne sur Axe Y positif de la pose de référence afin d’assurer une séquence de prélèvement optimale.

  4. Filtrer par angle.

    Pour réduire le temps nécessaire à la planification de trajectoire ultérieure, les objets cibles qui ne peuvent pas être facilement prélevés doivent être filtrés en fonction de l’angle entre l’axe Z de la pose et la direction de référence. Dans ce tutoriel, vous devez définir Différence angulaire maximale sur 20°.

  5. Paramètres généraux.

    Définir le nombre de nouveaux ports sur 1, et un nouveau port d’entrée et de sortie sera ajouté à l’étape. Connectez le port d’entrée au port de sortie Pick Point Info de l’étape Reconnaissance 3D de l’objet cible et connectez le port de sortie à l’étape Planification de trajectoire.

Planification de trajectoire

Une fois la reconnaissance de l’objet cible terminée, vous pouvez utiliser l’étape Planification de trajectoire dans Mech-Vision pour planifier une trajectoire, puis écrire un programme robot pour prélever les objets cibles.

Cliquez sur l’étape Planification de trajectoire, puis cliquez sur le bouton Assistant de configuration pour ouvrir la fenêtre Outil de planification de trajectoire.

Le processus de configuration de la planification de trajectoire est illustré dans la figure ci-dessous.

viz overall

Configurer les objets de la scène

Les objets de la scène sont introduits pour rapprocher la scène dans le logiciel du scénario réel, ce qui facilite la planification de trajectoire du robot. Pour des instructions détaillées, veuillez consulter Configurer les objets de la scène.

Pour garantir une préhension efficace, les objets de la scène doivent être configurés pour représenter fidèlement l’environnement opérationnel réel. Les objets de la scène dans cette solution sont configurés comme indiqué ci-dessous.

viz scene objects configuration effect

Configurer l’outil du robot

L’outil terminal doit être configuré afin que son modèle puisse être affiché dans la zone de simulation 3D et utilisé pour la détection de collisions. Pour des instructions détaillées, veuillez consulter Configurer l’outil.

  • Pour gagner du temps lors de la création d’un modèle de collision pour l’outil terminal, il n’est pas toujours nécessaire que les enveloppes convexes que vous créez reproduisent chaque détail du modèle original. Vous pouvez omettre certains détails en fonction des exigences spécifiques du modèle.

  • Pour les parties qui sont en contact direct avec l’objet cible pendant la prise, il est important de reproduire fidèlement leurs formes afin de garantir la précision de la détection de collisions. Pour les structures mécaniques plus éloignées du point de prise (objet cible), la conception peut être simplifiée en utilisant des enveloppes convexes cuboïdes au lieu de conceptions structurelles complexes afin d’améliorer l’efficacité. L’outil utilisé dans cette solution est illustré ci-dessous :

    viz end tool configuration effect

Ajuster le flux de travail

Après avoir configuré les objets de la scène et les outils, vous pouvez ajuster le flux de travail dans l’outil de planification de trajectoire de l’étape Planification de trajectoire en fonction des besoins réels. Le flux de travail pour la prise des objets cibles est montré dans la figure ci-dessous.

viz adjust workflow overall

Dans le flux de travail, les deux Au-dessus du bac – Point de passage fixe 1 et 2 sont définis dans le programme du robot en déplaçant manuellement le robot et ne seront pas envoyés aux dispositifs externes, tandis que les trois autres étapes de type déplacement enverront des points de passage. Au total, trois points de passage seront envoyés.

Simuler et tester

Cliquez sur le bouton Simuler dans la barre d’outils pour tester si le système de vision est correctement configuré en simulant le projet dans l’outil de planification de trajectoire.

Placez les objets cibles de manière ordonnée sur le plateau, puis cliquez sur le bouton Simuler dans la barre d’outils de l’outil de planification de trajectoire pour simuler le processus de prise. Après chaque prise réussie, l’objet cible doit être réorganisé, et 10 tests de simulation doivent être effectués. Si les 10 simulations aboutissent toutes à des prises réussies, le système de vision est correctement configuré.

Si une exception survient pendant la simulation, reportez-vous à FAQ sur le déploiement de la solution pour résoudre le problème.

Sortir le résultat de vision

Envoie le résultat de vision du projet en cours au composant de communication pour la prise ultérieure.

Prise et dépôt par le robot

Écrire un programme pour le robot

Si le résultat de la simulation est conforme aux attentes, vous pouvez écrire un programme de prise et de dépôt pour le robot ABB.

Le programme d’exemple MM_S3_Vis_Path pour le robot ABB peut essentiellement répondre aux exigences de ce cas typique. Vous pouvez modifier le programme d’exemple. Pour une explication détaillée du programme MM_S3_Vis_Path, veuillez consulter Explication du programme d’exemple.

Instructions de modification

Sur la base du programme d’exemple, veuillez modifier les fichiers du programme en suivant ces étapes :

  1. Spécifiez l’adresse IP et le numéro de port de l’IPC. Modifiez l’adresse IP et le numéro de port dans la commande MM_Init_Socket pour ceux du système de vision.

    Avant modification Après modification (exemple)
      MM_Init_Socket "127.0.0.1",50000,300;
      MM_Init_Socket "192.168.1.5",50000,400;
  2. Définissez le signal pour le port DO afin d’effectuer la prise, c’est-à-dire fermer la pince et saisir l’objet cible. Notez que la commande DO doit être définie en fonction du numéro réel du port DO utilisé sur site.

    Avant modification Après modification (exemple)
      !add object grasping logic here, such as "setdo DO_1, 1;"
      Stop;
      !add object grasping logic here, such as "setdo DO_2, 0;"
      setdo DO_2, 0;
  3. Définissez le port DO pour effectuer le dépôt. Notez que la commande DO doit être définie en fonction du numéro réel du port DO utilisé sur site.

    Avant modification Après modification (exemple)
      !add object releasing logic here, such as "setdo DO_1, 0;"
      Stop;
      !add object releasing logic here, such as "setdo DO_2, 1;"
      setdo DO_2, 1;

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

MODULE MM_S3_Vis_Path
!----------------------------------------------------------
! FUNCTION: trigger Mech-Vision project and get planned path
! Mech-Mind, 2023-12-25
!----------------------------------------------------------
!define local num variables
LOCAL VAR num pose_num:=0;
LOCAL VAR num status:=0;
LOCAL VAR num toolid{5}:=[0,0,0,0,0];
LOCAL VAR num vis_pose_num:=0;
LOCAL VAR num count:=0;
LOCAL VAR num label{5}:=[0,0,0,0,0];
!define local joint&pose variables
LOCAL CONST jointtarget home:=[[0,0,0,0,90,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
LOCAL CONST jointtarget snap_jps:=[[0,0,0,0,90,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
LOCAL PERS robtarget camera_capture:=[[302.00,0.00,558.00],[0,0,-1,0],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
LOCAL PERS robtarget drop_waypoint:=[[302.00,0.00,558.00],[0,0,-1,0],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
LOCAL PERS robtarget drop:=[[302.00,0.00,558.00],[0,0,-1,0],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
LOCAL PERS jointtarget jps{5}:=
[
    [[-9.7932,85.483,6.0459,-20.5518,-3.0126,-169.245],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],
    [[-9.653,95.4782,-4.3661,-23.6568,-2.6275,-165.996],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],
    [[-9.653,95.4782,-4.3661,-23.6568,-2.6275,-165.996],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],
    [[-9.653,95.4782,-4.3661,-23.6568,-2.6275,-165.996],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],
    [[-9.7932,85.483,6.0459,-20.5518,-3.0126,-169.245],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]]
];
!define local tooldata variables*LOCAL PERS tooldata gripper1:=[TRUE,[[0,0,0],[1,0,0,0]],[0.001,[0,0,0.001],[1,0,0,0],0,0,0]];

PROC Sample_3()
    !set the acceleration parameters
    AccSet 50, 50;
    !set the velocity parameters
    VelSet 50, 1000;
    !move to robot home position
    MoveAbsJ home\NoEOffs,v3000,fine,gripper1;
    !initialize communication parameters (initialization is required only once)
    MM_Init_Socket "192.168.1.5",50000,400;
    !move to image-capturing position
    MoveL camera_capture,v1000,fine,gripper1;
    !open socket connection
    MM_Open_Socket;
    !trigger NO.1 Mech-Vision project
    MM_Start_Vis 1,0,2,snap_jps;
    !get planned path from NO.1 Mech-Vision project; 2nd argument (1) means getting pose in JPs
    MM_Get_VisPath 1,1,pose_num,vis_pose_num,status;
    !check whether planned path has been got from Mech-Vision successfully
    IF status<>1103 THEN
        !add error handling logic here according to different error codes
        !e.g.: status=1003 means no point cloud in ROI
        !e.g.: status=1002 means no vision results
        Stop;
    ENDIF
    !close socket connection
    MM_Close_Socket;
    !save waypoints of the planned path to local variables one by one
    MM_Get_Jps 1,jps{1},label{1},toolid{1};
    MM_Get_JPS 2,jps{2},label{2},toolid{2};
    MM_Get_JPS 3,jps{3},label{3},toolid{3};
    !follow the planned path to pick
    !move to approach waypoint of picking
    MoveAbsJ jps{1},v1000,fine,gripper1;
    !move to picking waypoint
    MoveAbsJ jps{2},v1000,fine,gripper1;
    !add object grasping logic here, such as "setdo DO_2, 0;"
    setdo DO_2, 0;
    !move to departure waypoint of picking
    MoveAbsJ jps{3},v1000,fine,gripper1;
    !move to intermediate waypoint of placing
    MoveJ drop_waypoint,v1000,z50,gripper1;
    !move to approach waypoint of placing
    MoveL RelTool(drop,0,0,-100),v1000,fine,gripper1;
    !move to placing waypoint
    MoveL drop,v300,fine,gripper1;
    !add object releasing logic here, such as "setdo DO_2, 1;"
    setdo DO_2, 1;
    !move to departure waypoint of placing
    MoveL RelTool(drop,0,0,-100),v1000,fine,gripper1;
    !move back to robot home position
    MoveAbsJ Home\NoEOffs,v3000,fine,gripper1;
ENDPROC
ENDMODULE

Test de prise

Pour assurer une production stable dans le scénario réel, le programme d’exemple modifié doit être exécuté pour effectuer le test de prise avec le robot. Pour des instructions détaillées, veuillez consulter Tester la communication de l’interface standard.

Avant d’effectuer le test de prise, veuillez enseigner les points de passage suivants.

Nom Variable Description

Position de référence

home

La position initiale enseignée. La position initiale doit être éloignée des objets à saisir et des dispositifs environnants, et ne doit pas obstruer le champ de vision de la caméra.

Entrer la pose du projet Mech-Vision

snap_jps

Positions articulaires définies par l’utilisateur.

Position de capture d’image

camera_capture

La position de capture d’image enseignée. La position de capture d’image correspond à la position du robot 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.

Point de passage intermédiaire

drop_waypoint

L’ajout de points de passage intermédiaires assure un mouvement fluide du robot et évite des collisions inutiles.

Point de dépôt

drop

La position pour déposer l’objet cible.

Données d’outil

gripper1

L’outil utilisé par le robot lors de ses mouvements.

Après l’enseignement, placez les objets cibles comme illustré dans le tableau ci-dessous, et utilisez le robot pour effectuer le test de prise à faible vitesse. Dans cette solution, si les objets cibles sont soigneusement rangés et qu’il n’y a pas d’anomalies concernant les objets entrants, vous pouvez directement effectuer des tests de prise dans le scénario réel.

Test de prise en situation réelle

État de pose des objets

Illustration

Bien rangés

picking test 1

Dans le scénario de test ci-dessus, si le robot prélève les objets cibles avec succès, le système de vision est déployé avec succès.

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.