Configuration du projet de vision

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.

Avant d’utiliser ce tutoriel, vous devez avoir créé une solution en utilisant le projet de cas « Loading Randomly Stacked Target Objects » dans la section Configuration de la communication du robot.

Dans ce tutoriel, vous apprendrez d’abord le flux de travail du projet, puis vous déploierez le projet en ajustant les paramètres des Steps pour reconnaître les poses des objets cibles et sortir le résultat de vision.

Dans ce tutoriel, vous devrez convertir le fichier modèle STL de l’objet cible en un modèle d’appariement de nuage de points. Étant donné que la préparation du fichier modèle STL prend du temps, il est recommandé de préparer le fichier modèle STL de l’objet cible avant d’utiliser ce tutoriel. Vous pouvez le télécharger en cliquant ici.
Tutoriel vidéo: Configuration du projet de vision

Introduction au flux de travail du projet

Dans ce tutoriel, vous devez configurer le projet de vision à l’aide de Mech-Vision et Mech-Viz. Le processus de configuration d’un projet de vision est illustré dans la figure ci-dessous.

project workflow

Les phases du processus de configuration du projet de vision sont expliquées ci-dessous.

Phase Logiciel utilisé Description

Connexion à la caméra et acquisition des images

Mech-Vision

Se connecter à la caméra via le Step « Capture Images from Camera » de Mech-Vision pour la capture d’images.

Reconnaître les objets cibles

Mech-Vision

Effectuer une série de traitements de vision (prétraitement du nuage de points, appariement 3D, inférence par apprentissage profond, etc.) sur les données d’image via le Step « 3D Target Object Recognition » de Mech-Vision pour reconnaître rapidement les objets cibles.

Ajuster les poses

Mech-Vision

Utiliser le Step « Adjust Poses V2 » du logiciel Mech-Vision pour transformer le repère, ajuster les poses, trier les poses ou filtrer les poses sorties par le Step « 3D Target Object Recognition ».

Localiser le bac

Mech-Vision

Vous pouvez utiliser la Procédure « Standard Bin Locating » de Mech-Vision pour reconnaître le bac. La pose du bac reconnue sera envoyée au logiciel Mech-Viz pour mettre à jour la position du modèle de bac.

Planifier la trajectoire du robot

Mech-Vision & Mech-Viz

Le Step « Output » de Mech-Vision envoie le résultat de vision (comme les points centraux des objets, les nuages de points prétraités, les noms des modèles de scène des bacs, les poses centrales des bacs, etc.) à Mech-Viz.
Le projet Mech-Viz planifie dynamiquement une trajectoire de mouvement du robot sans collision sur la base du résultat de vision.

Sortir la trajectoire planifiée

Mech-Viz

Après réception de la commande de l’Interface Standard depuis le robot (utilisée dans ce tutoriel) ou le PLC, Mech-Viz renvoie la trajectoire de mouvement du robot sans collision planifiée.
Après avoir terminé la configuration de la communication du robot ainsi que la configuration des projets Mech-Vision et Mech-Viz, Mech-Viz peut sortir la trajectoire planifiée après chaque exécution.
Vous devez écrire le programme robot côté robot pour envoyer les commandes de l’Interface Standard qui déclenchent l’exécution du projet Mech-Viz et obtenir la trajectoire planifiée depuis Mech-Viz. Pour plus de détails, reportez-vous aux instructions dans la section « Picking and Placing ».

Ajuster les paramètres des Steps

Dans cette section, vous déploierez le projet en ajustant les paramètres de chaque Step.

Le projet de cette section est le projet « Vis_Target_Objects_Recognition » dans la solution « Loading Randomly Stacked Target Objects ».

Capturer des images depuis la caméra

Nom de l’étape

Capturer des images depuis la caméra

Phase

Se connecter à la caméra et acquérir des images

Illustration

acquire images from camera

Description

Se connecter à une caméra réelle et configurer les paramètres pertinents pour garantir que la caméra puisse capturer correctement des images.

  1. Dans l’Espace de programmation graphique de Mech-Vision, sélectionnez l’étape Capturer des images depuis la caméra, et cliquez sur Sélectionner la caméra dans l’onglet Paramètres de l’étape.

    select camera
  2. Dans la fenêtre Sélectionner la caméra et le groupe de paramètres de calibration qui s’affiche, cliquez sur l’icône image à droite du numéro de série de la caméra. Lorsque cette icône devient image, la caméra est connectée avec succès.

    connect camera

    Après la connexion de la caméra, cliquez sur le bouton Sélectionner le groupe de paramètres et sélectionnez le groupe de paramètres calibrés avec ETH/EIH et date.

    Le groupe de paramètres de calibration sélectionné ici est celui généré après l’achèvement de la calibration main-œil.
  3. Après la connexion de la caméra et la sélection du groupe de paramètres, le groupe de paramètres de calibration, l’adresse IP et les ports de la caméra seront obtenus automatiquement. Assurez-vous que Groupe de paramètres de configuration est défini sur « Threaded rod ».

    camera other parameters
    • Cliquez sur le bouton d’exécution d’une seule étape de l’étape Capturer des images depuis la caméra pour déclencher la capture d’images, double-cliquez sur les flux de données « Carte de profondeur de la caméra » et « Image couleur de la caméra » de l’étape, et vérifiez si les images ont été capturées avec succès depuis la caméra dans la fenêtre Sortie de débogage.

      double click data flow line

Si vous pouvez voir une carte de profondeur et une image couleur normales dans la fenêtre Sortie de débogage, le logiciel Mech-Vision s’est connecté avec succès à la caméra réelle et peut capturer correctement des images.

confirm image acquire

Reconnaissance d’objet cible 3D

Nom du Step

3D Target Object Recognition

Phase

Reconnaître les objets cibles

Illustration

target object recognition

Description

Vous devez définir les paramètres de prétraitement du nuage de points, créer des modèles d’objets cibles dans l’éditeur d’objets cibles, sélectionner l’objet cible, définir les paramètres d’apprentissage profond et de reconnaissance, et configurer les ports de sortie.

Le Step « 3D Target Object Recognition » fournit un outil visuel intégré « 3D Target Object Recognition ». Avec l’assistant, vous pouvez facilement reconnaître les poses des objets cibles en seulement trois étapes.

overall recognition configuration process

Vous pouvez commencer l’ajustement des paramètres en ouvrant l’outil « 3D Target Object Recognition » de l’une des manières suivantes.

  • Cliquez sur le bouton Assistant de configuration sur le bloc Step dans l’Espace de programmation graphique.

  • Dans l’onglet Paramètres du Step, cliquez sur le bouton Assistant de configuration.

Prétraitement du nuage de points

Le prétraitement du nuage de points convertit les données d’image acquises en nuages de points, détecte les nuages de points des bords et filtre les nuages de points qui ne respectent pas les règles en définissant des zones de reconnaissance de nuage de points valides, améliorant ainsi l’efficacité de la reconnaissance ultérieure.

Dans cette étape, vous devez définir une zone de reconnaissance efficace pour maintenir les facteurs d’interférence hors de la zone afin d’améliorer l’efficacité de la reconnaissance. La zone de reconnaissance doit couvrir le bac et les objets cibles à l’intérieur, avec une extension vers l’extérieur appropriée de 20 à 30 mm pour tenir compte des effets des légères variations de la position du bac.

set 3d roi

En général, conservez les valeurs par défaut des autres paramètres de prétraitement. S’il y a beaucoup de bruit dans la scène, vous pouvez essayer d’ajuster les paramètres concernés. Pour plus de détails, reportez-vous à Prétraitement du nuage de points.

Après l’ajustement des paramètres, vous pouvez cliquer sur le bouton Exécuter le Step dans la zone Prévisualiser le résultat du prétraitement, et confirmer que l’effet du prétraitement correspond aux attentes dans l’Espace de visualisation.

Sélection et reconnaissance de l’objet cible

  • Mech-Vision prend en charge l’appariement 3D et l’inférence par apprentissage profond pour la reconnaissance des objets cibles.

  • L’appariement 3D consiste à ajuster un modèle de nuage de points d’objet sur le nuage de points d’un objet dans la scène, afin de trouver les poses des objets dans la scène. Lorsqu’un appariement 3D est utilisé pour la reconnaissance, vous devez créer un modèle d’objet cible (également appelé modèle de nuage de points ou modèle d’appariement de nuage de points).

  • Lors de l’utilisation de l’inférence par apprentissage profond pour la reconnaissance, vous devez utiliser un modèle d’apprentissage profond entraîné par le logiciel Mech-DLK, puis utiliser le modèle d’apprentissage profond dans les Steps Mech-Vision correspondants pour reconnaître les objets, classer les objets et calculer les poses des objets.

  • Après avoir ajusté les paramètres, vous pouvez cliquer sur le bouton Exécuter le Step dans la zone Afficher les résultats d’exécution, et confirmer que le résultat de la reconnaissance correspond aux attentes dans l’Espace de visualisation.

Créer le modèle de l’objet cible

Dans ce tutoriel, un modèle de nuage de points de l’objet cible est généré à l’aide du fichier modèle STL de l’objet cible au format .stl. Vous pouvez le télécharger en cliquant ici.

Veuillez vous référer à Importer un fichier STL pour générer un modèle de nuage de points et configurer manuellement les points de préhension pour créer le modèle d’appariement de nuage de points de l’objet cible.

Précautions :

  • Lorsque la caméra est utilisée pour acquérir les données de nuage de points des boulons, un lissage excessif du nuage de points peut se produire, ce qui peut entraîner une perte des détails du filetage. Par conséquent, ce tutoriel génère le modèle de nuage de points en important un fichier STL. Dans ce tutoriel, le fichier modèle STL fourni a été simplifié, comme illustré ci-dessous.

    stl model
  • Dans l’étape « Configure STL file », définissez l’unité en fonction de la longueur réelle de l’objet cible, et sélectionnez toutes les vues dans la zone Set view.

    configure stl file
  • Dans l’étape « Set pick point », définissez un point de préhension pour le modèle de nuage de points selon la situation réelle. Pour des instructions détaillées, veuillez consulter Définir le point de préhension. Dans cette solution, une pince à doigts est utilisée pour saisir la partie de la vis, donc le point de préhension de l’objet cible est défini au milieu de la vis.

    set pickpoint tip
Les configurations liées à l’outil terminal utilisé pour la saisie des objets cibles peuvent être suspendues jusqu’à la configuration du projet Mech-Viz.

Une fois le modèle d’objet cible créé, fermez la fenêtre Target Object Editor pour revenir à l’interface de l’outil « 3D Target Object Recognition », et cliquez sur le bouton Mettre à jour l’objet cible. S’il n’y a qu’un seul modèle d’objet cible dans l’éditeur d’objets cibles de la solution, l’outil sélectionnera automatiquement le modèle d’objet cible. S’il y a plusieurs modèles d’objets cibles dans l’éditeur d’objets cibles de la solution, veuillez sélectionner le modèle d’objet cible à utiliser.

select object model

Définir les paramètres d’apprentissage profond

  1. Dans la zone Utiliser l’apprentissage profond, activez l’option Assister la reconnaissance par l’apprentissage profond.

  2. Utilisez l’outil de gestion de paquet de modèles pour importer le paquet de modèle d’apprentissage profond fourni dans ce tutoriel, ou utilisez Mech-DLK pour entraîner votre propre paquet de modèle d’apprentissage profond. Pour des instructions détaillées, veuillez consulter Importer le paquet de modèle d’apprentissage profond.

  3. Dans la zone Utiliser l’apprentissage profond, sélectionnez le modèle importé dans la liste déroulante des paquets de modèles.

    Le chargement du modèle d’apprentissage profond peut prendre un certain temps lors de la première utilisation. Veuillez patienter.
  4. Cliquez sur le bouton Set ROI pour définir le ROI 2D. Pour des instructions détaillées, veuillez consulter Instructions pour définir un ROI 2D.

  5. Ajustez les paramètres d’apprentissage profond : pour éviter la perte d’informations sur les bords des masques sortis par le modèle d’apprentissage profond, dilatez les masques de 5 pixels afin d’obtenir des données de nuage de points de l’objet cible plus complètes.

set dl parameters

Définir les paramètres d’appariement

  1. Dans la zone Reconnaître l’objet cible, désactivez l’option Définition automatique du mode d’appariement. Lorsque l’option Définition automatique du mode d’appariement est activée, la précision de reconnaissance peut ne pas répondre aux exigences sur site. Il est donc recommandé de désactiver cette option.

  2. Définissez le Mode d’appariement grossier sur « Appariement par arêtes » et le Mode d’appariement fin sur « Appariement par surfaces ».

    Étant donné que la surface du boulon présente de nombreuses ondulations, « Appariement par surfaces » doit être utilisé dans le Mode d’appariement fin. Par ailleurs, il est recommandé de définir le Mode d’appariement grossier sur « Appariement par arêtes » afin d’utiliser plus efficacement les caractéristiques de bord pour résoudre les désalignements axiaux et améliorer la vitesse d’appariement.
  3. Définissez le seuil de confiance, par exemple 0,5, selon les besoins réels pour supprimer les résultats d’appariement incorrects.

  4. Définissez Sorties max selon les besoins réels, par exemple 30. Minimisez le nombre de sorties pour réduire le temps d’appariement tout en satisfaisant les exigences de planification de trajectoire.

    set matching parameters
Configurer les ports de sortie

Sélectionnez les ports de sortie suivants pour la planification de trajectoire et la détection de collision ultérieures :

  • Port(s) liés au point central de l’objet

    Lors des ajustements ultérieurs des poses, il sera plus précis d’ajuster les poses sur la base du point central de l’objet cible, vous devez donc sélectionner cette option.
  • Nuage de points prétraité

    La position du bac peut changer à chaque arrivée, vous devez donc sélectionner cette option pour la reconnaissance et la localisation du bac.
set output ports

Adjust Poses V2

Nom du Step

Adjust Poses V2

Phase

Ajuster les poses

Illustration

adjust poses

Description

Définir les paramètres pour transformer les poses, ajuster les poses, trier les poses et filtrer les poses.

Après avoir obtenu la pose de l’objet cible, vous devez ajuster la pose. La procédure de traitement est la suivante.

adjust poses process

Avec l’outil intégré d’ajustement des poses dans Mech-Vision, vous pouvez facilement ajuster les poses des objets et optimiser la séquence de saisie. Vous pouvez commencer l’ajustement des paramètres en ouvrant l’outil d’ajustement des poses de l’une des manières suivantes.

  • Cliquez sur le bouton Assistant de configuration sur le bloc Step dans l’Espace de programmation graphique.

  • Dans l’onglet Paramètres du Step, cliquez sur le bouton Assistant de configuration.

Suivez ces étapes pour ajuster les paramètres :

  1. Transformer les poses : dans l’onglet Ajustement des poses, transformez les poses du repère de la caméra vers le repère du robot.

    adjust reference frame
  2. Ajuster les poses : dans l’onglet Ajustement des poses, orientez l’axe Z des poses vers la pose de référence située directement au-dessus du bac.

    Comme les boulons sont empilés aléatoirement, si les poses des objets cibles pointent vers le haut le long de l’axe Z, le robot est susceptible de heurter le bac lors de la saisie des objets cibles près du bord du bac. Par conséquent, l’axe Z des poses des boulons doit être tourné d’un certain angle, et la stratégie « Pointer vers le point de référence » peut permettre d’obtenir cet effet.
    adjust pose direction
  3. Trier les poses : dans l’onglet Règles de traitement, triez les poses par leur valeur Z dans le repère du robot par ordre décroissant.

    Pour cette application, les objets cibles ayant des hauteurs plus élevées doivent être saisis en premier, ils doivent donc être triés par ordre décroissant selon les valeurs Z des poses.
    sort poses
  4. Filtrer les poses par angle : dans l’onglet Règles de traitement, filtrez les poses manifestement impossibles à saisir selon la direction de leur axe Z, ce qui réduit le temps de planification de trajectoire dans Mech-Viz.

    filter poses
  5. Filtrer les poses hors ROI : dans l’onglet Règles de traitement, définissez un ROI pour déterminer si les poses se trouvent dans le ROI et ne conserver que les poses dans le ROI.

    La région cible (3d_roi) est dans le repère du robot. Pour éviter les erreurs de filtrage, vous devez redéfinir la région cible selon les paramètres extrinsèques réels.
    set 3d roi
  6. Définir de nouveaux ports : définissez le paramètre Définir le nombre de nouveaux ports sur 1 afin de sortir les noms des objets cibles correspondant aux poses triées pour la détection de collision ultérieure. Retournez dans l’espace de programmation graphique et vous trouverez un nouveau port d’entrée et un nouveau port de sortie pour recevoir et sortir les noms des objets cibles. Veuillez connecter les ports d’entrée et de sortie, retournez à l’outil d’ajustement des poses, et cliquez sur le bouton Obtenir les données pour confirmer que les paramètres ont été correctement obtenus.

    add new port

Standard Bin Locating

Nom du Step

Standard Bin Locating (Procédure personnalisée)

Phase

Localiser le bac

Illustration

locate bin

Description

Veuillez définir le nom de l’objet de scène dans lequel le bac posera dans le projet Mech-Viz ainsi que l’offset de la pose du bac.

  1. Dans l’Espace de programmation graphique de Mech-Vision, sélectionnez la Procédure Standard Bin Locating, et dans l’onglet Paramètres du Step dans le coin inférieur droit de l’interface, définissez le paramètre Strings.

    La valeur du paramètre Strings sera utilisée comme nom de l’objet de scène « bin » dans le projet Mech-Viz. La valeur de ce paramètre doit être utilisée comme nom lors de la configuration de l’objet de scène du bac dans le projet Mech-Viz.
    adjust bin parameters
  2. Définissez le paramètre Translation distance à la moitié de la hauteur du bac.

    La pose du bac actuellement reconnue se trouve sur la surface supérieure du bac. Pour s’assurer que la pose du bac reconnu puisse correspondre correctement au centre du bac, la pose de reconnaissance doit être ajustée. Cette Procédure se déplace le long de l’axe Z du repère du bac, un décalage spécifique doit donc être soustrait. Par conséquent, il est défini sur une valeur négative ici.

Sortie

Nom du Step

Sortie

Phase

Planifier la trajectoire du robot (en tant que prérequis)

Illustration

procedure out

Description

Confirmer que les informations nécessaires à la planification de la trajectoire et à la détection de collision peuvent être sorties.

Selon les exigences de planification de la trajectoire et de détection de collision, vous devez sortir les informations suivantes vers le logiciel Mech-Viz :

  • Point central de l’objet (PoseList)

  • Nom de l’objet cible (StringList)

  • Nuage de points avec normales (Cloud(XYZ-Normal)) : nuage de points prétraité

  • Nom de l’objet de scène (StringList) : le nom du modèle de scène du bac

  • Pose de l’objet de scène (PoseList) : la pose centrale du bac

Définissez le paramètre Type de port sur « Prédéfini (résultat de vision) » et sélectionnez l’option « Mettre à jour l’objet de scène ».

Veuillez vous assurer que tous les ports ci-dessus ont des connexions de flux de données, puis cliquez sur le bouton Exécuter pour confirmer que le projet peut s’exécuter avec succès et sortir le résultat de vision. Vous pouvez vérifier s’il existe des logs avec les résultats de vision dans l’onglet Vision du panneau de logs de Mech-Vision.

check output result

Planification de trajectoire

Dans cet exemple, Mech-Viz est utilisé pour obtenir la trajectoire planifiée. Lors de l’utilisation du mode de communication Standard Interface, le projet Mech-Viz et le côté robot doivent coopérer pour réaliser le processus de prise et de dépose du robot guidé par la vision 3D.

Pour plus de détails sur la façon de configurer le projet Mech-Viz pour la planification de trajectoire, veuillez vous référer à la section Picking and Placing.

Vous avez maintenant terminé la configuration du projet de vision.

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.