Try   HackMD

15 - Principi di manutenzione predittiva

Concludiamo con questo blocco la parte relativa alla supervisione.

Nomenclatura

Associamo le definizioni formali che si trovano in letteratura con quelle che si trovano nella normativa internazionale.
Il guasto lo abbiamo definito (dal SAFEPROCESS, ovvero comitato scientifico che dà queste definizioni) come una deviazione non permessa di almeno una proprietà caratteristica del sistema dalla condizione accettabile/usuale/tipica.
La normativa UNI EN 13306 lo definisce così:

Guasto: cessione dell'attitudine di un'entità ad eseguire la funzione richiesta.

Per entità si intende il processo industriale che stiamo considerando.
La rottura, nella normativa viene definita come avaria:

Avaria: stato di un'entità caratterizzato dalla sua inabilità di eseguire una funzione richiesta, esclusa l'inabilità intervenuta durante la manutenzione preventiva, altre azioni pianificate, oppure dovuta alla mancanza di risorse esterne.

Manutenzione: combinazione di tutte le azioni tecniche, amministrativa e gestionali, durante il ciclo di vità di un'entità, volte a mantenerla o riportarla in uno stato in cui possa eseguire la funzione richiesta.

Mantenere un sistema dà per scontato che nel tempo un sistema tenda a peggiorare il suo funzionamento e la manutenzione è qualunque azione fatta sul sistema volta a riportarlo ad uno stadio di funzionamento originale.

Come si collega la teoria dei guasti con la manutenzione? Riprendiamo un po' di concetti già visti.

Manutenzione correttiva

La condizione operativa, quindi lo stato di salute della macchina, tende a degradare nel tempo. Ci sarà, quindi, un tempo dopo il quale la macchina smetterà di funzionare come si deve.

La manutenzione correttiva è la manutenzione eseguita a seguito della rilevazione di un'avaria e volta a riportare l'entità nello stato in cui essa possa eseguire una funzione richiesta.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Questo tipo di manutenzione non è proprio il massimo, soprattutto per chi finanzia il macchinario che deve produrre, perchè se io sono arrivato al punto di failure, da quel momento in poi fino alla manutenzione non produco più, e quindi non ho un ritorno sull'investimento.

Manutenzione preventiva

Quello che quindi si fa abitualmente nell'industria manifatturiera e di processo è la manutenzione preventiva.

La manutenzione preventiva è la manutenzione eseguita ad intervalli pre-derminati o in base a criteri prescritti e volta a ridurre la probabilità del guasto o il degrado del funzionamento di un'entità.

Dato che lo stato di salute tende a diminuire, si fa manutenzione prima di arrivare alla rottura o avaria, ripristinando lo stato di funzionamento della macchina: l'andamento è del tipo a dente di sega o sinusoidale. La manutenzione preventiva richiede uno storico in base al quale decidere i momenti nel quali andare a fare manutenzione. Quindi è una manutenzione che si basa sulla statistica di ciò che è stato, ma non sul corrente stato di salute della macchina.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Il problema è che riparo dopo un certo tempo, ma lo stato di salute magari era ancora buono e avrei potuto aspettare altro tempo prima di riparare la macchina.
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Questo tempo in cui la macchina sarebbe comunque stata in grado di operare correttamente non viene sfruttato. Di fatto vado a fare un numero di interventi superiore rispetto al numero di interventi che sono necessari per far funzionare correttamente il macchinario. Un numero di inteventi superiore a quelli richiesti da un lato è un costo, dall'altro è un costo aggiuntivo, perchè più inteventi comportano un fermo macchina più lungo, e quindi un tempo di produzione più corto.
Quindi la manutenzione preventiva, rispetto a quella correttiva, evita di arrivare alla rottura ma ha un doppio costo dovuto al numero eccessivo di interventi e al tempo di fermo eccessivo introdotto nel macchinario.

Manutenzione su condizione

Si può migliorare la manutenzione, e qui entra in gioco ciò che abbiamo visto a livello diagnostico, andando a fare manutenzione su condizione.

La manutenzione su condizione è una manutenzione preventiva basta sul monitoraggio delle prestazioni di un'entità e/o dei parametri significativi per il suo funzionamento e sul controllo dei provvedimenti conseguentemente presi.

È ancora una manutenzione preventiva, ma non ci sono degli intervalli di tempo scanditi sulla base dello storico dei dati. È basata, invece, sul monitoraggio delle prestazioni del sistema e dei suoi paramatri significativi e sul controllo dei provvedimenti presi. Di fatto opera andando a vedere se si sta verificando o meno un guasto: se il mio sistema di diagnosi mi dice che il guasto non c'è, allora non faccio manutenzione. Quando verifico che c'è un guasto, richiedo la manutenzione, ma la richiedo comunque prima che il guasto si trasformi in failure. Intervengo, quindi, solo quando la condizione della macchina degrada sotto una certa soglia che sono io a monitorare costantemente.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Manutenzione predittiva

Posso fare ancora di più, posso provare a predire quando sarà la rottura: sono in un punto, vedo che la macchina sta degradando il suo stato di funzionamento, cerchiamo di predirre quando ci sarà la rottura.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

A quel punto pianifichiamo la manutenzione poco prima che la rottura avvenga, con un margine di sicurezza. Stiamo parlando di manutenzione predittiva.

La manutenzione predittiva è una manutenzione su condizione eseguita in seguito ad una previsione derivata dall'analisi e dalla successiva valutazione dei parametri significativi afferenti il degrado dell'entità.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Ecco che la manutenzione predittiva è l'ottimo al quale tendere.

Ci sono però dei problemi. Negli schemi vediamo una curva che dipende dal tempo e dal Machine health. Ma non esiste un sensore di machine health e ricavare quest'informazione è difficile: è qui il problema più grosso. Sulla manutenzione correttiva questo problema non c'è, perchè non mi interessa lo stato di salute della macchina, ma la vado a riparare quando si rompe. Anche sulla manutenzione preventiva non mi importa dello stato di salute: so che statisticamente la macchina si rompe dopo 1000 ore, allora la riparo dopo 500 ore. Nella manutenzione su condizione io non sto stimando lo stato di salute, ma sto monitorando delle feature e quando vedo che c'è un guasto allora chiedo la manutenzione. Quindi in questi tre casi lo stato di salute della macchina lo ignoro. È richiesto solo nella predittiva, ed è proprio qui che sta tutta la difficoltà di questo tipo di manutenzione: lo stato di salute della macchina non è univoco, non è definibile in maniera quantitativa ed è tremendamente difficile da ricavare dalle feature.
Fare manutenzione predittiva, di fatto, consiste nell'andare a prendere un gruppo di feature tali per cui si può andare a ricavare la condizione di funzionamento del mio macchinario. È per questo che, mentre le altre tipologie di manutenzione sono molto diffuse, la manutenzione predittiva, che richiede una conoscenza molto approfondita del processo che si sta analizzando, è una manutenzione ancora allo stadio dell'arte, di ricerca, didattica da qualche anno, ma ancora lontana dall'essere qualcosa di applicabile in larga scala sui processi industriali.

Manutenzione

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Ricapitolando, ci sono vari tipi di manutenzioni. Quella che si usa abitualmente è la correttiva, mentre quella che si sta iniziando a fare è la preventiva.
La manutenzione preventiva può essere programmata (ad intervalli di tempo predeterminati), può essere fatta sotto condizione (nel momento in cui si verifica un guasto richiedo il riadeguamento dell'impianto), oppure può essere predittiva (se trovo degli indicatori dello stato di salute della macchina). La manutenzione sotto condizione, definita anche Condition-Based Maintenance, richiede di fare diagnosi. La predittiva, invece, non richiede diagnosi, ma questa cosa più complessa che si chiama prognosi. In inglese la manutenzione predittiva viene definita Prognostic and Health Management.

Andamenti tipici del failure rate

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Queste sono le probabilità di rottura in funzione del tempo per varie tipologie di sistemi. Quelli sulla sinistra possono essere trattati con la Time Based Maintenance, perchè si vede proprio che da un certo punto in poi il tasso cresce, quindi sarà sufficiente andare mediamente ad intervenire dopo una certa soglia di tasso di rottura. In altre tipologie dove la probabilità di rottura rimane meno costante, è per forza di cose necessario andare ad utilizzare una Condition Based Maintenance o quella preventiva, altrimenti rischiamo di fare interventi inutili.
Quindi nei casi a sinistra è sufficiente una manutenzione classica, quindi quella programmata; i casi a destra, che nei sistemi industriali sono circa il 90%, richiedono una manutenzione su condizione o preventiva.

Fa vedere un video (già proiettato ad inizio corso) sulla manutenzione predittiva nell'industria 4.0. Quindi manutenzione preventiva è monitoraggio continuo dei parametri dei macchinari, in tempo reale. Questi parametri vengono gestiti con il limit checking, ovvero la verifica costante dei trend per determinare in anticipo quando un certo valore sarà fuori dalla tolleranza. Si può fare sul valore istantaneo, ma in certi casi può essere fatto in maniera probabilistica, l'importante è capire quando il mio dataset sta andando oltre ad una certa soglia. La manutenzione preventiva porta tutta un serie di vantaggi:

  • ridurre i fermi di produzione non programmati: i fermi di produzione mi diminuisce la disponibilità del sistema, perchè ho un mean time to repair più elevato.
  • ridurre i costi dell'apparecchiatura: invece che sostituire l'intero apparecchio a causa di un guasto critico, riduco il costo al prezzo del singolo componente. Si evita una catena di rotture.
  • ridurre i costi di manodopera: la riduco perchè faccio un minor numero di interventi più mirati.
  • aumentare i ricavi: dovuta alla somma di queste tre cose.
  • aumentare la sicurezza: controllando lo stato di salute, mi accorgo subito se c'è una degradazione di un componente e agisco prima che si verifichi il guasto, creando condizioni più sicure per i dipendenti e i clienti.
  • aumentare l'efficienza della manutanzione: sommando tutte queste cose l'efficienza aumenta.

È quindi ciò a cui le imprese puntano, ma bisogna saper scegliere le feature che mi possono dare quell'informazione che nel grafico è definita machine health.


Siamo andati ad introdurre un concetto che va oltre quello di diagnosi e siamo andati ad introdurre il concetto di prognosi, che è alla base della manutenzione preventiva. Esistono due tipologie di manutenzione che sono da considerarsi avanzate e queste sono:

  • la manutenzione sotto condizione, che richiede la presenza di un modulo di supervisione diagnostico per funzionare. Il modulo di diagnosi, sviluppato con una delle tecniche viste, si rende conto che c'è un guasto, ovvero che c'è la deviazione non permessa di un paramentro del sistema o magari il sistema produce con minore capacità, chiama una manutenzione su condizione programmata, in modo tale da ripristinare lo stadio di funzionamento corretto. Quindi avviene su una condizione che viene monitorata costantemente. Qui non si prevede ma si monitora, per agire prima che il fault diventi failure.
  • lo stadio più avanzato è quello di manutenzione predittiva, cioè non mi limito a fare diagnosi, ma voglio dire come evolverà il guasto nel tempo. Vogliamo predire l'evoluzione del guasto fino al failure, per poter andare ad agire prima della rottura, ma sfruttando il più possibile il tempo di vita rimanente. È molto richiesta ma ha il problema illustrato in figura: è difficile andare a trovare delle feature che mi danno indicazioni sullo stato di salute della macchina. Le feature prognostiche sono difficili da trovare, perchè non mi deve solo dire se una cosa funziona, ma mi deve anche dare una stima di come evolverà nel tempo.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Workflow della manutenzione predittiva

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  1. Misure: la prima cosa che dobbiamo fare è misurare, che non significa acquisire il datalog del mio sistema, ma significa acquisire il datalog del sistema per un periodo di tempo lungo tale da includere lo stadio di funzionamento da perfettamente sano a rottura, preferibilmente su più macchine della stessa tipologia, che operano con condizioni operative diverse. Questo perchè la condizione operativa cambia le feature prognostiche e perchè ho bisogno di tantissimi dati per poter fare predizione. Se non ho misure sufficienti, quello che si può fare è l'analogo della data augmentation nei big data, ovvero creo dei dati virtuali. In questo caso il virtuale va inteso proprio come modello, come simulatore: entra in gioco il digital twin, che è una copia del sistema reale simulata, con scopo di vedere come variano le uscite dal sistema al variare di alcuni parametri (che nella realtà non posso toccare). Modifico le condizioni sul modello, introducendo vari tipi di guasti, e creo dei dati sintetici (è una specie di data augmentation). Inoltre viene usato come copia per capire se qualcosa non sta funzionando correttamente nel sistema. Tramite questa seconda funzione si possono generare dati sintetici che vanno ad integrare i dati sensoriali reali.
  2. Filtraggio: i dati da dare al predittore non possono essere dati grezzi, va filtrato il rumore e ci sono molto spesso degli outliers, che rischiano di fare peggiorare il funzionamento del mio predittore, quindi vanno eliminati in questa fase. Il filtraggio può essere analogico o digitale. Andiamo a selezionare il contenuto informativo in frequenza. Vedremo il procedimento più avanti.
  3. Estrazione feature: estraiamo le feature, tramite analisi di tipo model-based o signal-based. Vengono generate in maniera analoga a quanto visto per la diagnosi. Cambia la tipologia di selezione che andiamo ad operare: determinate le feature, le andremo a scegliere sulla base della proprietà di trendability (quanto la feature si degrada nel tempo).
  4. Addestramento predittore: una volta scelte le feature, le dobbiamo utilizzare. Si va a rilevare, tipicamente con un approccio di machine learning, l'anomalia o i trend. Con questa informazione posso andare a fare sia diagnosi, sia predizione di quella che si chiama Remaining useful life, o vita utile rimanente del mio componente.
  5. Integrazione: infine si fa l'integrazione a bordo macchina, chiamato edge computing. Non vado a mettere sul cloud tutti i dati rilevati dai sensori, ma vado prima a fare filtraggio, aggregazione ed estrazione e carico i risultati dell'elaborazione nel cloud.

Basi della prognosi

La diagnosi dei guasti consiste nello stabilire la presenza o meno di un guasto all'interno di un sistema a partire dall'analisi dei dati provenienti da esso, sfruttando l'eventuale conoscenza disponibile del sistema.

La prognosi consiste nel predire accuratamente e precisamente il tempo di vita rimanente di un componente affetto da guasto: Remaining Useful Life - RUL.

Per fare manutenzione predittiva serve la prognosi, ovvero la stima del RUL. Cioè, data la mia attuale condizione (pallino blu), devo andare a stimare all'istante in cui mi trovo quanto tempo manca al momento in cui, plausibilmente, si romperà il macchinario (pallino rosso). In questo modo posso andare a pianificare il mio intervento in un tempo intermedio tra i due pallini.


Nell'immagine è stato sostituito machine health con Condition Indicator, cioè una particolare tipologia di feature.

Quello che dobbiamo capire è come fare questa stima del tempo di vita utile rimanente della mia macchina.
Se la diagnosi scatta una foto "nitida" del guasto, la prognosi scatta una foto "sfuocata" del guasto: vediamo i confini di dove potremmo essere, abbiamo una situazione media e una sorta di worst case e best case. Man mano che facciamo predizione, questa sarà caratterizzata da dei bounding box all'interno del quale ritrovarci con una cerca incertezza.


Più vado avanti nel tempo, più i bounding box si restringono e tenderò ad avere una precisione più elevata della stima del tempo rimanente utile.

Sfide della prognosi

  • Stimare l'evoluzione del guasto nel tempo: dobbiamo ricostruire il guasto a partire dalle misure sensoriali disponibili. La difficoltà sta proprio in questa correlazione che deve essere fatta.
  • Anche se riusciamo a predirre il guasto, questo non sarà un numero secco, ma avrà un worst case e un best case. Devo stimare l'evoluzione del guasto con un certo intervallo di confidenza.
  • Più aumentano i dati che ho a disposizione, più devo affinare questa stima, restringendo sempre di più i bounding box. Ho necessità di fare leva su delle strategie di apprendimento che mi permettano di migliorare la prognosi nel tempo.

Approcci teorici alla prognosi


È una classificazione accademica degli algoritmi per la prognosi, anche se un po' sommaria dal momento che non c'è ancora molta letteratura sulla prognosi.

  1. Algoritmi statistici di "uso comune": sono i più utilizzati per andare fare prognosi guasti. Si basano su serie storiche di feature acquisite nel tempo, confrontandole con le serie attuali.
  2. Prognosi basata su dati: per rendere le stime più adattabili, vado a sfruttare in maggior quantità i dati che ho a disposizione. Uso approcci basati su logica fuzzy, reti neurali e classificazione.
  3. Prognosi basata su modello: nei casi (fortunati) in cui ho un modello fisico del mio sistema, uso un approccio basato su modello. Questo modello mi indica come evolve la feature prognostica di interesse.

Prognosi basata su modello

Un esempio è il problema delle industrie legati alle luci LED: nei grandi capannoni vogliono sostituire i proiettori a lampada alogena che consumano tanto con quelli a LED. Esiste un problema di diagnosi (quale stringa si LED mi si rompe, così posso sostituire solo quella) e un problema di prognosi: dato che il LED si rompe a causa della temperatura, voglio fare una stima indiretta della temperatura. Non la posso misurare, ma c'è un modello termico che dalla temperatura del dissipatore mi ricava la temperatura della stringa, e quindi, poi, si può stimare la remaining useful life. L'approccio utilizza anche la simulazione, per generare dati su cui andare a fare prognosi.
Avere delle funzioni che esprimono il modello è molto raro, per cui questo approccio è poco utilizzato nella pratica.

Prognosi statistica

Molto spesso si cerca un approccio di tipo statistico.


Questo è il cloud point su due dimensioni: sulla base c'è la magnitudo della vibrazione di un motore e sulle ordinate c'è il logorio di un ingranaggio. È anche segnata la soglia di rottura dell'ingranaggio. C'è una correlazione tra le due grandezze: il logorio è la condition health di questo sistema. All'aumentare della vibrazione aumenta l'usura: il fatto che una variabile fa variare una feature prognostica si chiama trendability. A questo punto posso fare prognosi. Invertendo la relazione posso fare una stima della vita utile. Si utilizzano le Probability Density Function, quindi è una funzione di densità di probabilità.

Prognosi basata sui dati

Quando ho i dati, preferisco approcci di intelligenza artificiale, facendo classificazione, regressione, utilizzando reti neurali

Approcci pratici alla prognosi

Nella pratica, la stima del tempo di vita utile si fa con approcci riconducibili a tre diverse categorie.

  1. Similarity model: presuppone che il mio dataset contenga l'informazione continua dall'healthy state al failure. Ho una piena conoscenza di come è evoluto il fault nel tempo. Il condition indicator (che calcolo a partire dalle feature prognostiche) mi evolve nel tempo e ho tutti i dati disponibili. L'esempio proposto riguarda il processo che porta alla rottura del motore degli aerei:
    Il primo step consiste nell'acquisizione dei dati, poi c'è il preprocessing (tipo PCA) e poi vanno identificati i condition indicator. Per effettuare la previsione si tiene conto della serie attuale (giallo) e si utilizzano le 50 (è un parametro, può variare) curve che più gli si avvicinano: questi saranno i dati di training utilizzati. Più passa il tempo, più il valore di vita utile stimato e quello reale si avvicinano.

  2. Survival model: parte da un dataset che conosce solo le statistiche di rottura. Ho tutti i punti di rottura, ma non ho un condition indicator che mi evolve fino alla rottura. Possiamo utilizzare funzioni di densità di probabilità per stimare il valore medio di tempo di vita utile rimanente.
  3. Degradation model: non contiene tutti i dati, ma parte da una base di dati che contiene una parte di degradazione. Non so quando arriverà il failure, ma ho una parte di degradazione e so il momento in cui quella degradazione deve essere ritenuta eccessiva. In questo caso non ho i valori di rottura, ho solo un tratto di evoluzione del condition indicator e il safety threshold: stimo il punto di intersezione.

N.B: l'unità di misura della remaining useful life non è puramente temporale: può essere in giorni, in chilometri, in ore, in cicli..

Metrica di un sistema di prognosi dei guasti

Ha detto che non le chiede all'esame!!
Comunque non esiste in maniera univocamente accettata un set di metriche per valutare la bontà di un sistema di prognosi dei guasti. Ci sono due indici considerati validi per avere un'idea delle performance del sistema:

Quattro idee sbagliate sulle Predictive Maintenance (PM)

  1. Il PM eliminerà le rotture: le può solo ridurre, perchè la stima non sarà perfetta.
  2. PM è un lavoro extra che costa denaro: il lavoro extra è solo software; il costo in più è relativo, perchè se io ho già i dati devo solo investire in una persona che nel corso degli anni mi strutturi i dati per estrarre informazioni. È un investimento.
  3. I sistemi PM sono tutti uguali: non è vero perchè la tecnica dipende dal dataset e il dataset dipende dai sensori, eventualmente cambia il modello.
  4. PM non è solo un modo per determinare cosa si romperà e quando è possibile sostituirlo, ma è una filosofia di gestione integrata dei dati che mi permette di avere un valore aggiunto sulla catena di produzione.
  • Che cos'è la manutenzione predittiva e in cosa differisce dalla manutenzione su condizione?
  • Che cos'è la Remaining Useful Life?
  • Che cosa si intende per prognosi dei guasti e la sua differenza tra la diagnosi?
  • Descrivere il workflow della manutenzione predittiva
  • Descrivere le differenze tra similarity, degradation e survival models