RoboDK fournit de nombreux utilitaires pour simuler, développer et déployer des systèmes de vision par ordinateur. RoboDK vous permet de simuler des caméras 2D et 3D pour développer et entraîner vos algorithmes de vision par ordinateur. Vous pouvez également intégrer des caméras 2D et 3D réelles.
Ce document vous guidera à travers quelques étapes pour simuler des caméras.
Les caméras simulées vous permettent de voir ce que la caméra voit. Vous pouvez spécifier les paramètres de la caméra tels que la taille du capteur, la taille des pixels, le champ de vision et vous pourrez voir une vue simulée de la caméra. Vous pouvez attacher des caméras à un robot ou les garder stationnaires.
Pour ajouter une caméra, vous devez la fixer à un point d'ancrage afin de déterminer son emplacement. Cela se fait généralement à l'aide d'un système de coordonnées.
1.Sélectionnez Programme➔ Add-in Reference Frame pour créer un nouveau système de coordonnées. Pour plus d'informations, reportez-vous à la section Mise en route.
2.Placez le cadre à l'emplacement souhaité de la caméra, où les coordonnées XYZ correspondent à l'emplacement de la caméra, l'axe Z+ représente la direction de visée et l'axe Y+ représente la direction de descente.
3.Sélectionnez Connecter➔ Simuler une caméra 2D et sélectionnez le système de coordonnées.
Vous avez maintenant une caméra par défaut attachée au point d'ancrage.
La fenêtre de prévisualisation de la caméra vous permet de voir ce que la caméra voit. Cette fenêtre s'ouvre automatiquement lorsqu'une nouvelle caméra est ajoutée.
Pour rouvrir la fenêtre de prévisualisation d'une caméra, il vous suffit de double-cliquer sur l'élément caméra dans l'arborescence. Vous pouvez également cliquer avec le bouton droit de la souris sur l'élément dans l'arborescence et sélectionner Afficher la caméra. Par défaut, la fenêtre d'aperçu peut être redimensionnée, réduite ou fermée (voir la section suivante pour plus d'options).
Lorsque la fenêtre de prévisualisation est ouverte, l'espace de travail de la caméra est également affiché dans l'environnement 3D. Vous pouvez désactiver l'espace de travail de la caméra en cliquant avec le bouton droit de la souris sur la caméra et en sélectionnant Afficher l'espace de travail de la caméra.
Les paramètres de la caméra vous permettent de personnaliser les paramètres de votre caméra afin d'avoir une vue réaliste de votre caméra dans l'environnement simulé de RoboDK.
Pour modifier les paramètres d'une caméra, cliquez dessus avec le bouton droit de la souris dans l'arborescence et sélectionnez Paramètres de la caméra. RoboDK fournit les paramètres par défaut suivants pour les caméras nouvellement ajoutées :
●Caméra : Fournit le nom de l'ancre (cadre 1)
●Longueur focale (mm) : longueur focale, en millimètres (5,00). Il s'agit de la distance entre le centre optique virtuel de l'objectif et le capteur d'image virtuel de la caméra. La modification de cette valeur affecte la taille des pixels.
●Taille du pixel (μm) : taille du pixel, en micromètres (2,481). La modification de cette valeur aura une incidence sur le champ de vision.
●Champ de vision (deg) : champ de vision (FOV), en degrés (30.0). Cette valeur affecte la taille de la zone qui peut être perçue par la caméra. La modification de cette valeur affecte la taille des pixels.
●Distance de travail (mm) : distance de travail, en millimètres (2000.0). Il s'agit de la distance à laquelle la caméra peut percevoir l'environnement. Les objets situés au-delà de cette distance ne seront pas pris en compte dans l'image.
●Taille fixe du capteur : Si cette option n'est pas cochée, la taille du capteur de l'appareil photo (ou la résolution) est déterminée par la taille de la fenêtre de prévisualisation de l'appareil photo, qui peut être redimensionnée par l'utilisateur.
●Taille du capteur de la caméra : Pour une taille de capteur fixe, indique la largeur et la hauteur de l'appareil photo, en pixels. Le redimensionnement de la fenêtre de prévisualisation n'affecte pas la taille.
●Autoriser le redimensionnement de la fenêtre : Permettez à l'utilisateur de redimensionner la fenêtre de prévisualisation sans affecter la taille du capteur. Par exemple, redimensionnez la fenêtre à 720p tout en conservant la résolution à 4K.
●Vue en perspective : Si vous décochez cette option, la caméra deviendra une caméra orthographique et les perspectives seront supprimées.
●Type de vue : Détermine le type de vue de la caméra (couleur, niveaux de gris ou profondeur). Le type de vue modifie l'image de sortie en fonction des données pertinentes.
●Vue ancrée : permet de faire glisser la fenêtre de prévisualisation vers les barres d'outils, au lieu d'une fenêtre flottante séparée.
●Définir les couleurs de la lumière : Remplace les couleurs de lumière par défaut par les vôtres (couleurs de lumière ambiante, diffuse et spéculaire). Cette option n'affecte pas la couleur d'arrière-plan et n'est compatible qu'avec le type de vue Couleur.
●Couleur d'arrière-plan : couleur de l'inconnu, de l'infini. C'est la couleur utilisée si aucun objet n'est rencontré entre le capteur de l'appareil photo et la distance de travail.
Il est possible d'accéder à l'image de la caméra pour tous les types de vue via l'API. Par exemple, vous pouvez récupérer l'image couleur (8 bits), l'image en niveaux de gris (8 bits) et la carte de profondeur (8 bits ou 32 bits) sous forme de fichier disque ou de données brutes.
L'accès aux données de la caméra simulée vous permet de les traiter en externe, soit par l'intermédiaire d'une bibliothèque d'images tierce, soit par la vôtre.
Bien que RoboDK ne fournisse pas sa propre bibliothèque d'imagerie et ne soit pas associé à une telle bibliothèque, notre API Python fournit des exemples de code pour traiter les données d'images 2D et 3D. Les sujets suivants sont abordés :
●Récupérez les données de l'image et affichez-les sous la forme d'un flux continu.
●Calibrez un appareil photo à sténopé à l'aide d'un motif en damier.
●Estimez la position de la caméra à l'aide de modèles pris en charge.
●Apposez l'image simulée de la caméra sur un flux de caméra matériel pour la réalité augmentée.
●Lire les codes-barres et les codes QR.
●Détectez des caractéristiques telles que les taches, l'image de référence, la surface, les contours, les moments de l'image, etc.
●Récupérez des cartes de profondeur, transformez-les en nuages de points, reconstruisez des maillages, créez un livestream en 3D.
Pour accéder à nos exemples d'API Python, suivez ce lien : https://robodk.com/doc/en/PythonAPI/examples.html.
L'étalonnage main-œil consiste à étalonner la position de la caméra par rapport à la bride ou à l'outil du robot.
RoboDK vous permet de simuler le processus d'étalonnage main-œil. Vous pouvez utiliser la même procédure pour calibrer des caméras réelles par rapport à la bride ou à l'outil du robot.
Vous trouverez un exemple complet dans la section des exemples de l'API RoboDK pour Python : https://robodk.com/doc/en/PythonAPI/examples.html#camera-hand-eye-calibration.
Cette section présente quelques exemples d'intégration de la vision par ordinateur dans votre processus de fabrication.
La plupart des exemples qui intègrent la vision par ordinateur nécessitent un peu de codage pour exploiter tout le potentiel des algorithmes de vision par ordinateur.
Vous pouvez lire automatiquement les codes-barres, y compris les codes QR, les codes-barres EAN-13 et UPC-A 1D en utilisant une caméra simulée dans RoboDK.
Vous pouvez faire glisser et déposer des images de codes-barres dans RoboDK et créer une nouvelle caméra simulée qui pointe vers votre code-barres.
Vous trouverez l'exemple dans la section API Python de RoboDK : https://robodk.com/doc/en/PythonAPI/examples.html#qr-codes-and-barcodes
Vous pouvez obtenir une estimation de la position d'un objet (pose 2D) en utilisant une caméra simulée dans RoboDK.
Vous pouvez trouver l'exemple dans la section des exemples de l'API RoboDK : https://robodk.com/doc/en/PythonAPI/examples.html#object-detection.