-
Die Erfindung betrifft ein Verfahren zum Trainieren eines Klassifikators, ein Verfahren zum Betreiben eines Klassifikators, eine Trainingsvorrichtung, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Aus der nicht vorveröffentlichten
DE 10 2019 209 560.7 ist ein Verfahren zur Datenaugmentierung bekannt.
-
Vorteile der Erfindung
-
Elektrische oder pneumatische Schraubendreher ermöglichen das eindrehen von Schrauben mit einem hohen Drehmoment. Falls ein elektrischer oder pneumatischer Schraubendreher eine Schraube komplett in ein entsprechendes Werkstück eingedreht hat, kann vorzugsweise die Drehung des Schraubendrehers gestoppt werden, damit die Schraube nicht beschädigt wird.
-
Zum Detektieren, wann eine Schraube komplett eingedreht wurde, kann ein Klassifikator verwendet werden.
-
Es ist wünschenswert den Klassifikator derart zu trainieren, dass er eine bestmögliche Performanz bei der Detektion erzielen kann. Als Performanz kann hier die ein Maß für die Fähigkeit des Klassifikators verstanden werden, korrekt zu klassifizieren, ob eine Schraube bereits komplett eingedreht wurde oder nicht.
-
Ein bekanntes Verfahren zur Steigerung der Performanz eines Klassifikators ist Datenaugmentierung (Englisch: Data Augmentation). Hierbei werden Trainingsdaten des Klassifikators basierend auf vorzugsweise zufälligen Funktionen derart transformiert, dass eine jeweilige Klassenzugehörigkeit bestehen bleibt, die Daten in ihrer Form sich aber ändern. Hierdurch können dem Klassifikator zum Training mehr diverse Daten präsentiert werden, was die Performanz steigert. Die Performanz kann dabei am besten gesteigert werden, wenn die Funktionen aus den originalen Daten veränderte Daten ermitteln können, die denen entsprechen, die im Betrieb des Klassifikators zu erwarten sind.
-
Der Vorteil des Verfahrens mit Merkmalen des unabhängigen Anspruchs 1 ist, dass der Klassifikator derart trainiert wird, dass eine Performanz des Klassifikators gegenüber bekannten Trainingsverfahren verbessert wird. Vorteilhafterweise geschieht dies über ein Datenaugmentierungsverfahren, welches die Trainingsdaten des Klassifikators derart anpasst, dass Sensorsignale ermittelt werden, die im Betrieb des Klassifikators zu erwartende Sensorsignale realistisch abbildet.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Trainieren eines Klassifikators, wobei der Klassifikator ausgebildet ist, ein erstes Sensorsignal eines elektrischen oder pneumatischen Schraubendrehers entgegenzunehmen und basierend auf dem ersten Sensorsignal eine Ausgabe zu ermitteln, wobei die Ausgabe charakterisiert, ob eine vom Schraubendreher gedrehte Schraube komplett eingedreht ist, wobei das Sensorsignal eine Zeitreihe einer vorgebbaren erste Anzahl von Messwerten umfasst, wobei die Messwerte von zumindest einem ersten Sensor in regelmäßigen Zeitschritten aufgenommen werden, wobei der zeitliche Abstand zweier aufeinander folgender Messwerte des ersten Sensorsignals eine erste Frequenz charakterisiert, wobei das Verfahren zum Training die folgenden Schritte umfasst:
- • Ermitteln von zumindest einem zweiten Sensorsignal, wobei das zweite Sensorsignal eine vorgebbare zweite Anzahl von Messwerten umfasst, wobei die Messwerte zu regelmäßigen Zeitschritten aufgenommen werden, wobei der zeitliche Abstand zweier aufeinander folgender Messwerte des zweiten Sensorsignals eine zweite Frequenz charakterisiert, wobei die regelmäßigen Zeitschritte so gewählt werden, dass die erste Frequenz ein ganzzahliges vielfaches der zweiten Frequenz ist, ferner wobei dem zweiten Sensorsignal eine Klasse zugeordnet wird, die charakterisiert, ob das zweite Sensorsignal eine Veränderung des Zustands charakterisiert oder nicht;
- • Aufteilen des zweiten Sensorsignals in gleichgroße und aufeinander folgende Unterfolgen von Messwerten, wobei die Anzahl der Messwerte in einer Unterfolge jeweils gleich dem Ergebnis einer Division der ersten Frequenz durch die zweite Frequenz ist;
- • Ermitteln eines dritten Sensorsignals, wobei zur Ermittlung jeweils ein Messwert zufällig aus jeder Unterfolge des zweiten Sensorsignals ermittelt wird und die so ermittelten Messwerte entsprechend der Reihenfolge der Unterfolgen, aus denen sie ermittelt wurden, angeordnet werden und als drittes Sensorsignal bereitgestellt werden, ferner wobei dem dritten Sensorsignal die Klasse des zweiten Sensorsignals zugeordnet wird;
- • Ermitteln einer Ausgabe für das dritte Sensorsignal;
- • Anpassen einer Mehrzahl von Parametern basierend auf einem Unterschied zwischen der ermittelten Ausgabe und der dem dritten Sensorsignal zugeordneten Klasse.
-
Eine Schraube kann als komplett eingedreht verstanden werden, wenn ihr Kopf mit einem Werkstück, in das sie eingedreht wird, bündig abschließt. Alternativ oder zusätzlich kann eine Schraube als komplett eingedreht verstanden werden, wenn ein weiteres Eindrehen der Schraube ins Werkstück verhindert wird, beispielsweise, wenn die Schraube auf eine andere Schraube trifft, die bereits ins Werkstück eingedreht wurde.
-
Als erster Sensor können verschiedene Sensoren verwendet werden, insbesondere Sensoren zur Drehrate des Schraubendrehers oder Sensoren zur Leistungsaufnahme des Schraubendrehers.
-
Mittels des Sensors können in vorzugsweise regelmäßigen zeitlichen Abständen Messungen vorgenommen werden. Mehrere Messungen können zu einem Sensorsignal zusammengefasst werden. Hierbei können die Messungen im Sensorsignal vorzugsweise entsprechend eines Zeitpunkts ihrer Aufnahme angeordnet werden.
-
Der Klassifikator kann trainiert werden, indem ihm Sensorsignale und den Sensorsignalen entsprechende Klassen, welche eine gewünschte Ausgabe des Klassifikators charakterisieren, als Trainingsdaten übermittelt werden und der Klassifikator derart angepasst wird, dass er zu einem Sensorsignal eine Ausgabe ermittelt, welche die entsprechende Klasse charakterisiert.
-
Die Performanz des Klassifikators kann als die durchschnittliche Korrektheit des Klassifikators verstanden werden, also einen Anteil, der charakterisiert, wie häufig der Klassifikator für eine Mehrzahl von Sensorsignal die gewünschte Klasse korrekt bestimmt. Im Allgemeinen gilt, dass je größer die Anzahl an unterschiedlichen Trainingsdaten ist, desto größer die Performanz des Klassifikators nach dem Training ist.
-
Das vorgeschlagene Verfahren zum Training des Klassifikators kann als eine besondere Form der Datenaugmentierung verstanden werden. Der Vorteil ist, dass durch das Verfahren zusätzliche geeignete Trainingsdaten ermittelt werden können, wodurch die Performanz des Klassifikators gesteigert werden kann.
-
Zu diesem Zweck werden die Messungen des zweiten Sensorsignals mit einer zweiten Frequenz aufgenommen, die einem ganzzahligen vielfachen Faktor der ersten Frequenz entspricht. Zum Training werden diese Messungen dann in Untermengen oder Blöcke gleicher Länge aufgeteilt und aus jedem der Blöcke jeweils eine Messung zufällig ausgewählt. Die zufällig ausgewählten Messungen können dann gemäß einem Zeitpunkt ihrer Aufnahme sortiert werden und als drittes Sensorsignal bereitgestellt werden.
-
Durch dieses Vorgehen kann die Menge der Trainingsdaten vorteilhafterweise exponentiell vergrößert werden, wobei die Trainingsdaten, also die dritten Sensorsignale, jeweils reale Messungen umfassen und damit reale Sensorsignale charakterisieren. Dadurch kann die Performanz gegenüber anderen Datenaugmentierungsverfahren stark gesteigert werden.
-
In einer bevorzugten Ausprägung der Erfindung ist vorstellbar, dass die Schritte des Ermittelns des dritten Sensorsignals, des Ermittelns der Ausgabe und des Anpassens der Mehrzahl von Parametern iterativ wiederholt werden, bis eine vorgegebene Anzahl von Iterationen erreicht wurde und/oder der Unterschied unterhalb eines vorgegebenen Schwellenwertes liegt.
-
Hierdurch lässt sich die Performanz vorteilhafterweise weiter steigern.
-
In einem weiteren Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Ansteuern eines elektrischen oder pneumatischen Schraubendrehers (400) umfassend die Schritte:
- • Trainieren eines Klassifikators (60) nach Anspruch 1 oder 2;
- • Ermitteln eines ersten Sensorsignals (x);
- • Ermitteln einer Ausgabe (y) mittels des Klassifikators (60) basierend auf dem ersten Sensorsignal (x);
- • Ansteuern des Schraubendrehers entsprechend der Ausgabe.
-
Vorteilhafterweise kann der Schraubendreher so angesteuert werden, dass die Drehbewegung des Schraubendrehers automatisch gestoppt wird, sobald mittels des Klassifikators erkannt wurde, dass eine vom Schraubendreher eingedrehte Schraube komplett eingedreht ist. Der Vorteil dieses Vorgehens ist, dass dadurch verhindert wird, dass der Schraubendreher und/oder die Schraube beschädigt wird.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 schematisch ein Verfahren zur Ermittlung eines Trainingsdatensatzes;
- 2 schematisch ein Trainingssystem zum Trainieren eines Klassifikators;
- 3 schematisch ein Steuerungssystems;
- 4 schematisch einen elektrischen Schraubendreher.
-
Beschreibung der Ausführungsbeispiele
-
1 zeigt schematisch ein Verfahren zur Ermittlung eines Datensatzes (T), mit dem ein Klassifikator eines Schraubendrehers trainiert werden kann. Zur Ermittlung werden zunächst Messungen (1) eines Sensors ermittelt, der eine Drehrate des Schraubendrehers erfasst, wobei die Messungen (1) jeweils einen gleichen zeitlichen Abstand aufweisen. Der zeitliche Abstand charakterisiert dabei eine zweite Frequenz der Messungen (1).
-
Die Messungen (1) charakterisieren daher Drehratenwerte. Vorzugsweise werden die Messungen (1) derart aufgezeichnet, dass sie Messungen charakterisieren, die der Sensor oder ein Sensor gleichen Typs im Schraubendreher aufzeichnet. In alternativen Ausführungsbeispielen können auch Sensoren anderen Typs verwendet werden, zum Beispiel ein Sensor zur Bestimmung einer Leistungsaufnahme.
-
Die Messungen (1) werden anschließend in Unterfolgen (2) aufeinanderfolgender Messungen (1) gruppiert. Die Anzahl der Messungen (1) innerhalb einer Unterfolge (2) kann dabei vorgegeben werden. Im Ausführungsbeispiel werden beispielhaft vier Messungen (1) pro Unterfolge (2) verwendet.
-
Anschließend wird iterativ aus jeder Unterfolge (2) zufällig eine Messung (1) ausgewählt und die ausgewählten Messungen (1) zu einem Sensorsignal (xi) zusammengefasst. In jeder Iteration wird so ein Sensorsignal (xi) ermittelt. Jedem Sensorsignal (xi) wird eine erste Klasse (yi) zugeordnet, die eine Klassifikation des Sensorsignals (xi) charakterisiert. Das Zuordnen kann beispielsweise über eine manuelle Annotation der Sensorsignale (xi) geschehen. In alternativen Ausführungsbeispielen können die erste Klassen (yi) auch über automatisierte Annotationsverfahren ermittelt werden. Zum Beispiel ist denkbar, dass die Messungen (1) derart aufgezeichnet wurden, dass zum Zeitpunkt der Aufzeichnung bereits die ersten Klassen (yi) bekannt waren.
-
Im Ausführungsbeispiel werden die ersten Klassen (yi) derart gewählt, dass sie Änderungen eines Zustands einer Schraube charakterisieren, die mittels dem Schraubendreher eingedreht wird. Zum Beispiel kann eine erste Klasse (yi) charakterisieren, dass die Schraube noch nicht komplett eingedreht wurde. In alternativen Ausführungsbeispielen sind entsprechend den gewählten Sensoren auch andere erste Klassen (yi) möglich.
-
Die ermittelten Sensorsignale (xi) sowie die ihnen jeweils zugeordneten ersten Klassen (yi) werden anschließend zum Datensatz (T) zusammengefasst.
-
2 zeigt ein Trainingssystem (140), welches ausgebildet ist einen Klassifikator (60) mittels des Datensatzes (T) zu trainieren. Zum Training wird eine Mehrzahl von Modellparametern (Φ) des Klassifikators (60) derart angepasst, dass der Klassifikator (60) die Sensorsignale (xi) des Datensatzes bestmöglich klassifiziert.
-
Zum Training greift eine Trainingsdateneinheit (150) auf eine computerimplementierte Datenbank (St2) zu, wobei die Datenbank (St2) den Datensatz (T) als Trainingsdatensatz (T) zur Verfügung stellt. Die Trainingsdateneinheit (150) ermittelt zumindest ein Sensorsignal (xi) und die dem Sensorsignal (xi) zugeordnete erste Klasse (yi) des Trainingsdatensatzes (T) und übermittelt die Sensoraufzeichnungen (xi) an den Klassifikator (60). Der Klassifikator (60) ermittelt auf Basis des Sensorsignals (xi) ein Ausgabesignal (ŷi).
-
Die erste Klasse (yi) und das ermittelte Ausgabesignal (yi) werden an eine Veränderungseinheit (180) übermittelt.
-
Basierend auf dem ermittelten Ausgabesignal (yi) und der ersten Klasse (yi) werden dann von der Veränderungseinheit (180) neue Modellparameter (Φ') für den Klassifikator (60) bestimmt. Hierfür vergleicht die Veränderungseinheit (180) das ermittelte Ausgabesignal (yi) mit der ersten Klasse (yi) mittels einer Verlustfunktion (Englisch: Loss Function). Die Verlustfunktion ermittelt einen Verlustwert, der charakterisiert, wie weit das ermittelte Ausgabesignal (yi) von der ersten Klasse (yi) abweicht. Als Verlustfunktion wird im Ausführungsbeispiel eine negative logarithmierte Plausibilitätsfunktion (Englisch: negative log-likehood function) gewählt werden. In alternativen Ausführungsbeispielen sind auch andere Verlustfunktion denkbar.
-
Die Veränderungseinheit (180) ermittelt auf Grundlage des Verlustwertes die neuen Modellparameter (Φ'). Im Ausführungsbeispiel geschieht dies mittels eines Gradientenabstiegsverfahren, vorzugsweise Stochastic Gradient Descent, Adam, oder AdamW.
-
Die ermittelten neuen Modellparameter (Φ') werden in einem Modellparameterspeicher (St1) gespeichert. Vorzugsweise werden die ermittelten neuen Modellparameter (Φ') als Modellparameter (Φ) bereitgestellt.
-
In weiteren bevorzugten Ausführungsbeispielen wird das beschriebene Training iterativ für eine vordefinierte Anzahl an Iterationsschritten wiederholt oder iterativ wiederholt, bis der Verlustwert einen vordefinierten Schwellenwert unterschreitet. In mindestens einer der Iterationen werden die in einer vorherigen Iteration bestimmten neuen Modellparameter (Φ') als Modellparameter (Φ) des Klassifikators (60) verwendet.
-
Des Weiteren kann das Trainingssystem (140) mindestens einen Prozessor (145) und mindestens ein maschinenlesbares Speichermedium (146) umfassen, welches Befehle enthält, welche, wenn sie durch den Prozessor (145) ausgeführt werden, das Trainingssystem (140) veranlassen, ein Trainingsverfahren nach einem der Aspekte der Erfindung auszuführen.
-
3 zeigt ein Steuerungssystem (40), welches Sensorsignale (S) eines Sensors (30) mittels des trainierten Klassifikators (60) klassifiziert und abhängig von der Klassifikation einen Aktor (10) ansteuert. Dabei ist der Sensor (30) derselbe Sensor, der zum ermitteln des Trainingsdatensatzes (T) verwendet wurde, oder ein Sensor des gleichen Typs wie der Sensor (30), der zum Ermitteln der Trainingsdaten (T) verwendet wurde.
-
In regelmäßigen zeitlichen Abständen mittels des Sensors (30) ein Sensorsignal (S) ermittelt. Das Sensorsignal (S) des Sensors (30) wird an das Steuerungssystem (40) übermittelt. Das Steuerungssystem (40) empfängt somit eine Folge von Sensorsignalen (S). Das Steuerungssystem (40) ermittelt hieraus Ansteuersignale (A), welche an den Aktor (10) übertragen werden.
-
Das Steuerungssystem (40) empfängt die Folge von Sensorsignalen (S) des Sensors (30) in einer optionalen Empfangseinheit (50), die die Folge von Sensorsignalen (S) in eine Folge von Eingangssignalen (x) für den Klassifikator (60) umwandelt. Das Eingangssignal (x) kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals (S) sein. In alternativen Ausführungsformen kann auch unmittelbar je das Sensorsignal (S) als Eingangssignal (x) übernommen werden.
-
Mit anderen Worten wird das Eingangssignal (x) abhängig von Sensorsignal (S) ermittelt. Die Folge von Eingangssignalen (x) wird dem Klassifikator (60) zugeführt.
-
Der Klassifikator (60) wird vorzugsweise parametriert durch Parameter (Φ), die in einem Parameterspeicher (P) hinterlegt sind und von diesem bereitgestellt werden.
-
Der Klassifikator (60) ermittelt aus den Eingangssignalen (x) Ausgabesignale (y). Die Ausgabesignale (y) werden einer optionalen Umformeinheit (80) zugeführt, die hieraus Ansteuersignale (A) ermittelt, welche dem Aktor (10) zugeführt werden, um den zweiten Sensor (10) entsprechend anzusteuern.
-
Der Aktor (10) empfängt die Ansteuersignale (A), wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor (10) kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal (A) ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor (10) angesteuert wird.
-
In weiteren Ausführungsformen umfasst das Steuerungssystem (40) den Sensor (30). In noch weiteren Ausführungsformen umfasst das Steuerungssystem (40) alternativ oder zusätzlich auch den Aktor (10).
-
In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem (40) eine Ein- oder Mehrzahl von Prozessoren (45) und wenigstens ein maschinenlesbares Speichermedium (46), auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren (45) ausgeführt werden, das Steuerungssystem (40) veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
In alternativen Ausführungsformen ist alternativ oder zusätzlich zum zweiten Sensor (10) eine Anzeigeeinheit (10a) vorgesehen, mittels welcher einem Benutzer Informationen über das Ausgabesignal (y) angezeigt werden können.
-
4 zeigt, wie das Steuerungssystem (40) zur Ansteuerung eines elektrischen Schraubendrehers (400) verwendet werden kann, wobei der Schraubendreher (400) eine Schraube (401) in ein Werkstück (402) schraubt. Der Schraubendreher (400) verfügt über einen Drehratensensor (30), mittels welchem die Drehbewegung des Schraubendrehers (400) gemessen werden kann.
-
Auf Basis der gemessenen Drehraten ermittelt das Steuerungssystem (40) intern ein Ausgabesignal (y), welches charakterisiert, ob die vom Schraubendreher (400) gedrehte Schraube (401) komplett ins Werkstück (402) eingedreht ist oder nicht. Falls erkannt wurde, dass die Schraube (401) komplett eingedreht wurde, übermittelt das Steuerungssystem (40) ein Ansteuersignal (A) an einen Motor (10) des Schraubendrehers (400), welches den Motor (10) veranlasst die Drehbewegung zu stoppen.
-
In alternativen Ausführungsbeispielen steuert das Steuerungssystem (40) zusätzlich oder alternativ zum Motor (10) eine Anzeigevorrichtung (10a) an. Die Anzeigevorrichtung (10a) kann beispielsweise ein Bildschirm des Schraubendrehers (400) sein, auf welchem angezeigt wird, dass die Schraube komplett eingedreht wurde.
-
Alternativ oder zusätzlich ist vorstellbar, dass die Anzeigevorrichtung (10a) ein Leuchtmittel, beispielsweise eine LED, ist, welches eingeschaltet wird, wenn die Schraube komplett eingedreht wurde.
-
Alternativ oder zusätzlich ist denkbar, dass die Anzeigevorrichtung (10a) eine haptische Vorrichtung ist, zum Beispiel ein Vibrationsaktor. Der Vibrationsaktor kann beispielsweise ein haptisches Signal an einen Benutzer des Schraubendrehers (400) übermitteln, falls die Schraube komplett eingedreht wurde. Das haptische Signal kann beispielsweise ein mittels eines Vibrieren des Griffs des Schraubendrehers an den Benutzer übermittelt werden.
-
In alternativen Ausführungsbeispielen (nicht abgebildet) kann anstelle eines elektrischen Schraubendrehers (400) auch ein pneumatischer Schraubendreher (400) verwendet werden. In diesem Fall steuert das Steuerungssystem (40) eines Motors ein Druckluftventil (10) an. Das Druckluftventil (10) wird geschlossen, sobald die Schraube komplett eingedreht wurde.
-
Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-