IT201900001749A1 - Sistema di controllo di un processo soggetto a regole di esecuzione. - Google Patents

Sistema di controllo di un processo soggetto a regole di esecuzione. Download PDF

Info

Publication number
IT201900001749A1
IT201900001749A1 IT102019000001749A IT201900001749A IT201900001749A1 IT 201900001749 A1 IT201900001749 A1 IT 201900001749A1 IT 102019000001749 A IT102019000001749 A IT 102019000001749A IT 201900001749 A IT201900001749 A IT 201900001749A IT 201900001749 A1 IT201900001749 A1 IT 201900001749A1
Authority
IT
Italy
Prior art keywords
actors
images
artifact
map
passive
Prior art date
Application number
IT102019000001749A
Other languages
English (en)
Inventor
Fabio Borrelli
Paolo Rossi
Sergio Pozzi
Original Assignee
Primeconcept S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Primeconcept S R L filed Critical Primeconcept S R L
Priority to IT102019000001749A priority Critical patent/IT201900001749A1/it
Priority to HUE20154093A priority patent/HUE057822T2/hu
Priority to ES20154093T priority patent/ES2904401T3/es
Priority to PL20154093T priority patent/PL3693904T3/pl
Priority to EP20154093.7A priority patent/EP3693904B1/en
Priority to US16/777,285 priority patent/US11024021B2/en
Publication of IT201900001749A1 publication Critical patent/IT201900001749A1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0008Industrial image inspection checking presence/absence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Description

DESCRIZIONE
a corredo di una domanda di brevetto per invenzione industriale avente per titolo:
“SISTEMA DI CONTROLLO DI UN PROCESSO SOGGETTO A REGOLE DI ESECUZIONE”.
TESTO DELLA DESCRIZIONE
La presente invenzione si riferisce ad un sistema di controllo di un processo soggetto a regole di esecuzione.
In ambito industriale un processo produttivo di un prodotto è soggetto a determinate regole di esecuzione. Il controllo di tale processo produttivo generalmente è demandato ad un operatore umano che svolge la funzione di supervisore. Appare evidente che tale sistema di controllo risulta essere soggetto ad errore umano.
Ultimamente si sono sviluppati sistemi di controllo automatizzati che utilizzano sensori ed allarmi. Tuttavia anche tali tipi di sistemi di controllo non sono efficienti e versatili e risultano essere complessi da installare e poco affidabili.
Scopo della presente invenzione è di eliminare gli inconvenienti della tecnica nota, fornendo un sistema di controllo di un processo che sia affidabile, efficiente, versatile, flessibile, adattabile a diversi tipi processi e di semplice attuazione.
Questi scopi sono raggiunti in accordo all’invenzione con le caratteristiche della rivendicazione indipendente 1.
Realizzazioni vantaggiose dell’invenzione appaiono dalle rivendicazioni dipendenti.
Il sistema secondo l’invenzione si pone l’obbiettivo di ingegnerizzare ed implementare una soluzione industriale per il monitoraggio di un processo che si svolge in un’area delimitata di spazio, mediante l’utilizzo di uno o più dispositivi di acquisizione d’immagini.
Il concetto generale di controllo di processo viene esploso in tre propositi principali da perseguire:
1. controllo dell’adeguatezza e correttezza di un’attività; 2. supporto agli eventuali operatori coinvolti nell’attività; 3. monitoraggio delle condizioni di sicurezza richieste dall’attività.
Le tecnologie utilizzate sono la visione artificiale e l’intelligenza artificiale, applicate in modalità collaborativa nella comprensione degli eventi che accadono all’interno di uno spazio complessivo di lavoro.
Il sistema secondo l’invenzione è assistito da visione artificiale ed algoritmi di elaborazione delle immagini e controllo prevalentemente basati su intelligenza artificiale, in particolare deep learning.
Il sistema secondo l’invenzione si riferisce ad un
processo di realizzazione di un prodotto, in cui più soggetti attivi (attori o Actor) sono tenuti a collaborare, rispettando, nel corretto ordine nonché nei tempi e nei metodi desiderati, tutte le fasi di un determinato processo (motion-step method). Gli attori possono essere per esempio uno o più operatori umani e/o uno o più robot collaborativi o cobot. Durante il processo interverranno vari soggetti passivi predefiniti (utensili o strumenti e componenti), che i soggetti attivi dovranno impiegare opportunamente.
La visione artificiale consente al sistema di vedere cosa succede in ogni istante; il deep learning permette di costruire procedure di controllo ed eventualmente migliorare le prestazioni nel tempo, semplicemente osservando la scena in cui si svolge un processo. Il connubio delle due tecnologie realizza:
a. un controllo in tempo reale senza contatto, quindi senza interferenza diretta con gli elementi che caratterizzano il processo, esente da alterazione delle performance nel tempo, a parità di condizioni al contorno;
b. una capacità valutativa super partes, costante, che perciò consente di oggettivare sia la qualità che l’efficienza del processo.
Ulteriori caratteristiche dell’invenzione appariranno più chiare dalla descrizione dettagliata che segue, riferita a una sua forma di realizzazione puramente esemplificativa e quindi non limitativa, illustrata nei disegni annessi, in cui:
- la Fig. 1 è un disegno schematico di un’area di lavoro;
- la Fig. 2 illustra l’area di lavoro di Fig. 1, con ipotetici spazi di interferenza;
- le Figg. 3A e 3B sono due viste schematiche illustranti rispettivamente un dimensionamento errato e corretto di uno spazio di interferenza;
- la Fig. 4 è un digramma di flusso del sistema secondo l’invenzione;
- la Fig. 5 è un diagramma di flusso di un ciclo di analisi di un’attività;
- la Fig. 6 è un diagramma di flusso di un ciclo di controllo di un’attività.
Con l’ausilio delle figure viene descritto il sistema di controllo di un processo secondo l’invenzione. Il sistema di controllo controlla un’attività (Job) costituita da una sequenza di fasi (Task).
Il Job è un processo completo che, partendo da uno stato iniziale, porta ad un risultato finale per cui si possa dichiarare la fine di un ciclo e predisporre il sistema ad un nuovo ciclo (generalmente in modo ripetitivo).
Il Task di un Job, coinvolgendo parte dei soggetti, o eventualmente tutti i soggetti predefiniti, porta ad un risultato parziale a cui possa essere applicato un giudizio.
La Fig. 1 illustra una tipica area di lavoro, rappresentata da un rettangolo e indicata complessivamente con il numero di riferimento 1.
Nell’area di lavoro (1) sono disposti: un PC (2) provvisto di schermo (3), mezzi di acquisizione immagini (4), segnalatori (5), contenitori (S1, S2, S3) contenenti rispettivi componenti (Component) (C1, C2, C3), strumenti (Tool) (T1, T2, T3) e un artefatto (Artifact) (6).
Una pluralità di attori (A1, A2) sono mostrati disposti all’esterno dell’area di lavoro (1) e sono destinati ad operare nell’area di lavoro (1).
Il PC (2) è il computer che esegue un’applicazione software di monitoraggio del processo. Tutte le periferiche hardware del sistema si interfacciano con il PC (2).
Lo schermo (3) del PC consente una visualizzazione dello stato del Job, consultazione di suggerimenti, visualizzazione di eventuali allarmi o aiuti per supportare l’operatore durante lo svolgimento dei Task del Job.
I mezzi di acquisizione immagini (4) sono telecamere che acquisiscono in continuo immagini dell’area di lavoro (1) da monitorare. In base alle immagini acquisite, il software del PC (2) valuterà il Job. È necessario che la tipologia ed il posizionamento dei mezzi di acquisizione immagini (4) sia tale da permettere che le inquadrature contengano tutti gli elementi caratteristici utili, in ogni istante delle fasi di realizzazione dell’artefatto (6).
I segnalatori (5) sono apparati atti ad una segnalazione (per esempio acustica o visiva) di situazioni significative che possono sopraggiungere durante il Job e che richiedono attenzione da parte del conduttore o dell’operatore principale.
I contenitori (S1, S2, S3) sono le zone di stoccaggio dei componenti che identificano i luoghi dell’aria di lavoro (1) ove gli attori (A1, A2) sono abilitati a prelevare i componenti da assemblare per comporre l’artefatto (6). Si presuppone che ciascun contenitore (S1, S2, S3) raccolga un solo tipo componente. Essendo il sistema basato sulla verifica di interferenze di spazio tra gli attori (A1, A2) e gli altri elementi nell’area di lavoro, una definizione di luoghi univoci, come contenitori, fornisce una possibilità di tracciare l’utilizzo di singole tipologie di componenti, mentre l’eventuale accorpamento di luoghi permette solamente di valutare il numero di interferenze (o accessi) e quindi le quantità di componenti.
I componenti (C1, C2, C3) sono soggetti passivi, cioè elementi destinati a far parte del risultato finale di un’attività (per esempio la minuteria utile all’assemblaggio).
Gli strumenti (T1, T2, T3) sono soggetti passivi, cioè utensili impiegati da un attore per il compimento di un Job, ma che non costituiscono parte del risultato finale (per esempio un attrezzo utilizzato in una o più fasi di assemblaggio di un prodotto). Per poter tracciare singolarmente gli strumenti (T1, T2, T3) si presume che essi siano prelevabili e depositabili in un luogo specifico e distinto da quello destinato ad altri strumenti.
L’artefatto (6) è il risultato finale di un’attività, il cui stato di avanzamento può essere verificato al termine di ogni fase di lavoro. L’artefatto (6) può essere manipolato durante le varie fasi di assemblaggio, a patto di mantenere la stessa disposizione nello spazio al ricorrere di una stessa fase.
L’attore (A1, A2) è il soggetto attivo, responsabile del compimento di un’attività portando a termine le azioni utili al buon esito. Più specificatamente, l’attore può essere la parte caratteristica di un soggetto che deve essere monitorata per determinare il corretto svolgimento delle azioni necessarie al compimento dell’attività (per esempio una mano e o le mani di un operatore umano o un utensile montato sul polso di un robot). L’attore può essere un operatore, ma anche solo una parte del corpo di un operatore che concorre alla realizzazione dell’artefatto (6), purché sempre identificabile all’interno dell’area di lavoro (1). Per esempio, nel contesto di un assemblaggio dell’artefatto (6), gli attori (A1, A2) possono essere costituiti dalle mani dell’operatore. Se il processo non contempla compiti diversi per le due mani dello stesso operatore, il sistema può tollerare la presenza nell’area di lavoro (1) dei due elementi (le due mani) simili sotto forma di attore unico che svolge un solo compito; diversamente, le due mani possono essere definite come due attori differenti.
I componenti (C1, C2, C3) e gli strumenti (T1, T2, T3) sono soggetti passivi indicati con P.
La Fig. 2 illustra l’area di lavoro (1) in cui sono stati tracciati spazi di interferenza (E1, E2, E3, E4, E5, E6) nella forma di cerchi, attorno ai soggetti passivi (P), cioè i contenitori dei componenti (C1, C2, C3) e gli strumenti (T1, T2, T3).
In Fig. 2 gli attori (A1, A2) sono entro l’area di lavoro (1) e possono muoversi in tutte le direzioni per prelevare i componenti e gli strumenti da utilizzare per l’assemblaggio dell’artefatto (6).
Vengono tracciati uno o più spazi di interferenza (E7) anche sull’artefatto, a seconda che l’azione svolta da un attore (A1, A2) in una determinata fase del processo coinvolga l’intero artefatto (6) o più zone distinte di esso. Sono tracciati spazi di interferenza (E8, E9) anche attorno agli attori.
Gli spazi di interferenza (E1-E9) sono volumi sferici tridimensionali caratterizzati da un raggio impostabile con centro nel centro di un soggetto di interesse. Quando un attore (A1, A2) entra in collisione con uno spazio di interferenza, per effetto di movimenti relativi, viene generato un evento che stabilisce un’interazione (o interferenza) in atto tra attore (A1, A2) e soggetto passivo (P) coinvolto.
Per poter svolgere tale valutazione è necessario disporre di informazioni tridimensionali riguardanti la scena di lavoro, per cui è necessario che il sistema di acquisizione immagini (4) possa contemporaneamente fornire sia un’immagine bidimensionale (2D) ben definita dell’area di lavoro (1) e dei soggetti in essa contenuti (che servirà per l’identificazione dei soggetti di interesse), che una mappa tridimensionale (3D) dell’area di lavoro (1), ovvero la mappa delle distanze fisiche di ciascun punto dell’immagine rispetto al punto di vista.
L’immagine 2D e la mappa 3D devono essere correlate, in modo che, una volta identificato un soggetto nell’immagine 2D, sia possibile attribuirgli una posizione fisica nella mappa 3D.
Costruendo matematicamente uno spazio di interferenza costituito da una sfera di raggio noto attorno alla posizione di un soggetto, l’analisi della scena nel tempo consisterà nel valutare la posizione corrente di ogni sfera in ogni istante e nel verificarne l’eventuale collisione con altre sfere. Pertanto un’interazione tra due soggetti di interesse è traducibile, per esempio, nella verifica che la distanza tra essi sia inferiore alla somma dei raggi delle relative due sfere di interferenza.
La disponibilità di immagini bidimensionali e mappe tridimensionali correlate è normalmente data dall’impiego di mezzi di acquisizione immagini (o sensori ottici) (4) costituiti da telecamere capaci di generare immagini con contenuti tridimensionali, come telecamere a tempo di volo o ToF (Time of Flight) oppure telecamere stereoscopiche integrate, o in alternativa dall’utilizzo di telecamere accoppiate per comporre una vista stereoscopica (in questo caso dovrà essere prevista una procedura di correlazione delle due viste monoscopiche).
Nel sistema secondo l’invenzione, gli spazi di interferenza vengono definiti direttamente su un’immagine bidimensionale che visualizza i soggetti fissi della scena: cliccando su un soggetto di interesse si identifica la sua posizione nello spazio bidimensionale. Tale posizione viene poi utilizzata per calcolare la posizione del soggetto nello spazio tridimensionale (reale) mediante la mappa correlata delle distanze. Contemporaneamente viene dimensionato il relativo spazio di interferenza (sferico), assegnando manualmente un valore al raggio della sfera caratteristica.
La Fig. 3A illustra uno spazio di interferenza (E’) assegnato ad un artefatto in modo errato. Si considera che l’artefatto (6) deve essere lavorato in un punto (O) che è il centro dello spazio di interferenza (E’).
Il sistema deve generare un evento ogni qual volta la posizione dell’attore (A1) entra nello spazio di interferenza (E’) dell’artefatto. Tuttavia nell’esempio di Fig. 3A non si è tenuto conto della lunghezza dello strumento (T1). Pertanto in questo caso non ci sarebbe interferenza tra attore (A1) e artefatto (6).
Le Fig. 3B illustra uno spazio di interferenza (E) corretto dell’artefatto (6), in quanto si è tenuto conto delle dimensioni dello strumento (T1) nel dimensionamento dello spazio di interferenza (E) dell’artefatto. In questo caso lo spazio di interferenza dell’attore (A1) entra in collisione con lo spazio di interferenza dell’artefatto (6) e viene generato un evento di interferenza.
Con riferimento alla Fig. 4, durante il monitoraggio in tempo reale del processo nell’area di lavoro (1) effettuato dai mezzi di acquisizione immagini (4), l’implementazione logica del sistema è caratterizzata da due flussi principali:
- un ciclo di analisi (100) che si occupa di processare le immagini acquisite dai mezzi di acquisitone (4); e
- un ciclo di controllo (3) che si occupa di interpretare e verificare gli eventi che caratterizzano il processo, in base ai dati elaborati dal circolo di analisi (100) che vengono accodati in una coda (200) alle immagini elaborate.
Il ciclo di controllo (300) genera in uscita segnali inviati ai segnalatori (5) per segnalare informazioni durante il processo.
Il software del PC (2) contiene una struttura informatica definita come Job costituita da una sequenza di fasi (Task). Ciascun Task mantiene le informazioni relative ad una specifica azione. La suddivisione logica in Task è a carico del programmatore del Job, che così fissa anche gli elementi e le fasi significative del processo e del relativo monitoraggio. La creazione di un Job non comporta alcuna conoscenza specifica della programmazione informatica perché avviene mediante una procedura guidata, durante la quale i passi necessari vengono proposti in sequenza e l’inserimento delle informazioni utili si effettua attraverso un’interfaccia grafica semplice ed intuitiva. Non è richiesto altro che la compilazione di campi specifici, sulla base delle caratteristiche del processo che si desidera monitorare. Il software provvede ad immagazzinare e mettere opportunamente in relazione le suddette informazioni, assemblando automaticamente la logica di controllo del processo, fase per fase.
All’avvio del sistema, l’operatore seleziona il Job relativo all’attività che vuole monitorare. Quindi il sistema attiva i due cicli fondamentali (di analisi e di controllo) ed incomincia ad analizzare in successione le immagini acquisite dai mezzi di acquisizione immagini (4), fino al termine della sequenza logica del Job.
Il monitoraggio avviene Task dopo Task, nella sequenza predefinita (sempre a partire dal primo Task). Il Job si considererà concluso quando tutti i Task saranno stati completati con successo. Il sistema sarà pronto a questo punto ad una nuova inizializzazione, per processare un nuovo ciclo della stessa attività, cioè per controllare la realizzazione di un nuovo artefatto (6).
Il ciclo di analisi (100) ha il compito di estrarre tutte le informazioni disponibili da ogni immagine acquisita e sottoposta ad analisi.
Le informazioni più significative riguardano la posizione degli elementi attivi, rappresentati dagli attori (A1, A2). Il movimento degli attori (A1, A2) all’interno dell’area di lavoro (1) genera una mappa di eccitazione, che rappresenta le zone in cui si concentrano le variazioni rispetto alle immagini precedenti, ossia le aree di maggior interesse di un’immagine, su cui focalizzare la ricerca di nuovi eventi.
La posizione (o postazione) di parcheggio (o deposito) dei soggetti passivi (P) (strumenti T1, T2, T3 e componenti C1, C2, C3) è a priori considerata fissa e deve essere dichiarata al momento della creazione del Job; perciò il sistema approfondirà l’investigazione su un elemento passivo quando la sua posizione dovesse eventualmente ricadere all’interno di una zona di eccitazione.
Con riferimento alla Fig. 5, il ciclo di analisi (100) inizia con un passo di caricamento Job in cui l’operatore seleziona il Job da caricare dal software del PC. Successivamente viene eseguito un passo di caricamento Task in cui il software carica un Task del Job selezionato.
Quindi il ciclo di analisi esegue un passo di attesa in cui attende di ricevere le immagini acquisite in tempo reale dai mezzi di acquisizione immagini (4).
Le immagini acquisite sono suddivise in immagini bidimensionali (F) e mappe tridimensionali (G). Tali immagini sono tipicamente acquisite mediante una telecamera 3D in grado di fornire in uscita sia la vista 2D (F) dell’area di lavoro (1), a colori od in bianco e nero, che la mappa 3D (G) della stessa area di lavoro (1), rappresentata normalmente in falsi colori e correlata con l’immagine 2D.
L’immagine 2D (F) è una matrice di punti (pixel) composta da un numero di righe per colonne corrispondente alla risoluzione della telecamera: se l’immagine è monocromatica, ogni pixel è caratterizzato da una terna di valori fondamentali comprendente le coordinate del pixel (riga e colonna) rispetto alla matrice completa e l’intensità di luce espressa su una scala di toni di grigio; se l’immagine è a colori, al posto dell’intensità di luce si usa una ulteriore terna di valori nello spazio di colore RGB (Red, Blue, Green).
L’immagine 3D o mappa 3D (G) è una matrice di punti (pixel) analoga in dimensioni a quella dell’immagine 2D, in cui la terna di valori fondamentali di ciascun pixel è costituita dalle coordinate del pixel (riga e colonna) rispetto alla matrice completa e dalla distanza del pixel dal punto di osservazione della telecamera oppure dalle coordinate spaziali (X, Y e Z) del pixel.
Le immagini 2D possono essere filtrate, mediante un passo di filtraggio in modo da ottenere immagini
bidimensionali filtrate. L’operazione di filtraggio di un’immagine 2D è opzionale ed ha come unico scopo quello di migliorare l’immagine al fine di rendere meglio identificabili gli elementi di interesse che devono essere identificati mediante analisi neurale. La qualità dell’immagine può dipendere dal sensore di acquisizione così come dalle condizioni ambientali (per esempio l’illuminazione), che possono quindi variare da implementazione ad implementazione. Caso per caso occorrerà sovraesporre o sottoesporre l’immagine e/o impiegare appositi filtri software per enfatizzare i dettagli utili.
Le immagine bidimensionali (F) sono elaborate in un passo di creazione aree interferenza (101) in cui attorno a ciascun elemento passivo (P) viene creata un’area di interferenza in modo da ottenere immagini bidimensionali elaborate (F1) con aree di interferenza attorno agli elementi passivi.
Inoltre le immagini bidimensionali (F) sono analizzate in un passo di estrazione mappa (102), in cui viene estratta una mappa di movimento (F2) dalle immagini 2D.
La mappa di movimento (F2) viene realizzata per confronto tra due o più immagini temporalmente consecutive, solitamente per sottrazione. Le immagini di una stessa scena tendono a rimanere inalterate quando vengono inquadrati elementi fissi, mentre variano nelle zone ove si trovano elementi in movimento. Sottraendo i valori di intensità dei pixel tra le immagini, le zone statiche tenderanno ad essere nere, in contrasto alle zone di movimento che risulteranno essere chiare.
Le zone di movimento della mappa di movimento (F2) non portano informazioni dimensionali o semanticamente significative nell’interpretazione degli eventi che stanno accadendo nella scena, ma possono essere usate come filtro o maschera sull’immagine che dovrà analizzare la rete neurale. Infatti, siccome il sistema cerca interazioni tra soggetti, laddove non c’è movimento si può supporre che non stia accadendo alcun evento significativo. Usando la mappa di movimento (F2) come maschera sull’immagine che dovrà essere analizzata dagli algoritmi di ricerca del sistema di analisi neurale, l’immagine risulterà ridotta in dimensioni e la ricerca sarà più veloce.
Le immagini bidimensionali elaborate (F1) con aree di interferenza attorno agli elementi passivi e la mappa di movimento (F2) sono inviate ad un passo di eccitazione (103) in cui ogni elemento passivo (P) che ha un’area di interferenza che ricade in una zona di movimento della mappa di movimento (F2) viene posto in uno stato di eccitazione, cioè viene eletto a soggetto degno di verifica. Pertanto quando il sistema ricercherà eventuali interazioni tra le varie aree di interferenza, si potrà limitare a farlo solo relativamente ai soggetti eccitati. Si ottiene in questo modo una mappa di movimento con soggetti eccitati (F3).
L’introduzione di tali tecniche di mascheramento è finalizzata alla massima efficienza dei cicli di controllo del sistema, poiché questo dovrà funzionare in tempo reale, con una velocità direttamente proporzionale al numero di immagini acquisite (e quindi da elaborare) nell’unità di tempo, corrispondente al cosiddetto “frame rate” del sistema.
La mappa di movimento con elementi eccitati (F3) è inviata ad una rete neurale in cui viene eseguito un passo di analisi neurale (104) per la ricerca degli attori (A1, A2).
La ricerca degli attori (A1, A2) è il compito primario dell’analisi mediante rete neurale. In fase di programmazione il sistema viene istruito a riconoscere gli attori (A1, A2) mediante segnalazione grafica degli attori. Cioè l’utente può evidenziare l’attore sulle immagini di una sequenza significativa ripresa durante uno svolgimento campione dell’attività, per mezzo di uno strumento grafico messo a disposizione attraverso l’interfaccia utente.
L’evidenziazione consiste semplicemente nel contornare l’area occupata dalla figura di un attore (A1, A2) su un’immagine mediante un dispositivo di puntamento del PC (solitamente il mouse), ripetendo questa operazione per un numero sufficiente di immagini tale da rappresentare l’attore in una varietà sufficiente di posizioni (o assetti) che egli può assumere per svolgere l’attività. Queste informazioni costituiscono la base di addestramento della rete neurale per rendere possibile il riconoscimento automatico dell’attore durante il normale funzionamento del sistema.
Dalle immagini tridimensionali (G) viene estratta una mappa di coordinate 3D (G1), mediante un passo di estrazione mappa coordinate 3D (105).
Le telecamere 3D dei mezzi di acquisizione immagine (4), restituiscono di solito due tipi di informazioni:
- l’immagine 2D della scena, che può essere un’immagine standard (monocromatica o a colori) oppure un’immagine in falsi colori che rappresentano le distanze degli oggetti dal punto di vista ed
- una mappa 3D che correla i punti dell’immagine 2D con le posizioni nello spazio 3D reale.
Se un’immagine è una matrice 2D di punti (pixel) riferita agli assi X2D e Y2D, ove il valore di ogni coppia riga-colonna esprime l’intensità luminosa piuttosto che la distanza del punto, la relativa mappa 3D sarà una matrice di eguali dimensioni, dove il valore di ogni coppia riga-colonna, riferito all’immagine 2D, corrisponderà ad una posizione nello spazio 3D reale attraverso una terna (X3D, Y3D, Z3D).
Così, per ogni un punto rappresentativo di un soggetto nell’immagine 2D, sarà possibile determinarne la posizione nello spazio 3D leggendo la terna della mappa 3D riferita alle coordinate (X2D, Y2D).
Nel passo di analisi neurale (104) viene applicata in tempo reale l’analisi neurale di ricerca degli attori (A1, A2) sulle immagini 2D dell’area di lavoro (1). Naturalmente la rete neurale deve essere stata opportunamente addestrata in precedenza, ovvero il sistema di intelligenza artificiale deve aver completato un processo di apprendimento profondo (deep learning) adatto allo scopo.
Il metodo di apprendimento della rete neurale è di tipo supervisionato: su una sequenza significativa di immagini d’esempio, gli attori (A1, A2) vengono evidenziati graficamente e la rete neurale immagazzina in tal modo una serie di informazioni che conferiscono all’intelligenza artificiale la capacità di identificare poi gli attori, durante il normale funzionamento del sistema, grazie ad una generalizzazione delle informazioni apprese, che potranno pertanto essere sfruttate per produrre i risultati desiderati, per cosiddetta “ipotesi induttiva”, anche in situazioni mai presentatesi prima al sistema. Identificare gli attori (A1, A2) significa determinarne la posizione nell’immagine 2D, ossia rilevare il baricentro dell’area da loro occupata.
Dal passo di analisi neurale (104) escono dati di posizione attori (F4) che indicano la posizione di un attore (A1, A2) in ogni immagine 2D.
I dati di posizione attori (F4) e la mappa coordinate 3D (G1) sono inviati ad un passo di localizzazione attori (106) in cui gli attori sono localizzati in uno spazio 3D. Il passo di localizzazione attori (106) provvede a trasformare le coordinate 2D in 3D, riportando le coordinate 2D in uno spazio tridimensionale reale, secondo la procedura descritta precedentemente. Quindi dal passo di localizzazione attori (106) si ottengono le posizioni degli attori (H) che sono accodate in una coda (200) per essere utilizzate nel ciclo di controllo (300).
A seconda della qualità dell’apprendimento o del grado di complessità del processo di identificazione degli attori (A1, A2) effettuato dal passo di analisi neurale (104), è possibile che l’analisi neurale fornisca false informazioni, ovvero rilevi falsi attori o non li riconosca all’interno della scena. Per cercare di ovviare a queste situazioni, all’uscita del passo di analisi neurale (104) viene eseguito passo di controllo di coerenza (107) basato sulle posizioni attese degli attori in cui sono verificate le traiettorie degli attori.
Memorizzando nella coda (200) le posizioni degli attori precedentemente rilevate, in numero dipendente dal tipo di controllo che si intende effettuare, è possibile verificare se una posizione acquisita in un certo momento può essere considerata coerente con la sequenza di posizioni precedenti, ovvero con la traiettoria seguita dall’attore durante il suo movimento.
I dati che si possono prendere in considerazione per il calcolo della traiettoria plausibile di un attore sono:
- solo la posizione dell’attore in una sequenza di
immagini;
- la posizione e la velocità di spostamento;
- la posizione, la velocità e l’accelerazione.
Dopo il calcolo eseguito al passo di controllo di coerenza (107), se la posizione dell’attore (H) è considerata plausibile, viene aggiunta alla coda (200), eliminando il valore più vecchio memorizzato nella coda, aggiornando così la base di dati per la prossima verifica di compatibilità.
Dai blocchi rappresentati in Fig. 5 emergono i passi peculiari del ciclo di analisi:
- il passo di estrazione della mappa di coordinate 3D (105);
- il passo di analisi neurale (104) per la ricerca degli attori e
- il passo di localizzazione attori (106) per localizzare gli attori in uno spazio 3D.
La scelta di utilizzare l’analisi neurale per la ricerca degli attori è principalmente dovuta al fatto che gli attori (A1, A2) sono elementi dinamici, soggetti a movimenti complessi. Tali movimenti non sono riconducibili a forme geometriche sufficientemente precise e ripetitive, e perciò non si prestano al riconoscimento tramite algoritmi di localizzazione convenzionali (pattern match) basati su principi geometrici.
Con riferimento a Fig. 6, il ciclo di controllo (300) è dedicato a:
- stabilire se nell’area di lavoro (1) stanno accadendo nuovi eventi di rilievo;
- interpretare i nuovi eventi, aggiornando lo stato del Task in corso di svolgimento e poi calcolando gli effetti sul Job a cui il Task appartiene.
L’aggiornamento dello stato del Task è costituito da una serie di verifiche. Si procede ad un passo di valutazione prelevamento (301) in cui viene valutato se tutti gli elementi passivi (P) (strumenti (T1, T2, T3) e componenti (C1, C2, C3)) sono stati prelevati dagli attori (A1, A2).
Se gli attori non hanno prelevato tutti gli elementi passivi (P), per ogni strumento o componente vengono eseguiti:
- un passo verifica eccitazione (302) in cui si valuta se l’elemento passivo è in zona di eccitazione, ovvero se la sua posizione caratteristica (centro del cerchio di interferenza) ricade in una zona di movimento; e
- un passo di verifica collisioni (303) in cui si valuta se l’elemento passivo collide contro un attore, ovvero la posizione 3D dell’attore (A1, A2) è interna alla sfera di interferenza dell’elemento passivo.
Se si verifica una collisione, viene inviato un segnale di allarme, mediante i mezzi di segnalazione (5). Inoltre tale segnale di allarme può essere utilizzato come feedback verso eventuali Strumenti (per es. il sistema rileva una situazione di pericolo (collisione) e ferma un robot, o ferma un trapano in mano all’operatore, ecc.).
Se gli attori hanno prelevato tutti gli elementi passivi (P), si procede ad un passo di deposito (304) in cui si valuta se tutti gli strumenti (T1, T2, T3) sono stati depositati.
Lo stato di “depositato” di uno strumento corrisponde al fatto che, se un attore (A1, A2) ha interagito con lo strumento (T1, T2, T3) una prima volta, allora deve essersi trattato di un prelievo, mentre la seconda volta si deve trattare di un deposito. Questa assunzione potrebbe essere debole, per cui è possibile implementare un’ulteriore verifica, sempre basata su analisi neurale. A fronte di un apprendimento con gli strumenti a riposo nei propri contenitori, si deve riscontrare l’effettiva presenza o assenza di tali strumenti, per poi verificare se un’interazione si sia effettivamente risolta con un prelievo o con un deposito.
Se non sono stati depositati tutti gli strumenti, allora viene generato un segnale di allarme, mediante i mezzi di segnalazione (5) .
Se sono stati depositati tutti gli strumenti, allora si procede ad un passo di verifica tempi (305), in cui si valuta se le tempistiche di esecuzione del Task sono compatibili con quelle dichiarate in fase di programmazione del Task mediante confronto diretto.
Se le tempistiche non sono compatibili, cioè sono inferiori al tempo programmato, non viene dato il permesso di continuare con il prossimo Task, ma viene avvisato l’operatore di tale situazione sospetta mediante i mezzi di segnalazione (5), e si torna al passo di verifica prelievo (301).
Se le tempistiche sono compatibili, il Task è completato e si aggiorna l’indice del Task successivo.
Con i dati provenienti dal ciclo di analisi (100), ossia le posizioni rilevate degli attori (A1, A2) e la presenza di zone di eccitazione, il ciclo di controllo (200) verifica ripetitivamente lo stato corrente di ciascun oggetto significativo per lo specifico Task presente nella scena, in modo da verificare che tutte le azioni siano effettuate secondo quanto dichiarato in fase di programmazione dell’attività.
In definitiva il ciclo di analisi (300) verifica se tutti gli strumenti (T1, T2, T3) ed i componenti (C1, C2, C3) coinvolti nel Task in esecuzione sono stati correttamente prelevati ed utilizzati. Per quanto riguarda gli strumenti, occorre controllare che siano stati regolarmente riposti dopo l’uso. Gli strumenti non costituiscono parte integrante dell’artefatto, bensì sono utensili impiegati temporaneamente dagli attori nella realizzazione dell’artefatto. Quando le condizioni sono soddisfatte, significa che il Task è stato terminato con successo.
In presenza di nuove posizioni degli attori, occorre verificare se queste interferiscono con le posizioni (o postazioni) degli strumenti e dei componenti, al fine di determinare le collisioni e dunque lo stato di utilizzo di
strumenti e componenti coinvolti nel Task in corso. Si potrà di conseguenza decidere se un componente è stato aggiunto all’artefatto e se uno strumento è stato adeguatamente utilizzato e poi riposto.
Considerando i componenti come elementi da assemblare per avanzare con la realizzazione dell’artefatto, l’interferenza degli attori con precise zone dell’artefatto testimonia potenzialmente l’avvenuta installazione di un certo componente.
La valutazione delle collisioni si basa sulla ricerca delle interferenze rilevate tra la posizione rappresentativa di un attore, ossia il suo baricentro, con il volume di occupazione di un soggetto passivo (strumento o componente).
Il flusso di funzionamento del sistema comprende inoltre una serie di verifiche che riguardano i tempi di esecuzione delle varie operazioni caratteristiche delle fasi di lavoro, in confronto ai tempi dichiarati in sede di programmazione. Lo scopo del sistema è di verificare, in base a regole predefinite, il corretto svolgimento di tutte le fasi di una determinata attività (“motionstep method poka-yoke”), ossia di guidare un processo verso l’ottimizzazione sia dei tempi che dei metodi di esecuzione.
Il sistema supporta opzionalmente anche la gestione di flussi paralleli di controllo. Per esempio, è possibile integrare più mezzi di acquisizione immagine (4), alcuni dei quali possono servire per acquisire immagini utili ad evidenziare specifiche zone della scena o dell’artefatto, per eseguire controlli incrociati sulla corretta realizzazione del Job.

Claims (2)

  1. RIVENDICAZIONI 1. Procedimento di controllo di un processo per la produzione di un artefatto (6), comprendente i seguenti passi: - definizione di un Job comprendente una pluralità di Task; - individuazione di un’area di lavoro (1) in cui deve essere realizzato l’artefatto (6); - allocazione di elementi passivi (P) comprendenti componenti (C1, C2, C3) e strumenti (T1, T2, T3) per la realizzazione dell’artefatto (6) nell’area di lavoro (1); - predisposizione di mezzi di acquisizione immagini (4) atti ad acquisire immagini 2D (F) e immagini 3D (G) dell’area di lavoro (1) in cui almeno un attore (A1, A2) preleva detti elementi passivi (P) per la realizzazione dell’artefatto; - creazione di aree di interferenza (101) nelle immagini 2D (F), attorno a ciascun elemento passivo (P) e all’artefatto (6), - estrazione di una mappa di movimento (101) dalle immagini 2D (F) in cui sono individuate aree in cui c’è movimento; - eccitazione (103) degli elementi passivi (P) le cui aree di interferenza interferiscono con le aree in cui c’è movimento, in modo da ottenere una mappa di movimento con elementi eccitati (F3); - analisi neurale (104) della mappa di movimento con elementi eccitati (F3) per individuare gli attori (A1, A2) nella mappa di movimento con elementi eccitati; - estrazione di una mappa coordinate 3D (105) dalle immagini 3D (G) in modo da ottenere una mappa coordinate 3D (G1); - localizzazione attori (106) in base a risultati (F4) dell’analisi neurale (104) e alla mappa coordinate 3D (G1) per trovare la posizione (H) degli attori in uno spazio 3D; -accodamento in una coda (200) della posizione degli attori in uno spazio 3D; - verifica prelievo (301) in cui viene verificato che tutti gli elementi passivi (P) siano stati prelevati dagli attori (A1, A2), in base al Task da eseguire; - se non sono stati prelevati tutti gli elementi passivi, allora per ciascun elemento passivo (P) si effettua una verifica eccitazione (302) per verificare se l’elemento passivo è in eccitazione; - se l’elemento passivo (P) è in eccitazione si effettua una verifica collisione (303) per verificare se l’elemento passivo è in collisione con un altro elemento; se un elemento passivo è in collisione con un altro elemento viene inviato un segnale di allarme a mezzi di segnalazione (5); - se sono stati prelevati tutti gli elementi passivi, si effettua una verifica deposito (304) in cui si verifica se tutti gli strumenti (T1, T2, T3) sono stati depositati nelle loro posizioni iniziali; se tutti gli strumenti non sono stati depositati nelle loro posizioni iniziali entro un tempo preimpostato viene inviato un segnale di allarme ai mezzi di segnalazione (5); - una volta che tutti gli strumenti sono stati depositati, si esegue una verifica tempi (305) in cui sono verificati i tempi di esecuzione del Task; se i tempi di esecuzione del Task sono inferiori ad un valore di soglia preimpostato, il Task si considera concluso, altrimenti viene inviato un segnale di allarme a mezzi di segnalazione (5).
  2. 2. Procedimento secondo la rivendicazione 1, comprendente inoltre un passo di controllo di coerenza (107) in cui viene verificato se una posizione di un attore acquisita in un certo momento può essere considerata coerente con la sequenza di posizioni precedenti, analizzando la traiettoria seguita dall’attore durante il suo movimento.
IT102019000001749A 2019-02-06 2019-02-06 Sistema di controllo di un processo soggetto a regole di esecuzione. IT201900001749A1 (it)

Priority Applications (6)

Application Number Priority Date Filing Date Title
IT102019000001749A IT201900001749A1 (it) 2019-02-06 2019-02-06 Sistema di controllo di un processo soggetto a regole di esecuzione.
HUE20154093A HUE057822T2 (hu) 2019-02-06 2020-01-28 Rendszer végrehajtási szabályok szerinti folyamat ellenõrzésére
ES20154093T ES2904401T3 (es) 2019-02-06 2020-01-28 Sistema de comprobación de un proceso sujeto a normas de ejecución
PL20154093T PL3693904T3 (pl) 2019-02-06 2020-01-28 System kontroli procesu podlegającego regułom wykonania
EP20154093.7A EP3693904B1 (en) 2019-02-06 2020-01-28 Check system of a process subject to execution rules
US16/777,285 US11024021B2 (en) 2019-02-06 2020-01-30 Check system of a process subject to execution rules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102019000001749A IT201900001749A1 (it) 2019-02-06 2019-02-06 Sistema di controllo di un processo soggetto a regole di esecuzione.

Publications (1)

Publication Number Publication Date
IT201900001749A1 true IT201900001749A1 (it) 2020-08-06

Family

ID=66776665

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102019000001749A IT201900001749A1 (it) 2019-02-06 2019-02-06 Sistema di controllo di un processo soggetto a regole di esecuzione.

Country Status (6)

Country Link
US (1) US11024021B2 (it)
EP (1) EP3693904B1 (it)
ES (1) ES2904401T3 (it)
HU (1) HUE057822T2 (it)
IT (1) IT201900001749A1 (it)
PL (1) PL3693904T3 (it)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1612731A1 (en) * 2004-06-11 2006-01-04 Saab Ab Computer modeling of physical scenes
WO2006111928A2 (en) * 2005-04-20 2006-10-26 Federazione Italiana Giuoco Calcio Method and system for the detection and the classification of events during motion actions
US10133933B1 (en) * 2017-08-07 2018-11-20 Standard Cognition, Corp Item put and take detection using image recognition

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE528068C2 (sv) * 2004-08-19 2006-08-22 Jan Erik Solem Med Jsolutions Igenkänning av 3D föremål
AU2010202019B2 (en) * 2009-05-22 2015-08-20 Stanley Works Israel Ltd Object management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1612731A1 (en) * 2004-06-11 2006-01-04 Saab Ab Computer modeling of physical scenes
WO2006111928A2 (en) * 2005-04-20 2006-10-26 Federazione Italiana Giuoco Calcio Method and system for the detection and the classification of events during motion actions
US10133933B1 (en) * 2017-08-07 2018-11-20 Standard Cognition, Corp Item put and take detection using image recognition

Also Published As

Publication number Publication date
PL3693904T3 (pl) 2022-02-21
ES2904401T3 (es) 2022-04-04
HUE057822T2 (hu) 2022-06-28
US20200250811A1 (en) 2020-08-06
US11024021B2 (en) 2021-06-01
EP3693904A1 (en) 2020-08-12
EP3693904B1 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
DE102014212304B4 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Speichermedium
KR101850048B1 (ko) 트래커 시스템을 최적화하는 시스템 및 방법
EP2553383B1 (en) Method and apparatus for generating texture in a three-dimensional scene
EP3696772A2 (en) Device and method for analyzing state of manual work by worker, and work analysis program
CN106530293A (zh) 手工装配视觉检测防错方法及系统
KR20200054327A (ko) 3차원 공간 감시 장치, 3차원 공간 감시 방법, 및 3차원 공간 감시 프로그램
CN106247943A (zh) 物品三维定位方法、装置和系统
CN106175780A (zh) 面肌运动捕捉分析系统及其分析方法
CN108447081A (zh) 视觉系统中对彩色图像中色彩候选姿态评分的系统和方法
CN107530881A (zh) 用于机器人应用的3d分割
CN108875469A (zh) 活体检测与身份认证的方法、装置及计算机存储介质
IT201900001749A1 (it) Sistema di controllo di un processo soggetto a regole di esecuzione.
JPH11174948A (ja) 手動作認識装置
Solgi et al. WWN-8: incremental online stereo with shape-from-X using life-long big data from multiple modalities
Orts-Escolano et al. 3D model reconstruction using neural gas accelerated on GPU
KR102219916B1 (ko) 정보 고급화를 이용한 근무 가능 여부 판단 시스템
CN109753982A (zh) 障碍点检测方法、装置和计算机可读存储介质
Akepitaktam et al. Object distance estimation with machine learning algorithms for stereo vision
CN106470307A (zh) 可编程机器视觉装置
CN116449851B (zh) 一种钻工机器人的智能避障控制方法及系统
Pradeep Kumar et al. Deep Learning Enabled Smart Industrial Workers Precaution System Using Single Board Computer (SBC)
JP2021124815A (ja) 対象位置特定システムおよび対象位置特定方法
Mazzuchelli Robotize quality inspection approach enhanced by Bayesian optimization through point Cloud based sensors
US20240046659A1 (en) Method for detecting an environment by means of images from at least two image sensors
KR102012494B1 (ko) 설계공정 기반 간섭체크 자율 운영 시스템