EP4384358A1 - Verfahren und system zur analyse eines betriebs eines roboters - Google Patents

Verfahren und system zur analyse eines betriebs eines roboters

Info

Publication number
EP4384358A1
EP4384358A1 EP22760708.2A EP22760708A EP4384358A1 EP 4384358 A1 EP4384358 A1 EP 4384358A1 EP 22760708 A EP22760708 A EP 22760708A EP 4384358 A1 EP4384358 A1 EP 4384358A1
Authority
EP
European Patent Office
Prior art keywords
robot
autoencoder
data set
patterns
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22760708.2A
Other languages
English (en)
French (fr)
Inventor
Zhicong Xian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Publication of EP4384358A1 publication Critical patent/EP4384358A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1674Program controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33296ANN for diagnostic, monitoring

Definitions

  • the present invention relates to a method and system for analyzing an operation of a robot and a computer program or
  • An object of an embodiment of the present invention is to analyze an operation of a robot or to identify significant patterns or sections in robot data over time.
  • a robot anomaly or an event for example an environmental contact
  • a time course can be classified, for example a specific robot movement within a work process can be recognized again.
  • the operation of a robot can thus be analyzed, monitored and/or modified, for example by checking detected robot anomalies or by carrying out maintenance, in particular predictive, on the basis of detected robot anomalies, an operating sequence based on a detected event, for example environmental contact, modified and/or monitored for such event, or the like.
  • Claims 9, 10 represent a system or computer program or
  • a method for analyzing an operation of a robot comprises performing a training phase comprising the steps:
  • this artificial neural network is a neural network that uses this artificial neural network to train an artificial neural network. According to an embodiment of the present invention, this artificial neural network
  • a second autoencoder with an encoder that maps the time course patterns and their activation to pattern groups and in a development their activation, and a decoder that reconstructs the time course patterns and their activation with these pattern groups and in the development of their activation; on.
  • the method has a monitoring phase carried out, which has the following steps:
  • This identification can represent an analysis(s) of the operation of this robot, for which the second data set has been obtained, in the sense of the present invention.
  • a (further) analysis can be carried out on the basis of this identified at least one pattern group, in one embodiment automatically and/or manually or by a user.
  • a time course can include, in particular be, a time series.
  • the first autoencoder which can also be referred to as a low-level autoencoder, has at least one variational autoencoder.
  • the second autoencoder can also be referred to as a high level autoencoder.
  • the encoder of the second autoencoder has at least one attention-based artificial neural network (attention-based neural network), in particular at least one multihead attention block. Additionally or alternatively, in one embodiment, the decoder of the second autoencoder has at least one capsule neural network.
  • attention-based artificial neural network attention-based neural network
  • multihead attention block at least one multihead attention block.
  • the decoder of the second autoencoder has at least one capsule neural network.
  • such autoencoders can be used to identify pattern groups in robot data over time in a particularly efficient manner by machine learning.
  • the state parameter depends on at least one position and/or orientation of a robot-fixed reference, in particular an end effector and/or one or more axes or drives, and/or at least one axis load of the (respective) robot he/she indicates this position(s) and/or orientation(s) and/or axle load(s) and/or changes in this position(s) and/or orientation(s) and/or axle load(s) over time.
  • the state parameter is recorded by means of one or more sensors, in one embodiment on the robot or on the robot.
  • the identified pattern group is marked in the second data record, in one embodiment optically or visually.
  • a user can concentrate on particularly relevant sections in the course of time.
  • a robot anomaly is detected based on the identified pattern set.
  • maintenance in particular predictive maintenance, of the robot can be improved.
  • an event for example an, in particular unforeseen or planned, environmental contact is detected.
  • operation of the robot can be monitored particularly advantageously, for example for unforeseen collisions, and/or, for example as a function of planned environmental contact, modified, for example, an action can be carried out depending on a scheduled contact with the environment.
  • the time history of the second data record is classified, in one embodiment as to whether the robot has performed a specific action and/or specific boundary conditions, in particular environmental conditions, have existed.
  • the corresponding time course can then be used for machine learning, for example on the basis of this (automatic) classification.
  • an identified pattern group within a dataset containing one or more robot state parameter time histories can be used to advantage to analyse, monitor and/or modify an operation of a robot.
  • operation of the first or second robot is based on the identified pattern group, in one embodiment on the basis of the pattern group marked in the second data set and/or the detected robot anomaly and/or the detected event and/or the classified time course of the second data set, analysed, monitored and/or modified.
  • the identification can already represent an analysis(s) of the operation of the robot within the meaning of the present invention or, in one embodiment, a (further) analysis can be carried out on the basis of this identified at least one pattern group.
  • a system for analyzing the operation of a robot in particular in terms of hardware and/or software, in particular in terms of programming, is set up to carry out a method described here and/or has:
  • an artificial neural network which has a first autoencoder with an encoder, which maps the first data set to time history patterns and their activation, and a decoder that reconstructs the first data set with these timing patterns; and a second autoencoder with an encoder that reads the
  • the means for carrying out a training phase has:
  • the artificial neural network which has the first autoencoder and the second autoencoder; and or
  • the means for carrying out a monitoring phase has:
  • system or its means(s) has:
  • a system and/or a means within the meaning of the present invention can be designed in terms of hardware and/or software, in particular at least one, in particular digital, processing unit, in particular microprocessor unit ( CPU), graphics card (GPU) or the like, and / or have one or more programs or program modules.
  • the processing unit can be designed to process commands that are implemented as a program stored in a memory system, to detect input signals from a data bus and/or to output output signals to a data bus.
  • a storage system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state and/or other non-volatile media.
  • the program may be of such a nature that it embodies or is capable of carrying out the methods described herein, so that the processing unit can carry out the steps of such methods and thereby in particular identify the pattern group(s) and/or analyze, monitor and/or an operation of the robot or can modify.
  • a computer program product can have, in particular, be a, in particular, computer-readable and/or non-volatile storage medium for storing a program or instructions or with a program or with instructions stored thereon.
  • execution of this program or these instructions by a system, in particular a computer or an arrangement of multiple computers causes the system, in particular the computer or computers, to carry out a method or one or more of its steps described here , or the program or the instructions for this are set up.
  • one or more, in particular all, steps of the method are carried out fully or partially automatically, in particular by the system or its means.
  • the system includes the robot.
  • the monitoring phase is carried out online, in one embodiment during a work process of the first or second robot.
  • the second data record results from a work process of the first or second robot.
  • the artificial neural network tries to generate the same output as the time profile of the first data set obtained and at the same time to extract recurring and discriminative partial sequences from the time profile. Based on the presence and localization of various recurring and discriminative partial sequences, in one embodiment a time course is then clustered into a predetermined number of groups.
  • an artificial neural network with a bottleneck for reconstructing the original input signal is referred to as an autoencoder.
  • the first or low-level autoencoder attempts to extract distinguishing but also recurring time course subsequences during the reconstruction of the input time courses.
  • the first autoencoder can be designed in an implementation based on the principles described in Kirschbaum, E. et al. (2019): “LeMoNADe: Learned Motif and Neuronal Assembly Detection in calcium imaging videos", International Conference on Learning Representations. Accordingly, additional reference is made to this article and its content is made part of the present disclosure in its entirety.
  • the first data set has at least one n-dimensional time series xe HV xd with T journals and d status parameters, which are assigned to a journal and are in particular stored for this purpose.
  • each sample in the dataset is an additive mixture of M repeating (time course) patterns of maximum temporal length F.
  • a latent random variable z t m e ⁇ 0,1 ⁇ represents an occurrence or Activation encoding for the m-ie pattern.
  • a Bernoulli distribution is used to model the latent random variables.
  • the loss function for training includes a reconstruction error E z ⁇ 0 [logp e (x
  • the second or high-level autoencoder tries to cluster an input time series into different groups.
  • An input time series can be assumed to be composed of a plurality of time series subsequences or timing patterns extracted by the first or low-level autoencoder. Irrespective of the numbering of low-level time series segments, the second or high-level autoencoder tries to recognize in one execution whether a new subsequence is present in the current input time series but is missing in all past input time series. If this is the case, the second or high-level autoencoder classifies this time series as a new class.
  • the second high-level autoencoder performs clustering based on the assembly of low-level time-series subsequences.
  • a set transformer is an attention-based neural network to model interactions between sets of data.
  • it consists of one or more Multihead Attention Blocks (MAB) with learnable parameters co, which can be defined as follows (in this regard, reference is also made to Lee, J. et al. (2019), “Set Transformer: A Framework for Attentionbased Permutation-Invariant Neural Networks", Proc, of the 36th Int. Conference on Machine Learning, pp. 3744-3753 and the contents of this article are made a part of the present disclosure in their entirety): Let there be two d - dimensional vector sets: X, Y e IR. n xd ,
  • LayerNorm stands for layer normalization, which normalizes the activities of the neurons of a layer. Layer normalization, in one embodiment, can advantageously stabilize the dynamics of hidden neuron states and thereby training time can be reduced.
  • Multihead(X, Y, Y; a> ) is also known as multi-head attention and is a way to calculate relationships between neurons in an artificial neural network. In one implementation, this includes three variables: "query”, "key” and "values".
  • a d - dimensional vector set X is used as a "query” for attention, in one embodiment a list of detected low-level time-series sub-sequences.
  • the output/"values" Y after an attention operation should be a composition of detected low-level time series patterns and the "keys" of this attention operation used are in one embodiment some, preferably all, possible combinations of one, preferably all , low-level time-series subsequences that are unexposed in a training dataset that results in the “query” sentence.
  • This type of attention operation is also referred to as self-attention.
  • Multi-head Attention projects, in one execution, query(Q)/key(A')/values (V), onto lower-dimensional h common subspaces, ie dq , dq , d"-dimensional vectors.
  • An attention operation (Att( -; (o 7 )) is applied to each of these h projections
  • Multi-head Attention allows it in one Making the model access information from different representations or subspaces together.
  • the output is a linear transformation of the concatenation of all subspace attention outputs.
  • the positional information is injected by adding the positional encoding to the projected common space of the query and key vectors.
  • the output of the set transformer described above represents a list of candidate combinations of determined low-level time-series subsequences or patterns in each input and/or corresponds to a list of proposed complex candidate patterns or pattern groups.
  • the record transformer is used as an encoder for the second or high-level autoencoder. Additionally or alternatively, in one embodiment, a capsule neural network or capsule module is used as a decoder for the second or high-level autoencoder.
  • the product is a capsule Operation a vectorial value that provides the activation of certain features and additionally an embedding to describe the activation features, e.g. a localization.
  • the Capsule Neural Network may be designed based on the principles set forth in Kosiorek, A. et al. (2019), “Stacked Capsule Autoencoders", Advances in Neural Information Processing Systems, pp. 15512-15522. Accordingly, additional reference is made to this article and its content is made part of the present disclosure in its entirety.
  • a complex time series pattern or pattern group can be assumed to have the same length as input time series but with instance-dependent transformation.
  • a time series of the same type can look visually different due to different sampling rates.
  • a capsule represents such a typical time series of a specific kind, and the associated encapsulation describes a warping variation of that standard.
  • localizations of the characteristic time series subsequences contained in it can be derived from a complex time series pattern.
  • the latent space of the second or high-level autoencoder has clustered groups or pattern groups of determined characteristic low-level time series segments or time course patterns.
  • the latent space is represented in the form of capsules, and each represents a clustered set and its associated embeddings.
  • the goal of the second or high-level autoencoder is to train the clustered groups that represent complex patterns of input data length.
  • the derived locations of the clustered group across the positions of the low-level time-series subsegments match those learned from the first and low-level autoencoder, respectively.
  • time series patterns are extracted without human supervision and extracted patterns are displayed other unknown new robot state parameter time histories generalized. Additionally or alternatively, in one embodiment, matching a learned pattern of one, in particular the first, dataset in a new, in particular the second, dataset may associate this new dataset without information with a known dataset with labeled details. In this way, in one embodiment, the amount of data that is available for monitoring and, in particular, predictive maintenance can be increased.
  • the present invention includes one or more of the following applications:
  • the first or second data set comprises time histories from different situations in a robot application.
  • a timeline from the same scenario can be considered the same type.
  • certain segments of a live data series are marked. These salient segments are subsequences from the given data set that differ most from previously recorded sets of other situations.
  • a user can focus on these specific segments to perform analysis or diagnosis. For example, user can check motor torque or motor current within the time interval as indicated by the characteristic subsequences.
  • Event detection A spike in force absorption on a robotic end effector can represent a collision. A continuously increasing level of force may indicate a planned contact event.
  • Comparison of old data without manual labeling and new, labeled data In one embodiment, a known pattern that is present in the labeled data is searched for in the unlabeled data. In one embodiment, if the same time-series subsequence reappears in the old data, the robot is determined to have operated under similar conditions. Consequently, a user can transfer his knowledge based on a subsequence from the new labeled data to analyze old, unlabeled data with less information. 4.
  • Machine learning to learn recurring time-series primitives such as pulses, trapezoidal segments, square waves, or the like. In one embodiment, transformations are performed on these primitives to locate variations thereof in a live dataset. This function is particularly useful for estimating or observing hidden physical variables of the robot state, such as axis friction, based on time series segments with certain properties.
  • a user is provided with representative templates for each time-series data group.
  • Activation within the meaning of the present invention can in particular include localization and/or embedding within the meaning of the present invention and vice versa.
  • Fig. 1 a system according to an embodiment of the present invention.
  • Figure 2 a method according to an embodiment of the present invention.
  • Fig. 1 shows a system according to an embodiment of the present invention
  • Fig. 2 shows a method according to an embodiment of the present invention.
  • a first data set with a time profile xi(t) of a state parameter of a robot 1 is obtained (FIG. 2: step S10).
  • the status parameter is, for example, a drive torque control error.
  • an artificial neural network is trained, which has a first autoencoder with an encoder 11, which maps the first data set to timing patterns and their activation, and a decoder 12, which reconstructs the first data set with these timing patterns. and a second autoencoder with an encoder 21, which maps the time course patterns and their activation to pattern groups, and a decoder 22, which reconstructs the time course patterns and their activation with these pattern groups.
  • a second data set X2(t) with a time profile of the status parameter of the robot 1 is obtained (FIG. 2: step S30).
  • one of the pattern groups of the trained second autoencoder is identified within the second data set and marked in the second data set.
  • This pattern group is indicated in Fig. 1 by a hatched rectangle with a dashed edge: first, time progression patterns and their activation, which are initially randomly occupied in the latent space 13 of the first autoencode, are learned or the first autoencoder is trained in such a way that the time progression xi(t) reconstructed as well as possible.
  • timing patterns and activations learned in this way are entered into the second autoencoder.
  • all possible combinations of time course patterns and activations are initially occupied on a random basis.
  • the second autoencoder is now trained in such a way that it reconstructs the time course patterns and activations from the first autoencoder (“low-level time series subsequences”) as well as possible.
  • time profile pattern 3 shown in FIG. 1 occurs only once at a specific point in the time profile xi(t), which is indicated in FIG. 1 by a hatched rectangle with a dashed edge.
  • This time profile pattern 3 is now searched for or identified and marked in the new time profile X2(t), which is indicated in FIG. 1 by a hatched rectangle with a dashed edge.
  • the time profile X2(t) is recorded during a work process of the robot 1, for example.
  • a significant period of time can be recognized in the course of time X2(t) or work process, for example a collision, contact with the environment, a robot anomaly or the like.
  • step S40 the operation of the robot can be analysed, monitored and/or modified in step S40 on the basis of this identified time course pattern, for example if a (specific) robot anomaly occurs, predictive maintenance can be initiated accordingly.
  • a history of the drive torque control error due to the environmental contact can be further analyzed or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Manipulator (AREA)

Abstract

Ein Verfahren zur Analyse eines Betriebs eines Roboters (1) weist ein Durchführen einer Trainingsphase mit den Schritten: Erhalten (S10) eines ersten Datensatzes mit wenigstens einem Zeitverlauf wenigstens eines Zustandsparameters eines ersten Roboters (1); und Trainieren (S20) eines künstlichen Neuronalen Netzes, welches einen ersten Autoencoder mit einem Encoder (11), der den ersten Datensatz auf Zeitverlaufsmuster und deren Aktivierung abbildet, und einem Decoder (12), der mit diesen Zeitverlaufsmustern den ersten Datensatz rekonstruiert; und einen zweiten Autoencoder mit einem Encoder (21), der die Zeitverlaufsmuster und deren Aktivierung auf Mustergruppen abbildet, und einem Decoder (22), der mit diesen Mustergruppen die Zeitverlaufsmuster und deren Aktivierung rekonstruiert, aufweist; und ein Durchführen einer Monitoringphase mit den Schritten: Erhalten (S30) eines zweiten Datensatzes mit wenigstens einem Zeitverlauf des wenigstens einen Zustandsparameters des ersten oder eines zweiten Roboters; und Identifizieren (S40) wenigstens einer der Mustergruppen des trainierten zweiten Autoencoders innerhalb des zweiten Datensatzes auf.

Description

Beschreibung
Verfahren und System zur Analyse eines Betriebs eines Roboters
Die vorliegende Erfindung betrifft ein Verfahren und System zur Analyse eines Betriebs eines Roboters sowie ein Computerprogramm bzw.
Computerprogrammprodukt hierzu.
Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, einen Betrieb eines Roboters zu analysieren bzw. in Zeitverläufen von Roboterdaten signifikante Muster bzw. Abschnitte zu identifizieren.
Hierdurch kann in einer Ausführung eine Roboteranomalie oder ein Ereignis, beispielsweise ein Umgebungskontakt, detektiert oder auch ein Zeitverlauf klassifiziert, beispielsweise eine bestimmte Roboterbewegung innerhalb eines Arbeitsprozesses wiedererkannt werden. Damit kann in einer Ausführung ein Betrieb eines Roboters analysiert, überwacht und/oder modifiziert werden, beispielsweise, indem detektierte Roboteranomalien überprüft werden oder eine, insbesondere vorausschauende, Wartung auf Basis detektierte Roboteranomalien durchgeführt wird, ein Betriebsablauf auf Basis eines detektierten Ereignisses, beispielsweise Umgebungskontakts, abgeändert und/oder auf dieses Ereignis hin überwacht wird, oder dergleichen.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 9, 10 stellen ein System bzw. Computerprogramm bzw.
Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zur Analyse eines Betriebs eines Roboters ein Durchführen einer Trainingsphase auf, die die Schritte aufweist:
- Erhalten, in einer Ausführung Ermitteln, eines ersten Datensatzes mit einem oder mehreren Zeitverläufen von (jeweils) einem oder mehreren Zustandsparametern eines ersten Roboters; und
- Trainieren eines künstlichen Neuronalen Netzes. Nach einer Ausführung der vorliegenden Erfindung weist dieses künstliche Neuronale Netz
- einen ersten Autoencoder mit einem Encoder, der den ersten Datensatz auf Zeitverlaufsmuster und deren Aktivierung abbildet, und einem Decoder, der mit diesen Zeitverlaufsmustern den ersten Datensatz rekonstruiert; und
- einen zweiten Autoencoder mit einem Encoder, der die Zeitverlaufsmuster und deren Aktivierung auf Mustergruppen und in einer Weiterbildung deren Aktivierung abbildet, und einem Decoder, der mit diesen Mustergruppen und in der Weiterbildung deren Aktivierung die Zeitverlaufsmuster und deren Aktivierung rekonstruiert; auf.
Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren nach dem Durchführen der Trainingsphase ein Durchführen einer Monitoringphase auf, die die Schritte aufweist:
- Erhalten eines zweiten Datensatzes mit einem oder mehreren Zeitverläufen des bzw. der Zustandsparameter(s) des ersten oder eines zweiten Roboters; und
- Identifizieren wenigstens einer der Mustergruppen des trainierten zweiten Autoencoders innerhalb des zweiten Datensatzes.
Dieses Identifizieren kann ein(e) Analys(i)e(ren) des Betriebs dieses Roboters, zu dem der zweiten Datensatz erhalten worden ist, im Sinne der vorliegenden Erfindung darstellen. Gleichermaßen kann in einer Ausführung eine (weitergehende) Analyse auf Basis dieser identifizierten wenigstens einen Mustergruppe durchgeführt werden, in einer Ausführung automatisch und/oder manuell bzw. durch einen Anwender. Ein Zeitverlauf kann in einer Ausführung eine Zeitreihe umfassen, insbesondere sein.
In einer Ausführung weist der erste Autoencoder, der auch als Low-Ieve-Autoencoder bezeichnet werden kann, wenigstens einen Variational Autoencoder auf.
Der zweite Autoencoder kann auch als High-Ieve-Autoencoder bezeichnet werden.
In einer Ausführung weist der Encoder des zweiten Autoencoders wenigstens ein Attention-basiertes künstliches Neuronales Netz (attention-based neural network), insbesondere wenigstens einen Multihead Attention Block, auf. Zusätzlich oder alternativ weist in einer Ausführung der Decoder des zweiten Autoencoders wenigstens ein Capsule Neural Network auf.
Durch solche Autoencoder können in einer Ausführung Mustergruppen in Zeitverläufen von Roboterdaten besonders effizient maschinell gelernt identifiziert werden.
In einer Ausführung hängt der Zustandsparameter von wenigstens einer Position und/oder Orientierung einer roboterfesten Referenz, insbesondere eines Endeffektors und/oder einer oder mehrerer Achsen bzw. Antriebe, und/oder von wenigstens einer Achslast des (jeweiligen) Roboters ab, in einer Weiterbildung gibt er diese Position(en) und/oder Orientierung(en) und/oder Achslast(en) und/oder zeitliche Änderungen dieser Position(en) und/oder Orientierung(en) und/oder Achslast(en)an. Zusätzlich oder alternativ ist, in einer Ausführung wird, der Zustandsparameter mittels eines oder mehrerer, in einer Ausführung roboterseitiger bzw. -fester, Sensoren erfasst.
Solche Zustandsparameter eignen sich aufgrund ihrer Signifikanz besonders, um einen Betrieb eines Roboters zu überwachen und/oder zu modifizieren.
In einer Ausführung wird die identifizierte Mustergruppe in dem zweiten Datensatz, in einer Ausführung optisch bzw. visuell, markiert. Dadurch kann sich in einer Ausführung ein Anwender auf besonders relevante Abschnitte in Zeitverläufen konzentrieren.
In einer Ausführung wird auf Basis der identifizierte Mustergruppe eine Roboteranomalie detektiert. Dadurch kann in einer Ausführung eine, insbesondere vorausschauende, Wartung des Roboters verbessert werden.
Zusätzlich oder alternativ wird in einer Ausführung ein Ereignis, beispielsweise ein, insbesondere unvorhergesehener oder planmäßiger, Umgebungskontakt, detektiert. Dadurch kann in einer Ausführung ein Betrieb des Roboters besonders vorteilhaft, beispielsweise auf unvorhergesehene Kollisionen, überwacht, und/oder, beispielsweise in Abhängigkeit von einem planmäßigen Umgebungskontakt, modifiziert, beispielsweise eine Aktion in Abhängigkeit von einem planmäßigen Umgebungskontakt durchgeführt werden.
Zusätzlich oder alternativ wird in einer Ausführung der Zeitverlauf des zweiten Datensatzes klassifiziert, in einer Ausführung dahingehend, ob der Roboter dabei eine bestimmte Aktion durchgeführt hat und/oder bestimmte Rand-, insbesondere Umgebungsbedingungen vorgelegen haben. Dann kann der entsprechende Zeitverlauf beispielsweise aufgrund dieser (automatischen) Klassifikation zum maschinellen Lernen genutzt werden.
Vorstehend wurden nur einige Beispiele aufgezeigt, wie eine identifizierte Mustergruppen innerhalb eines Datensatzes mit einem oder mehreren Roboter- Zustandsparameter-Zeitverläufen zum Analysieren, Überwachen und/oder Modifizieren eines Betriebs eines Roboters vorteilhaft genutzt werden kann. Allgemein wird in einer Ausführung ein Betrieb des ersten oder zweiten Roboters auf Basis der identifizierten Mustergruppe, in einer Ausführung auf Basis der in dem zweiten Datensatz markierten Mustergruppe und/oder der detektierten Roboteranomalie und/oder des detektierten Ereignisses und/oder des klassifizierten Zeitverlaufs des zweiten Datensatzes, analysiert, überwacht und/oder modifiziert. Wie vorstehend ausgeführt, kann das Identifizieren bereits ein(e) Analys(i)e(ren) des Betriebs des Roboters im Sinne der vorliegenden Erfindung darstellen oder gleichermaßen in einer Ausführung eine (weitergehende) Analyse auf Basis dieser identifizierten wenigstens einen Mustergruppe durchgeführt werden.
Nach einer Ausführung der vorliegenden Erfindung ist ein System zur Analyse eines Betriebs eines Roboters, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- Mittel zum Durchführen einer Trainingsphase, mit den Schritten:
- Erhalten eines ersten Datensatzes mit wenigstens einem Zeitverlauf wenigstens eines Zustandsparameters eines ersten Roboters; und
- Trainieren eines künstlichen Neuronalen Netzes, welches einen ersten Autoencoder mit einem Encoder, der den ersten Datensatz auf Zeitverlaufsmuster und deren Aktivierung abbildet, und einem Decoder, der mit diesen Zeitverlaufsmustern den ersten Datensatz rekonstruiert; und einen zweiten Autoencoder mit einem Encoder, der die
Zeitverlaufsmuster und deren Aktivierung auf Mustergruppen abbildet, und einem Decoder, der mit diesen Mustergruppen die Zeitverlaufsmuster und deren Aktivierung rekonstruiert; aufweist; und
- Mittel zum Durchführen einer Monitoringphase, mit den Schritten:
- Erhalten eines zweiten Datensatzes mit wenigstens einem Zeitverlauf des wenigstens einen Zustandsparameters des ersten oder eines zweiten Roboters; und
- Identifizieren wenigstens einer der Mustergruppen des trainierten zweiten Autoencoders innerhalb des zweiten Datensatzes.
In einer Ausführung weist das Mittel zum Durchführen einer Trainingsphase auf:
- Mittel zum Erhalten eines ersten Datensatzes mit wenigstens einem Zeitverlauf wenigstens eines Zustandsparameters eines ersten Roboters;
- das künstliche Neuronale Netz, welches den ersten Autoencoder und den zweiten Autoencoder aufweist; und/oder
- Mittel zum Trainieren des künstlichen Neuronalen Netzes.
In einer Ausführung weist das Mittel zum Durchführen einer Monitoringphase auf:
- Mittel zum Erhalten eines zweiten Datensatzes mit wenigstens einem Zeitverlauf des wenigstens einen Zustandsparameters des ersten oder eines zweiten Roboters; und/oder
- Mittel zum Identifizieren wenigstens einer der Mustergruppen des trainierten zweiten Autoencoders innerhalb des zweiten Datensatzes.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum Markieren der identifizierten Mustergruppe in dem zweiten Datensatz;
- Mittel zum Detektieren eine Roboteranomalie und/oder ein Ereignis auf Basis der identifizierte Mustergruppe und/oder Klassifizieren des Zeitverlaufs des zweiten Datensatzes auf Basis der identifizierte Mustergruppe; und/oder - Mittel zum Analysieren, Überwachen und/oder Modifizieren eines Betriebs des Roboters auf Basis der identifizierten Mustergruppe, insbesondere auf Basis der in dem zweiten Datensatz markierten Mustergruppe und/oder der detektierten Roboteranomalie und/oder des detektierten Ereignisses und/oder des klassifizierten Zeitverlaufs des zweiten Datensatzes.
Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere die Mustergruppe(n) identifizieren und/oder einen Betrieb des Roboters analysieren, überwachen und/oder modifizieren kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel. In einer Ausführung weist das System den Roboter auf.
In einer Ausführung wird die Monitoringphase online, in einer Ausführung während eines Arbeitsprozesses des ersten bzw. zweiten Roboters durchgeführt. In einer Ausführung resultiert der zweite Datensatz aus einem Arbeitsprozess des ersten bzw. zweiten Roboters. Dadurch muss in einer Ausführung kein separater Referenzprozess durchgeführt werden.
In einer Ausführung versucht das künstliche Neuronale Netz, denselben Ausgang zu generieren wie der Zeitverlauf des erhaltenen ersten Datensatzes und gleichzeitig wiederkehrende und diskriminative Teilsequenzen von dem Zeitverlauf zu extrahieren. Basierend auf dem Vorhandensein und der Lokalisierung verschiedener wiederkehrender und diskriminativer Teilsequenzen wird dann in einer Ausführung ein Zeitverlauf in eine vorgegebenen Anzahl von Gruppen geclustert. Vorliegend wird ein künstliches Neuronales Netz mit einem Flaschenhals zum Rekonstruieren des Originaleingabesignals als Autoencoder bezeichnet.
Der erste bzw. Low-Ievel Autoencoder versucht in einer Ausführung, unterscheidende aber auch wiederkehrende Zeitverlaufssubsequenzen während der Rekonstruktion der Eingabezeitverläufe zu extrahieren.
Der erste Autoencoder kann in einer Ausführung auf Basis der Prinzipien ausgestaltet sein, die in Kirschbaum, E. et al. (2019): “LeMoNADe: Learned Motif and Neuronal Assembly Detection in calcium imaging videos”, International Conference on Learning Representations näher beschrieben sind. Entsprechend wird ergänzend auf diesen Artikel Bezug genommen und sein Inhalt vollumfänglich zum Teil der vorliegenden Offenbarung gemacht.
In einer Ausführung weist der erste Datensatz wenigstens eine n-dimensionale Zeitreihe x e HVxd mit T Zeitschriften und d Zustandsparametern auf, die einem Zeitschrift zugeordnet, insbesondere hierfür gespeichert sind. Es kann angenommen werden, dass jedes sample im Datensatz eine additive Mischung von M sich wiederholenden (Zeitverlaufs)Mustern der maximalen zeitlichen Länge F ist. Zu jedem Zeitschrift t = l, --- , T, und für jedes Motiv m = l, --- ,M einer wiederkehrenden Zeitreihensubsequenz stellt eine latente Zufallsvariable zt m e {0,1} eine Auftritts- bzw. Aktivierungsencodierung für das m-ie Muster dar. Wie in Kirschbaum wird in einer Ausführung eine Bernoulliverteilung verwendet, um die latenten Zufallsvariablen zu modellieren. Die Verlustfunktion (loss function) zum Trainieren umfasst in einer Ausführung einen Rekonstruktionsfehler Ez~0 [logpe (x|z)] , wobei q^zm den Encoder repräsentiert mit den Parameter < > zum Folgern von latenten Variablen z aus einer Eingabe x und einem Regularisierungsterm zum Erzwingen einer räumlichen latenten Verteilung, die in einer Ausführung impliziert, dass sich Muster an jeder Stelle gegenseitig ausschließen sollen.
Der zweite bzw. High-level Autoencoder versucht in einer Ausführung eine Eingabezeitreihe in verschiedene Gruppen zu clustern. Es kann angenommen werden, dass eine Eingabezeitreihe aus einer Vielzahl von Zeitreihen- Untersequenzen bzw. Zeitverlaufsmustern zusammengesetzt ist, die vom ersten bzw. Low-Level-Autoencoder extrahiert werden. Unabhängig von der Nummerierung von Low-Level-Zeitreihensegmenten versucht der zweite bzw. High-level Autoencoder in einer Ausführung zu erkennen, ob eine neue Teilsequenz in der aktuellen Eingabezeitreihe vorhanden ist, aber in allen vergangenen Eingabezeitreihen fehlt. Wenn dies der Fall ist, klassifiziert der zweite bzw. High-level Autoencoder diese Zeitreihe als neue Klasse. In einer Ausführung führt der zweite High-Level- Autoencoder Clustering basierend auf der Zusammensetzung von Low-Level- Zeitreihen-Untersequenzen durch.
Um die Positionsvarianten-Kompositionsoperation durchzusetzen, wird sie in einer Ausführung als Set-Operation betrachtet und ein Set-Transformator mit Positionseinbettungen für die Sequenzordnungen als Encoder des High-Level- Autoencoders verwendet. Ein Set-Transformer ist ein Attention-basiertes Neuronales Netz, um Interaktionen zwischen Sätzen von Daten zu modellieren. Es besteht in einer Ausführung aus einem oder mehreren Multihead Attention Blocks (MAB) mit erlernbaren Parametern co, die wie folgt definiert sein können (diesbezüglich wird ergänzend auf Lee, J. et al. (2019), “Set Transformer: A Framework for Attentionbased Permutation-Invariant Neural Networks”, Proc, of the 36th Int. Conference on Machine Learning, S. 3744-3753 Bezug genommen und der Inhalt dieses Artikels vollumfänglich zum Teil der vorliegenden Offenbarung gemacht): Es seien zwei d - dimensionale Vektorsätze gegeben: X, Y e IR.n xd ,
MAB(X, Y) = LayerNorm( H + rFF (//)), wobei H = LayerNorm( X + Multihead(X, Y, Y; a> ) wobei rFF eine reihenartige Feedforwardschicht ist und jede Reihe in H unabhängig und auf dieselbe Weise verarbeitet. „LayerNorm” steht für Schicht-Normalisierung (layer normalization), die die Aktivitäten der Neuronen einer Schicht normalisiert. Durch die Schicht-Normalisierung kann in einer Ausführung vorteilhaft die Dynamik von Zuständen versteckter Neuronen (hidden neuron states) stabilisiert and dadurch die Trainingszeit reduziert werden.
Multihead(X, Y, Y; a> ) wird auch als multi-head Attention bzw. Aufmerksamkeit bezeichnet und stellt einen Weg dar, Beziehungen zwischen Neuronen in einem künstlichen Neuronalen Netz zu berechnen. In einer Ausführung umfasst dies drei Variablen: „query“, „key“ und „values“. In einer Ausführung wird nach der Extraktion von primitive Zeitreihen- bzw. -Verlaufsmustern in dem ersten bzw. Low-Ievel Autoencoder versucht, komplexere Muster zu erkennen, die aus diesen extrahierten Low-Ievel-Zeitreihen-Subsequenzen zusammengesetzt sind und die eine visuelle Form einer Eingabezeitreihe reflektieren sollten. In einer Ausführung wird ein d - dimensionaler Vektorsatz X als “query” für die Attention bzw. Aufmerksamkeit verwendet, in einer Ausführung eine Liste detektierter Low-Ievel-Zeitreihen- Subequenzen. Die output/” values” Y nach einer Attention-Operation sollte eine Zusammensetzung von detektierten Low-Ievel-Zeitreihen-Mustern sein und die “keys” dieser verwendeten Attention-Operation sind in einer Ausführung einige, vorzugsweise alle, möglichen Kombinationen einer, vorzugsweise aller, Low-Ievel- Zeitreihen-Subsequenzen, die unaufgedeckt in einem Trainingsdatensatz vorliegen, der den „query“-Satz zur Folge hat. Diese Art Attention-Operation wird auch als Self- Attention bezeichnet.
De Berechnung der paarweisen Assoziation zwischen “query” und “key” Sätzen kann rechenaufwändig sein. Dies kann in einer Ausführung durch Multi-head Attention verbessert werden. Multi-head Attention projiziert in einer Ausführung query(Q)/key(A')/values (V), auf niedriger-dimensionale h gemeinsame Unterräume, d.h. dq , dq , d"-dimensionale Vektoren. Eine Attention-Operation (Att(-; (o7)) wird auf jede dieser h Projektionen angewandt. Multi-head Attention ermöglicht es in einer Ausführung dem Model, gemeinsam auf Information von verschiedenen Repräsentationen bzw. Unterräumen zuzugreifen. Die Ausgabe ist in einer Ausführung eine lineare Transformation der Verknüpfung aller Unterrau m-Attention- Ausgaben.
In einer Ausführung werden Positionsinformationen von Elementen in query/key/ Sätzen unter Verwendung von trigonometrischen Funktionen repräsentiert, in einer Ausführung Sinus- und Cosinus-Funktionen, in einer Ausführung in der Form (diesbezüglich wird ergänzend auf Soricut, Z. L., Albert: A (2020), „A Lite BERT for Self-supervised Learning of Language Representations“, Proc, of ICLR 2020 Bezug genommen und der Inhalt dieses Artikels vollumfänglich zum Teil der vorliegenden Offenbarung gemacht): mit als der Positionseinbettung für das i-te Element in dem Satz und der y-ten Dimension von positioninvarianten Einbettungen für das i-te Element in dem Satz mit Gesamtgröße d, wobei c eine Konstante ist und in einer Ausführung zwischen 10-5 und 10’3 liegt und in einer Ausführung gilt: c = 10-4
In einer Ausführung wird die Positionsinformation durch Addieren des Positionsencodings zu dem projizierten gemeinsamen Raum der query und key Vektoren injiziert.
Die Ausgabe des vorstehend beschriebenen Satz-Transformers repräsentiert in einer Ausführung eine Liste von Kandidatenkombinationen von ermittelten Low-Ievel- Zeitreihen-Subsequenzen bzw. -Mustern in jeder Eingabe und/oder entspricht einer Liste vorgeschlagener komplexer Kandidatenmustern bzw. Mustergruppen.
Der Satz-Transformer wird in einer Ausführung als Encoder des zweiten bzw. High- level Autoencoders verwendet. Zusätzlich oder alternativ wird in einer Ausführung ein Capsule Neural Network bzw. Capsule Module als Decoder des zweiten bzw. High- level Autoencoders verwendet. In einer Ausführung ist das Produkt einer Capsule Operation ein vektorieller Wert, der die Aktivierung von bestimmten Merkmalen und zusätzlich eine Einbettung liefert, um die Aktivierungsmerkmale zu beschreiben, beispielsweise eine Lokalisation.
Das Capsule Neural Network kann in einer Ausführung auf Basis der Prinzipien ausgestaltet sein, die in Kosiorek, A. et al. (2019), „Stacked Capsule Autoencoders“, Advances in Neural Information Processing Systems, S. 15512-15522 näher beschrieben sind. Entsprechend wird ergänzend auf diesen Artikel Bezug genommen und sein Inhalt vollumfänglich zum Teil der vorliegenden Offenbarung gemacht.
Es kann angenommen werden, dass ein komplexes Zeitreihenmuster bzw. eine Mustergruppe dieselbe Länge wie Eingabezeitreihen aber mit Instance-abhängigen Transformation aufweist. Beispielsweise kann eine Zeitreihe desselben Typs aufgrund verschiedener Samplingraten visuell unterschiedlich aussehen. Diese sind jedoch nur Variationen einer Standard-Kanonischen Zeitreihe dieses Typs. In einer Ausführung repräsentiert eine Capsule solch eine typische Zeitreihe einer spezifischen Art, und die zugehörige Einbettung beschreibt eine Warping-Variation von diesem Standard. Umgekehrt kann von einem komplexen Zeitreihenmuster Lokalisationen der enthaltenen charakteristischen Zeitreihen-Subsequenzen abgeleitet werden.
In einer Ausführung weist der latent Raum (latent space) des zweiten bzw. High-level Autoencoder geclusterte Gruppen bzw. Mustergruppen von ermittelten charakteristischen Low-Ievel-Zeitreihen-Segmenten bzw. Zeitverlaufsmustern auf. In einer Ausführung wird der latente Raum in Form von Capsules repräsentiert, und jede repräsentiert eine geclusterte Gruppe und ihre zugehörigen Einbettungen (embeddings).
In einer Ausführung ist das Ziel des zweiten bzw. High-level Autoencoders, die geclusterten Gruppen, die komplexe Muster der Eingabedatenlänge repräsentieren, zu trainieren. Die abgeleiteten Lokalisationen der geclustered Gruppe über die Positionen der Low-Ievel-Zeitreihen-Subsegmente matchen mit denen, die von dem ersten bzw. Low-Ievel Autoencoder gelernt wurden.
In einer Ausführung der vorliegenden Erfindung werden Zeitreihenmuster ohne menschliche Überwachung (human supervision) extrahiert und extrahierte Muster auf andere, unbekannte neuer Roboter-Zustandsparameter-Zeitverläufe generalisiert. Zusätzlich oder alternativ kann in einer Ausführung das Matchen eines gelernten Musters eines, insbesondere des ersten, Datensatzes in einem neuen, insbesondere dem zweiten, Datensatz diesen neuen Datensatz ohne Information mit einem bekannten Datensatz mit gelabelten Details assoziieren. Auf diese Weise kann in einer Ausführung die Menge an Daten, die für eine Überwachung und, insbesondere vorausschauende, Wartung (predictive maintenance) zur Verfügung steht, vergrößert werden.
In einer Ausführung umfasst die vorliegende Erfindung eine oder mehrere der folgenden Anwendungen:
1 . Lokalisierung von Anomalien: In einer Ausführung umfasst der erste oder zweite Datensatz Zeitverläufe aus verschiedenen Situationen in einer Roboterapplikation. Ein Zeitverlauf aus demselben Szenario kann als derselbe Typ angesehen werden. In einer Ausführung werden bestimmten Segmente einer Live-Datenreihe markiert. Diese auffälligen Segmente sind Teilsequenzen aus der gegebenen Datenreihe, die sich am stärksten von zuvor aufgezeichneten Reihen anderer Situationen unterscheiden. Ein Anwender kann sich auf diese spezifischen Segmente konzentrieren, um eine Analyse oder Diagnose durchzuführen. Zum Beispiel kann Anwender ein Motordrehmoment oder einen Motorstrom innerhalb des Zeitintervalls überprüfen, wie es durch die charakteristischen Untersequenzen angezeigt wird.
2. Ereigniserkennung: Eine Spitze in der Kraftaufnahme an einem Roboterendeffektor kann eine Kollision darstellen. Ein kontinuierlich steigendes Kraftniveau kann auf ein geplantes Kontaktereignis hinweisen.
3. Vergleich alter Daten ohne manuelles Labeling und neuer, gelabelter Daten: In einer Ausführung wird hierzu nach einem bekannten Muster, das in den gelabelten Daten vorhanden ist, in den nicht gelabelten Daten gesucht. Tritt die gleiche Zeitreihen-Untersequenz in den alten Daten wieder auf, wird in einer Ausführung festgestellt, dass der Roboter unter ähnlichen Bedingungen betrieben wurde. Folglich kann ein Anwender sein Wissen basierend auf einer Teilsequenz aus den neuen gelabelten Daten übertragen, um alte, ungelabelte Daten mit weniger Informationen zu analysieren. 4. Maschinelles Lernen, um wiederkehrende Zeitreihenprimitive zu lernen, wie zum Beispiel Impulse, trapezförmige Segmente, Rechteckwellen oder dergleichen. In einer Ausführung werden Transformationen dieser Primitive durchgeführt, um Variationen hiervon in einer Live-Datenreihe zu lokalisieren. Diese Funktion ist insbesondere nützlich, um auf Basis von Zeitreihensegmenten mit bestimmten Eigenschaften verborgene physikalische Variable des Roboterzustand zu schätzen bzw. zu beobachten, beispielsweise eine Achsenreibung.
5. Unterscheiden zwischen Zeitreihen aus verschiedenen Klassen auf Basis typischer Untersequenzen einer bestimmten visuellen Form. Durch Betrachten dieser Unterschiede kann in einer Ausführung ein Anwender eine Erklärung für Zeitreihen aus verschiedenen Klassen finden.
6. Automatische Gruppierung von Zeitreihendaten ohne menschlichen Eingriff: in einer Ausführung werden einem Anwender repräsentierende Muster für jede Zeitreihendatengruppe zur Verfügung gestellt.
Ein Aktivieren im Sinne der vorliegenden Erfindung kann insbesondere ein Lokalisieren und/oder Einbetten im Sinne der vorliegenden Erfindung umfassen und umgekehrt.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert,:
Fig. 1 : ein System nach einer Ausführung der vorliegenden Erfindung; und
Fig. 2: ein Verfahren nach einer Ausführung der vorliegenden Erfindung.
Fig. 1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung, Fig. 2 ein Verfahren nach einer Ausführung der vorliegenden Erfindung.
In einer Trainingsphase (Fig. 2: Schritte S10, S20) wird ein erster Datensatz mit einem Zeitverlauf xi(t) eines Zustandsparameters eines Roboters 1 erhalten (Fig. 2: Schritt S10). Im Ausführungsbeispiel ist der Zustandsparameter exemplarisch ein Antriebsdrehmomentregelfehler. Anschließend (Fig. 2: Schritt S20) wird ein künstliches Neuronales Netz trainiert, welches einen ersten Autoencoder mit einem Encoder 11 , der den ersten Datensatz auf Zeitverlaufsmuster und deren Aktivierung abbildet, und einem Decoder 12, der mit diesen Zeitverlaufsmustern den ersten Datensatz rekonstruiert, und einen zweiten Autoencoder mit einem Encoder 21 , der die Zeitverlaufsmuster und deren Aktivierung auf Mustergruppen abbildet, und einem Decoder 22, der mit diesen Mustergruppen die Zeitverlaufsmuster und deren Aktivierung rekonstruiert, aufweist.
In einer Monitoringphase (Fig. 2: Schritte S30, S40) wird ein zweiter Datensatz X2(t) mit einem Zeitverlauf des Zustandsparameters des Roboters 1 erhalten (Fig. 2: Schritt S30).
In einer Schritt S40 wird eine der Mustergruppen des trainierten zweiten Autoencoders innerhalb des zweiten Datensatzes identifiziert und in dem in dem zweiten Datensatz markiert.
Diese Mustergruppe ist in Fig. 1 durch ein schraffiertes Rechteck mit gestricheltem Rand angedeutet: zunächst werden Zeitverlaufsmuster und deren Aktivierung, die im latenten Raum 13 des ersten Autoencodes anfänglich zufallsbasiert belegt sind, so gelernt bzw. der erste Autoencoder so trainiert, dass er den Zeitverlauf xi(t) möglichst gut rekonstruiert.
Die so gelernten Zeitverlaufsmuster und Aktivierungen werden in den zweiten Autoencoder eingegeben. In dessen latentem Raum 23 sind alle möglichen Kombinationen der Zeitverlaufsmuster und Aktivierungen anfänglich zufallsbasiert belegt.
Der zweite Autoencoder wird nun so trainiert, dass er die Zeitverlaufsmuster und Aktivierungen vom ersten Autoencoder („Low-Ievel-Zeitreihen-Subsequenzen“) möglichst gut rekonstruiert.
Dabei wird erkannt, dass das in Fig. 1 dargestellte Zeitverlaufsmuster 3 nur einmal an einer bestimmten Stelle im Zeitverlauf xi(t) vorkommt, was in Fig. 1 durch ein schraffiertes Rechteck mit gestricheltem Rand angedeutet ist. Nun wird dieses Zeitverlaufsmuster 3 in dem neuen Zeitverlauf X2(t) gesucht bzw. identifiziert und markiert, was in Fig. 1 durch ein schraffiertes Rechteck mit gestricheltem Rand angedeutet ist.
Der Zeitverlauf X2(t) ist beispielsweise bei einem Arbeitsprozess des Roboters 1 aufgenommen.
Auf diese Weise kann in dem Zeitverlauf X2(t) bzw. Arbeitsprozess ein signifikanter Zeitabschnitt erkannt werden, beispielsweise eine Kollision, ein Umgebungskontakt, eine Roboteranomalie oder dergleichen.
Auf diese Weise kann auf Basis dieses identifizierten Zeitverlaufsmusters der Betrieb des Roboters in Schritt S40 analysiert, überwacht und/oder modifiziert werden, beispielsweise bei Auftreten einer (bestimmten) Roboteranomalie eine vorausschauende Wartung entsprechend initiiert werden. Gleichermaßen kann zum Beispiel bei Detektion eines geplanten Umgebungskontakts ein Verlauf des Antriebsdrehmomentregelfehlers infolge des Umgebungskontakts näher analysiert werden oder dergleichen.
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.

Claims

Patentansprüche Verfahren zur Analyse eines Betriebs eines Roboters (1), das
- ein Durchführen einer Trainingsphase, mit den Schritten:
- Erhalten (S10) eines ersten Datensatzes mit wenigstens einem Zeitverlauf wenigstens eines Zustandsparameters eines ersten Roboters (1); und
- Trainieren (S20) eines künstlichen Neuronalen Netzes, welches einen ersten Autoencoder mit einem Encoder (11), der den ersten Datensatz auf Zeitverlaufsmuster und deren Aktivierung abbildet, und einem Decoder (12), der mit diesen Zeitverlaufsmustern den ersten Datensatz rekonstruiert; und einen zweiten Autoencoder mit einem Encoder (21), der die Zeitverlaufsmuster und deren Aktivierung auf Mustergruppen abbildet, und einem Decoder (22), der mit diesen Mustergruppen die Zeitverlaufsmuster und deren Aktivierung rekonstruiert; aufweist; und
- ein Durchführen einer Monitoringphase, mit den Schritten:
- Erhalten (S30) eines zweiten Datensatzes mit wenigstens einem Zeitverlauf des wenigstens einen Zustandsparameters des ersten oder eines zweiten Roboters; und
- Identifizieren (S40) wenigstens einer der Mustergruppen des trainierten zweiten Autoencoders innerhalb des zweiten Datensatzes aufweist. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der erste Autoencoder wenigstens einen Variational Autoencoder aufweist; Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Encoder des zweiten Autoencoders wenigstens ein Attention-basiertes künstliches Neuronales Netz, insbesondere wenigstens einen Multihead Attention Block, aufweist.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Decoder des zweiten Autoencoders wenigstens ein Capsule Neural Network aufweist.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Zustandsparameter von wenigstens einer Position und/oder Orientierung einer roboterfesten Referenz und/oder von wenigstens einer Achslast des Roboters abhängt und/oder mittels wenigstens eines, insbesondere roboterseitigen, Sensors erfasst ist.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die identifizierte Mustergruppe in dem zweiten Datensatz markiert wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass auf Basis der identifizierte Mustergruppe eine Roboteranomalie und/oder ein Ereignis detektiert und/oder der Zeitverlauf des zweiten Datensatzes klassifiziert wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Betrieb des ersten oder zweiten Roboters auf Basis der identifizierten Mustergruppe, insbesondere auf Basis der in dem zweiten Datensatz markierten Mustergruppe und/oder der detektierten Roboteranomalie und/oder des detektierten Ereignisses und/oder des klassifizierten Zeitverlaufs des zweiten Datensatzes, analysiert, überwacht und/oder modifiziert wird.
9. System zur Analyse eines Betriebs eines Roboters (1), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist:
- Mittel zum Durchführen einer Trainingsphase, mit den Schritten:
- Erhalten eines ersten Datensatzes mit wenigstens einem Zeitverlauf wenigstens eines Zustandsparameters eines ersten Roboters; und
- Trainieren eines künstlichen Neuronalen Netzes, welches einen ersten Autoencoder mit einem Encoder (11), der den ersten Datensatz auf Zeitverlaufsmuster und deren Aktivierung 18 abbildet, und einem Decoder (12), der mit diesen Zeitverlaufsmustern den ersten Datensatz rekonstruiert; und einen zweiten Autoencoder mit einem Encoder (21), der die Zeitverlaufsmuster und deren Aktivierung auf Mustergruppen abbildet, und einem Decoder (22), der mit diesen Mustergruppen die Zeitverlaufsmuster und deren Aktivierung rekonstruiert; aufweist; und
- Mittel zum Durchführen einer Monitoringphase, mit den Schritten:
- Erhalten eines zweiten Datensatzes mit wenigstens einem Zeitverlauf des wenigstens einen Zustandsparameters des ersten oder eines zweiten Roboters;
- Identifizieren wenigstens einer der Mustergruppen des trainierten zweiten Autoencoders innerhalb des zweiten Datensatzes. Computerprogramm oder Computerprogrammprodukt, wobei das Computerprogramm oder Computerprogrammprodukt, insbesondere auf einem computerlesbaren und/oder nicht-flüchtigen Speichermedium gespeicherte, Anweisungen enthält, die bei der Ausführung durch einen oder mehrere Computer oder ein System nach Anspruch 9 den oder die Computer oder das System dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen.
EP22760708.2A 2021-08-11 2022-08-01 Verfahren und system zur analyse eines betriebs eines roboters Pending EP4384358A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021208769.8A DE102021208769B8 (de) 2021-08-11 2021-08-11 Verfahren und System zur Analyse eines Betriebs eines Roboters
PCT/EP2022/071511 WO2023016837A1 (de) 2021-08-11 2022-08-01 Verfahren und system zur analyse eines betriebs eines roboters

Publications (1)

Publication Number Publication Date
EP4384358A1 true EP4384358A1 (de) 2024-06-19

Family

ID=83081568

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22760708.2A Pending EP4384358A1 (de) 2021-08-11 2022-08-01 Verfahren und system zur analyse eines betriebs eines roboters

Country Status (5)

Country Link
US (1) US20240428051A1 (de)
EP (1) EP4384358A1 (de)
CN (1) CN118103178A (de)
DE (1) DE102021208769B8 (de)
WO (1) WO2023016837A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240112016A1 (en) * 2022-09-30 2024-04-04 Falkonry Inc. Scalable, multi-modal, multivariate deep learning predictor for time series data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014226787B3 (de) 2014-12-22 2016-03-17 Kuka Roboter Gmbh Sicherer Roboter mit Bahnfortschrittsvariablen
DE102017125330B3 (de) 2017-10-27 2019-01-10 Kuka Deutschland Gmbh Virtuelle Funktionsauslöser
DE102018203234A1 (de) 2018-03-05 2019-09-05 Kuka Deutschland Gmbh Vorausschauende Beurteilung von Robotern
DE102019214009B3 (de) 2019-09-13 2020-12-10 Kuka Deutschland Gmbh Analyse von Sensormessdaten eines Roboters oder Manipulators
DE102019220574A1 (de) 2019-12-27 2021-07-01 Robert Bosch Gmbh Verfahren und Vorrichtung zum Testen einer Maschine
DE102020210537A1 (de) 2020-08-19 2022-02-24 Kuka Deutschland Gmbh Verfahren und System zum Handhaben einer Lastanordnung mit einem Robotergreifer

Also Published As

Publication number Publication date
US20240428051A1 (en) 2024-12-26
DE102021208769B8 (de) 2023-02-23
DE102021208769B3 (de) 2023-01-05
CN118103178A (zh) 2024-05-28
WO2023016837A1 (de) 2023-02-16

Similar Documents

Publication Publication Date Title
Zhou et al. Interpreting deep visual representations via network dissection
EP3847578A1 (de) Verfahren und vorrichtung zur klassifizierung von objekten
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112019000093T5 (de) Diskriminierungsvorrichtung und Maschinenlernverfahren
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
EP3557487B1 (de) Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken
DE102014108287A1 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102023212504A1 (de) Systeme und Verfahren zum Training eines Videoobjekt-Detektionsmaschinen-Lernmodells mit einem Rahmen von Lehrer und Schüler
EP3696743A1 (de) Verfahren und überwachungsvorrichtung zur überwachung eines technischen systems mittels anomalieerkennung
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE19636074C2 (de) Lernfähiges Bildverarbeitungssystem zur Klassierung
EP4384358A1 (de) Verfahren und system zur analyse eines betriebs eines roboters
DE112021007196T5 (de) Maschinenlernvorrichtung, klassifizierungsvorrichtung und steuervorrichtung
EP3330818A1 (de) Verfahren und vorrichtung zur zustandsüberwachung von komponenten einer technischen anlage
DE102019209228A1 (de) Verfahren und Vorrichtung zum Überprüfen der Robustheit eines künstlichen neuronalen Netzes
DE112021008311T5 (de) Arbeitsanalysevorrichtung
DE102022107831A1 (de) Neuronale Netzwerkarchitektur für die automatisierte Teileprüfung
DE102018128640A1 (de) Vorrichtung zur Einschätzung einer Rauscherzeugungsursache
Casacuberta et al. PCACE: A statistical approach to ranking neurons for CNN interpretability
DE102025112668A1 (de) System und Verfahren zum Vorhersagen diverser zukünftiger Geometrien mit Diffusionsmodellen
Eum et al. Region-based conversion of neural activity across sessions
DE102023207212A1 (de) Verfahren und ein System zum optimierten Trainieren eines Algorithmus des maschinellen Lernens
EP4645162A1 (de) Verfahren und system zur inspektion oder zum betrieb eines produkts
DE102004018174B4 (de) Verfahren zur Akquisition von Formen aus Bildern mit Fällen und zum fallbasierten Erkennen von Objekten in digitalen Bildern, Computer-Programm-Produkt und digitales Speichermedium zur Ausführung dieses Verfahrens
EP4636662A1 (de) Verfahren zum trainieren eines gams

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240206

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

P01 Opt-out of the competence of the unified patent court (upc) registered

Free format text: CASE NUMBER: APP_48467/2024

Effective date: 20240823

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)