Automazione industriale e applicazioni di visione artificiale
L’iniziativa Industria 4.0 è responsabile della crescita esponenziale dell’uso di un’ampia gamma di dispositivi industriali Internet of Things (IIoT) utilizzati per applicazioni di automazione industriale. I dispositivi IIoT vengono utilizzati per monitorare e controllare gli impianti di produzione e vengono anche utilizzati per misurare e analizzare le condizioni dell’impianto nell’ambito delle misure di manutenzione, riparazione e revisione.
I sensori sono indispensabili e vanno dalle misurazioni della temperatura ai sensori di pressione dei liquidi alle telecamere per applicazioni di elaborazione delle immagini. I sensori vengono anche utilizzati per monitorare le vibrazioni utilizzando algoritmi di elaborazione audio della rete neurale applicati ai dati provenienti da microfoni digitali. Anche l’elaborazione delle immagini è un’importante tecnologia di sensori, con la quale si garantisce, ad esempio, che le etichette delle bottiglie siano correttamente attaccate in un impianto di riempimento, o che viene utilizzata nelle applicazioni di sicurezza funzionale per isolare i dispositivi quando i dipendenti della produzione entrano in un’area non sicura.
Architettura della soluzione di elaborazione delle immagini
In qualsiasi fabbrica moderna, l’elaborazione delle immagini assistita da computer può essere utilizzata in una moltitudine di applicazioni diverse. L’elaborazione delle immagini assistita da computer si basa sull’uso di una o più videocamere collegate a un sistema informatico. La natura del compito determina la complessità dell’elaborazione e le risorse informatiche richieste. Ad esempio, un’applicazione che accetta o rifiuta le bottiglie in base all’accuratezza dell’applicazione di un’etichetta non richiede necessariamente più telecamere e risorse di elaborazione intense. Un algoritmo che rileva i bordi dell’etichetta all’interno di un’area predefinita sulla bottiglia può essere implementato in modo relativamente semplice con i filtri Kalman basati su software.
Tuttavia, un’applicazione in cui le parti del corpo dell’operatore di una pressa idraulica devono essere distinte dalle lamiere da lavorare e l’attrezzatura stessa è più complessa. Questa applicazione richiede una rete neurale di apprendimento automatico e può richiedere diversi angoli di ripresa per soddisfare i requisiti di sicurezza funzionale. La rete di convoluzione neurale è più adatta per attività di riconoscimento di oggetti basate su immagini e deve essere addestrata prima dell’uso. Dopo l’addestramento, l’uso di una rete neurale è chiamato inferenza. Durante l’addestramento, vengono esaminate centinaia di immagini giuste e sbagliate per identificare ed estrarre caratteristiche che aiutano la classificazione. La Figura 1 mostra un esempio dell’architettura di una soluzione di elaborazione delle immagini.
Dal punto di vista dell’applicazione, ci sono diverse considerazioni pratiche che il team di sviluppo dovrebbe prendere in considerazione. Queste includono il tipo di oggetti da rilevare, le condizioni di luce ambientale nell’area di rilevamento, la velocità con cui gli oggetti si muovono nel campo visivo della telecamera , la velocità richiesta per l’identificazione dell’oggetto e la questione se sono necessarie più angolazioni della telecamera per svolgere in modo affidabile il compito.
Anche l’ambiente operativo deve essere esaminato; per un’applicazione esposta a polvere e umidità, la telecamera e l’elettronica di controllo devono essere protetti contro le intrusioni. Anche vibrazioni e urti possono influire sulla qualità dell’immagine e rendere il rilevamento meno affidabile.
La tempistica del riconoscimento dell’oggetto o della caratteristica è cruciale. Le linee di produzione sono spesso gestite ad alta velocità per mantenere l’efficienza della fabbrica e raggiungere gli obiettivi di produttività. Nel semplice esempio di un impianto di imbottigliamento sopra, l’applicazione di elaborazione dell’immagine deve acquisire ed elaborare accuratamente l’immagine e determinare lo stato dell’etichetta in tempo utile in modo che la bottiglia identificata possa essere trattenuta o rifiutata.
Presentazione dell’Arduino Pro Portenta e del Portenta Vision Shield
La piattaforma Arduino Pro Portenta, introdotta di recente, è una piattaforma di microcontrollore ideale per il prototipo di una soluzione di elaborazione delle immagini industriale.
Originariamente progettata come piattaforma di prototipazione per hobbisti e produttori, la famiglia Arduino di schede di sviluppo per microcontrollori ha continuato ad evolversi per soddisfare le esigenti esigenze degli innovatori e dei produttori di apparecchiature industriali.
Arduino ha permesso a molti giovani studenti di elettronica di iniziare la propria carriera ed è un sistema integrato a scheda singola economico ed estremamente versatile che consente agli sviluppatori di testare nuove idee di prodotto. L’approccio open source di Arduino, combinato con il numero crescente di schede di espansione e l’ampio supporto software di tutto il settore dell’elettronica, ha reso Arduino una delle prime piattaforme integrate per molti nuovi progetti di prodotti.
La tappa successiva del percorso Arduino è iniziata di recente con la serie di schede e moduli Arduino Pro per il mercato industriale. L’Arduino Portenta H7 dual-core è la prima scheda della serie Pro che soddisfa i requisiti delle applicazioni industriali e commerciali. Il Portenta H7 è equipaggiato in modo ideale per applicazioni di elaborazione delle immagini industriali. È prodotto nel popolare formato di alloggiamento della scheda Arduino MKR e consente l’accesso a tutte le schede e gli shield accessori Arduino esistenti. Portenta Vision Shield, disponibile con un’interfaccia Ethernet cablata o wireless LoRa, è ideale per applicazioni di visione artificiale industriale.
L’Arduino Portenta H7 ha un microcontrollore a bassa potenza STMicro STM32H747XI, che è dotato di un Arm Cortex-M7 e un core Arm Cortex-M4. Entrambi i core hanno unità a virgola mobile (FPU), con l’FPU M7 che è doppio Il core M7 può funzionare fino a 480 MHz e il core M4 fino a 240 MHz. Il core M4 ha anche un acceleratore adattivo in tempo reale GPU integrato specificamente progettato per eseguire algoritmi per La gestione dell’alimentazione dell’H7 è resa possibile dall’uso di tre domini di alimentazione che possono essere attivati e disattivati dall’applicazione o dal clock gating.Una singola sorgente da 5 VDC fornisce alimentazione a Portenta e in modalità standby con RTC attivato il consumo energetico è in genere di soli 2,9 uA. -board PMIC offre la possibilità di caricare una batteria Li-Po/Li-Ion.
Le interfacce periferiche della scheda includono diverse porte I2C, USART, SPI e CAN, un’interfaccia per fotocamera a 8 bit e un host MIPI-DSI. Il supporto analogico-digitale include due DAC a 12 bit e tre ADC a 16 bit.
L’Arduino Portenta Vision Shield è connesso al Portenta H7 tramite connessioni ad alta densità. La telecamera integrata Himan HM-01B0 a bassissimo consumo energetico può fornire uscite QQVGA e QVGA con frame rate da 15 fps a 120 fps. Nello shield sono integrati anche due microfoni MEMS. Le funzionalità dual core di Portenta H7 consentono l’esecuzione di codice MicroPython e sketch Arduino C sui core separati.
Il supporto software velocizza l’uso delle applicazioni di visione artificiale
Portenta H7 e Portenta Vision Shield sono completamente supportati da una versione migliorata del popolare IDE Arduino. Sono inoltre disponibili un editor basato su cloud e un editor dell’interfaccia a riga di comando. Le librerie complete di fotocamere e microfoni sono supportate dall’IDE Arduino 2 e vari tutorial possono essere trovati sul sito web di Arduino.
Il framework open source per l’apprendimento automatico, OpenMV e l’IDE OpenMV supportano le schede Portenta. OpenMV è basato su Python e consente lo sviluppo di applicazioni di elaborazione delle immagini basate su MicroPython su Portenta H7. Ad esempio, sul sito di Arduino è possibile trovare un tutorial su come classificare i sistemi di visione utilizzando OpenMV e Edge Impulse.
La rete neurale utilizza tecniche di classificazione delle immagini per identificare mele e banane, ma i concetti e il processo coinvolti possono essere applicati anche a un’applicazione di etichettatura di bottiglie.
Arduino Pro Portenta – accelera lo sviluppo di sistemi di elaborazione delle immagini industriali
Per gli sviluppatori embedded e i progettisti di applicazioni industriali, iniziare un progetto di elaborazione delle immagini può essere un’esperienza scoraggiante. Comprendere i concetti di un algoritmo di rete neurale prima di scegliere una piattaforma di prototipazione adatta è abbastanza difficile. Con Arduino Portenta H7 e Portenta Vision Shield, invece, il processo di sviluppo è notevolmente semplificato. Con il supporto di framework, librerie e tutorial di machine learning collaudati e ben supportati, anche le sfide dello sviluppo di un’applicazione di visione artificiale sono diventate molto più semplici.
Arduino Portenta H7 Mirocontroller Board
Arduino Portenta Vision Shield