WO2024008232A1 - Method for the dynamic detection of ratcheting in a collaborative robot by means of artifical intelligence and dynamic compensation of the trajectories - Google Patents

Method for the dynamic detection of ratcheting in a collaborative robot by means of artifical intelligence and dynamic compensation of the trajectories Download PDF

Info

Publication number
WO2024008232A1
WO2024008232A1 PCT/DE2023/100476 DE2023100476W WO2024008232A1 WO 2024008232 A1 WO2024008232 A1 WO 2024008232A1 DE 2023100476 W DE2023100476 W DE 2023100476W WO 2024008232 A1 WO2024008232 A1 WO 2024008232A1
Authority
WO
WIPO (PCT)
Prior art keywords
ratcheting
data
robot
skipped
artificial intelligence
Prior art date
Application number
PCT/DE2023/100476
Other languages
German (de)
French (fr)
Inventor
Kazuaki Kaneko
Original Assignee
Schaeffler Technologies AG & Co. KG
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 Schaeffler Technologies AG & Co. KG filed Critical Schaeffler Technologies AG & Co. KG
Publication of WO2024008232A1 publication Critical patent/WO2024008232A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4062Monitoring servoloop, e.g. overload of servomotor, loss of feedback or reference
    • 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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39191Compensation for errors in mechanical components
    • 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/49Nc machine tool, till multiple
    • G05B2219/49197Gear

Definitions

  • the present invention relates generally to the technical field of robotics, autonomous mobile robots (AMRs) and in particular collaborative robots (cobots) and safety and precision technology in the workplace and in assembly plants.
  • AMRs autonomous mobile robots
  • cobots collaborative robots
  • Cobot systems have been used in more and more facilities in recent years. This has led to human workers increasingly sharing the same space with cobot systems.
  • Such robots are designed to be particularly collaborative. For example, movements should initially be stopped if objects or workers are in the way in order to prevent damage and injuries.
  • So-called voltage wave gears (harmonic drive I harmonic gear box) are often used as transmissions.
  • a process that is often referred to as ratcheting can occur.
  • an internal toothing of a transmission can slip or be displaced relative to one another by, for example, one tooth, but also by several teeth.
  • US7439693B2 discloses a method for detecting anomalies and a
  • a motor control device of a motor having a driving a movable body of a linear motion device includes the following steps: detecting a position or a speed of the movable body; performing feedback control to supply current or voltage to the motor based on the detection result; and detecting an abnormality of the linear motion device based on an abnormal signal component included in a waveform of the supply current or the supply voltage.
  • a control unit of a motor driver performs feedback control to power a linear motor based on a detection value of a linear encoder.
  • An anomaly detection unit monitors the supply current to the linear motor, and the anomaly detection unit detects an abnormality of a linear motion device based on a waveform of the supply current. When an anomaly is detected, the user is alerted using a lamp, buzzer, email, or similar. Therefore, the abnormality of the linear motion device can be detected early and accurately.
  • a method for detecting ratcheting in the operation of a robot, in particular a cobot, in relation to at least one joint of the robot, in particular of the cobot, based on operating data of the robot using artificial intelligence comprising the following steps: providing operating data, in particular current flow data, in relation to a time behavior of a motor, in particular a servo motor, of a robot, detecting a ratcheting of a joint of the robot, in particular in the case of a voltage wave gear, wave gear and/or sliding wedge gear, by evaluating the operating data as indirect or direct input data of an artificial intelligence with receipt of output data, the output data of the artificial intelligence comprising an indicator which indicates whether ratcheting has occurred in relation to the joint, in particular the gear.
  • the artificial intelligence determines particularly precisely whether ratcheting has occurred.
  • the precision is higher than with conventional methods.
  • the Kl also takes on this task with greater precision than is the case with other or known methods.
  • the invention also creates artificial intelligence and a suitable training procedure.
  • an artificial intelligence in particular linear and/or non-linear regression, fast Fourier transformation and/or support vector machine and/or an artificial neural network, in particular recurrent neural network, is provided, which is set up to determine Presence or absence of ratcheting of a transmission, in particular in a cobot, and/or a determination of a number of teeth which were skipped in a transmission during ratcheting, comprising one or more input neurons for recording input data comprising data based on operating data, in particular current flow data , in relation to a time behavior of a motor, in particular a servo motor.
  • the artificial intelligence is set up to provide output data which includes an indicator which indicates whether ratcheting has occurred in relation to the joint, in particular the gearbox.
  • the appropriately trained AI can immediately and reliably produce labels that describe the presence or absence of ratcheting.
  • such labels can be expressed by “0” and “1”, where “1” is describes ratcheting that has occurred. Corresponding technical corrective actions are reliably made possible.
  • output data further indicates an extent of ratcheting that has occurred, if such ratcheting has occurred, in particular a number of teeth that were skipped in a gearbox during ratcheting and/or an angle skipped by the ratcheting.
  • the appropriately trained AI can immediately and reliably produce labels that quantify ratcheting.
  • labels can be expressed by “0”, “1”, “2”, “3” etc., where the number indicates how many teeth were skipped.
  • This labeling of the Kl is a more precise determination than that based on traditional methods. Corresponding technical corrective actions are reliably made possible.
  • the cobot is further set up to calculate a corrected trajectory and/or corrected control instruction, in particular based on the number of teeth that were skipped during ratcheting and/or based on the angle skipped through ratcheting.
  • a value for a current angle is corrected in the control so that after ratcheting occurs, it again corresponds to the angle actually present on the robot.
  • the determination of the Kl can be used for improved dynamic behavior of the robotic device.
  • the cobot comprises a central control unit and at least one motor control unit, wherein the central control unit and the motor control unit can communicate with one another via a bus, in particular an Ethernet bus, in particular a determination of whether ratcheting has occurred in relation to a joint assigned engine control unit, in particular a determination of a number of teeth that were skipped in a gearbox during ratcheting takes place in an assigned engine control unit, in particular a calculation of a corrected trajectory and / or corrected control instruction taking place in the central control unit.
  • a bus in particular an Ethernet bus
  • a determination of whether ratcheting has occurred in relation to a joint assigned engine control unit in particular a determination of a number of teeth that were skipped in a gearbox during ratcheting takes place in an assigned engine control unit, in particular a calculation of a corrected trajectory and / or corrected control instruction taking place in the central control unit.
  • Fig. 1 a flowchart (in the form of a repeat loop) for a central control unit for detecting ratcheting according to embodiments of the invention, including compensation.
  • Fig. 2 a flowchart (in the form of a repeat loop) for a motor control unit for detecting ratcheting according to embodiments of the invention, including quantitative determination of the skipped teeth.
  • Figure 1 shows a flowchart (in the form of a repeat loop) for a central control unit for detecting ratcheting according to embodiments of the invention, including compensation.
  • step 101 it is checked whether a ratcheting error (ratcheting occurrence) has been received by a joint (or its motor control unit).
  • a value for a currently occupied angle is corrected in step 102. It is corrected by the angle caused by the ratcheting. For example, this depends on a number of skipped teeth and/or on one or more total numbers of teeth that are present in the corresponding gear.
  • a special mode is adopted by the central control unit, which is only adopted if ratcheting has been observed.
  • corresponding variables for current end effector positions of the cobot are updated. In one example, this is a calculation based on the result from step 102.
  • a trajectory that the joint should traverse in the future is recalculated or updated. For example, this is calculated so that the robot can achieve a configuration that would have occurred if the ratcheting had not taken place. But there are also other behaviors possible. For example, an LS PB method (linear segments with parabolic blends) is used to calculate the trajectory.
  • step 105 the central control unit returns to a normal mode. This is the mode normally used unless revenge occurs. This is the mode in which the central control unit was at the beginning 101 of the flowchart.
  • the flowchart is ended by the end 110.
  • Figure 2 shows a flowchart (in the form of a repeat loop) for a motor control unit for detecting ratcheting according to embodiments of the invention, including quantitative determination of the skipped teeth.
  • step 201 timing data, for example a motor current flow of an articulated motor, is loaded into a calculation buffer.
  • Kl according to the invention is used to determine whether ratcheting has occurred at the joint (and, if necessary, quantified). If ratcheting is positively detected at branch 203, a corresponding ratcheting error code is output to a communications bus. This way the central control unit can find out about the error/ratcheting. For example, the error code contains information about how many teeth were skipped.
  • the flowchart is ended by the end 210.
  • aspects have been described in the context of a device, it is clear that these aspects also represent a description of the corresponding method, where a block or a device corresponds to a method step or a function of a method step. Analogously, aspects that are described as part of a method step also represent a description of a corresponding block or element or a property of a corresponding device.
  • Embodiments of the invention can be implemented in a computer system.
  • the computing system may be a local computing device (e.g., personal computer, laptop, tablet computer, or cell phone) with one or more processors and one or more storage devices, or may be a distributed computing system (e.g., a Cloud computing system with one or more processors or one or more storage devices distributed in different locations, for example at a local client and / or one or more remote server farms and / or data centers).
  • the computer system may include any circuit or combination of circuits.
  • the computer system may include one or more processors, which may be of any type.
  • processor may mean any type of computing circuit such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set microprocessor (CISC), a reduced instruction set microprocessor (RISC), a very long instruction word processor. (Very Long Instruction Word; VLIW) microprocessor, a graphics processor, a digital signal processor (DSP), a multi-core processor, a field programmable gate array (FPGA), or any other type of processor or processing circuit.
  • Other types of circuits that may be included in the computer system may include a custom-built circuit, an application-specific integrated circuit (ASIC), or the like, such as one or more circuits (e.g., a communications circuit) for use with wireless devices such as . B.
  • ASIC application-specific integrated circuit
  • the computer system may include one or more storage devices, which may include one or more storage elements suitable for the particular application, such as a main memory in the form of a random access memory (RAM), one or more hard drives, and/or a or multiple drives that handle removable media such as CDs, flash memory cards, DVDs and the like.
  • the computer system may also include a display device, one or more speakers, and a keyboard and/or controller, which may include a mouse, trackball, touch screen, voice recognition device, or any other device that allows a system user to enter information into the computer system and information to receive from the same.
  • Some or all of the method steps may be performed by (or using) a hardware device, such as a processor, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the key method steps may be performed by such a device. Depending on particular implementation requirements, embodiments of the invention may be implemented in hardware or software. The implementation may be performed with a non-volatile storage medium such as a digital storage medium such as a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM and EPROM, an EEPROM or a FLASH memory in which electronically readable control signals are stored, which interact (or can interact) with a programmable computer system in such a way that the respective method is carried out. Therefore, the digital storage medium can be computer readable.
  • a non-volatile storage medium such as a digital storage medium such as a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM
  • Some embodiments according to the invention include a data carrier with electronically readable control signals that can interact with a programmable computer system to perform one of the methods described herein.
  • embodiments of the present invention may be implemented as a computer program product with program code, the program code being effective for executing one of the methods when the computer program product is running on a computer.
  • the program code can, for example, be stored on a machine-readable medium.
  • an embodiment of the present invention is therefore a computer program having program code for carrying out one of the methods described herein when the computer program runs on a computer.
  • another embodiment of the present invention is a storage medium (or a data carrier or a computer-readable medium) that includes, stored thereon, a computer program for carrying out one of the methods described herein when executed by a processor.
  • the data carrier, digital storage medium or recorded medium is usually tangible and/or non-seamless.
  • Another embodiment of the present invention is an apparatus as described herein that includes a processor and the storage medium.
  • a further exemplary embodiment of the invention is therefore a data stream or a signal sequence that represents the computer program for carrying out one of the methods described herein.
  • the data stream or the signal sequence can, for example, be configured so that they are transmitted via a data communication connection, for example via the Internet.
  • Another embodiment includes a processing means, for example a computer or a programmable logic device, configured or adapted to carry out any of the methods described herein.
  • a processing means for example a computer or a programmable logic device, configured or adapted to carry out any of the methods described herein.
  • Another embodiment includes a computer on which the computer program for executing one of the methods described herein is installed.
  • Another embodiment according to the invention includes an apparatus or system configured to transmit (e.g., electronically or optically) to a receiver a computer program for carrying out one of the methods described herein.
  • the receiver may be, for example, a computer, a mobile device, a storage device, or the like.
  • the device or system may, for example, include a file server for transmitting the computer program to the recipient.
  • a programmable logic device e.g., a field programmable gate array, FPGA
  • FPGA field programmable gate array
  • a field programmable gate array may cooperate with a microprocessor to perform any of the methods described herein. In general, the methods are preferably performed by each hardware device.
  • Embodiments may be based on using a machine learning model and/or machine learning algorithm (so-called artificial intelligence).
  • Machine learning can refer to algorithms and statistical models that computer systems can use to perform a specific task without using explicit instructions, rather than relying on models and inference.
  • a transformation of data can be used that can be derived from an analysis of historical and/or training data. For example, the content of images under Analyzed using a machine learning model or using a machine learning algorithm.
  • the machine learning model can be trained using training images as input and training content information as output. By training the machine learning model with a large number of training images and/or training sequences (e.g.
  • the machine learning model “learns” the content of the images recognize so that the content of images not included in the training data can be recognized using the machine learning model.
  • the same principle can be used for other types of sensor data as well: By training a machine learning model using training sensor data and a desired output, the machine learning model "learns” a transformation between the sensor data and the output, which can be used to create a Provide output based on non-training sensor data provided to the machine learning model.
  • the provided data e.g. sensor data, metadata and/or image data
  • Machine learning models can be trained using training input data.
  • the examples above use a training method called “supervised learning.”
  • supervised learning the machine learning model is trained using a plurality of training samples, where each sample represents a plurality of input data values and a plurality of desired output values, i.e. H.
  • Each training sample is assigned a desired output value, which can include.
  • the machine learning model “learns” what output value to provide based on an input sample that is similar to the samples provided during training.
  • semi-supervised learning can also be used. In semi-supervised learning, some of the training samples lack a desired output value.
  • Supervised learning can be based on a supervised learning algorithm (e.g. a classification algorithm, a regression algorithm, or a similarity learning algorithm).
  • Classification algorithms can be used when the outputs are restricted to a limited set of values (categorical variables), i.e. the input is classified as one from the limited set of values.
  • Regression algorithms can be used when the outputs are of any numerical value (within a range) identify.
  • Similarity learning algorithms can be similar to both classification and regression algorithms, but are based on learning from examples using a similarity function that measures how similar or related two objects are.
  • unsupervised learning can be used to train the machine learning model.
  • input data may be provided (only) and an unsupervised learning algorithm may be used to find structure in the input data (e.g. by grouping or clustering the input data, finding commonalities in the data).
  • Clustering is the assignment of input data comprising a plurality of input values into subsets (clusters) such that input values within the same cluster are similar according to one or more (predefined) similarity criteria, while they are dissimilar to input values comprised in other clusters.
  • Reinforcement learning is a third group of machine learning algorithms.
  • reinforcement learning can be used to train the machine learning model.
  • Reinforcement learning involves training one or more software actors (so-called “software agents”) to perform actions in an environment. Based on the actions taken, a reward is calculated.
  • Reinforcement learning is based on training the one or more software agents to select the actions in such a way that the cumulative reward is increased, resulting in software agents that become better at the task they are given (as by increasing rewards proven).
  • feature learning can be used.
  • the machine learning model may be at least partially trained using feature learning and/or the machine learning algorithm may include a feature learning component.
  • Feature learning algorithms called representation learning algorithms, can preserve the information in their input but transform it in a way that makes it useful, often as a preprocessing stage before performing classification or prediction.
  • feature learning can be based on principal component analysis or cluster analysis.
  • anomaly detection i.e., outlier detection
  • the machine learning model may be at least partially trained using anomaly detection, and/or the machine learning algorithm may include an anomaly detection component.
  • Association rules are another technique that can be used in machine learning algorithms.
  • the machine learning model can be based on one or more association rules.
  • Association rules are created by identifying relationships between variables in large sets of data.
  • the machine learning algorithm may identify and/or use one or more ratio rules that represent the knowledge derived from the data.
  • the rules can e.g. B. be used to store, manipulate or apply knowledge.
  • Machine learning algorithms are usually based on a machine learning model.
  • the term “machine learning algorithm” can mean a set of instructions that can be used to create, train, or use a machine learning model.
  • the term “machine learning model” may mean a data structure and/or a set of rules that represents the learned knowledge (e.g. based on the training performed by the machine learning algorithm).
  • the use of a machine learning algorithm may imply the use of an underlying machine learning model (or a plurality of underlying machine learning models).
  • the use of a machine learning model may imply that the machine learning model and/or the data structure/set of rules that is/are the machine learning model is trained by a machine learning algorithm.
  • the machine learning model can be an artificial neural network (ANN).
  • ANN artificial neural network
  • ANNs are systems inspired by biological neural networks such as those found in a retina or brain.
  • ANNs include a plurality of interconnected nodes and a plurality of connections, called edges, between the nodes.
  • Each node can represent an artificial neuron.
  • Each edge can send information from one node to another.
  • the output of a node can be defined as a (nonlinear) function of the inputs (e.g. the sum of its inputs).
  • a node's inputs can be used in the function based on a "weight" of the edge or node providing the input.
  • the weight of nodes and/or edges can be adjusted in the learning process.
  • training an artificial neural network may include adjusting the weights of the nodes and/or edges of the artificial neural network, ie, to achieve a desired output for a particular input.
  • the machine learning model can be a support vector machine, a random forest model or a gradient boosting model.
  • Support Vector Machines are supervised learning models with associated learning algorithms that can be used to analyze data (e.g. in a classification or regression analysis).
  • Support vector machines can be trained by providing input with a plurality of training input values belonging to one of two categories. The support vector machine can be trained to assign a new input value to either category.
  • the machine learning model may be a Bayesian network, which is a probabilistic directed acyclic graphical model. A Bayesian network can represent a set of random variables and their conditional dependencies using a directed acyclic graph.
  • the machine learning model may be based on a genetic algorithm, which is a search algorithm and heuristic technique that mimics the process of natural selection.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

The invention relates to a method for the detection of ratcheting during operation of a robot, in particular a collaborative robot, in relation to at least one joint of the robot, in particular of the collaborative robot, on the basis of operating data of the robot by means of artificial intelligence comprising the following steps: providing of operating data, in particular current flow data, in relation to a time behaviour of a motor, in particular a servomotor, of a robot; detecting of ratcheting of a joint of the robot, in particular in the case of a strain wave gear mechanism, a harmonic drive and/or ellipto-centric gear mechanism, by evaluation of the operating data as indirect or direct input data for an artificial intelligence system yielding output data, wherein the output data of the artificial intelligence system comprise an indicator which indicates whether ratcheting has occurred in relation to the joint, in particular the gear mechanism.

Description

Verfahren zur dynamischen Erkennung von Ratcheting bei einem kollaborativen Roboter mittels Künstlicher Intelligenz und dynamischer Kompensation der Trajektorien Method for dynamic detection of ratcheting in a collaborative robot using artificial intelligence and dynamic compensation of trajectories
TECHNISCHES GEBIET TECHNICAL FIELD
Die vorliegende Erfindung betrifft allgemein das technische Gebiet der Robotik, der autonomen mobilen Roboter (AMRs) und insbesondere der kollaborativen Roboter (Cobots) und der Sicherheits- und Präzisionstechnik am Arbeitsplatz und in Montageanlagen. The present invention relates generally to the technical field of robotics, autonomous mobile robots (AMRs) and in particular collaborative robots (cobots) and safety and precision technology in the workplace and in assembly plants.
HINTERGRUND BACKGROUND
Cobot-Systeme werden in den letzten Jahren in immer mehr Einrichtungen eingesetzt. Dies hat dazu geführt, dass sich menschliche Arbeitskräfte zunehmend denselben Raum mit Cobot-Systemen teilen. Solche Roboter sind für besonders kollaborative Eigenschaften ausgelegt. Beispielsweise sollen Bewegungen zunächst gestoppt werden, wenn sich Objekte oder Arbeitskräfte im Weg befinden, um Schäden und Verletzungen zu verhindern. Häufig kommen als Getriebe sogenannte Spannungswellengetriebe (harmonic drive I harmonic gear box) zum Einsatz. Hierbei kann es, insbesondere bei kollisionsgestoppten Bewegungen, passieren, dass ein Prozess auftritt, welcher häufig als Ratcheting bezeichnet wird. Dabei kann eine innere Verzahnung eines Getriebes gegeneinander um beispielsweise einen Zahn, aber auch um mehrere Zähne gegeneinander verrutschen bzw. verschoben werden. Cobot systems have been used in more and more facilities in recent years. This has led to human workers increasingly sharing the same space with cobot systems. Such robots are designed to be particularly collaborative. For example, movements should initially be stopped if objects or workers are in the way in order to prevent damage and injuries. So-called voltage wave gears (harmonic drive I harmonic gear box) are often used as transmissions. Here, particularly in collision-stopped movements, a process that is often referred to as ratcheting can occur. In this case, an internal toothing of a transmission can slip or be displaced relative to one another by, for example, one tooth, but also by several teeth.
Es ist seit jeher schwierig, dieses Ratcheting korrekt festzustellen, in quantitativer als auch in qualitativer Hinsicht. Wird Ratcheting beispielsweise nicht berücksichtigt oder bleibt ein eingetretenes Ratcheting beispielsweise unbeobachtet, kann es unter anderem passieren, dass ein Roboter - und so u.a. auch der Endeffektor - beispielsweise in falschen Endpositionen stoppt, etc. It has always been difficult to correctly determine this ratcheting, both in quantitative and qualitative terms. For example, if ratcheting is not taken into account or ratcheting that has occurred remains unobserved, it can happen, among other things, that a robot - and thus also the end effector - stops in the wrong end positions, etc.
Es ist deshalb eine Aufgabe der vorliegenden Erfindung, kollaborative Robotersysteme derart weiterzuentwickeln, dass diese ihre Aufgaben, insbesondere auch in geteilten Arbeitsumgebungen mit Menschen, sehr zuverlässig und in robuster Weise erfüllen können. It is therefore an object of the present invention to further develop collaborative robot systems in such a way that they can fulfill their tasks very reliably and in a robust manner, especially in shared work environments with people.
US7439693B2 offenbart ein Verfahren zur Erkennung von Anomalien und eineUS7439693B2 discloses a method for detecting anomalies and a
Motorsteuerungsvorrichtung. Das Verfahren zur Erkennung von Anomalien in einer linearenEngine control device. The procedure for detecting anomalies in a linear
Bewegungsvorrichtung, wobei eine Motorsteuerungsvorrichtung eines Motors, der einen beweglichen Körper einer linearen Bewegungsvorrichtung antreibt, weist die folgenden Schritte auf: Erfassen einer Position oder einer Geschwindigkeit des beweglichen Körpers; Durchführen einer Rückkopplungssteuerung, um Strom oder Spannung an den Motor zu liefern, basierend auf dem Erfassungsergebnis; und Erfassen einer Anomalie der linearen Bewegungsvorrichtung auf der Grundlage einer anomalen Signalkomponente, die in einer Wellenform des Versorgungsstroms oder der Versorgungsspannung enthalten ist. Movement device, wherein a motor control device of a motor having a driving a movable body of a linear motion device includes the following steps: detecting a position or a speed of the movable body; performing feedback control to supply current or voltage to the motor based on the detection result; and detecting an abnormality of the linear motion device based on an abnormal signal component included in a waveform of the supply current or the supply voltage.
Hierbei führt eine Steuereinheit eines Motortreibers eine Rückkopplungssteuerung durch, um einen Linearmotor mit Strom zu versorgen, basierend auf einem Erfassungswert eines linearen Encoders. Eine Anomalieerkennungseinheit überwacht den Versorgungsstrom zum Linearmotor, und die Anomalieerkennungseinheit erkennt eine Anomalie einer linearen Bewegungsvorrichtung auf der Grundlage einer Wellenform des Versorgungsstroms. Wenn eine Anomalie erkannt wird, wird der Benutzer mittels einer Lampe, eines Summers, einer E- Mail oder ähnlichem gewarnt. Daher kann die Anomalie der linearen Bewegungsvorrichtung frühzeitig und genau erkannt werden. Here, a control unit of a motor driver performs feedback control to power a linear motor based on a detection value of a linear encoder. An anomaly detection unit monitors the supply current to the linear motor, and the anomaly detection unit detects an abnormality of a linear motion device based on a waveform of the supply current. When an anomaly is detected, the user is alerted using a lamp, buzzer, email, or similar. Therefore, the abnormality of the linear motion device can be detected early and accurately.
ZUSAMMENFASSUNG DER OFFENBARUNG SUMMARY OF REVELATION
Die vorliegende Erfindung schafft ein Verfahren nach Anspruch 1. Demgemäß ist ein Verfahren zur Erkennung von Ratcheting im Betrieb eines Roboters, insbesondere Cobots, in Bezug auf mindestens ein Gelenk des Roboters, insbesondere des Cobots, auf Basis von Betriebsdaten des Roboters mittels Künstlicher Intelligenz vorgesehen, umfassend die folgenden Schritte: Bereitstellen von Betriebsdaten, insbesondere Stromflussdaten, in Bezug auf ein Zeitverhalten eines Motors, insbesondere Servomotors, eines Roboters, Erkennen eines Ratcheting eines Gelenks des Roboters, insbesondere bei einem Spannungswellengetriebe, Wellgetriebe und/oder Gleitkeilgetriebe, durch Auswerten der Betriebsdaten als mittelbare oder unmittelbare Eingangsdaten einer Künstlichen Intelligenz unter Erhalt von Ausgangsdaten, wobei die Ausgangsdaten der Künstlichen Intelligenz einen Indikator umfassen, welcher indiziert, ob ein Ratcheting in Bezug auf das Gelenk, insbesondere das Getriebe, eingetreten ist. The present invention provides a method according to claim 1. Accordingly, a method is provided for detecting ratcheting in the operation of a robot, in particular a cobot, in relation to at least one joint of the robot, in particular of the cobot, based on operating data of the robot using artificial intelligence, comprising the following steps: providing operating data, in particular current flow data, in relation to a time behavior of a motor, in particular a servo motor, of a robot, detecting a ratcheting of a joint of the robot, in particular in the case of a voltage wave gear, wave gear and/or sliding wedge gear, by evaluating the operating data as indirect or direct input data of an artificial intelligence with receipt of output data, the output data of the artificial intelligence comprising an indicator which indicates whether ratcheting has occurred in relation to the joint, in particular the gear.
Die Künstliche Intelligenz bestimmt dabei besonders präzise, ob Ratcheting eingetreten ist. Die Präzision ist höher als bei herkömmlichen Methoden. The artificial intelligence determines particularly precisely whether ratcheting has occurred. The precision is higher than with conventional methods.
Beispielsweise wird das Zeitverhalten eines Stromflusses durch Daten beschrieben, welche als Eingangsdaten für die Künstliche Intelligenz dienen können. So kann die Kl klassifizieren, ob ein Ratcheting während der betreffenden Zeitspanne eingetreten ist oder nicht. Beispielsweise kann auch das Ratcheting quantifiziert werden. So kann beispielsweise, u.a. bei einem Spannungswellengetriebe, festgestellt werden, wie viele Zähne beim Ratcheting übersprungen wurden. For example, the time behavior of a current flow is described by data, which can serve as input data for artificial intelligence. In this way, the plaintiff can classify whether ratcheting occurred during the relevant period of time or not. For example, ratcheting can also be quantified. For example, in the case of a tension shaft gear, for example, it can be determined how many teeth were skipped during ratcheting.
Auch diese Aufgabe übernimmt die Kl mit höher Präzision als dies bei anderen oder bekannten Methoden der Fall ist. The Kl also takes on this task with greater precision than is the case with other or known methods.
Die Erfindung schafft ferner einen Cobot nach Anspruch 5. Demgemäß ist ein Cobot vorgesehen, umfassend eine Robotikvorrichtung, insbesondere einen Roboterarm und/oder eine Montageanlage, wobei die Robotikvorrichtung ein oder mehrere Gelenke aufweist, welche durch Motoren, insbesondere Servomotoren, bewegt werden können, eine oder mehrere Motorsteuereinheiten zur Ansteuerung der Motoren, wobei der Cobot ferner dazu eingerichtet ist, mittels Künstlicher Intelligenz ein Ratcheting eines Gelenks, insbesondere bei einem Spannungswellengetriebe, Wellgetriebe und/oder Gleitkeilgetriebe, durch Auswerten von Betriebsdaten als mittelbare oder unmittelbare Eingangsdaten der Künstlichen Intelligenz zu erkennen, wobei die Betriebsdaten Daten, insbesondere Stromflussdaten, in Bezug auf ein Zeitverhalten eines Motors des Roboters umfassen. The invention further creates a cobot according to claim 5. Accordingly, a cobot is provided, comprising a robotic device, in particular a robot arm and / or an assembly system, wherein the robotic device has one or more joints which can be moved by motors, in particular servo motors or several motor control units for controlling the motors, the cobot also being set up to use artificial intelligence to detect ratcheting of a joint, in particular in the case of a tension wave gear, wave gear and/or sliding wedge gear, by evaluating operating data as indirect or direct input data of the artificial intelligence, wherein the operating data includes data, in particular current flow data, relating to a time behavior of a motor of the robot.
Zudem schafft die Erfindung eine Künstliche Intelligenz und ein passendes Trainingsverfahren. So ist erfindungsgemäß eine Künstliche Intelligenz, insbesondere lineare und/oder nicht-lineare Regression, schnelle Fourier-Transformation und/oder Support- Vector-Machine und/oder ein Künstliches Neuronales Netz, insbesondere Rekurrentes Neuronales Netz, vorgesehen, welche eingerichtet ist zur Feststellung von Anwesenheit oder Abwesenheit eines Ratcheting eines Getriebes, insbesondere bei einem Cobot, und/oder einer Feststellung einer Anzahl an Zähnen, welche in einem Getriebe beim Ratcheting übersprungen wurden, umfassend ein oder mehrere Eingangsneuronen zur Aufnahme von Eingangsdaten umfassend Daten auf Basis von Betriebsdaten, insbesondere Stromflussdaten, in Bezug auf ein Zeitverhalten eines Motors, insbesondere Servomotors. The invention also creates artificial intelligence and a suitable training procedure. According to the invention, an artificial intelligence, in particular linear and/or non-linear regression, fast Fourier transformation and/or support vector machine and/or an artificial neural network, in particular recurrent neural network, is provided, which is set up to determine Presence or absence of ratcheting of a transmission, in particular in a cobot, and/or a determination of a number of teeth which were skipped in a transmission during ratcheting, comprising one or more input neurons for recording input data comprising data based on operating data, in particular current flow data , in relation to a time behavior of a motor, in particular a servo motor.
Gemäß einer Weiterbildung ist die Künstliche Intelligenz dazu eingerichtet, Ausgangsdaten bereitzustellen, welche einen Indikator umfassen, welcher indiziert, ob ein Ratcheting in Bezug auf das Gelenk, insbesondere das Getriebe, eingetreten ist. According to a further development, the artificial intelligence is set up to provide output data which includes an indicator which indicates whether ratcheting has occurred in relation to the joint, in particular the gearbox.
So kann die entsprechend trainierte Kl unmittelbar derartige Labels zuverlässig produzieren, welche eine Anwesenheit oder eine Abwesenheit von Ratcheting beschreiben. In this way, the appropriately trained AI can immediately and reliably produce labels that describe the presence or absence of ratcheting.
Beispielsweise können solche Labels durch „0“ und „1“ ausgedrückt werden, wobei „1“ ein aufgetretenes Ratcheting beschreibt. Entsprechende technische Korrekturhandlungen werden zuverlässig ermöglicht. For example, such labels can be expressed by “0” and “1”, where “1” is describes ratcheting that has occurred. Corresponding technical corrective actions are reliably made possible.
Gemäß einer Weiterbildung indizieren Ausgangsdaten ferner ein Ausmaß eines eingetretenen Ratcheting, sofern ein solches eingetreten ist, indizieren, insbesondere eine Anzahl an Zähnen, welche in einem Getriebe beim Ratcheting übersprungen wurden, und/oder ein durch das Ratcheting übersprungener Winkel. According to a further development, output data further indicates an extent of ratcheting that has occurred, if such ratcheting has occurred, in particular a number of teeth that were skipped in a gearbox during ratcheting and/or an angle skipped by the ratcheting.
So kann die entsprechend trainierte Kl unmittelbar derartige Labels zuverlässig produzieren, welche Ratcheting quantifizierend beschreiben. Beispielsweise können solche Labels durch „0“, „1“, „2“, „3“ etc. ausgedrückt werden, wobei die Zahl angibt, wie viele Zähne übersprugen wurden. Dieses Labeling der Kl ist eine präzisere Bestimmung als die auf Grundlage herkömmlicher Methoden. Entsprechende technische Korrekturhandlungen werden zuverlässig ermöglicht. In this way, the appropriately trained AI can immediately and reliably produce labels that quantify ratcheting. For example, such labels can be expressed by “0”, “1”, “2”, “3” etc., where the number indicates how many teeth were skipped. This labeling of the Kl is a more precise determination than that based on traditional methods. Corresponding technical corrective actions are reliably made possible.
Gemäß einer Weiterbildung ist der Cobot ferner eingerichtet zum Durchführen eines Berechnens einer korrigierten Trajektorie und/oder korrigierten Steueranweisung, insbesondere auf Basis der Anzahl an Zähnen, welche beim Ratcheting übersprungen wurden, und/oder auf Basis des durch das Ratcheting übersprungenen Winkels. According to a further development, the cobot is further set up to calculate a corrected trajectory and/or corrected control instruction, in particular based on the number of teeth that were skipped during ratcheting and/or based on the angle skipped through ratcheting.
Beispielsweise wird in der Steuerung ein Wert für einen derzeitigen Winkel korrigiert, sodass dieser nach dem Eintritt eines Ratcheting wieder mit dem tatsächlich am Roboter vorliegenden Winkel übereinstimmt. For example, a value for a current angle is corrected in the control so that after ratcheting occurs, it again corresponds to the angle actually present on the robot.
So kann die Bestimmung der Kl für ein verbessertes dynamisches Verhalten der Robotikvorrichtung verwendet werden. In this way, the determination of the Kl can be used for improved dynamic behavior of the robotic device.
Gemäß einer Weiterbildung umfasst der Cobot eine Zentralsteuereinheit und mindestens eine Motorsteuereinheit, wobei die Zentralsteuereinheit und die Motorsteuereinheit über einen Bus, insbesondere Ethernet-Bus, miteinander kommunizieren können, wobei insbesondere eine Feststellung, ob ein Ratcheting in Bezug auf ein Gelenk eingetreten ist, in einer zugeordneten Motorsteuereinheit stattfindet, wobei insbesondere eine Bestimmung einer Anzahl an Zähnen, welche in einem Getriebe beim Ratcheting übersprungen wurden, in einer zugeordneten Motorsteuereinheit stattfindet, wobei insbesondere ein Berechnen einer korrigierten Trajektorie und/oder korrigierten Steueranweisung in der Zentralsteuereinheit stattfindet. Diese Arbeitsaufteilung und Kommunikation zwischen Zentralsteuereinheit und Motorsteuereinheiten ist besonders ressourcenschonend, was ein effektive Ratchetingerkennung und dynamische Korrektur in Echtzeit ermöglicht. KURZE BESCHREIBUNG DER ZEICHNUNGEN According to a further development, the cobot comprises a central control unit and at least one motor control unit, wherein the central control unit and the motor control unit can communicate with one another via a bus, in particular an Ethernet bus, in particular a determination of whether ratcheting has occurred in relation to a joint assigned engine control unit, in particular a determination of a number of teeth that were skipped in a gearbox during ratcheting takes place in an assigned engine control unit, in particular a calculation of a corrected trajectory and / or corrected control instruction taking place in the central control unit. This division of work and communication between the central control unit and engine control units is particularly resource-saving, which enables effective ratcheting detection and dynamic correction in real time. BRIEF DESCRIPTION OF THE DRAWINGS
Bevorzugte Ausführungsformen der vorliegenden Offenbarung werden nachfolgend mit Bezugnahme auf die folgenden Figuren beschrieben: Preferred embodiments of the present disclosure are described below with reference to the following figures:
Fig. 1: ein Flussdiagramm (in Form einer Repeat-Loop) für eine Zentralsteuereinheit für ein Erkennen eines Ratcheting gemäß Ausführungsformen der Erfindung, samt Kompensation. Fig. 1: a flowchart (in the form of a repeat loop) for a central control unit for detecting ratcheting according to embodiments of the invention, including compensation.
Fig. 2: ein Flussdiagramm (in Form einer Repeat-Loop) für eine Motorsteuereinheit für ein Erkennen eines Ratcheting gemäß Ausführungsformen der Erfindung, samt quantitativer Bestimmung der übersprungenen Zähne. Fig. 2: a flowchart (in the form of a repeat loop) for a motor control unit for detecting ratcheting according to embodiments of the invention, including quantitative determination of the skipped teeth.
DETAILLIERTE BESCHREIBUNG DETAILED DESCRIPTION
Die Figur 1 zeigt ein Flussdiagramm (in Form einer Repeat-Loop) für eine Zentralsteuereinheit für ein Erkennen eines Ratcheting gemäß Ausführungsformen der Erfindung, samt Kompensation. Figure 1 shows a flowchart (in the form of a repeat loop) for a central control unit for detecting ratcheting according to embodiments of the invention, including compensation.
Bei Schritt 101 wird geprüft, ob ein Ratcheting-Fehler (Eintritt von Ratcheting) von einem Gelenk (oder seiner Motorsteuereinheit) empfangen wurde. At step 101, it is checked whether a ratcheting error (ratcheting occurrence) has been received by a joint (or its motor control unit).
Ist dies der Fall, wird ein Wert für einen aktuell eingenommenen Winkel in Schritt 102 korrigiert. Es wird um den durch das Ratcheting bedingten Winkel korrigiert. Beispielsweise ist die von einer Zahl der übersprungenen Zähne abhängig und/oder von einer oder mehrerer Gesamtzahlen von Zähnen, welche in dem entsprechenden Getriebe vorhanden sind. If this is the case, a value for a currently occupied angle is corrected in step 102. It is corrected by the angle caused by the ratcheting. For example, this depends on a number of skipped teeth and/or on one or more total numbers of teeth that are present in the corresponding gear.
Beispielsweise wird ein besonderer Modus von der Zentralsteuereinheit angenommen, welcher nur dann angenommen wird, wenn ein Ratcheting beobachtet wurde. For example, a special mode is adopted by the central control unit, which is only adopted if ratcheting has been observed.
Bei Schritt 103 werden entsprechende Variablen für aktuelle Endeffektorpositionen des Cobots aktualisiert. In einem Beispiel ist dies eine Berechnung, welche auf dem Ergebnis aus Schritt 102 aufbaut. In Schritt 104 wird eine Trajektorie, welche das Gelenk in Zukunft durchlaufen soll, neu berechnet bzw. aktualisiert. Beispielsweise wird dies so berechnet, dass der Roboter hierdurch eine Konfiguration erreichen kann, welche eingetreten wäre, wenn das Ratcheting nicht stattgefunden hätte. Es sind aber auch andere Verhaltensweisen möglich. Beispielsweise kommt zur Berechnung der Trajektorie eine LS PB- Methode (linear segments with parabolic blends) zum Einsatz. At step 103, corresponding variables for current end effector positions of the cobot are updated. In one example, this is a calculation based on the result from step 102. In step 104, a trajectory that the joint should traverse in the future is recalculated or updated. For example, this is calculated so that the robot can achieve a configuration that would have occurred if the ratcheting had not taken place. But there are also other behaviors possible. For example, an LS PB method (linear segments with parabolic blends) is used to calculate the trajectory.
In Schritt 105 geht die Zentralsteuereinheit in einen Normalmodus zurück. Das ist das Modus, der normalerweise benutzt wird, sofern kein Racheting eintritt. Die ist also der Modus, in dem sich die Zentralsteuereinheit zu Beginn 101 des Flussdiagrammes befand. In step 105, the central control unit returns to a normal mode. This is the mode normally used unless revenge occurs. This is the mode in which the central control unit was at the beginning 101 of the flowchart.
Das Flussdiagramm wird durch das Ende 110 beendet. The flowchart is ended by the end 110.
Die Figur 2 zeigt ein Flussdiagramm (in Form einer Repeat-Loop) für eine Motorsteuereinheit für ein Erkennen eines Ratcheting gemäß Ausführungsformen der Erfindung, samt quantitativer Bestimmung der übersprungenen Zähne. Figure 2 shows a flowchart (in the form of a repeat loop) for a motor control unit for detecting ratcheting according to embodiments of the invention, including quantitative determination of the skipped teeth.
In Schritt 201 werden Zeitverhaltensdaten, beispielsweise eines Motorstromflusses eines Gelenkmotors, in einem Berechnungspuffer geladen. In Schritt 202 wird mit erfindungsgemäßer Kl festgestellt, ob ein Ratcheting an dem Gelenk eingetreten ist (und ggf. quantifiziert). Wenn bei der Verzweigung 203 ein Ratcheting positiv festgestellt wurde, wird ein entsprechender Ratcheting-Fehlercode an einen Kommunikationsbus ausgegeben. So kann die Zentralsteuereinheit von dem Fehler/Ratcheting erfahren. Beispielsweise enthält der Fehlercode Angaben darüber, wie viele Zähne übersprungen wurden. In step 201, timing data, for example a motor current flow of an articulated motor, is loaded into a calculation buffer. In step 202, Kl according to the invention is used to determine whether ratcheting has occurred at the joint (and, if necessary, quantified). If ratcheting is positively detected at branch 203, a corresponding ratcheting error code is output to a communications bus. This way the central control unit can find out about the error/ratcheting. For example, the error code contains information about how many teeth were skipped.
Das Flussdiagramm wird durch das Ende 210 beendet. The flowchart is ended by the end 210.
Die hier schematisch beschriebenen Ausführungsformen lassen sich durch zahlreiche, insbesondere durch die oben bereits beschriebenen, Details zur Erfindung weiter ausgestalten. The embodiments described schematically here can be further developed by numerous details of the invention, in particular those already described above.
Obwohl einige Aspekte im Rahmen einer Vorrichtung beschrieben wurden, ist es klar, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, wobei ein Block oder eine Vorrichtung einem Verfahrensschritt oder einer Funktion eines Verfahrensschritts entspricht. Analog dazu stellen Aspekte, die im Rahmen eines Verfahrensschritts beschrieben werden, auch eine Beschreibung eines entsprechenden Blocks oder Elements oder einer Eigenschaft einer entsprechenden Vorrichtung dar. Although some aspects have been described in the context of a device, it is clear that these aspects also represent a description of the corresponding method, where a block or a device corresponds to a method step or a function of a method step. Analogously, aspects that are described as part of a method step also represent a description of a corresponding block or element or a property of a corresponding device.
Ausführungsbeispiele der Erfindung können in einem Computersystem realisiert werden. Das Computersystem kann eine lokale Computervorrichtung (z.B. Personalcomputer, Laptop, Tablet-Computer oder Mobiltelefon) mit einem oder mehreren Prozessoren und einer oder mehreren Speichervorrichtungen oder kann ein verteiltes Computersystem (z.B. ein Cloud-Computing-System mit einem oder mehreren Prozessoren oder einer oder mehreren Speichervorrichtungen, die an verschiedenen Stellen verteilt sind, zum Beispiel an einem lokalen Client und/oder einer oder mehreren Remote-Server-Farms und/oder Datenzentren) sein. Das Computersystem kann irgendeine Schaltung oder Kombination von Schaltungen umfassen. Bei einem Ausführungsbeispiel kann das Computersystem einen oder mehrere Prozessoren umfassen, die von irgendeinem Typ sein können. Nach hiesigem Gebrauch kann Prozessor irgendein Typ von Rechenschaltung bedeuten, wie beispielsweise, aber nicht beschränkt auf, ein Mikroprozessor, ein Mikrocontroller, ein Mikroprozessor mit komplexem Befehlssatz (CISC), ein Mikroprozessor mit reduziertem Befehlssatz (RISC), ein Sehr-Ianges-Anweisungswort- (Very Long Instruction Word; VLIW) Mikroprozessor, ein Graphikprozessor, ein digitaler Signalprozessor (DSP), ein Multi-Core- Prozessor, ein feldprogrammierbares Gate-Array (FPGA) oder irgendein anderer Typ von Prozessor oder Verarbeitungsschaltung. Andere Typen von Schaltungen, die in dem Computersystem umfasst sein können, können eine speziell angefertigte Schaltung, eine anwendungsspezifische integrierte Schaltung (ASIC) oder Ähnliches, wie beispielsweise eine oder mehrere Schaltungen (z. B. eine Kommunikationsschaltung) zur Verwendung bei drahtlosen Vorrichtungen wie z. B. Mobiltelefonen, Tablet-Computern, Laptop-Computern, Funksprechgeräten und ähnlichen elektronischen Systemen sein. Das Computersystem kann eine oder mehrere Speichervorrichtungen umfassen, die ein oder mehrere Speicherelemente umfassen können, die für die jeweilige Anwendung geeignet sind, wie beispielsweise einen Hauptspeicher in der Form eines Direktzugriffsspeichers (RAM, Random Access Memory), eine oder mehrere Festplatten und/oder ein oder mehrere Laufwerke, die entfernbare Medien, wie beispielsweise CDs, Flash-Speicherkarten, DVD und Ähnliches handhaben. Das Computersystem kann auch eine Anzeigevorrichtung, einen oder mehrere Lautsprecher, und eine Tastatur und/oder Steuerung umfassen, die eine Maus, Trackball, Touchscreen, Stimmerkennungsvorrichtung oder irgendeine andere Vorrichtung umfassen kann, die es einem Systemnutzer erlaubt, Information in das Computersystem einzugeben und Information von demselben zu empfangen. Embodiments of the invention can be implemented in a computer system. The computing system may be a local computing device (e.g., personal computer, laptop, tablet computer, or cell phone) with one or more processors and one or more storage devices, or may be a distributed computing system (e.g., a Cloud computing system with one or more processors or one or more storage devices distributed in different locations, for example at a local client and / or one or more remote server farms and / or data centers). The computer system may include any circuit or combination of circuits. In one embodiment, the computer system may include one or more processors, which may be of any type. As used herein, processor may mean any type of computing circuit such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set microprocessor (CISC), a reduced instruction set microprocessor (RISC), a very long instruction word processor. (Very Long Instruction Word; VLIW) microprocessor, a graphics processor, a digital signal processor (DSP), a multi-core processor, a field programmable gate array (FPGA), or any other type of processor or processing circuit. Other types of circuits that may be included in the computer system may include a custom-built circuit, an application-specific integrated circuit (ASIC), or the like, such as one or more circuits (e.g., a communications circuit) for use with wireless devices such as . B. cell phones, tablet computers, laptop computers, walkie-talkies and similar electronic systems. The computer system may include one or more storage devices, which may include one or more storage elements suitable for the particular application, such as a main memory in the form of a random access memory (RAM), one or more hard drives, and/or a or multiple drives that handle removable media such as CDs, flash memory cards, DVDs and the like. The computer system may also include a display device, one or more speakers, and a keyboard and/or controller, which may include a mouse, trackball, touch screen, voice recognition device, or any other device that allows a system user to enter information into the computer system and information to receive from the same.
Einige oder alle Verfahrensschritte können durch (oder unter Verwendung) einer Hardwarevorrichtung ausgeführt werden, wie es zum Beispiel ein Prozessor, ein Mikroprozessor, ein programmierbarer Computer oder eine elektronische Schaltung sein kann. In einigen Ausführungsbeispielen können ein oder mehrere der wichtigsten Verfahrensschritte durch eine solche Vorrichtung ausgeführt werden. Abhängig von bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder Software implementiert werden. Die Implementierung kann mit einem nicht-flüchtigen Speichermedium wie einem digitalen Speichermedium, wie beispielsweise einer Diskette, einer DVD, einem Blu-Ray, einer CD, einem ROM, einem PROM und EPROM, einem EEPROM oder einem FLASH-Speicher, durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem so Zusammenwirken (oder Zusammenwirken können), dass das jeweilige Verfahren durchgeführt wird. Daher kann das digitale Speichermedium computerlesbar sein. Some or all of the method steps may be performed by (or using) a hardware device, such as a processor, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the key method steps may be performed by such a device. Depending on particular implementation requirements, embodiments of the invention may be implemented in hardware or software. The implementation may be performed with a non-volatile storage medium such as a digital storage medium such as a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM and EPROM, an EEPROM or a FLASH memory in which electronically readable control signals are stored, which interact (or can interact) with a programmable computer system in such a way that the respective method is carried out. Therefore, the digital storage medium can be computer readable.
Einige Ausführungsbeispiele gemäß der Erfindung umfassen einen Datenträger mit elektronisch lesbaren Steuersignalen, die mit einem programmierbaren Computersystem Zusammenwirken können, so dass eines der hierin beschriebenen Verfahren durchgeführt wird. Some embodiments according to the invention include a data carrier with electronically readable control signals that can interact with a programmable computer system to perform one of the methods described herein.
Im Allgemeinen können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert werden, wobei der Programmcode für die Ausführung eines der Verfahren wirksam ist, wenn das Computerprogrammprodukt auf einem Computer läuft. Der Programmcode kann beispielsweise auf einem maschinenlesbaren Träger gespeichert werden. In general, embodiments of the present invention may be implemented as a computer program product with program code, the program code being effective for executing one of the methods when the computer program product is running on a computer. The program code can, for example, be stored on a machine-readable medium.
Weitere Ausführungsbeispiele umfassen das Computerprogramm zur Durchführung eines der hierin beschriebenen Verfahren, das auf einem maschinenlesbaren Träger gespeichert ist. Further exemplary embodiments include the computer program for carrying out one of the methods described herein, which is stored on a machine-readable medium.
Mit anderen Worten, ein Ausführungsbeispiel der vorliegenden Erfindung ist daher ein Computerprogramm mit einem Programmcode zur Durchführung eines der hierin beschriebenen Verfahren, wenn das Computerprogramm auf einem Computer läuft. In other words, an embodiment of the present invention is therefore a computer program having program code for carrying out one of the methods described herein when the computer program runs on a computer.
Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung ist daher ein Speichermedium (oder ein Datenträger oder ein computerlesbares Medium), das ein darauf gespeichertes Computerprogramm zum Ausführen eines der hierin beschriebenen Verfahren umfasst, wenn es von einem Prozessor ausgeführt wird. Der Datenträger, das digitale Speichermedium oder das aufgezeichnete Medium sind in der Regel greifbar und/oder nicht übergangslos. Eine weiteres Ausführungsbeispiel der vorliegenden Erfindung ist eine Vorrichtung, wie hierin beschrieben, die einen Prozessor und das Speichermedium umfasst. Ein weiteres Ausführungsbeispiel der Erfindung ist daher ein Datenstrom oder eine Signalfolge, die das Computerprogramm zur Durchführung eines der hierin beschriebenen Verfahren darstellt. Der Datenstrom oder die Signalfolge kann beispielsweise so konfiguriert werden, dass sie über eine Datenkommunikationsverbindung, beispielsweise über das Internet, übertragen werden. Therefore, another embodiment of the present invention is a storage medium (or a data carrier or a computer-readable medium) that includes, stored thereon, a computer program for carrying out one of the methods described herein when executed by a processor. The data carrier, digital storage medium or recorded medium is usually tangible and/or non-seamless. Another embodiment of the present invention is an apparatus as described herein that includes a processor and the storage medium. A further exemplary embodiment of the invention is therefore a data stream or a signal sequence that represents the computer program for carrying out one of the methods described herein. The data stream or the signal sequence can, for example, be configured so that they are transmitted via a data communication connection, for example via the Internet.
Ein weiteres Ausführungsbeispiel umfasst ein Verarbeitungsmittel, zum Beispiel einen Computer oder eine programmierbare Logikvorrichtung, das konfiguriert oder angepasst ist, um eines der hierin beschriebenen Verfahren auszuführen. Another embodiment includes a processing means, for example a computer or a programmable logic device, configured or adapted to carry out any of the methods described herein.
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Ausführen eines der hierin beschriebenen Verfahren installiert ist. Another embodiment includes a computer on which the computer program for executing one of the methods described herein is installed.
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, das konfiguriert ist, um (zum Beispiel elektronisch oder optisch) ein Computerprogramm zum Ausführen eines der hierin beschriebenen Verfahren an einen Empfänger zu übertragen. Der Empfänger kann beispielsweise ein Computer, eine mobile Vorrichtung, eine Speichervorrichtung oder dergleichen sein. Die Vorrichtung oder das System kann beispielsweise einen Dateiserver zum Übertragen des Computerprogramms an den Empfänger umfassen. Another embodiment according to the invention includes an apparatus or system configured to transmit (e.g., electronically or optically) to a receiver a computer program for carrying out one of the methods described herein. The receiver may be, for example, a computer, a mobile device, a storage device, or the like. The device or system may, for example, include a file server for transmitting the computer program to the recipient.
In einigen Ausführungsbeispielen kann eine programmierbare logische Vorrichtung (z.B. eine feldprogrammierbare Gatteranordnung, FPGA) verwendet werden, um einige oder alle Funktionalitäten der hierin beschriebenen Verfahren auszuführen. In einigen Ausführungsbeispielen kann eine feldprogrammierbare Gatteranordnung mit einem Mikroprozessor Zusammenarbeiten, um eines der hierin beschriebenen Verfahren durchzuführen. Im Allgemeinen werden die Verfahren vorzugsweise von jedem Hardwaregerät durchgeführt. In some embodiments, a programmable logic device (e.g., a field programmable gate array, FPGA) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform any of the methods described herein. In general, the methods are preferably performed by each hardware device.
Ausführungsbeispiele können auf dem Verwenden eines Maschinenlern-Modells und/oder Maschinenlern-Algorithmus (sog. Künstliche Intelligenz) basieren. Maschinelles Lernen kann sich auf Algorithmen und statistische Modelle beziehen, die Computersysteme verwenden können, um eine bestimmte Aufgabe ohne Verwendung expliziter Anweisungen auszuführen, anstatt sich auf Modelle und Inferenz zu verlassen. Beim maschinellen Lernen kann beispielsweise anstatt einer auf Regeln basierenden Transformation von Daten, eine Transformation von Daten verwendet werden, die aus einer Analyse von Verlaufs- und/oder Trainings-Daten hergeleitet werden kann. Beispielsweise kann der Inhalt von Bildern unter Verwendung eines Maschinenlern-Modells oder unter Verwendung eines Maschinenlern- Algorithmus analysiert werden. Damit das Maschinenlern-Modell den Inhalt eines Bildes analysieren kann, kann das Maschinenlern-Modell unter Verwendung von Trainingsbildern als Eingabe und Trainingsinhaltsinformation als Ausgabe trainiert werden. Durch Trainieren des Maschinenlern-Modells mit einer großen Anzahl von Trainingsbildern und/oder Trainingssequenzen (z. B. Wörtern oder Sätzen) und zugeordneter Trainingsinhaltsinformation (z. B. Kennzeichnungen oder Anmerkungen) „lernt“ das Maschinenlern-Modell, den Inhalt der Bilder zu erkennen, sodass der Inhalt von Bildern, die in den Trainingsdaten nicht umfasst sind, unter Verwendung des Maschinenlern-Modells erkannt werden kann. Das gleiche Prinzip kann für andere Arten von Sensordaten ebenfalls verwendet werden: Durch Trainieren eines Maschinenlern-Modells unter Verwendung von Trainingssensordaten und einer erwünschten Ausgabe „lernt“ das Maschinenlern-Modell eine Umwandlung zwischen den Sensordaten und der Ausgabe, was verwendet werden kann, um eine Ausgabe basierend auf an das Maschinenlern-Modell bereitgestellten Nicht- Trainings-Sensordaten bereitzustellen. Die bereitgestellten Daten (z.B. Sensordaten, Metadaten und/oder Bilddaten) können vorverarbeitet werden, um einen Merkmalsvektor zu erhalten, welcher als Eingang für das Maschinenlern-Modell verwendet wird. Embodiments may be based on using a machine learning model and/or machine learning algorithm (so-called artificial intelligence). Machine learning can refer to algorithms and statistical models that computer systems can use to perform a specific task without using explicit instructions, rather than relying on models and inference. In machine learning, for example, instead of a rule-based transformation of data, a transformation of data can be used that can be derived from an analysis of historical and/or training data. For example, the content of images under Analyzed using a machine learning model or using a machine learning algorithm. In order for the machine learning model to analyze the content of an image, the machine learning model can be trained using training images as input and training content information as output. By training the machine learning model with a large number of training images and/or training sequences (e.g. words or sentences) and associated training content information (e.g. labels or annotations), the machine learning model “learns” the content of the images recognize so that the content of images not included in the training data can be recognized using the machine learning model. The same principle can be used for other types of sensor data as well: By training a machine learning model using training sensor data and a desired output, the machine learning model "learns" a transformation between the sensor data and the output, which can be used to create a Provide output based on non-training sensor data provided to the machine learning model. The provided data (e.g. sensor data, metadata and/or image data) can be preprocessed to obtain a feature vector, which is used as input for the machine learning model.
Maschinenlern-Modelle können unter Verwendung von Trainingseingabedaten trainiert werden. Die oben angeführten Beispiele verwenden ein Trainingsverfahren, das „Supervised Learning“ genannt wird. Beim Supervised Learning wird das Maschinenlern-Modell unter Verwendung einer Mehrzahl von Trainingsabtastwerten trainiert, wobei jeder Abtastwert eine Mehrzahl von Eingabedatenwerten und eine Mehrzahl von erwünschten Ausgabewerten, d. h. jedem Trainingsabtastwert ist ein erwünschter Ausgabewert zugeordnet, umfassen kann. Durch Angeben sowohl von Trainingsabtastwerten als auch erwünschten Ausgabewerten „lernt“ das Maschinenlern-Modell, welcher Ausgabewert basierend auf einem Eingabeabtastwert, der ähnlich zu den während des Trainings bereitgestellten Abtastwerten ist, bereitzustellen ist. Neben dem Supervised Learning kann auch Semi-Supervised Learning verwendet werden. Beim Semi-Supervised Learning fehlt einigen der Trainingsabtastwerte ein erwünschter Ausgabewert. Supervised Learning kann auf einem Supervised Learning-Algorithmus basieren (z. B. einem Klassifizierungsalgorithmus, einem Regressionsalgorithmus oder einem Ähnlichkeitslernen-Algorithmus). Machine learning models can be trained using training input data. The examples above use a training method called “supervised learning.” In supervised learning, the machine learning model is trained using a plurality of training samples, where each sample represents a plurality of input data values and a plurality of desired output values, i.e. H. Each training sample is assigned a desired output value, which can include. By specifying both training samples and desired output values, the machine learning model “learns” what output value to provide based on an input sample that is similar to the samples provided during training. In addition to supervised learning, semi-supervised learning can also be used. In semi-supervised learning, some of the training samples lack a desired output value. Supervised learning can be based on a supervised learning algorithm (e.g. a classification algorithm, a regression algorithm, or a similarity learning algorithm).
Klassifizierungsalgorithmen können verwendet werden, wenn die Ausgaben auf eine begrenzte Menge von Werten (kategorische Variablen) beschränkt sind, d. h. die Eingabe ist als einer aus dem begrenzten Satz von Werten klassifiziert. Regressionsalgorithmen können verwendet werden, wenn die Ausgaben irgendeinen Zahlenwert (innerhalb eines Bereichs) ausweisen. Ähnlichkeitslernen-Algorithmen können sowohl Klassifizierungs- als auch Regressionsalgorithmen ähnlich sein, basieren aber auf dem Lernen aus Beispielen unter Verwendung einer Ähnlichkeitsfunktion, die misst, wie ähnlich oder verwandt zwei Objekte sind. Neben dem Supervised Learning oder Semi-Supervised Learning kann Unsupervised Learning verwendet werden, um das Maschinenlern-Modell zu trainieren. Beim Unsupervised Learning werden möglicherweise (nur) Eingabedaten bereitgestellt und ein Unsupervised Learning-Algorithmus kann verwendet werden, um eine Struktur in den Eingabedaten zu finden (z. B. durch Gruppieren oder Clustern der Eingabedaten, Finden von Gemeinsamkeiten in den Daten). Clustern ist die Zuweisung von Eingabedaten, die eine Mehrzahl von Eingabewerten umfassen, in Teilmengen (Cluster), sodass Eingabewerte innerhalb desselben Clusters gemäß einem oder mehreren (vordefinierten) Ähnlichkeitskriterien ähnlich sind, während sie Eingabewerten, die in anderen Clustern umfasst sind, unähnlich sind. Classification algorithms can be used when the outputs are restricted to a limited set of values (categorical variables), i.e. the input is classified as one from the limited set of values. Regression algorithms can be used when the outputs are of any numerical value (within a range) identify. Similarity learning algorithms can be similar to both classification and regression algorithms, but are based on learning from examples using a similarity function that measures how similar or related two objects are. In addition to supervised learning or semi-supervised learning, unsupervised learning can be used to train the machine learning model. In unsupervised learning, input data may be provided (only) and an unsupervised learning algorithm may be used to find structure in the input data (e.g. by grouping or clustering the input data, finding commonalities in the data). Clustering is the assignment of input data comprising a plurality of input values into subsets (clusters) such that input values within the same cluster are similar according to one or more (predefined) similarity criteria, while they are dissimilar to input values comprised in other clusters.
Verstärkendes Lernen ist eine dritte Gruppe von Maschinenlern-Algorithmen. Anders ausgedrückt, verstärkendes Lernen kann verwendet werden, um das Maschinenlern-Modell zu trainieren. Beim verstärkenden Lernen werden ein oder mehrere Software-Akteure (sogenannte „Software Agents“) trainiert, um Handlungen in einer Umgebung vorzunehmen. Basierend auf den vorgenommenen Handlungen wird eine Belohnung berechnet. Verstärkendes Lernen basiert auf dem Trainieren des einen oder der mehreren Software Agents, um die Handlungen auszuwählen, derart, dass die kumulative Belohnung erhöht wird, was zu Software Agents führt, die in der Aufgabe, die ihnen gegeben wird, besser werden (wie durch steigende Belohnungen nachgewiesen). Reinforcement learning is a third group of machine learning algorithms. In other words, reinforcement learning can be used to train the machine learning model. Reinforcement learning involves training one or more software actors (so-called “software agents”) to perform actions in an environment. Based on the actions taken, a reward is calculated. Reinforcement learning is based on training the one or more software agents to select the actions in such a way that the cumulative reward is increased, resulting in software agents that become better at the task they are given (as by increasing rewards proven).
Ferner können einige Techniken auf einige der Maschinenlern-Algorithmen angewandt werden. Zum Beispiel kann Feature Learning verwendet werden. Anders ausgedrückt, das Maschinenlern-Modell kann zumindest teilweise unter Verwendung von Feature Learning trainiert werden, und/oder der Maschinenlern-Algorithmus kann eine Feature Learning- Komponente umfassen. Feature Learning-Algorithmen, die Representation Learning- Algorithmen genannt werden, können die Information in ihrer Eingabe erhalten, sie aber derart transformieren, dass sie nützlich wird, häufig als Vorverarbeitungsstufe vor dem Ausführen der Klassifizierung oder dem Vorhersagen. Feature Learning kann beispielsweise auf einer Hauptkomponenten-Analyse oder Cluster-Analyse basieren. Furthermore, some techniques can be applied to some of the machine learning algorithms. For example, feature learning can be used. In other words, the machine learning model may be at least partially trained using feature learning and/or the machine learning algorithm may include a feature learning component. Feature learning algorithms, called representation learning algorithms, can preserve the information in their input but transform it in a way that makes it useful, often as a preprocessing stage before performing classification or prediction. For example, feature learning can be based on principal component analysis or cluster analysis.
Bei einigen Beispielen kann eine Anomaliedetektion (d. h. Ausreißer-Detektion) verwendet werden, die darauf abzielt, eine Identifizierung von Eingabewerten bereitzustellen, die Verdacht erregen, da sie sich erheblich von der Mehrheit von Eingabe- und Trainingsdaten unterscheiden. Anders ausgedrückt, das Maschinenlern-Modell kann zumindest teilweise unter Verwendung von Anomaliedetektion trainiert werden, und/oder der Maschinenlern- Algorithmus kann eine Anomaliedetektions-Komponente umfassen. In some examples, anomaly detection (i.e., outlier detection) may be used, which aims to provide identification of input values that raise suspicion because they differ significantly from the majority of input and training data differentiate. In other words, the machine learning model may be at least partially trained using anomaly detection, and/or the machine learning algorithm may include an anomaly detection component.
Bei einigen Beispielen kann der Maschinenlern-Algorithmus einen Entscheidungsbaum als Vorhersagemodell verwenden. Anders ausgedrückt, das Maschinenlern-Modell kann auf einem Entscheidungsbaum basieren. Bei einem Entscheidungsbaum können die Beobachtungen zu einem Gegenstand (z. B. einer Menge von Eingabewerten) durch die Zweige des Entscheidungsbaums dargestellt werden, und ein Ausgabewert, der dem Gegenstand entspricht, kann durch die Blätter des Entscheidungsbaums dargestellt werden. Entscheidungsbäume können sowohl diskrete Werte als auch fortlaufende Werte als Ausgabewerte unterstützen. Wenn diskrete Werte verwendet werden, kann der Entscheidungsbaum als Klassifizierungsbaum bezeichnet werden, wenn fortlaufende Werte verwendet werden, kann der Entscheidungsbaum als Regressionsbaum bezeichnet werden. In some examples, the machine learning algorithm may use a decision tree as a prediction model. In other words, the machine learning model can be based on a decision tree. In a decision tree, the observations about an item (e.g., a set of input values) can be represented by the branches of the decision tree, and an output value corresponding to the item can be represented by the leaves of the decision tree. Decision trees can support both discrete values and continuous values as output values. When discrete values are used, the decision tree can be called a classification tree; when continuous values are used, the decision tree can be called a regression tree.
Assoziationsregeln sind eine weitere Technik, die bei Maschinenlern-Algorithmen verwendet werden kann. Anders ausgedrückt, das Maschinenlern-Modell kann auf einer oder mehreren Assoziationsregeln basieren. Assoziationsregeln werden erstellt, indem Verhältnisse zwischen Variablen bei großen Datenmengen identifiziert werden. Der Maschinenlern- Algorithmus kann eine oder mehrere Verhältnisregeln identifizieren und/oder nutzen, die das Wissen darstellen, dass aus den Daten hergeleitet ist. Die Regeln können z. B. verwendet werden, um das Wissen zu speichern, zu manipulieren oder anzuwenden. Association rules are another technique that can be used in machine learning algorithms. In other words, the machine learning model can be based on one or more association rules. Association rules are created by identifying relationships between variables in large sets of data. The machine learning algorithm may identify and/or use one or more ratio rules that represent the knowledge derived from the data. The rules can e.g. B. be used to store, manipulate or apply knowledge.
Maschinenlern-Algorithmen basieren normalerweise auf einem Maschinenlern-Modell. Anders ausgedrückt, der Begriff „Maschinenlern-Algorithmus“ kann einen Satz von Anweisungen bezeichnen, die verwendet werden können, um ein Maschinenlern-Modell zu erstellen, zu trainieren oder zu verwenden. Der Begriff „Maschinenlern-Modell“ kann eine Datenstruktur und/oder einen Satz von Regeln bezeichnen, die/der das erlernte Wissen darstellt (z. B. basierend auf dem durch den Maschinenlern-Algorithmus ausgeführten Training). Bei Ausführungsbeispielen kann die Verwendung eines Maschinenlern- Algorithmus die Verwendung eines zugrundeliegenden Maschinenlern-Modells (oder einer Mehrzahl von zugrundeliegenden Maschinenlern-Modellen) implizieren. Die Verwendung eines Maschinenlern-Modells kann implizieren, dass das Maschinenlern-Modell und/oder die Datenstruktur/der Satz von Regeln, welche das Maschinenlern-Modell ist/sind, durch einen Maschinenlern-Algorithmus trainiert wird. Beispielsweise kann das Maschinenlern-Modell ein künstliches neuronales Netz (ANN; artificial neural network) sein. ANNs sind Systeme, die durch biologische neuronale Netze inspiriert sind, wie sie in einer Netzhaut oder einem Gehirn zu finden sind. ANNs umfassen eine Mehrzahl von zwischenverbundenen Knoten und eine Mehrzahl von Verbindungen, sogenannte Kanten (edges), zwischen den Knoten. Es gibt normalerweise drei Knotentypen, Eingabeknoten, die Eingabewerte empfangen, versteckte Knoten, die (nur) mit anderen Knoten verbunden sind, und Ausgabeknoten, die Ausgabewerte bereitstellen. Jeder Knoten kann ein künstliches Neuron darstellen. Jede Kante kann Information senden, von einem Knoten zum anderen. Die Ausgabe eines Knoten kann als eine (nichtlineare) Funktion der Eingaben definiert sein (z.B. der Summe seiner Eingaben). Die Eingaben eines Knoten können in der Funktion basierend auf einem „Gewicht“ der Kante oder des Knoten, der die Eingabe bereitstellt, verwendet werden. Das Gewicht von Knoten und/oder von Kanten kann in dem Lernprozess angepasst werden. Anders ausgedrückt, das Training eines künstlichen neuronalen Netzes kann ein Anpassen der Gewichte der Knoten und/oder Kanten des künstlichen neuronalen Netzes umfassen, d. h. um eine erwünschte Ausgabe für eine bestimmte Eingabe zu erreichen. Machine learning algorithms are usually based on a machine learning model. In other words, the term “machine learning algorithm” can mean a set of instructions that can be used to create, train, or use a machine learning model. The term “machine learning model” may mean a data structure and/or a set of rules that represents the learned knowledge (e.g. based on the training performed by the machine learning algorithm). In embodiments, the use of a machine learning algorithm may imply the use of an underlying machine learning model (or a plurality of underlying machine learning models). The use of a machine learning model may imply that the machine learning model and/or the data structure/set of rules that is/are the machine learning model is trained by a machine learning algorithm. For example, the machine learning model can be an artificial neural network (ANN). ANNs are systems inspired by biological neural networks such as those found in a retina or brain. ANNs include a plurality of interconnected nodes and a plurality of connections, called edges, between the nodes. There are usually three types of nodes, input nodes that receive input values, hidden nodes that are (only) connected to other nodes, and output nodes that provide output values. Each node can represent an artificial neuron. Each edge can send information from one node to another. The output of a node can be defined as a (nonlinear) function of the inputs (e.g. the sum of its inputs). A node's inputs can be used in the function based on a "weight" of the edge or node providing the input. The weight of nodes and/or edges can be adjusted in the learning process. In other words, training an artificial neural network may include adjusting the weights of the nodes and/or edges of the artificial neural network, ie, to achieve a desired output for a particular input.
Alternativ kann das Maschinenlern-Modell eine Support-Vector-Machine, ein Random- Forest-Modell oder ein Gradient-Boosting-Modell sein. Support Vector Machines (d. h. Stützvektornetze) sind Supervised Learning-Modelle mit zugeordneten Lernalgorithmen, die verwendet werden können, um Daten zu analysieren (z. B. in einer Klassifizierungs- oder Regressionsanalyse). Support Vector Machines können durch Bereitstellen einer Eingabe mit einer Mehrzahl von Trainingseingabewerten, die zu einer von zwei Kategorien gehören, trainiert werden. Die Support Vector Machine kann trainiert werden, um einer der beiden Kategorien einen neuen Eingabewert zuzuweisen. Alternativ kann das Maschinenlern-Modell ein bayessches Netz sein, das ein probabilistisches gerichtetes azyklisches graphisches Modell ist. Ein bayessches Netz kann einen Satz von Zufallsvariablen und ihre bedingten Abhängigkeiten unter Verwendung eines gerichteten azyklischen Graphen darstellen. Alternativ kann das Maschinenlern-Modell auf einem genetischen Algorithmus basieren, der ein Suchalgorithmus und heuristische Technik ist, die den Prozess der natürlichen Selektion imitiert. Alternatively, the machine learning model can be a support vector machine, a random forest model or a gradient boosting model. Support Vector Machines are supervised learning models with associated learning algorithms that can be used to analyze data (e.g. in a classification or regression analysis). Support vector machines can be trained by providing input with a plurality of training input values belonging to one of two categories. The support vector machine can be trained to assign a new input value to either category. Alternatively, the machine learning model may be a Bayesian network, which is a probabilistic directed acyclic graphical model. A Bayesian network can represent a set of random variables and their conditional dependencies using a directed acyclic graph. Alternatively, the machine learning model may be based on a genetic algorithm, which is a search algorithm and heuristic technique that mimics the process of natural selection.

Claims

ANSPRÜCHE EXPECTATIONS
1 . Verfahren zur Erkennung von Ratcheting im Betrieb eines Roboters, insbesondere Cobots, in Bezug auf mindestens ein Gelenk des Roboters, insbesondere des Cobots, auf Basis von Betriebsdaten des Roboters mittels Künstlicher Intelligenz umfassend die folgenden Schritte: 1 . Method for detecting ratcheting in the operation of a robot, in particular a cobot, in relation to at least one joint of the robot, in particular of the cobot, based on operating data of the robot using artificial intelligence, comprising the following steps:
Bereitstellen von Betriebsdaten, insbesondere Stromflussdaten, in Bezug auf ein Zeitverhalten eines Motors, insbesondere Servomotors, eines Roboters, Providing operating data, in particular current flow data, in relation to a time behavior of a motor, in particular a servo motor, of a robot,
Erkennen eines Ratcheting eines Gelenks des Roboters, insbesondere bei einem Spannungswellengetriebe, Wellgetriebe und/oder Gleitkeilgetriebe, durch Auswerten der Betriebsdaten als mittelbare oder unmittelbare Eingangsdaten einer Künstlichen Intelligenz unter Erhalt von Ausgangsdaten, wobei die Ausgangsdaten der Künstlichen Intelligenz einen Indikator umfassen, welcher indiziert, ob ein Ratcheting in Bezug auf das Gelenk, insbesondere das Getriebe, eingetreten ist. Detecting a ratcheting of a joint of the robot, in particular in the case of a tension shaft gear, wave gear and/or sliding wedge gear, by evaluating the operating data as indirect or direct input data of an artificial intelligence to obtain output data, the output data of the artificial intelligence comprising an indicator which indicates whether Ratcheting has occurred in relation to the joint, especially the gearbox.
2. Verfahren nach Anspruch 1 , wobei die Künstliche Intelligenz eine Technik des überwachten oder semi-überwachten Lernens zum Einsatz bringt, insbesondere lineare und/oder nicht-lineare Regression, schnelle Fourier-Transformation und/oder Support-Vector-Machine und/oder ein Künstliches Neuronales Netz, insbesondere Rekurrentes Neuronales Netz. 2. The method according to claim 1, wherein the artificial intelligence uses a technique of supervised or semi-supervised learning, in particular linear and / or non-linear regression, fast Fourier transformation and / or support vector machine and / or a Artificial neural network, especially recurrent neural network.
3. Verfahren nach Anspruch 1 oder 2, wobei die Ausgangsdaten ferner ein Ausmaß eines eingetretenen Ratcheting, sofern ein solches eingetreten ist, indizieren, insbesondere eine Anzahl an Zähnen, welche in einem Getriebe beim Ratcheting übersprungen wurden, und/oder ein durch das Ratcheting übersprungener Winkel. 3. The method according to claim 1 or 2, wherein the output data further indicates an extent of ratcheting that has occurred, if such has occurred, in particular a number of teeth that were skipped in a gearbox during ratcheting and / or one that was skipped by the ratcheting Angle.
4. Verfahren nach Anspruch 3, ferner umfassend einen Schritt eines Berechnens einer korrigierten Trajektorie und/oder korrigierten Steueranweisung, insbesondere auf Basis der Anzahl an Zähnen, welche beim Ratcheting übersprungen wurden, und/oder auf Basis des durch das Ratcheting übersprungenen Winkels. 4. The method according to claim 3, further comprising a step of calculating a corrected trajectory and/or corrected control instruction, in particular based on the number of teeth that were skipped during ratcheting and/or based on the angle skipped by the ratcheting.
5. Cobot, umfassend: eine Robotikvorrichtung, insbesondere einen Roboterarm und/oder eine Montageanlage, wobei die Robotikvorrichtung ein oder mehrere Gelenke aufweist, welche durch Motoren, insbesondere Servomotoren, bewegt werden können, eine oder mehrere Motorsteuereinheiten zur Ansteuerung der Motoren, wobei der Cobot ferner dazu eingerichtet ist, mittels Künstlicher Intelligenz ein Ratcheting eines Gelenks, insbesondere bei einem Spannungswellengetriebe, Wellgetriebe und/oder Gleitkeilgetriebe, durch Auswerten von Betriebsdaten als mittelbare oder unmittelbare Eingangsdaten der Künstlichen Intelligenz zu erkennen, wobei die Betriebsdaten Daten, insbesondere Stromflussdaten, in Bezug auf ein Zeitverhalten eines Motors des Roboters umfassen. 5. Cobot, comprising: a robotic device, in particular a robot arm and/or an assembly system, wherein the robotic device has one or more joints which can be moved by motors, in particular servo motors, one or more motor control units for controlling the motors, the cobot also being set up to do so by means of Artificial intelligence recognizes a ratcheting of a joint, in particular in the case of a voltage shaft gear, wave gear and / or sliding wedge gear, by evaluating operating data as indirect or direct input data of the artificial intelligence, the operating data being data, in particular current flow data, in relation to a time behavior of a motor of the robot include.
6. Cobot nach Anspruch 5, wobei die Künstliche Intelligenz dazu eingerichtet ist, Ausgangsdaten bereitzustellen, welche einen Indikator umfassen, welcher indiziert, ob ein Ratcheting in Bezug auf das Gelenk, insbesondere das Getriebe, eingetreten ist. 6. Cobot according to claim 5, wherein the artificial intelligence is set up to provide output data which includes an indicator which indicates whether ratcheting has occurred in relation to the joint, in particular the transmission.
7. Cobot nach Anspruch 5 oder 6, wobei Ausgangsdaten ferner ein Ausmaß eines eingetretenen Ratcheting, sofern ein solches eingetreten ist, indizieren, insbesondere eine Anzahl an Zähnen, welche in einem Getriebe beim Ratcheting übersprungen wurden, und/oder ein durch das Ratcheting übersprungener Winkel. 7. Cobot according to claim 5 or 6, wherein output data further indicates an extent of ratcheting that has occurred, if such has occurred, in particular a number of teeth that were skipped in a gear during ratcheting, and / or an angle skipped by the ratcheting .
8. Cobot nach einem der Ansprüche 5 - 7, ferner eingerichtet zum Durchführen eines Berechnens einer korrigierten Trajektorie und/oder korrigierten Steueranweisung, insbesondere auf Basis der Anzahl an Zähnen, welche beim Ratcheting übersprungen wurden, und/oder auf Basis des durch das Ratcheting übersprungenen Winkels. 8. Cobot according to one of claims 5 - 7, further set up to calculate a corrected trajectory and / or corrected control instruction, in particular based on the number of teeth that were skipped during ratcheting and / or based on the number of teeth skipped by ratcheting angle.
9. Cobot nach einem der Ansprüche 5 - 8, umfassend eine Zentralsteuereinheit und mindestens eine Motorsteuereinheit, wobei die Zentralsteuereinheit und die Motorsteuereinheit über einen Bus, insbesondere Ethernet-Bus, miteinander kommunizieren können, wobei insbesondere eine Feststellung, ob ein Ratcheting in Bezug auf ein Gelenk eingetreten ist, in einer zugeordneten Motorsteuereinheit stattfindet, wobei insbesondere eine Bestimmung einer Anzahl an Zähnen, welche in einem Getriebe beim Ratcheting übersprungen wurden, in einer zugeordneten Motorsteuereinheit stattfindet, wobei insbesondere ein Berechnen einer korrigierten Trajektorie und/oder korrigierten Steueranweisung in der Zentralsteuereinheit stattfindet. Computer, Computersystem oder Computernetzwerk, welche dazu eingerichtet sind, lokal oder nicht-lokal das Verfahren nach einem der Ansprüche 1 - 4 zu bewirken. Künstliche Intelligenz, insbesondere Maschinen-Lernmodell, insbesondere lineare und/oder nicht-lineare Regression, schnelle Fourier-Transformation und/oder Support-Vector-Machine und/oder ein Künstliches Neuronales Netz, insbesondere Rekurrentes Neuronales Netz, eingerichtet zur Feststellung von Anwesenheit oder Abwesenheit eines Ratcheting eines Getriebes, insbesondere bei einem Cobot, und/oder einer Feststellung einer Anzahl an Zähnen, welche in einem Getriebe beim Ratcheting übersprungen wurden, umfassend ein oder mehrere Eingangsneuronen zur Aufnahme von Eingangsdaten umfassend Daten auf Basis von o Betriebsdaten, insbesondere Stromflussdaten, in Bezug auf ein Zeitverhalten eines Motors, insbesondere Servomotors. Verfahren zum Trainieren einer Künstlichen Intelligenz nach Anspruch 11 , insbesondere durch überwachtes oder halb-überwachtes Lernen, unter Nutzung von folgenden Datensätzen als Eingangsdaten: 9. Cobot according to one of claims 5 - 8, comprising a central control unit and at least one motor control unit, wherein the central control unit and the engine control unit can communicate with one another via a bus, in particular an Ethernet bus, in particular a determination of whether ratcheting has occurred in relation to a joint takes place in an assigned engine control unit, in particular a determination of a number of teeth, which were skipped in a transmission during ratcheting, takes place in an assigned engine control unit, in particular a calculation of a corrected trajectory and / or corrected control instruction taking place in the central control unit. Computer, computer system or computer network which are set up to locally or non-locally effect the method according to one of claims 1 - 4. Artificial intelligence, in particular machine learning model, in particular linear and/or non-linear regression, fast Fourier transformation and/or support vector machine and/or an artificial neural network, in particular recurrent neural network, set up to determine presence or absence a ratcheting of a transmission, in particular in a cobot, and/or a determination of a number of teeth which were skipped in a transmission during ratcheting, comprising one or more input neurons for recording input data comprising data based on o operating data, in particular current flow data, in Reference to the time behavior of a motor, especially a servo motor. Method for training an artificial intelligence according to claim 11, in particular through supervised or semi-supervised learning, using the following data sets as input data:
Datensätze umfassend Daten in Bezug auf ein Zeitverhalten eines Motors, insbesondere Stromflussdaten, welche mit klassifizierenden Labels versehen sind, ob die Daten einem eingetretenen Ratcheting entsprechen oder nicht. Verfahren nach Anspruch 12, wobei die Labels ferner eine Anzahl an Zähnen, welche bei einem den Daten entsprechenden Ratcheting übersprungen wurden, indizieren. Data sets comprising data relating to a time behavior of a motor, in particular current flow data, which are provided with classifying labels as to whether the data correspond to ratcheting that has occurred or not. The method of claim 12, wherein the labels further index a number of teeth that were skipped in ratcheting corresponding to the data.
Ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach irgendeinem der Ansprüche 1 - 4, 12 oder 13 auszuführen. A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one of claims 1-4, 12 or 13.
PCT/DE2023/100476 2022-07-07 2023-06-23 Method for the dynamic detection of ratcheting in a collaborative robot by means of artifical intelligence and dynamic compensation of the trajectories WO2024008232A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022116969.3A DE102022116969A1 (en) 2022-07-07 2022-07-07 Method for dynamic detection of ratcheting in a collaborative robot using artificial intelligence and dynamic compensation of trajectories
DE102022116969.3 2022-07-07

Publications (1)

Publication Number Publication Date
WO2024008232A1 true WO2024008232A1 (en) 2024-01-11

Family

ID=87517221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2023/100476 WO2024008232A1 (en) 2022-07-07 2023-06-23 Method for the dynamic detection of ratcheting in a collaborative robot by means of artifical intelligence and dynamic compensation of the trajectories

Country Status (2)

Country Link
DE (1) DE102022116969A1 (en)
WO (1) WO2024008232A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7439693B2 (en) 2004-06-29 2008-10-21 Thk Co., Ltd. Anomaly detection method and motor control device
WO2016184451A1 (en) * 2015-05-21 2016-11-24 Kastanienbaum GmbH Method and device for open-loop/closed-loop control of an actuator-driven robot joint
WO2021006170A1 (en) * 2019-07-11 2021-01-14 アズビル株式会社 Malfunction determination device and malfunction determination method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5997330B1 (en) 2015-07-31 2016-09-28 ファナック株式会社 Machine learning apparatus capable of determining whether or not spindle replacement is required, spindle replacement determination apparatus, control apparatus, machine tool and production system, and machine learning method
JP5969676B1 (en) 2015-09-30 2016-08-17 ファナック株式会社 Machine learning device and machine learning method for optimizing frequency of tool correction of machine tool, and machine tool including the machine learning device
JP6031202B1 (en) 2016-01-29 2016-11-24 ファナック株式会社 Cell control device for finding the cause of abnormalities in manufacturing machines
JP6787971B2 (en) 2018-10-25 2020-11-18 ファナック株式会社 State judgment device and state judgment method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7439693B2 (en) 2004-06-29 2008-10-21 Thk Co., Ltd. Anomaly detection method and motor control device
WO2016184451A1 (en) * 2015-05-21 2016-11-24 Kastanienbaum GmbH Method and device for open-loop/closed-loop control of an actuator-driven robot joint
WO2021006170A1 (en) * 2019-07-11 2021-01-14 アズビル株式会社 Malfunction determination device and malfunction determination method

Also Published As

Publication number Publication date
DE102022116969A1 (en) 2024-01-18

Similar Documents

Publication Publication Date Title
DE102017000536B4 (en) Cell controller for detecting a cause of an abnormality in a manufacturing machine
DE102016013985A1 (en) A machine learning apparatus and method for optimizing the smoothness of feeding the feed axis of a machine and a motor control apparatus incorporating the machine learning apparatus
DE102016008987A1 (en) A machine learning method and machine learning apparatus for learning error conditions, and an error prediction apparatus and an error prediction system incorporating the machine learning apparatus
DE102017127098B4 (en) Apparatus and method for assuming abnormality occurrence for telescope coverage
DE102012213188B4 (en) A method and system for controlling an execution sequence of a skilled robot using a condition classification
WO2020187591A1 (en) Method and device for controlling a robot
Mokudai et al. Digital technologies as lean augmentation: a preliminary study of Japanese automotive manufacturers
DE102021109382A1 (en) SYSTEM AND PROCEDURE OF A MONOTON NEURAL OPERATOR NETWORK TECHNICAL FIELD
DE202011110730U1 (en) Cognitive machining head for machining workpieces
DE102020214177A1 (en) Apparatus and method for training a control strategy using reinforcement learning
WO2024008232A1 (en) Method for the dynamic detection of ratcheting in a collaborative robot by means of artifical intelligence and dynamic compensation of the trajectories
DE112020006810T5 (en) OPERATING CONDITION CLASSIFICATION SYSTEM AND OPERATING CONDITION CLASSIFICATION METHOD
DE102022123243B3 (en) Artificial intelligence for precise determination of output torques of collaborative robots
WO2024027868A1 (en) Method for precisely determining an output torque, and collaborative robot
EP4268162A1 (en) Method and system for transforming a start object situation into a target object situation (intuitive tacit solution finding)
EP3793785B1 (en) Method and device for the computer-aided determination of control parameters for favourable handling of a technical system
EP3650964B1 (en) Method for controlling or regulating a technical system
EP3907574A1 (en) Method for generating an explanation for a decision of a manufacturing control system
WO2022122308A1 (en) Maintenance prediction for modules of a microscope
Jose et al. Artificial Intelligence for Developing Countries: Philippine Context
DE102022119202A1 (en) Method and system for coordinating collaborative robots with payload/load/priority awareness and collaborative robots
DE102022131925A1 (en) SELF-LEARNING PROCESS FOR A MANUFACTURING AND/OR ASSEMBLY PROCESS
DE112019007691T5 (en) SYSTEM FOR PLANNING ROBOT ACTIONS, ROBOT SYSTEM, ROBOT TASK VERIFICATION SYSTEM AND METHOD FOR PLANNING ROBOT ACTIONS
DE102021134294B4 (en) Hybrid approach for estimating and monitoring friction and mass parameters in an electric drive system
DE102022208082B3 (en) Method for controlling a technical system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23748209

Country of ref document: EP

Kind code of ref document: A1