Case Study: Condi­tion Monito­ring einfach erklärt

Anwendungsszenarien wie Condition Monitoring oder Predictive Maintenance sind bekannte Beispiele für Industrie 4.0. Wie können diese Use Cases in die Realität umgesetzt werden und welchen Beitrag bieten dabei Methoden des maschinellen Lernens? Diese Case Study zeigt anhand eines einfachen Beispiels, wie maschinelles Lernen mit zeitreihenbasierten Daten funktioniert.
Dabei wird vorge­stellt, wie die sehr allge­meine Methodik des Machine Learnings in Kombi­na­tion mit einfach zu erfas­senden Daten zu einer spezi­fi­schen, leistungs­fä­higen Lösung führt. Diese Erkennt­nisse lassen sich auch auf komplexe Zusam­men­hänge und Prozess­ketten, wie sie in Produk­ti­ons­un­ter­nehmen zu finden sind, übertragen.Als Demons­trator wird ein Modell bezeichnet, das die Machbar­keit einer Lösung demons­triert, also die proto­ty­pi­sche, meist verein­fachte Umset­zung vor der Reali­sie­rung. Mit einem selbst­ge­bauten Demons­trator wird anhand der einfa­chen Frage­stel­lung, wie viele Schrauben in ein Schwungrad montiert sind, die Anwen­dung von maschi­nellem Lernen im Produk­ti­ons­um­feld anschau­lich darge­stellt. An diesem Beispiel wird deutlich, wie es funktio­niert, dass Daten, die von einer Maschine erhoben werden, in Echtzeit Auskunft über deren Zustand bzw. sogar weiter­füh­rend über den Zustand von angebrachten Teilen geben.Somit werden nachfol­gend die Grund­lagen für die Zustands­über­wa­chung einer Maschine sowie die Erarbei­tung von hardware­un­ab­hän­gigen Lösungen, wie sie für voraus­schau­ende Wartung notwendig sind, erklärt. 


Indivi­du­elle Anfor­de­rungen bedingen hardware-unabhän­gige Lösungen

Die steigende Volati­lität stellt Unter­nehmen vor große Heraus­for­de­rungen. Gerade in der Indus­trie wird durch steigenden Markt- und Wettbe­werbs­druck hohe Prozess­ge­schwin­dig­keit und ‑sicher­heit gefor­dert. Gleich­zeitig braucht es flexible und anpass­bare Struk­turen, um verkürzte Produkt­le­bens­zy­klen, steigende Produkt­kom­ple­xi­täten und größere Varianten bzw. kunden­in­di­vi­du­elle Produkte liefern zu können.Deshalb ist es notwendig Lösungen zu schaffen, die in Echtzeit auf sich ändernde Bedin­gungen reagieren und unabhängig von einge­setzten Maschinen und Anlagen­teilen sind. Zudem ist wichtig, dass rein durch die Modifi­ka­tion von Software ein leicht an die Gegeben­heiten anpass­barer Prozess entsteht – natür­lich ohne die Funkti­ons­fä­hig­keit zu beein­träch­tigen.Zur Umset­zung solcher Lösungen bietet maschi­nelles Lernen ein starkes Werkzeug. Denn anstatt auf Basis starrer, vorge­ge­bener Lösungs­wege werden dabei Modelle anhand eines flexi­blen Rahmens sowie einer Vielzahl an Parame­tern erstellt. Diese Vielsei­tig­keit ermög­licht, dass eine Anpas­sung an sich ändernde Rahmen­be­din­gungen einer­seits in der Methodik selbst berück­sich­tigt ist und anderer­seits auch in den entste­henden Lösungen einfach umgesetzt werden kann. 


Einfa­ches Modell zur Demonstration

Um die Anwen­dung von maschi­nellem Lernen einfach und anschau­lich zu erklären, haben wir einen Demons­trator mit einem kleinen Machine Learning-Projekt aufge­setzt. Dabei galt es die Aufgabe zu lösen, ein Modell zu entwi­ckeln, welches die Anzahl an montierten Schrauben wieder­gibt.Unser Demons­trator besteht aus einem Antrieb, der eine auf der Rotati­ons­achse befes­tigte Scheibe frei drehen kann. Die Scheibe ist an ihrer Außen­seite mit drei Gewin­de­boh­rungen versehen, in die Schrauben einge­dreht werden können. Um eine Nähe und Vergleich­bar­keit zu echten Produk­ti­ons­ma­schinen herzu­stellen, wird der Antrieb durch eine Beckhoff-SPS gesteuert und kann mit verschie­denen Rotati­ons­ge­schwin­dig­keiten betrieben werden. 


Indivi­du­elle Anfor­de­rungen bedingen hardware-unabhän­gige Lösungen

Die steigende Volati­lität stellt Unter­nehmen vor große Heraus­for­de­rungen. Gerade in der Indus­trie wird durch steigenden Markt- und Wettbe­werbs­druck hohe Prozess­ge­schwin­dig­keit und ‑sicher­heit gefor­dert. Gleich­zeitig braucht es flexible und anpass­bare Struk­turen, um verkürzte Produkt­le­bens­zy­klen, steigende Produkt­kom­ple­xi­täten und größere Varianten bzw. kunden­in­di­vi­du­elle Produkte liefern zu können.Deshalb ist es notwendig Lösungen zu schaffen, die in Echtzeit auf sich ändernde Bedin­gungen reagieren und unabhängig von einge­setzten Maschinen und Anlagen­teilen sind. Zudem ist wichtig, dass rein durch die Modifi­ka­tion von Software ein leicht an die Gegeben­heiten anpass­barer Prozess entsteht – natür­lich ohne die Funkti­ons­fä­hig­keit zu beein­träch­tigen.Zur Umset­zung solcher Lösungen bietet maschi­nelles Lernen ein starkes Werkzeug. Denn anstatt auf Basis starrer, vorge­ge­bener Lösungs­wege werden dabei Modelle anhand eines flexi­blen Rahmens sowie einer Vielzahl an Parame­tern erstellt. Diese Vielsei­tig­keit ermög­licht, dass eine Anpas­sung an sich ändernde Rahmen­be­din­gungen einer­seits in der Methodik selbst berück­sich­tigt ist und anderer­seits auch in den entste­henden Lösungen einfach umgesetzt werden kann. 


Einfa­ches Modell zur Demonstration

Um die Anwen­dung von maschi­nellem Lernen einfach und anschau­lich zu erklären, haben wir einen Demons­trator mit einem kleinen Machine Learning-Projekt aufge­setzt. Dabei galt es die Aufgabe zu lösen, ein Modell zu entwi­ckeln, welches die Anzahl an montierten Schrauben wieder­gibt.Unser Demons­trator besteht aus einem Antrieb, der eine auf der Rotati­ons­achse befes­tigte Scheibe frei drehen kann. Die Scheibe ist an ihrer Außen­seite mit drei Gewin­de­boh­rungen versehen, in die Schrauben einge­dreht werden können. Um eine Nähe und Vergleich­bar­keit zu echten Produk­ti­ons­ma­schinen herzu­stellen, wird der Antrieb durch eine Beckhoff-SPS gesteuert und kann mit verschie­denen Rotati­ons­ge­schwin­dig­keiten betrieben werden. 

Daten bilden die Grund­lage eines jeden Machine Learning-Projektes. Unser Demons­trator liefert Daten aus zwei Quellen: Im Milli­se­kun­den­takt werden Daten wie Position, Geschwin­dig­keit und Drehmo­ment, welche über OPC UA übertragen werden, mithilfe unseres Data Collec­tors erfasst und gespei­chert. Zusätz­lich werden Daten erfasst, die nicht direkt von der Maschine bereit­ge­stellt werden können, die jedoch für die Erfas­sung des Ist-Zustandes der Maschine von hoher Relevanz sind. Dafür ist auf dem Antrieb ein Beschleu­ni­gungs­sensor angebracht, um Schwin­gungen erkennen zu können. Diese vom Beschleu­ni­gungs­sensor erfassten Schwin­gungs­daten werden ebenfalls übertragen und gespeichert. 


Daten­ba­sierte Entwicklungsarbeit

Der erste Schritt ist die Schaf­fung einer geeig­neten Daten­grund­lage. Für die Daten­er­he­bung wurde jeweils eine bestimmte Anzahl an Schrauben in die Schwung­scheibe einge­dreht und Daten über kurze Zeitin­ter­valle bei unter­schied­li­chen Geschwin­dig­keiten erhoben. Die Daten­spei­che­rung erfolgte in InfluxDB, einer für Zeitreihen optimierten Daten­bank.Im nächsten Schritt folgte die Auswer­tung und Analyse der Daten. Von beson­derem Inter­esse war hierbei der Vergleich der Beschleu­ni­gungs­daten über verschie­dene Zeiträume zu verschie­denen Geschwin­dig­keiten mit unter­schied­li­cher Schrau­ben­an­zahl. Unter­sucht wurden die Daten vor allem auch hinsicht­lich Lücken, fehler­haften Werten sowie anderen Auffäl­lig­keiten. Die Daten der Steue­rung wurden zudem mit den Beschleu­ni­gungs­daten zusam­men­ge­führt, um Infor­ma­tionen zu Geschwin­dig­keit und Schrau­ben­an­zahl zu erhalten. Auf diese Weise konnten Beschleu­ni­gungs­daten verschie­dener Zeiträume mit verschie­denen Geschwin­dig­keiten und unter­schied­li­cher Schrau­ben­an­zahl vergli­chen werden. So stand eine Daten­grund­lage zur Verfü­gung, mit der Modelle trainiert und evalu­iert werden konnten.Weiter­füh­rend folgte die Auswahl der richtigen Machine Learning-Modelle sowie deren Training und Bewer­tung. Dabei stand die Frequenz­ana­lyse der Beschleu­ni­gungs­daten durch ein neuro­nales Netz im Fokus der Entwick­lungs­ar­beit. Aufgrund seines vergleichs­weise einfa­chen Aufbaus bei gleich­zeitig hoher Flexi­bi­lität wurde dabei ein Feedfor­ward-Netz verwendet, welches mit geeig­neten Frame­works und Deep-Learning-Biblio­theken trainiert wurde. 

Schaubild zeigt Frequenz bei unterschiedlicher Schraubenanzahl
Gemes­sene Frequenz der Achse bei unter­schied­li­cher Schrau­ben­an­zahl (0 bis 3 Schrauben)
Schließ­lich wurde in mehreren Itera­tionen durch die Anwen­dung auf Beispiel­daten die Archi­tektur des Feedfor­ward-Netzes festge­legt sowie optimale Einstel­lungen für dessen Training eruiert. Denn nur bei geeig­neter Wahl der Hyper­pa­ra­meter ist zu erwarten, dass das neuro­nale Netz eine zufrie­den­stel­lende Leistung zeigt. Mit einer hervor­ra­genden Genau­ig­keit von mehr als 98% auf bekannte Geschwin­dig­keiten zeigten wir uns mit dem trainierten Modell zufrieden und stellten dieses auf dem Demons­trator zur Ausfüh­rung bereit. 


1, 2, oder 3 – Ergebnis des Schraubenzählens

Die Anwen­dung dieses Modells und der Vergleich der ausge­ge­benen Prognosen des Modells mit den tatsäch­li­chen Werten zeigte, dass unser neuro­nales Netz sowohl in den Frequenz­daten des Antriebs Muster erkennen und damit auch mit einer sehr hohen Sicher­heit die richtige Anzahl der montierten Schrauben feststellen konnte. Im Betrieb bei der Anwen­dung auf eine belie­bige Geschwin­dig­keit hatten wir dabei eine Genau­ig­keit von mindes­tens 80%.Somit ist die gestellte Aufgabe gelöst: Im laufenden Betrieb kann die aktuelle Anzahl an Schrauben ausge­geben werden – gespei­chert in einer Daten­bank stehen die Daten für eine Visua­li­sie­rung oder Weiter­ver­wen­dung zur Verfügung. 

Dashboard mit Modellprognosen
Visua­li­sie­rung der Modell­vor­her­sagen mit der Software Grafana
Trotzdem bestehen in der Verwen­dung des Modells Unsicher­heiten und es bleibt die Frage, ob sich der Einsatz von Machine Learning lohnt. In diesem Beispiel hätte es auch andere und zuver­läs­si­gere Möglich­keiten gegeben, um die Anzahl der Schrauben zu erfassen, z.B. über spezia­li­sierte Sensoren oder Kamera­sys­teme.Hätte eine „von Hand“ entwi­ckelte Software ein vergleich­bares Ergebnis liefern können? Die Betrach­tung des Zusam­men­hangs zwischen Frequenz­daten und Anzahl der einge­drehten Schrauben zeigte uns auf, dass es sehr aufwändig ist, manuell Krite­rien für eine solche Klassi­fi­ka­tion zu finden. Doch selbst wenn eine von Menschen entwor­fene Lösung entwi­ckelt wird, ist diese nicht so flexibel und einfach anpassbar wie jene, die durch die neuro­nalen Netze gefunden wurde. Beispiels­weise hätten wir bei den festge­legten Anfangs­ge­schwin­dig­keiten eventuell ein Muster finden können, aber die Genera­li­sie­rung auf andere Geschwin­dig­keiten hätte dann nur mit geringer Wahrschein­lich­keit funktio­niert.Die von uns entwi­ckelte Lösung funktio­niert auch bei geänderten Gegeben­heiten. Wird in einem nächsten Versuch beispiels­weise ein anderer Antrieb verwendet, kann die erarbei­tete Lösung mit wenig Anpas­sung auf dieselbe Genau­ig­keit in der Bestim­mung der Anzahl der Schrauben gebracht werden. 


Bedeu­tung für die Praxis

An diesem Beispiel des Schrau­ben­zäh­lens mit dem Demons­trator konnten wir erklären, wie die Anzeige des Zustands von Maschi­nen­teilen sowie zusätz­lich angebrachter Teile – in unserem Fall die Anzahl der Schrauben – in Echtzeit umgesetzt werden kann. Durch die Analyse der Frequenz­daten können wir die Anzahl an montierten Schrauben ausgeben und in einem Dashboard visua­li­sieren. Dadurch können die für eine Maschine wichtigsten Daten auf einen Blick übersicht­lich darge­stellt werden.Zusätz­lich konnten wir aufzeigen, dass mit der allge­meinen Methodik des maschi­nellen Lernens und einfach zu erfas­senden Daten eine Lösung entwi­ckelt werden kann, die eine Anpas­sung ermög­licht, ohne manuelle Eingriffe in die verwen­dete Hardware vorzu­nehmen. Die Vorteile werden so offen­sicht­lich: Die Anwen­dung von Machine Learning bietet eine hohe Adaptier­bar­keit.Für die Praxis bedeutet dies: Bei sich verän­dernden Rahmen­be­din­gungen ist allein die Modifi­ka­tion der Software ausrei­chend, um Änderungen im Prozess abzufangen. Somit ist eine maximale Flexi­bi­lität und Nachhal­tig­keit garan­tiert, da vorhan­dene Maschinen nicht komplett ausge­tauscht werden müssen oder große Änderungen in der Hardware notwendig sind. Dies ist vor allem für Anwen­dungs­fälle wie z.B. Predi­ci­tive Mainten­ance inter­es­sant, da auch bei Austausch einzelner Maschinen- oder Anlagen­teile der dahin­ter­lie­gende Algorithmus nicht gänzlich neu und von Hand angepasst werden muss, sondern das System selbst in die Lage versetzt werden kann, sich an die Verän­de­rung anzupassen, womit der Funkti­ons­be­trieb aufrecht erhalten wird.Auch für unsere interne Entwick­lung war das Projekt sehr wertvoll und unsere Neugier auf Frage­stel­lungen rund um den Demons­trator und das Schrau­ben­zählen ist noch nicht gänzlich gestillt. Für uns sind noch einige Aspekte unbeleuchtet und es gilt weiter­füh­rende Frage­stel­lungen zu betrachten, z.B. warum und in welchen Fällen die Klassi­fi­ka­tion misslingt. Darüber hinaus ist auch die Unter­su­chung des Verhal­tens des Demons­tra­tors auf Anoma­lien ein spannender Aspekt, der weitere Grund­lagen für den Anwen­dungs­fall der voraus­schau­enden Wartung (Predic­tive Mainten­ance) veran­schau­li­chen kann.