Roboter als Symbol für die Story Erhöhung der Positioniergenauigkeit von Robotern

Case Study: Erhöhung der Positio­nier­ge­nau­ig­keit bei Robotern mittels Machine Learning

In dieser Case Study zeigen wir anschaulich, wie es uns mit modernen Methoden des maschinellen Lernens gelungen ist, die Positioniergenauigkeit eines Industrieroboters - bei gleichbleibender Taktzeit - um fast 50 Prozent zu verbessern.

Die Erhöhung der Ferti­gungs­ge­nau­ig­keiten ist immer ein wichtiges Thema. Inter­es­sant wird es dann, wenn dies mit bestehenden Maschinen gelingt und auch die Taktzeit unbeein­flusst bleibt. Mit Methoden des Machine Learnings können in der Serien­fer­ti­gung noch erheb­liche Poten­ziale genutzt werden: „Nur“ mit Software, Methodik und dem richtigen Know-how.

Konkurrierende Anforderungen an Roboter als Dilemma in der Serienfertigung

Bei der Entwick­lung, in der Ferti­gung und im produk­tiven Betrieb von Maschinen und Anlagen in der indus­tri­ellen Ferti­gung gibt es vielfäl­tige Anfor­de­rungen. Zwei zentrale Anfor­de­rungen stehen dabei häufig mitein­ander in einem Konkur­renz­ver­hältnis, zu deren Erfül­lung i. d. R. ein Kompro­miss einge­gangen werden muss:

  • Erfül­lung von Quali­täts­an­for­de­rungen, wie z. B. geringe Ferti­gungs­to­le­ranzen und geringe Toleranz­schwan­kungen von Teil zu Teil
  • Effizi­ente Ferti­gung zu möglichst wirtschaft­li­chen Bedin­gungen, wie z. B. die Herstel­lung auf günsti­geren „Standard­ma­schinen“ und mit möglichst hoher Ausbrin­gung, also geringer Taktzeit

Diese Anfor­de­rungen und dieses Dilemma zeigen sich in beson­derer Weise beim Einsatz von Robotern. Das liegt zum einen daran, dass die Inves­ti­ti­ons­kosten für Roboter in direkter Abhän­gig­keit zu deren Genau­ig­keit und Kinematik stehen. Hier wäre es also wünschens­wert, die Ferti­gung auf einem günsti­geren „Standard­ro­boter“ ausführen zu können, der (gerade) noch die gefor­derten Toleranz­an­for­de­rungen an die zu produ­zie­renden Teile erfüllt. Zum anderen werden Roboter genau dort einge­setzt, wo immer gleiche Ferti­gungs­schritte und Prozesse bei hoher Stück­zahl gefor­dert sind. Deshalb soll aus Gründen der Effizienz die Taktzeit möglichst kurz sein. Eine „zeitrau­bende“ Nachjus­tie­rung (Korrek­tur­be­we­gung) des Roboters im Betrieb zur Einhal­tung einer geringen Ferti­gungs­to­le­ranz ist genau wegen der oben beschrie­benen konkur­rie­renden Anfor­de­rungen nicht gewünscht.

Im Folgenden wird aufge­zeigt, wie auf der Grund­lage von erfassten Daten mit Hilfe von Software und den Methoden der künst­li­chen Intel­li­genz bzw. des Machine Learnings das Dilemma (Erfül­lung hoher Quali­täts­an­for­de­rungen bei geringer Taktzeit) entschärft bzw. gelöst werden kann!

Krite­rien bei der Auswahl von Robotern

Bei der Auswahl eines für eine spezi­elle Ferti­gungs­auf­gabe einzu­set­zenden Roboters sind vor allem folgende Kenngrößen relevant:

  • Geome­tri­sche Kenngrößen (mecha­ni­sche System­grenzen, Abmes­sungen, Arbeits­raum, Freiheits­grade, …)
  • Belas­tungs­kenn­größen (Nennlast, max. Nutzlast, Nennmo­ment, …)
  • Kinema­ti­sche Kenngrößen (Beschleu­ni­gung, Verfahr­ge­schwin­dig­keit, Verzö­ge­rung, …)
  • Genau­ig­keits­kenn­größen (Wieder­hol­ge­nau­ig­keit, Positio­nier­ge­nau­ig­keit)

Nach Bestim­mung der Handling­auf­gabe und der Belas­tungen sind es vor allem die gefor­derten Ferti­gungs­to­le­ranzen und Taktzeiten, welche die Anfor­de­rungen an die Genau­ig­keit und die Kinematik des Roboters bestimmen. Die daraus resul­tie­renden Eigen­schaften des Roboters stehen i. d. R. in Konkur­renz zuein­ander.

 

Bei dem Leistungs­kri­te­rium Genau­ig­keit eines Indus­trie­ro­bo­ters (IR) unter­scheidet man zwischen der Wieder­hol­ge­nau­ig­keit und der Positio­nier­ge­nau­ig­keit:

Wieder­ho­lungs­ge­nau­ig­keit

Die Wieder­hol­ge­nau­ig­keit (RP/ repeata­bi­lity of pose and path) gibt die Streuung der IST-Positio­nie­rung an, die der Endef­fektor des Roboters (das letzte Element der kinema­ti­schen Kette) aufweist, wenn er aus einer immer gleichen Ausgangs­lage auf eine angelernte (getea­ched) bzw. program­mierte Position verfährt, der Roboter also wieder­holt die immer gleiche Bewegung ausführt. Dieser Wert weist i. d. R. eine vergleichs­weise hohe Genau­ig­keit auf, da nur wenige verän­der­liche Störgrößen den Bewegungs­ab­lauf beein­flussen können.

Positio­nie­rungs­ge­nau­ig­keit

Die Positio­nier­ge­nau­ig­keit (auch Absolut­ge­nau­ig­keit; AP/ accuracy of pose or path) gibt die Abwei­chung in Weltko­or­di­naten an, nach Fahrten auf eine – ausge­hend vom Roboter­ko­or­di­na­ten­system berech­neten – nicht angelernte belie­bige Position. Dieser Wert weist i. d. R. im Vergleich zur Wieder­hol­ge­nau­ig­keit eine deutlich gerin­gere Genau­ig­keit auf. Die Absolut­ge­nau­ig­keit wird durch viele Faktoren des kinema­ti­schen Modells des Roboters beein­flusst (z. B. Längen- und Winkel­fehler zwischen den Roboter­glie­dern, variable Lasten des Werkstücks). Außerdem weist die Positio­nier­ge­nau­ig­keit, betrachtet über den gesamten Arbeits­raum des Roboters, nicht den gleichen Wert auf, sondern kann deutlich variieren.

Bei der Entwick­lung von Appli­ka­tionen für Roboter sollten deshalb möglichst angelernte Positionen angefahren werden. Es gibt jedoch Fälle, bei denen nicht jede Position angelernt werden kann, z. B. wenn der Roboter aufgrund der Art des Prozess­schrittes immer wieder eine andere Position anfahren muss. Hierfür werden üblicher­weise nur drei Positionen angelernt anhand derer das Roboter­ko­or­di­na­ten­system aufge­spannt wird. Nun kann die Steue­rung belie­bige Punkte inner­halb dieses Koordi­na­ten­sys­tems dynamisch berechnen und anfahren.

Fallbei­spiel: Optimie­rung der Positio­nier­ge­nau­ig­keit bei einem SCARA-Roboter

Roboter­ap­pli­ka­tionen, bei denen belie­bige Positionen im Arbeits­raum mit einer hohen Genau­ig­keit angefahren werden sollen, bereiten oft Probleme, denn das Errei­chen einer hohen Positio­nier­ge­nau­ig­keit bei gleich­zeitig dynami­schem Fahrver­halten gelingt nur selten optimal. Roboter­her­steller sind auch deshalb bei der Angabe zu konkreten Positio­nier­ge­nau­ig­keiten eher zurück­hal­tend. Wird jedoch vom Kunden eine spezi­fi­sche Positio­nier­ge­nau­ig­keit gefor­dert, korre­liert das häufig mit einem deutli­chen Anstieg in der Preis­klasse des Roboters. In manchen Fällen könnte durch die Reduzie­rung der Geschwin­dig­keit eine Verbes­se­rung bezüg­lich der Positio­nier­ge­nau­ig­keit erzielt werden. Das entspräche dann aller­dings nicht mehr den Vorgaben bezüg­lich der Taktzeit.

Wünschens­wert wäre deshalb ein software­ba­siertes Verfahren, um die Positio­nier­ge­nau­ig­keit zu verbes­sern, ohne nachtei­ligen Einfluss auf die Dynamik (Geschwin­dig­keit) und damit die Taktzeit. Das wäre zum einen inter­es­sant für neue Anwen­dungs­fälle, weil hier günsti­gere Standard­ro­boter einge­setzt werden könnten, welche durch die Software-Optimie­rung den „höheren“ Anfor­de­rungen gerecht werden könnten. Zum anderen könnten so aber auch bestehende Anlagen nachge­rüstet werden, um die Genau­ig­keit (höhere Qualität) zu steigern bzw. die Taktzeit (kürzere Durch­lauf­zeit, höhere Stück­zahl) zu verkürzen.

Eine solche Aufga­ben­stel­lung hat sich bei einem unserer langjäh­rigen Kunden (Firma Manz AG, Reutlingen) ergeben. So haben wir im Rahmen eines gemein­samen Projektes die Möglich­keit zur Optimie­rung der Positio­nier­ge­nau­ig­keit bei gleich­zei­tiger Einhal­tung der Taktzeit mithilfe eines software­ba­sierten Verfah­rens ermit­telt und die Tauglich­keit des Einsatzes im indus­tri­ellen Bertrieb überprüft.

Zielset­zung: Entwick­lung einer generi­schen Software, welche die Positio­nie­rungs­ge­nau­ig­keit von verschie­densten Roboter­typen optimieren kann.

Betrachtet wurde ein sog. SCARA-Roboter (Selec­tive Compli­ance Assembly Robot Arm) des Roboter­her­stel­lers Stäubli. Dies ist eine spezi­elle Bauform eines Roboters, dessen Aufbau einem mensch­li­chen Arm ähnelt und daher auch als horizon­taler Gelenk­arm­ro­boter bezeichnet wird. Diese Art von Roboter wird in vielen Anwen­dungs­fel­dern in der Indus­trie einge­setzt, z. B. beim Schweißen, Kleben, Fräsen, Bohren, Biegen, Montieren etc. und für vielfäl­tige Handling­auf­gaben.

Abbildung des verwendeten Roboters

Lösungs­an­sätze

Versuchs­aufbau

Bei dem Vorhaben, die Positio­nier­ge­nau­ig­keit zu verbes­sern, ist neben den in den Achsen der Roboter­ge­lenken verbauten Lagesen­soren ein weiteres Messsystem erfor­der­lich, welches die tatsäch­liche Positio­nie­rung in Weltko­or­di­naten und somit auch den Fehler ermit­teln kann. Es wird sowohl in der Entwick­lung, als auch bei der späteren Evalu­ie­rung eines Korrek­tur­sys­tems benötigt. Die indus­tri­elle Bildver­ar­bei­tung ist dafür wie geschaffen. Deshalb haben wir uns für eine am Endef­fektor befes­tigte Indus­trie­ka­mera entschieden, welche mittels Bildver­ar­bei­tung die tatsäch­liche („wahre“) IST-Position bestimmen kann. Für unsere Roboter­ap­pli­ka­tion war vor allem die genaue Positio­nie­rung auf der Z‑Ebene von zentraler Bedeu­tung. Deshalb haben wir das Problem auf zwei Dimen­sionen reduziert (X- und Y‑Achse) und mussten daher auch nur 2D-Messungen durch­führen, welche mit gewöhn­li­chen Kameras ohne Tiefen­mes­sung problemlos funktio­niert.

Foto des eingesetzten Roboters und der Kalibierplatte
Foto zeigt IDS Kamerasystem

Roboter mit Kamera­system; Erken­nung der Abwei­chung zwischen IST- zur SOLL-Position

Für das Problem existieren zwei grund­sätz­lich unter­schied­liche Lösungs­an­sätze

1. Beim klassi­schen Vorgehen aus dem Maschi­nenbau würde man die durch das kamera­ba­sierte Messsystem gewon­nenen Infor­ma­tionen über den Positio­nie­rungs­fehler verwenden, um einen Regel­kreis aufzu­bauen. Der Regel­kreis würde den Roboterarm solange nachre­geln, bis er die gewünschte Position – mit der Begren­zung auf die Genau­ig­keit der Kamera – erreicht hat.

2. Wir haben uns jedoch für einen Lösungs­an­satz mit der Methode des daten­ge­trie­benen Machine Learnings entschieden, da dieser einige entschei­dende Vorteile gegen­über der klassi­schen Lösung des Nachre­gu­lie­rens aufweist. Wir folgen damit dem Paradig­men­wandel des Machine Learnings von „Algorithmus → Daten → Entschei­dung“ hin zu „Daten → Algorithmus → Entschei­dung“. Das bedeutet für den konkreten Anwen­dungs­fall, dass wir zunächst Daten sammeln mussten, um im Anschluss daran anhand der Daten einen Algorithmus zu entwi­ckeln bzw. zu trainieren, welcher eine Entschei­dung treffen kann und damit den Prozess optimiert.

Bishe­riges Vorgehen:

Grafik zeigt die bisherige Vorgehensweise bei der Entscheidungsfindung von Algorithmen ausgehend

Künftiges Vorgehen:

Grafik zeigt die Entscheidungsfindung im Machine Learning ausgehend von Datenbeständen

Lösung

Die grund­le­gende Idee besteht darin, ein Machine Learning Modell nach einer korri­gierten Position in X- und Y‑Richtung zu fragen, bevor eine dynami­sche Position angefahren wird. Der Endef­fektor wird dann genauer über der gewünschten Position platziert. Doch wie kommen wir zu so einem Modell? Es gibt verschie­dene Machine Learning Methoden (z. B. Lineare Regres­sion, Support Vector Machines, Random Forest, Neuro­nale Netze), die alle nach demselben „Lern“-Prinzip arbeiten. Indem man diese Methoden mit einem Daten­satz trainiert, lernen sie das Verhältnis zwischen Eingangs­daten (sog. „Features“) und Ausgangs­daten (sog. „Label“). Ein Algorithmus optimiert die Modell­pa­ra­meter also so weit, damit das trainierte Modell den Output möglichst genau vorher­sagen kann. Je nach Auswahl der Methode können beliebig komplexe Entschei­dungs­funk­tionen appro­xi­miert werden. Die Heraus­for­de­rung liegt in der Auswahl und Konfi­gu­ra­tion der am besten für das Problem geeig­neten Methode. Denn ein Machine Learning Modell ist nur dann erfolg­reich, wenn es das dem Trainings­da­ten­satz zugrunde liegende Problem „erkennt“ und es genera­li­sieren kann, um auch für neue Daten die richtigen Entschei­dungen zu treffen. Einfa­ches „auswendig lernen“ liefert kein verwert­bares Ergebnis. Dann beschreibt es zwar die Trainings­daten perfekt, der Transfer auf neue Anwen­dungs­fälle wird jedoch schei­tern.

Grafik zeigt Black Box in einem Machine Learning Modell

Mit diesem Lösungs­an­satz betrachten wir das Problem der Positio­nie­rungs­op­ti­mie­rung als Black-Box. Wir sind nicht darin inter­es­siert, die genauen Ursachen für den Positio­nie­rungs­fehler ausfindig zu machen. Das Machine Learning Modell übernimmt das für uns im Abstrakten während des Trainings und liefert uns ledig­lich einen Gesamt­kor­rek­tur­wert.

Erster Schritt: Daten sammeln

Im ersten Schritt steht die Daten­er­fas­sung an, um einen Trainings­da­ten­satz zu erstellen. Alle Daten, hinter welchen eine Korre­la­tion mit dem Problem vermutet werden kann, müssen aufge­zeichnet werden. In unserem Fall möchten wir den zu erwar­tenden Positio­nie­rungs­fehler vorher­sagen, um eine korri­gierte SOLL-Position zu berechnen. Wir vermuten eine Korre­la­tion mit den Zielpunkt­ko­or­di­naten (SOLL-Position), da die Absolut­ge­nau­ig­keit im Arbeits­be­reich variiert. Zusätz­lich wählen wir die Start­ko­or­di­naten der Bewegung, sowie die Geschwin­dig­keit als Features des Trainings­da­ten­satzes aus. Zu jedem Feature-Vektor wird dann noch das Ergebnis der Positi­ons­mes­sung via Kamera als Label hinzu­ge­fügt. Mit unserem Modul „Collect“ zur Daten­er­fas­sung aus dem Ecosystem IIoT Building Blocks ist das Aufzeichnen von Daten verschie­dener Roboter, Steue­rungen und Sensoren mit wenigen Klicks konfi­gu­riert.

Collect

Sammlung der Daten mithilfe des Moduls „Collect“ aus unseren IIoT Building Blocks

Grund­sätz­lich ist die Generie­rung der Trainings­daten im produk­tiven Normal­be­trieb der Maschine reali­sierbar. Die kamera­ba­sierte Positi­ons­mes­sung kann jedoch unter Umständen aufwen­diger sein. Da wir uns noch in der Ramp-up-Phase befunden haben, konnten wir die Generie­rung der Daten als „Trocken­übung“ reali­sieren, indem wir mit dem Roboter über eine Kamera­ka­li­brier­platte mit hoch präzise gedruckten Markern gefahren sind, ohne Einsatz eines Werkzeugs oder Greifers.

Foto des eingesetzten Roboters und der Kalibierplatte
Generie­rung von Trainings­daten mithilfe einer Kamera­ka­li­brier­platte
Bild einer Kalibrierplatte

Ein Steue­rungs­pro­gramm hat den SCARA-Roboter von jeweils verschie­denen, zufällig generierten Start­po­si­tionen aus auf dynamisch ausge­rech­nete Positionen (6 x 7 Marker) mit unter­schied­li­chen Geschwin­dig­keiten angefahren. Am Zielpunkt angekommen, hat die Bildver­ar­bei­tungs­soft­ware die tatsäch­liche (wahre) Position ermit­telt. Die dabei generierten Daten wurden mit dem Modul „Collect“ erfasst und gespei­chert..

Device Slider

Zweiter Schritt: Daten visua­li­sieren und Aufstellen erster Hypothesen

Nachdem der Roboter einige Male über jeden Marker der Kalibrier­platte gefahren ist, haben wir die gespei­cherten Daten in eine „Anaconda Python“-Umgebung geladen, dort entspre­chend berei­nigt und in einen Trainings­da­ten­satz mit „Feature Vektor“ + „Label“ überführt. Mit der Python Biblio­thek „Matplotlib“ haben wir mehrere Plots angefer­tigt, um die Daten besser zu verstehen und um die Qualität der Features bewerten zu können. Die Abbil­dung zeigt das Koordi­na­ten­system der Kalibrier­platte. An der Stelle der Marker, die der Roboter angefahren hat, ist der mittlere Fehler durch einen Vektor­pfeil einge­zeichnet (je länger der Pfeil desto größer der Positi­ons­fehler). Zusätz­lich visua­li­siert die Größe der blauen Kreise die Höhe der Standard­ab­wei­chung.

Explore

Speiche­rung und Visua­li­sie­rung der Daten mithilfe des Moduls „Explore“ aus unseren

IIoT Building Blocks.

Grafik zeigt Abweichungen auf X- und Y-Achse
Die Abbil­dung zeigt ein deutlich erkenn­bares Muster. Für die Überprü­fung der Plausi­bi­lität ist es ein gutes Zeichen, dass die Zielko­or­di­naten mit dem Positio­nie­rungs­fehler korre­lieren.

Betrachten wir die Vertei­lung der Positio­nie­rungs­fehler des Markers links unten in der Detail­auf­lö­sung ergeben sich folgende Scatter-Plots:

Skatter-Plot Diagramm zeigt Verteilung der Positionierungsfehler (Override)
Override
Skatter-Plot Diagramm zeigt Verteilung der Positionierungsfehler (Time)
Time
Skatter-Plot Diagramm zeigt Verteilung der Positionierungsfehler (Start X)
Start X
Skatter-Plot Diagramm zeigt Verteilung der Positionierungsfehler (Start Y)
Start Y

Die Farbe der Punkte reprä­sen­tieren jeweils ein unter­schied­li­ches Feature. Vor allem für die X‑Koordinate der Start­po­si­tion ist ein deutli­cher Farbver­lauf zu erkennen. Die Zeit, also die Verfahr­ge­schwin­dig­keit, scheint demge­gen­über keinen großen Einfluss auf den Verlauf des Positio­nie­rungs­feh­lers zu haben.

Dritter Schritt: Model­lie­rung

Nachdem die Daten berei­nigt, forma­tiert und zum besseren Verständnis visua­li­siert wurden, bestand die Heraus­for­de­rung darin, ein passendes Modell zu finden und mit den Daten zu trainieren. Die Beschaf­fen­heit der Daten beein­flusst maßgeb­lich die Modell­aus­wahl. Die Modell­frei­heits­grade sollten so dimen­sio­niert sein, dass sie das Problem gerade noch beschreiben können. Beschreiben die Daten zum Beispiel einen linearen Verlauf, tendiert ein Modell, welches Funktionen deutlich höherer Ordnung appro­xi­mieren könnte, zum Auswen­dig­lernen, aber nicht zum Genera­li­sieren (sog. „Overfit­ting“). Umgekehrt ist ein Modell mit zu geringen Freiheits­graden überhaupt nicht in der Lage das Verhalten der Daten zu erfassen (sog. „Under­fit­ting“). Bei größeren Daten­sätzen (> 3 Dimen­sionen) gelingt es kaum mehr, auch nicht mit geschickter Visua­li­sie­rung, die Beschaf­fen­heit der Daten zu begreifen, um dann eine passende Modell­fa­milie auszu­wählen. Die Model­lie­rung erfolgt norma­ler­weise nach dem Trial-and-Error Verfahren. Durch Analyse und Auswer­tung verschie­dener Kenngrößen, wie z. B. der Lernkurve beim Training oder beim Testen des fertig trainierten Modells anhand eines zunächst vorent­hal­tenden Testda­ten­satzes, kann die Qualität eines Modells bestimmt werden. Wir haben zunächst verschie­dene Modelle auspro­biert und mitein­ander vergli­chen, unter anderem ein Lineares Regres­sions-Modell mit verschie­denen Konfi­gu­ra­tionen und unter­schied­liche neuro­nale Netz-Archi­tek­turen. Die besten Ergeb­nisse erzielte dabei ein neuro­nales Netz mit „2‑hidden layer 16–10“. Wir verwen­deten dieses Netz, um jeweils ein Modell für X- und Y‑Korrekturwerte zu trainieren.

Improve

Model­lie­rung der Methode (3. Schritt) und Bereit­stel­lung des Machine Learning Modells (4. Schritt) mithilfe des Moduls „Improve“ aus unseren IIoT Building Blocks.

Tabelle Modell "Error Y"
Tabelle Modell "Error X"

Vierter Schritt: Bereit­stel­lung

Das mit Python entwi­ckelte und trainierte Machine Learning Modell musste nun dem Roboter bzw. seiner Steue­rung zur Verfü­gung gestellt werden. Hierfür haben wir eine Software entwi­ckelt, welche herkömm­liche Modell­for­mate laden kann und mit einem OPC UA Inter­face ausstattet. Vorher­sa­ge­an­fragen an das Modell erfolgen somit über ein in der Indus­trie standar­di­siertes Kommu­ni­ka­ti­ons­pro­to­koll. Mittels den UA Methods (RPS im OPC UA Context) wird das Modell aufge­rufen. Diese Lösung ist aller­dings nur prakti­kabel, wenn die Abfrage nicht in Echtzeit erfolgen muss, da OPC UA nicht echtzeit­fähig ist. Für unseren Fall war das tolerierbar, da der Roboter die Korrektur stets zu Beginn einer Bewegung anfor­dert und nicht während der Fahrt. Die Round-Trip-Time für den Aufruf war in der Regel sehr schnell und lag im niedrigen Milli­se­kunden Bereich. Das Modell-Deploy­ment als Web-Service zeichnet sich durch die lose Koppe­lung aus und ist daher auch einfach in die DevOps/ MLOps Pipeline integrierbar.

Grafik zeigt Prozessmodell mit docker-Container

Ergeb­nisse

Nachdem dem Roboter das Modell, welches anhand der Testdaten am besten abgeschnitten hat (d.h. den kleinsten Vorher­sa­ge­fehler aufwies) zur Verfü­gung stand, haben wir mit dessen Korrek­tur­werten Testfahrten durch­ge­führt und mit der Kamera den verblie­benen Positio­nie­rungs­fehler gemessen. Bei den Testfahrten wurden jedoch nicht die gleichen Positionen wie bei der Erstel­lung der Trainings­daten angefahren, sondern dem Modell unbekannte Positionen, um so die Fähig­keit der Genera­li­sie­rung zu überprüfen. Die Abbil­dung zeigt die Positio­nie­rungs­fehler auf der Kalibrier­platte mit Korrektur und ohne Korrektur im Vergleich. Im Großen und Ganzen konnte der Fehler durch­schnitt­lich von 114 μm um 54 % auf 62 μm reduziert werden. Die Standard­ab­wei­chung ist ähnlich geblieben (Verbes­se­rung um ca. 10 %), da sie eher das Maß der Wieder­hol­ge­nau­ig­keit ausdrückt. Für die meisten Testpunkte konnte der Fehler deutlich reduziert werden. Auffällig ist jedoch, dass das Modell für die unterste Zeile nicht so gut funktio­niert. Die Modell­ent­schei­dungen von neuro­nalen Netzen sind nicht klar nachvoll­ziehbar, da sich die gelernten Modell­pa­ra­meter nur schlecht bis gar nicht inter­pre­tieren lassen. So kann es für einzelne Testpunkte vorkommen, dass der Positio­nie­rungs­fehler mit Korrektur unter Umständen größer wird als ohne Korrektur.

Device Slider
Tabelle zeigt die prozentuale Verbesserung des mittleren Gesamtfehlers und der Standardabweichung

Abwei­chungen zwischen IST- und SOLL-Position ohne Korrektur

Abwei­chungen zwischen IST- und SOLL-Position mit Korrektur

Abweichungen der Positioniergenauigkeit dargestellt als Skatter Plots 1
Abweichungen der Positioniergenauigkeit dargestellt als Skatter Plots 2
Abweichungen der Positioniergenauigkeit dargestellt als Skatter Plots 3

Vorteile durch die Optimie­rung der Positio­nier­ge­nau­ig­keit mit Machine Learning

Ein für den benötigten Arbeits­raum hinrei­chend genau getes­tetes Modell bringt entschei­dende Vorteile gegen­über einer klassi­schen, regel­ba­sierten Lösung:

Fazit:
Es kommt im Einzel­fall immer auf die Art des Problems und die Beschaf­fen­heit der Daten an, ob eine Lösung mit dem Machine Learning Ansatz sinnvoll ist und auch funktio­niert. In manchen Fällen kann eine klassi­sche Lösung (hier z. B. mit Kamera­system und Nachre­gu­lie­rung) auch einfa­cher und genauer sein. Es gibt jedoch viele Bereiche, darunter Bildklas­si­fi­zie­rung, Objekt­er­ken­nung, Zeitreihen-Vorher­sagen oder Klassi­fi­zie­rung, in denen Machine Learning aufgrund der Verschie­den­ar­tig­keit der Daten und der großen Anzahl an Dimen­sionen sehr gute Ergeb­nisse erzielt.

Weitere Aktivitäten
Die iT Engineering GmbH reagiert auf veränderte Rahmenbedingungen & firmiert künftig unter dem Namen "iT Engineering Software Innovations GmbH". Gleichzeitig werden die MES-Aktivitäten in das neu gegründete Unternehmen "iT Engineering Manufacturing Solutions GmbH" ausgelagert.
Eine Initiative des Vereins Deutscher Werkzeugmaschinenfabriken (VDW e.V.) entwickelt momentan die universelle Schnittstelle "umati" für Werkzeugmaschinen. iT Engineering Software Innovations GmbH unterstützt das Konsortium ab sofort als Software Partner.
Scroll to Top

Gib hier deine Überschrift ein

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.