Augmented Cold Forming

Im Rahmen meiner Tätigkeit als wissenschaftliche Hilfskraft an der Universität Siegen und am Mittelstand 4.0-Kompetenzzentrum Siegen übernahm ich die Konzeption und Entwicklung eines Augmented Reality (AR)-Prototyps zur Unterstützung von Maschinenbedienern bei einem Klaltumformprozess von Klöpperböden (engl. Torishperical Head, im Weiteren TH).

Ziel des Projekts

Das Projekt wird mit einer Partnerfirma umgesetzt, die den Kaltumformprozess im Rahmen ihrer Wertschöpfung täglich durchführt. Dabei kommt eine Maschine zum Einsatz, die weder über eine Anzeige aktueller Parameterwerte der Maschine noch über eine Netzwerkanbindung verfügt. Aufgrund dieser Voraussetzungen und dem Alter der Maschine setzt der Umformprozess ein erhebliches Maß an Prozesswissen und Tacit Knowledge der MaschinenbedierInnen voraus. Fehlt dieses Wissen ist von einer erhöhten Fehlproduktionsrate auszugehen.

Mittelstand 4.0 Kompetenzzentrum

Das Mittelstand 4.0-Kompetenzzentrum Siegen unterstützt kleine und mittlere Unternehmen in Südwestfalen, dem Ruhrgebiet und darüber hinaus bei der Digitalisierung. Dabei stehen immer die Mitarbeiter im Mittelpunkt. Das Angebot des Kompetenzzentrums ist kostenfrei und anbieterneutral.

Erstes Projektziel war demnach weniger erfahrenen MaschinenbedienerInnen ein User Interface (UI) zur Verfügung zustellen, dass Ihnen wichtige Informationen während des Umformprozesses an den relevanten Stellen anzeigt, jedoch gleichzeitig weiterhin den notwendigen Einblick auf die Maschine gewährleistet.

Graphische Darstellung zentraler UI Bestandteile und deren Funktion für die AR-Anwendung zur Unterstützung des Kaltumformsprozesses von THs.
Graphische Darstellung zentraler UI Bestandteile und deren Funktion für die AR-Anwendung zur Unterstützung des Kaltumformsprozesses von THs. Diese wurden in einen Screenshot einer empirischen Videoaufzeichnung montiert, die das Sichtfeld der MaschinenbedienerInnen während des Umformprozesses zeigt.

In Abstimmung mit meinem Projektleiter, der zuvor Informationen über den Nutzungskontext und -anfordungen der Bedienenden mittels Videoaufzeichnungen aus der Perspektive eines Maschinenbedieners erhoben hatte, entwarf ich ein erstes Konzept für zentrale UI-Elemente, das im nächsten Schritt prototypisch umgesetzt werden sollte.

Implementierung

Dynamische Generierung von TH-Meshes

Ein zentraler Aspekt der konzipierten UI-Elemente ist die Anzeige von Parametereinstellungen abhängig vom aktuellen Prozessfortschritt. Das heißt, ist der Radius des TH beispielsweise schon ca. 30% geformt, müssen Druck und Geschwindigkeit angepasst werden. Erfahrene Angestellte erkennen dies direkt am zu biegenden Artikel, für weniger Erfahrene sollen AR-Markierungen direkt am Artikel und in der Nähe angezeigte Anweisungen Orientierung verschaffen.

Um eine akurate Anzeige dieses UI für alles verschiedenen TH-Größen zu gewährleisten, wurde ein Script für Unity geschrieben, das die TH-Daten eines beliebigen Artikel, wie Bogenradius und Eckradius, und die geometrischen Funktionen einer Kugel, eines Torus und eines Zylinders verwendet, um Oberflächenpunkte für den jeweiligen TH zu berechnen. Mithilfe dieses Scripts lassen sich dann beispielsweise korrekte Meshes in Unity während der Laufzeit erzeugen oder die Positionspunkte für UI-Elemente berechnen. Im folgenden Video werden die zentralen Funktionen dieses Scripts veranschaulicht.

Klicke auf das Bild, um das Video auf Vimoe abzuspielen.

ScripatbleObject-basierte Datenstruktur

Da das Kooperationsunternehmen verschiedene Artikel, d.h. THs mit verschiedenen Maßen, umformt, war es darüberhinaus notwendig, eine Datenstruktur zu erstellen, die Artikel sowie deren Beziehungen und Abhängigkeiten zu anderen Entitäten wie Materialien, Maschinen und Anweisungen adäquat erfasst.

Für diese Datenstruktur wurden Klassen auf Basis von Unitys ScriptableObject (SO)-Klasse erstellt. Instanzen dieser Klassen können bereits vor der Laufzeit erstellt, mithilfe des Unity Inspectors bearbeitet und als Assets permanent gespeichert werden. Zusätzliche Instanzen können auch während der Laufzeit erstellt werden, beispielsweise mithilfe der Information einer entsprechend formatierten JSON-Datei.

Klassendiagramm der zentralen, ScripatbleObject-basierten Klassen des Unity-Projekts
Klassendiagramm der zentralen, ScripatbleObject-basierten Klassen des Unity-Projekts. Grüne Pfeile zeigen Vererbung an, graue eine Referenz innerhalb der Klasse.

Die zentrale Klasse Article referenziert weitere SO-basierte Klassen:

  • TorisphericalHead enthält geometrische Informationen, wie Radien.
  • Material enthält Material-Informationen, wie Qualität.
  • PressureProfileCollection enthält eine Reihe an Anweisungen für den Maschinenbediener, wie die Druckintensität bei einem bestimmten Fortschrittsgrad.
  • Machine enthält Informationen zur Maschine, wie Verschleißgrad.

Die Article-Klasse referenziert mindestens ein Maschine-PressureProfileCollection-Paar mittels eines Dictionarys, da je nach verwendeter Maschine die Anweisungen an die Bedienenden variieren.

Die zentrale Verwaltung aller Datenklassen-Instanzen wird von der SO-Klasse DataManager übernommen. Dieser stellt auch die Schnittstelle für UI-Komponenten dar, um auf die vorgestellten Datenklassen zuzugreifen.

Management UI

Um den Maschinenbedienern zu ermöglichen variable Paramter einzustellen, wurde ein simples Managment-UI konzipiert und auf Basis existierender MixedRealityToolkit (MRTK)-Komponenten implementiert.

Die MaschinenbedienerInnen müssen nach den Nutzungsanforderungen den zu formenden Artikel, die verwendete Maschine sowie Maschinenverschleißgrad und Materialqualität im System eingeben können, um zuverlässige Anweisungen durch die Anwendung angezeigt zu bekommen. Das resultierende UI und seiner Funktion kann in folgendem Video nachvollzogen werden.

Klicke auf das Bild, um das Video auf Vimeo abzuspielen

Weitere Anwendugsfeatures

Da die verwendete Maschine keine Echtzeitanzeigen bezüglich maschinenspezifischer Paramteter, wie aktuellem Druck oder aktuellerGeschwindikeit, bereitstellt, wurde eine virtuelle Anzeige mittels der HoloLens implementiert.

Um die aktuellen Maschinendaten der Anwendung zur Verfügung zu stellen wurde ein frei verfügbarer, für UWP-Anwendungen angepasster WebSocket-Client (https://github.com/SoylentGraham/Websocket-Sharp-UWP) in die Anwendung integriert. Dieser ruft Echtzeitdaten der Maschine von einem vernetzten RaspberryPi ab, um die jeweiligen Maschine-Klassen in Echtzeit zu aktualisieren. Das Auslesen der Maschinendaten direkt an der Maschine und die Bereitstellung des RaspberryPi inklusive WebSocket-Server waren ebenfalls Teil des Projekts, fielen jedoch nicht in meinen Aufgabenbereich.

Expert To Go Logo des Projekts Cyberrüsten 4.0

Expert To Go

Im Rahmen des Forschungsprojekt Cyberrüsten 4.0 entwickelte Anwendung für die Microsoft HoloLens an deren Entwicklung ich als wissenschaftliche Hilfskraft beteiligt war.

Zur korrekten und zuverlässigen Platzierung der UI-Komponenten an der Position des realen TH kamen bereits im Forschungsprojekt Cyberrüsten 4.0 für den Expert To Go entwickelte Assets zum Einsatz, die Objekterkennungssoftware Vuforia und einen Array an 2D-Markern nutzen, um virtuelle Elemente im dreidimensionalen Raum zu platzieren.

Das Anwendungsprojekt läuft aktuell weiter und der entwickelte Software-Prototyp befindet sich in der Evaluationsphase.