SaMoA
Übersicht
Kurzüberblick
-
Anforderungsanalyse durch geführte Benutzerbefragung
-
Automatisierte Auslegung von Monitoringsystemen
-
Evolutionäre Algorithmen erstellen kompakte, transparente Verarbeitungsprogramme für Computing on the Edge
-
Automatische FPGA-Konfiguration und Signalauslegung anhand von Modellparametern
Die Potentiale von KI sind in vielen Unternehmen immer noch ungenutzt. Zu allem Überfluss schafft es nur ein Teil der KI-Projekte, die Erwartungen im Einsatz zu erfüllen und Mehrwert zu generieren. Die hauptsächlichen Gründe dafür sehen unabhängige Studien in der häufig unzureichenden Datenqualität sowie in der nicht erfolgten Anbindung von Datenquellen.
Insbesondere laufende Industrieanlagen können nur mit großem Aufwand digitalisiert werden. Die Auslegung von Kamera- und Sensorsystemen ist jedoch ein ebenso komplexes Feld wie die Entwicklung von KI-Systemen selbst.
Unternehmen des produzierenden Gewerbes und insbesondere Mittelständler sehen sich also bei der Einführung von KI-Systemen mit hohen Einstiegshürden konfrontiert. Im Projekt SaMoA soll die Frage beantwortet werden, wie die Investitionen und die Unsicherheit bei der Einführung von intelligenten Monitoring-Anwendungen für Unternehmen deutlich reduziert werden können. Selbst-konfigurierende Systeme ermöglichen einen schnelleren Zugang zu flexibler Qualitätskontrolle und hilft so, die Effizienz der Produktion deutlich zu erhöhen.
Teilprojekt 1: Automatisierte Auslegung von Monitoringsystemen
Die Komplexität von Monitoringsystemen in der Industrie ist vielfältig und anspruchsvoll. Die Notwendigkeit, verschiedene Sensortypen, Schnittstellen und Integrationswege zu kombinieren, führte bisher zu langwierigen Design-Iterationen für spezifische Anforderungen. Sowohl die Auslegung einzelner Systeme, wie Bildverarbeitungslösungen, als auch die Kombination mehrerer Sensorprinzipien erforderte einen hohen Expertenaufwand. Im Rahmen des Teilprojekts Sensor- und Systemintegration für Monitoringsysteme (SaMoA) wird eine wegweisende Lösung präsentiert, die den Nutzern einen Großteil dieser herausfordernden Arbeit abnimmt. Durch die klare Erfassung von Design-Parametern mittels benutzergeführter Fragebögen ermöglicht SaMoA eine präzise Auslegung von Monitoring Systemen.
Das innovative Konzept basiert auf Modellen, die gemäß physikalischer Gesetzmäßigkeiten und technischer Abhängigkeiten mithilfe wissenschaftlicher Methoden erstellt wurden. Diese Modelle dienen als Grundlage für die Designautomatisierung, wodurch eine benutzergeführte Generierung vollständiger und CAD-fähiger Design-Varianten möglich ist. SaMoA bietet eine revolutionäre Perspektive für die Industrie, indem es die Komplexität der Systemintegration reduziert und gleichzeitig die Effizienz und Genauigkeit der Designprozesse verbessert. Es ermöglicht Ingenieuren und Fachexperten, sich auf höherwertige Aufgaben zu konzentrieren, während die Software die Details der Systemintegration übernimmt. Diese bahnbrechende Technologie verspricht eine neue Ära der Effizienz und Genauigkeit bei der Entwicklung und Integration von Monitoringsystemen, indem sie die menschliche Expertise mit automatisierten Designprozessen kombiniert.
Teilprojekt 2: Adaptive QS mit Evolutionären Algorithmen
Im Projekt greift das Konsortium tief in die Werkzeugkiste der Informatik: durch unkonventionelle, naturinspirierte KI-Modelle werden neue Wege beschritten. Evolutionäre Algorithmen und modellbasierte Entwurfssprachen ermöglichen es Anwendern, Qualitätssicherung neu zu denken:
- Produktionsleiter, Ingenieure und Werker können QS-Systeme ohne Vorkenntnisse weitgehend selbst entwerfen
- Die Entwicklungsarbeit sinkt dramatisch auf ein Minimum an Aufwand, da SaMoA Systeme nur wenige Eingangsdaten benötigt
- SaMoA legt großen Wert auf ein gutes Problemverständnis: durch gezielte Fragen an den Nutzer werden die Anforderungen vom System ermittelt
- Statt aufwändiger Wartung passen sich die Systeme per Knopfdruck an veränderliche Bedingungen an (Organic Computing)
- Statt tiefer, undurchsichtiger Modelle setzt SaMoA auf nachvollziehbare, transparente Verfahren
- Hierfür werden evolutionäre Algorithmen eingesetzt, wie beispielsweise Cartesian Genetic Programming
Cartesian Genetic Programming
Cartesian Genetic Programming (CGP) zählt zu den genetischen Algorithmen - und gehört somit zu einen der vielzähligen Verfahren des Machine Learnings.
Die Grundidee hierbei hinter diesem Algorithmus ist relativ einfach: Anfänglich werden zufällige Programme erzeugt, die das vorgegebene Problem lösen sollen. Durch naturinspirierte Mechanismen, wie die der Mutation, Selektion oder Kreuzung, werden diese anfänglich erzeugten Programme stetig verbessert. Somit passen sich diese Programme nach kurzer Zeit dem Problem an und sind in der Lage, diese zu lösen.
Eines der hauptsächlichen Anwendungsgebiete ist die automatische Erzeugung digitaler Schaltkreise. Weiterhin lässt sich CGP für eine Vielzahl anderer Einsatzgebiete anpassen - wie die der Bildverarbeitung, wodurch CGP eine große Rolle in SaMoA spielt. Denn durch CGP sind wir in der Lage, nachvollziehbare, transparente und verständliche Machine Learning Verfahren einzusetzen. Außerdem bietet es eine leistungsperformante, parallelisierbare Lösung an.
Teilprojekt 3: Signalverarbeitung mit FPGA
Auf Basis aller Informationen über die gewünschte Signalverarbeitung innerhalb des Graphen, wird eine Auswahl von benötigten Sensoren getroffen die Konfiguration eines FPGA generiert. Der Signalweg besteht aus Sensoren, AD-Umsetzern, galvanischer Trennung, FPGA und Host-System.
Je nach Wahl der Sensoren und AD-Umsetzern werden im FPGA unterschiedliche Treiber und verschiedene Filterungen benötigt. Die Filter jedes Kanals können unterschiedlich in ihrem Typ, der Reihenfolge und ihren Standardwerten sein. Die Bibliothek zum Auslesen auf dem Host-System wird durch diese Parameter beeinflusst und muss daher auch mit jeder Änderung am FPGA neu generiert werden.
Sensoren und Signalweg
Wägezellen verändern ihre Spannung über die Kraft, die auf sie aufgebracht wird. In SaMoA werden damit das Gewicht des Prüfobjekts ermittelt. Mit einer Reihe von Wägezellen kann die Positionierung des Objekts auf einem Fließband o.ä. ermittelt werden und der Bildauswertung als Information bereitgestellt werden.
Um die Störeinwirkung der Umgebung gering halten, wird der analoge Signalweg von den Sensoren zum AD-Wandler rauscharm gehalten. Die Masse ist gefiltert und von den digitalen Geräten getrennt. Der Ausgang der Sensoren kann ggf. vor der Übertragung für höhere Impedanz verstärkt werden. Vor dem AD-Wandler wird das Signal mit einem Low-Pass gefiltert. Verbindungen und Leitungen sind großzügig dimensioniert.
Zur Absicherung des FPGA gegen Überspannung ist der SPI galvanisch getrennt.
Mikrocontroller als ADC-Eingang
Ein STM32F3 wird als Controller und AD-Wandler eingesetzt. Die speziell geschriebene Firmware ließt Analogwerte ein und konvertiert sie in einen digitalen Datenstrom, paketiert sie und sendet sie auf Anfrage an den angeschlossenen FPGA weiter.
Schaltung und Firmware für hohe Präzision
Hochwertige Kondensatoren, Spulen, Widerstände
Um das ankommende, analoge Signal so gering wie möglich zu beeinflussen, werden hochwertige, passive Komponenten eingesetzt und die Leiterbahnen kurz gehalten.
Spannungsreferenz
Eine hochwertige, externe Spannungsreferenz stellt den integrierten AD-Wandlern des STM32 eine rausch- und driftarme Spannung für den Umsetzer zur Verfügung.
CPU wird für die AD-Wandlung in Sleep gesetzt, um Spannungsschwankungen zu vermeiden
Auch sonstige Peripherie und interne Operationen des Prozessors sorgen für Rauschen in der Spannungsversorgung und damit in der AD-Umsetzung. Daher werden vor der AD-Wandlung die Peripherie abgeschaltet und der Chip in den Schlafmodus versetzt. Ist die Wandlung abgeschlossen weckt ein Interrupt den Chip wieder auf und schaltet die Peripherie wieder ein.
Datenübertragung
Alle analogen Werte werden in einem Doppelpuffer zwischengespeichert. Sind alle angeschlossenen Sensoren ausgelesen und findet keine Datenübertragung statt, werden sie in den Ausgangsspeicher zum Auslesen via SPI kopiert.
„Vorläufiges Ergebnis des Vibrationssensors ohne genannte Optimierungen“
Designautomatisierung für FPGA-Konfiguration
Der FPGA liest zu Beginn eines Arbeitszyklus die Daten via SPI vom STM32 ein und in den ADC-Treibern deserialisiert. Über den Rawbus und Rawmux werden die einzelnen digitalen Werte dann auf die implementierten Kanäle verteilt.
Innerhalb eines Kanals werden werden die Daten über den Datenbus zwischen den Filtern sequentiell ausgetauscht. Die Anzahl, Art, Reihenfolge und Parameter der Filter wird aus dem DC43-Modell heraus generiert, wobei die Reihenfolge und die Parameter zur Laufzeit geändert werden können. Sind alle Filter fertig und somit der Kanal, werden die Daten über den Channelbus an den Outputmux (kurz Omux) übertragen, dort zu einem Datenpaket zusammengefasst und via UART versendet.
Laufzeitverhalten
Alle Parameter in jedem Filter in jedem Kanal können individuell zur Laufzeit angepasst werden. Dazu sendet der Host via UART ein Command-Packet (CPKG) an den FPGA, der den gewünschten Kanal, Filter, die Parameter-ID und Parameterwert beinhaltet. Umgekehrt können die aktuellen Einstellungen und Werte auf dem gleichen Weg auch abgefragt werden. Dann erzeugt der Filter ein Antwortpaket (auch CPKG) und verschickt es über den Daten- und Channelbus.
Geht die Datenverbindung zum Host verloren, schickt dieser eine Synchronisationsanfrage an den FPGA. Dieser unterbricht eine aktuelle Datenübertragung und geht in den Ruhemodus. Mit dem nächsten Start-Bit können sich FPGA und Host neu synchronisieren.
Pythonbibliothek zum Auslesen der Daten und Ändern der Parameter
Die generierte Bibliothek libsamoasoc bietet Funktionen um den kontinuierlichen Datenstrom des UART in Pakete zu unterteilen und die darin befindlichen Informationen zu strukturieren. Die Werte werden deserialisiert und stehen dann der Anwendung über eine API zur Verfügung. Auch fordert sie eine Neusynchronisation mit dem FPGA an, wenn Pakete fehlerhaft sind.
Der Anwendung steht eine Schnittstelle zur Erstellung von Paketen (Serialisierung) zum Ändern von Parametern, dem Ein- und Ausschalten oder der Abfrage zum Status eines Filters zur Verfügung. Diese werden über den UART an den FPGA geschickt
Kontakte
Universität Augsburg: Organic Computing
Technische Systeme beinhalten eine immer größere Menge an Software und werden in Zukunft nicht mehr einzeln, sondern in vernetzten Strukturen eingesetzt. Weiterhin werden solche Systeme sich immer autonomer verhalten, um sich an geänderte Umweltbedingungen, veränderte Ziele, etc. anpassen zu können. Solche Systeme sind selbstadaptiv, selbstorganisierend, selbstheilend, selbstoptimierend, etc.
Diese Eigenschaften führen dazu, dass mit der Anzahl der Freiheitsgrade die Komplexität solcher Systeme massiv steigt. Organic Computing beschäftigt sich mit der Erforschung von Methoden und Techniken, um solche Systeme erfolgreich entwickeln und betreiben zu können.
Kontakt:
Henning Cui
https://www.uni-augsburg.de/de/fakultaet/fai/informatik/prof/oc/
henning.cui@informatik.uni-augsburg.de
Fraunhofer IGCV
Fraunhofer IGCV konzentriert sich auf die Entwicklung innovativer Lösungen für die Industrie in den Bereichen Gießerei-, Composite- und Verarbeitungstechnik. Unser Ziel ist es, die Produktionstechnik in verschiedenen Branchen wie der Automobilindustrie, dem Maschinenbau und der Luft- und Raumfahrt zu optimieren. Die Abteilung Digitalisierung und KI in der Produktion legt den Fokus auf den Transfer aktueller Forschungsergebnisse wie generative KI, intelligente Sensorintegration und Adaptive Monitoringsysteme für Anwender aus dem Mittelstand und der verarbeitenden Industrie.
Kontakt:
Andreas Margraf
https://www.igcv.fraunhofer.de
andreas.margraf@igcv.fraunhofer.de
Universität Stuttgart: Institut für Flugzeugbau
Kontakt:
Simon Heimbach
https://www.ifb.uni-stuttgart.de/institut/team/Heimbach/
heimbach@ifb.uni-stuttgart.de