Arduino Pro Portenta accélère le développement du traitement de la vision dans les applications industrielles

Applications d’automatisation industrielle et de vision par ordinateur

L’initiative Industrie 4.0 est à l’origine de la croissance spectaculaire du déploiement d’un large éventail de dispositifs de l’internet industriel des objets (IIoT) utilisés pour les applications d’automatisation industrielle. Les dispositifs IIoT sont utilisés pour surveiller et contrôler les actifs des usines de production et sont également employés pour mesurer et analyser les conditions des équipements dans le cadre d’un programme de maintenance, de réparation et de révision.

Les capteurs sont essentiels, qu’il s’agisse de mesurer la température, la pression des liquides ou d’utiliser des caméras pour les applications de traitement de vision. Les capteurs sont également utilisés pour surveiller les vibrations à l’aide d’algorithmes de réseaux neuronaux de traitement audio sur les données acquises par des microphones numériques. La vision est également une technique de détection cruciale, utilisée, par exemple, pour s’assurer que les étiquettes des bouteilles sont correctement fixées sur une ligne de production ou dans les applications de sécurité fonctionnelle pour isoler les équipements si le personnel de production entre dans une zone dangereuse.

Architecture d’une solution de traitement de la vision

Dans toute usine moderne, on peut trouver la vision par ordinateur employé dans une variété d’applications différentes. La vision par ordinateur repose sur l’utilisation d’une ou plusieurs caméras vidéo reliées à un système informatique. En fonction de la nature de la tâche, la complexité du traitement et les ressources informatiques nécessaires seront déterminées. Par exemple, une application acceptant ou rejetant des bouteilles en fonction de la précision de l’apposition d’une étiquette ne nécessite pas forcément plusieurs caméras ni des ressources informatiques intensives. Un algorithme qui détecte les bords de l’étiquette à l’intérieur d’une zone prédéfinie sur la bouteille est relativement simple en utilisant des filtres de Kalman basés sur un logiciel. Toutefois, une application qui doit différencier les membres d’un opérateur de presse hydraulique des panneaux métalliques traités et de l’équipement lui-même est plus complexe.

Cette application nécessite un réseau neuronal d’apprentissage automatique et peut exiger plusieurs angles de caméra différents pour satisfaire les exigences de sécurité fonctionnelle. Le réseau neuronal convolutif est le mieux adapté aux tâches de détection d’objets basées sur la vision et doit être formé avant d’être déployé. Une fois formé, l’utilisation d’un réseau neuronal est appelée inférence. Le processus de formation consiste à examiner des centaines d’images correctes et incorrectes afin d’identifier et d’extraire des particularités pour faciliter la classification. Voir un exemple d’architecture de solution de traitement de la vision, figure 1.

Figure 1 – Architecture d’une solution simple de traitement de la vision

Du point de vue de l’application, il existe plusieurs considérations pratiques que l’équipe de développement doit examiner. Il s’agit notamment du type d’objets à détecter, des conditions de lumière ambiante dans la zone de détection, de la vitesse à laquelle les objets passent dans le champ de vision de la caméra, de la vitesse d’identification des objets requise et de la nécessité de recourir à plusieurs angles de caméra pour accomplir la tâche de manière fiable.

L’environnement de fonctionnement doit également être examiné ; par exemple, une protection étanche de la caméra et de l’électronique de commande est nécessaire pour une application soumise à la poussière et à l’humidité. De plus, les vibrations et les chocs peuvent perturber la qualité de l’image, rendant la détection moins fiable.

La précision de la détection d’un objet ou d’une caractéristique est cruciale. Les lignes de production tournent souvent à grande vitesse pour maintenir l’efficacité de l’usine et atteindre les objectifs de rendement. Dans l’exemple simple de l’usine d’embouteillage ci-dessus, l’application de vision par ordinateur doit capturer l’image avec précision, la traiter, déterminer l’état de l’étiquette à temps pour que l’action de validation ou de rejet soit prise sur la bouteille identifiée.

Arduino Pro Portenta et Shield Portenta Vision

La plateforme Arduino Pro Portenta, récemment lancée, est une plateforme de microcontrôleurs idéale pour prototyper une solution de vision industrielle.

Initialement développée comme une plateforme de prototypage éducative pour les amateurs et les fabricants, la gamme de cartes de développement à microcontrôleur Arduino a continué à évoluer pour répondre aux besoins exigeants des innovateurs et des fabricants d’équipements industriels.

Arduino propose de nombreux systèmes embarqués monocartes abordables et très polyvalents permettant aux innovateurs de prototyper de nouvelles idées de produits. Ces produits ont aidé de nombreux jeunes étudiants en électronique à démarrer leur carrière. L’approche open-source d’Arduino, associée à sa communauté croissante de cartes d’extension et au support logiciel étendu de l’ensemble de l’industrie électronique, a fait d’Arduino une plateforme embarquée de choix pour la conception de nombreux nouveaux produits.

La prochaine étape du parcours d’Arduino a débuté récemment avec la série de cartes et de modules Arduino Pro, destinée au marché industriel. L’Arduino Portenta H7 à double cœur est la première carte de la série Pro à répondre aux exigences des applications industrielles et commerciales. La Portenta H7 est bien équipée pour les applications de vision industrielle. Elle est fabriquée dans le format populaire des cartes Arduino MKR, ce qui permet d’utiliser toutes les cartes accessoires et tous les shields Arduino existants. Le Shield Portenta Vision, disponible avec une interface filaire Ethernet ou sans fil LoRa, est idéal pour les applications industrielles de vision par ordinateur.

L’Arduino Portenta H7 est dotée d’un microcontrôleur STMicro STM32H747XI à faible consommation, équipé de cœurs Arm Cortex-M7 et Arm Cortex-M4. Les deux cœurs sont dotés d’unités à virgule flottante (FPU), la FPU M7 permettant des calculs en double précision. Le cœur M7 peut fonctionner jusqu’à 480 MHz et le cœur M4 jusqu’à 240 MHz. Le cœur M4 est également doté d’un accélérateur GPU adaptatif en temps réel intégré, conçu spécifiquement pour l’exécution d’algorithmes de réseaux neuronaux. L’alimentation du H7 est effectué à l’aide de trois domaines d’alimentation qui peuvent être activés ou désactivés par l’application ou par clock gating. Une seule source de 5 VDC alimente le Portenta, et lorsqu’il est en mode veille avec l’horloge temps réel activé, la consommation d’énergie est typiquement de 2,9 uA. Un PMIC embarqué permet de charger une batterie Li-Po/Li-Ion.

L’interface périphérique de la carte comprend plusieurs ports I2C, USART, SPI et CAN, une interface caméra 8 bits et un hôte MIPI DSI. La prise en charge analogique-numérique comprend deux CNA de 12 bits et trois ADC de 16 bits.

Le Shield Arduino Portenta Vision se connecte à la Portenta H7 via des connecteurs haute densité. La caméra Himan HM-01B0 intégrée à très faible consommation d’énergie peut fournir des sorties QQVGA et QVGA à des fréquences d’images allant de 15 fps à 120 fps. Deux microphones MEMS sont également intégrés dans le Shield. Les capacités double-cœur du Portenta H7 permettent d’exécuter du code MicroPython et des sur les différents cœurs.

Les logiciels d’assistance accélèrent le déploiement des applications de vision par ordinateur

Le Portenta H7 et le Shield Portenta Vision sont entièrement pris en charge par une version améliorée du célèbre Arduino IDE. En outre, un éditeur basé sur le cloud et un éditeur de ligne de commande sont également disponibles. Le support complet de la bibliothèque de caméras et de microphones est disponible via l’Arduino 2 IDE, et le site Web d’Arduino propose plusieurs tutoriels différents.

La structure d’apprentissage de vision artificielle open-source, OpenMV, et l’IDE OpenMV sont compatibles avec les cartes Portenta. OpenMV est basé sur Python et permet le développement d’applications de vision basées sur MicroPython sur le Portenta H7. Par exemple, le site Web d’Arduino contient un tutoriel sur la classification de la vision artificielle utilisant OpenMV et Edge Impulse.

Figure 3 – Un tutoriel simple de formation et de déploiement de la classification d’images (source Arduino)

Le réseau neuronal utilise des techniques de classification d’images pour détecter les pommes et les bananes, mais les concepts impliqués et le processus suivi peuvent également s’appliquer à une application d’étiquetage de bouteilles.

Arduino Pro Portenta – accélérer la conception de votre vision industrielle par ordinateur

Pour les développeurs de systèmes embarqués et les concepteurs d’applications industrielles, se lancer dans un projet de vision industrielle peut être une expérience intimidante. Comprendre les concepts d’un algorithme de réseau neuronal est déjà un défi suffisant pour choisir une plateforme de prototypage appropriée. Mais l’Arduino Portenta H7 et le shield Portenta Vision simplifient considérablement le processus de développement. En outre, grâce au soutien de structures d’apprentissage automatique, de bibliothèques et de guides didactiques éprouvés, les défis liés au développement d’une application de vision industrielle sont devenus beaucoup plus simples.

Arduino Portenta H7 Mirocontroller Board

Arduino Portenta Vision Shield

Total
0
Shares
Publication précédente

Les supercondensateurs d’Eaton au service de l’industrie automobile

Publication suivante

Interrupteurs de sécurité pour le secteur industriel

Publications similaire