DE102021103126B4 - Method for accelerating a handling machine - Google Patents

Method for accelerating a handling machine Download PDF

Info

Publication number
DE102021103126B4
DE102021103126B4 DE102021103126.5A DE102021103126A DE102021103126B4 DE 102021103126 B4 DE102021103126 B4 DE 102021103126B4 DE 102021103126 A DE102021103126 A DE 102021103126A DE 102021103126 B4 DE102021103126 B4 DE 102021103126B4
Authority
DE
Germany
Prior art keywords
movement
data
robot
section
abd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102021103126.5A
Other languages
German (de)
Other versions
DE102021103126A1 (en
Inventor
Michael Döring
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gerhard Schubert GmbH
Original Assignee
Gerhard Schubert GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gerhard Schubert GmbH filed Critical Gerhard Schubert GmbH
Priority to DE102021103126.5A priority Critical patent/DE102021103126B4/en
Publication of DE102021103126A1 publication Critical patent/DE102021103126A1/en
Application granted granted Critical
Publication of DE102021103126B4 publication Critical patent/DE102021103126B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B5/00Packaging individual articles in containers or receptacles, e.g. bags, sacks, boxes, cartons, cans, jars
    • B65B5/10Filling containers or receptacles progressively or in stages by introducing successive articles, or layers of articles
    • B65B5/105Filling containers or receptacles progressively or in stages by introducing successive articles, or layers of articles by grippers
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/45Nc applications
    • G05B2219/45048Packaging

Abstract

Verfahren zum Steuern der Bewegung eines in einer (realen) Anwendungs-Umgebung (100) wie einer Verpackungs-Maschine (100) eingesetzten realen Roboters (1) durch Steuern der Antriebe der relativ zueinander beweglichen Teile des Roboters (1), dadurch gekennzeichnet, dassA) aus einer Vielzahl von beispielhaften Arbeit-Aufträgen und den diese beschreibenden Auftrags-Daten jeweils beispielhafte Bewegungs-Abschnitte (BA) erstellt werden, für die die anhand wenigstens eines vorgegebenen Optimierungs-Parameters (A6) optimalen Bewegungs-Daten in Form von Abschnitts-Bewegungs-Daten (ABD) in einem Vorberechnungs-Prozess ermittelt werden, wofür- außer der Start-Parameter in Form der Start-Position und Start-Drehlage- sowie der Ziel-Parameter in Form der Ziel-Position und Ziel-Drehlage des Werkzeuges möglichst viele- Begleit-Parameter zur Verfügung gestellt werden. (A8)B) die beispielhaften Abschnitts-Bewegungs-Daten (ABD) als Trainings-Daten in eine künstliche Intelligenz (KI) mit wenigstens einem künstlichen neuronalen Netz (KNN) eingegeben werden,- die KI damit trainiert wird,C) in der Anwendungs-Umgebung bei Auftauchen eines Arbeits-Auftrages (AA) mit einem oder mehreren Bewegungs-Abschnitten (BA)- die Auftrags-Daten als Anfragegrößen in die trainierte KI eingegeben werden,- die von der KI als Antwort erhaltenen Antwortgrößen als Abschnitts-Bewegungsdaten (ABD) oder Roh-Abschnitts-Bewegungsdaten (RABD) für diesen wenigstens einen Bewegungs-Abschnitt (BA) weiterverwendet werden,D) die Abschnitts-Bewegungsdaten (ABD) versehen mit einem zeitlichen und/oder örtlichen oder anderem Start-Kriterium in einem Daten-Puffer abgelegt werden,E) bei Erreichen des Start-Kriteriums in den Auftrags-Daten eines-Auftrages, insbesondere des betreffenden Roboters, der Roboter den Bewegungs-Abschnitt (BA) vollzieht durch Ansteuern seiner Antriebe durch Steuer-kommandos, die in den Abschnitts-Bewegungsdaten (ABD) enthalten sind.Method for controlling the movement of a real robot (1) used in a (real) application environment (100) such as a packaging machine (100) by controlling the drives of the relatively movable parts of the robot (1), characterized in thatA ) exemplary movement sections (BA) are created from a large number of exemplary work orders and the order data describing them, for which the optimal movement data in the form of section movement based on at least one predetermined optimization parameter (A6). -Data (ABD) are determined in a pre-calculation process, for which - apart from the start parameters in the form of the start position and start rotational position - and the target parameters in the form of the target position and target rotational position of the tool, as many as possible - Accompanying parameters are provided. (A8)B) the exemplary section movement data (ABD) is entered as training data into an artificial intelligence (AI) with at least one artificial neural network (ANN), - the AI is trained with it, C) in the application - Environment when a work order (AA) appears with one or more movement sections (BA) - the order data is entered into the trained AI as query sizes, - the response sizes received from the AI in response as section movement data (ABD ) or raw section movement data (RABD) can be further used for this at least one movement section (BA), D) the section movement data (ABD) is provided with a temporal and/or local or other start criterion in a data buffer are stored,E) when the start criterion is reached in the order data of a job, in particular of the robot in question, the robot carries out the movement section (BA) by controlling its drives using control commands that are in the section movement data (ABD) are included.

Description

I. AnwendungsgebietI. Area of application

Die Erfindung betrifft die Steuerung der Bewegung eines oder mehrerer zusammenarbeitender Roboter, insbesondere in der Verpackungstechnik.The invention relates to the control of the movement of one or more robots working together, particularly in packaging technology.

II. Technischer HintergrundII. Technical background

Mithilfe des an einem Roboter befestigten Werkzeuges, häufig in Form eines Saugers, soll beispielsweise ein Objekt an einer Aufnahme-Stelle ergriffen, zu einer Ablage-Stelle bewegt und dort definiert abgelegt werden.With the help of the tool attached to a robot, often in the form of a vacuum cleaner, an object is to be grasped at a pick-up point, moved to a storage point and stored there in a defined manner.

Das Werkzeug - im Folgenden ist nur noch von dem Sauger die Rede, ohne die Erfindung hierauf zu beschränken - kann bis zu 6 Freiheitsgrade haben, ist also in aller Regel in den 3 Raumrichtungen X, Y, Z verfahrbar und um die 3 Raumachsen A, B, C verschwenkbar.The tool - in the following we will only talk about the vacuum cleaner, without restricting the invention to this - can have up to 6 degrees of freedom, so it can generally be moved in the 3 spatial directions X, Y, Z and around the 3 spatial axes A, B, C pivotable.

Bei dem Roboter kann es sich um einen seriellen Roboter mit nur einem Roboterarm aus mehreren hintereinander, also seriell, aneinander gelenkig befestigten Armteilen handeln, der an seinem hinteren Ende an einer Roboterbasis befestigt ist und an seinem vorderen Ende einen Werkzeug-Träger oder das Werkzeug direkt - im Folgenden Werkzeug-Einheit genannt - trägt.The robot can be a serial robot with only one robot arm consisting of several arm parts that are articulated one behind the other, i.e. in series, which is attached to a robot base at its rear end and a tool carrier or the tool directly at its front end - hereinafter referred to as the tool unit - carries.

Bei dem Roboter kann es sich auch um einen Roboter mit Parallel-Kinemathek handeln wie etwa einem Delta-Roboter, bei dem mehrere, meist 3, Roboterarme jeweils mit ihrem hinteren Ende an einer meist gemeinsamen Roboterbasis befestigt sind und mit ihrem vorderen Ende an einer gemeinsamen Werkzeug-Einheit, die meist einen Werkzeug-Träger umfasst, der das Werkzeug trägt.The robot can also be a robot with parallel kinematics, such as a delta robot, in which several, usually 3, robot arms are each attached with their rear end to a usually common robot base and with their front end to a common one Tool unit, which usually includes a tool carrier that carries the tool.

Die von der Roboter-Basis zur Werkzeug-Einheit hintereinander angeordneten Armteile, aus denen auch die Roboterarme dieses Roboter-Typs bestehen, sind mit mindestens einem Freiheitsgrad gelenkig miteinander verbunden und/oder relativ zueinander verfahrbar und ebenso das erste Armteil an der Roboter-Basis und das letzte Armteil an der Werkzeug-Einheit.The arm parts arranged one behind the other from the robot base to the tool unit, which also make up the robot arms of this robot type, are connected to one another in an articulated manner with at least one degree of freedom and/or can be moved relative to one another, as is the first arm part on the robot base and the last arm part on the tool unit.

Jede dieser Relativ-Bewegungen wird über einen Antrieb gesteuert durchgeführt, wobei das Ziel darin besteht, den gewünschte Arbeitsauftrag des Roboters möglichst schnell zu vollziehen, damit die z.B. Verpackungs-Anlage - etwa eine Umsetz-Vorrichtung für Produkte von einem Produktband in die Behälter auf einem Behälterband mittels mehrerer hintereinander an den Bändern angeordneten Robotern in Form einer Roboter-Straße - möglichst effizient arbeitet, also pro Zeiteinheit möglichst viele Arbeits-Aufträge in Form von solchen Umsetz-Vorgängen absolviert.Each of these relative movements is carried out controlled by a drive, with the goal being to complete the robot's desired work order as quickly as possible so that the packaging system - for example a transfer device for products from a product belt into the containers on one Container belt using several robots arranged one behind the other on the belts in the form of a robot line - works as efficiently as possible, i.e. as many work orders as possible in the form of such transfer processes are completed per unit of time.

Da die Arbeits-Aufträge mit einem zeitlichen Vorlauf vor der Durchführung bekannt sind - bei einer Roboter-Str. zum Umsetzen von Produkten deshalb, weil ein Scanner stromaufwärts des Umsetzbereiches die Positionen und gegebenenfalls Drehlagen der Produkte auf dem, meist kontinuierlich, laufenden Behälter-Band detektiert und unmittelbar danach die Straßen-Steuerung die Arbeits-Aufträge den jeweiligen Robotern und gegebenenfalls deren Roboter-Steuerungen zuweisen kann - müssen die Bewegungsdaten für die Arbeits-Aufträge zwar nicht in Echtzeit mit der Vergabe der Arbeits-Aufträge ermittelt werden und vorliegen, sollen aber in der Regel nicht länger als 100 ms, besser nicht länger als 50 ms, besser nicht länger als 30 ms nach Vorliegen der Arbeits-Aufträge feststehen, um keine Verzögerungen in den Bewegungsabläufen der Roboterstraße und der einzelnen Roboter zu bewirken.Since the work orders are known with a time lead before they are carried out - with a robot str. for moving products because a scanner upstream of the transfer area detects the positions and, if necessary, rotational positions of the products on the, usually continuously, running container belt and immediately afterwards the road control system sends the work orders to the respective robots and, if necessary, their robot controls can assign - the movement data for the work orders does not have to be determined and available in real time when the work orders are assigned, but should generally not be longer than 100 ms, preferably not longer than 50 ms, preferably not longer than 30 ms after the work orders are available so as not to cause any delays in the movement sequences of the robot line and the individual robots.

Die Leistung der Verpackungs-Maschine, insbesondere die Umsetz-Leistung einer Roboter-Straße, begrenzende Parameter sind beispielsweise die Belastbarkeit der Lagerstellen und Linear-Führungen, die Antriebsleistung der Antriebe, die durch die Bewegungen in der Maschine erzeugten Schwingungen, die Belastbarkeit des Objektes und die Geschwindigkeit, mit der die Steuerung - meist ausgehend von bekannter oder mittels Scanner ermittelter Aufnahme-Stelle und Ablage-Stelle - den ideale Bewegungsweg und die Bewegungsdaten in Form von Steuerkommandos für die Antriebe der einzelnen daran beteiligten beweglichen Teile, insbesondere des Roboters, ermittelt. Der ideale Bewegungsweg muss dabei keineswegs der gerade Weg vom Startpunkt zum Zielpunkt z.B. des Werkzeuges sein.The performance of the packaging machine, in particular the conversion performance of a robot line, limiting parameters are, for example, the load capacity of the bearing points and linear guides, the drive power of the drives, the vibrations generated by the movements in the machine, the load capacity of the object and the speed at which the control determines the ideal movement path and the movement data in the form of control commands for the drives of the individual moving parts involved, in particular the robot - usually based on a known pick-up point and storage point determined by means of a scanner. The ideal movement path does not have to be the straight path from the starting point to the target point, for example of the tool.

Schwingungen in der Anlage können die Genauigkeit der Aufnahme und Ablage des Objektes ebenso negativ beeinflussen wie die Lebensdauer der Anlage.Vibrations in the system can have a negative impact on the accuracy of picking up and placing the object as well as the service life of the system.

Aus der DE 10300606 B4 ist ein Verfahren zum Anfahren eines Greifers an ein sich bewegendes Objekt beschrieben. Dabei wird jedoch nicht mit Auftragsdaten aus früheren Arbeitsaufträgen gearbeitet, es wird auch keine Zerlegung dieser optimalen Abschnitts-Bewegungsdaten durchgeführt, und erstrecht keine künstliche Intelligenz mit diesen Daten trainiert.From the DE 10300606 B4 A method for approaching a gripper to a moving object is described. However, order data from previous work orders is not worked with, this optimal section movement data is not broken down, and artificial intelligence is not trained with this data.

Auch die DE 10 2017 008 836 B4 , welche zum Steuern des Zugriffs eines Roboters auf ein Objekt mittels einer Zustandsbeobachtungseinheit die Positionen und Stellung der Objekte sowie mindestens eine Zustandsvariable ständig beobachtet, bedient sich nicht dieser Schritte.Also the DE 10 2017 008 836 B4 , which is used to control the access of a robot to an object by means of a status observation unit, the positions and position of the objects as well as min At least one state variable is constantly observed does not use these steps.

Die DE 11 2019 007 404 T5 berechnet zwar Parameter zum Steuern von Bewegungen eines Roboters unter Verwendung von Zustandsvariablen und bewertet die Bewegungen des Roboters, insbesondere hinsichtlich Zykluszeit, jedoch werden lediglich mehr-kriterielle Optimierungs-Parameter maschinell erlernt und die vorgenannten Schritte, die den beiden erstgenannten Veröffentlichungen nicht benutzt werden, werden auch in diesem Fall nicht benutzt.The DE 11 2019 007 404 T5 Although it calculates parameters for controlling movements of a robot using state variables and evaluates the movements of the robot, in particular with regard to cycle time, only multi-criteria optimization parameters are learned by machine and the aforementioned steps, which are not used in the first two publications, are not used in this case either.

Die DE 10 2019 120 663 A1 beschreibt einen Schaufelbagger, der z.B. Greifbewegung durchführen soll sowohl in einem Lernmodus als auch in einem Abfahr-/Arbeitsmodus, wobei die Ergebnisse der im Lernmodus durchgeführten Bewegungen zur Optimierung der Bewegungen im Arbeitsmodus verwendet werden.The DE 10 2019 120 663 A1 describes a shovel excavator that, for example, is intended to carry out a gripping movement in both a learning mode and a departure/working mode, whereby the results of the movements carried out in the learning mode are used to optimize the movements in the working mode.

Die Eingangs genannten fehlenden Schritte sind auch hier nicht vorhanden.The missing steps mentioned at the beginning are not present here either.

Die weiter ab liegende DE 10 2018 129 528 A1 befasst sich lediglich mit dem Problem, die bei Erhöhen der Betriebsgeschwindigkeit eines Industrie-Roboters mit einem Knickarm auftretenden Vibrationen zu unterdrücken.The one further away DE 10 2018 129 528 A1 only addresses the problem of suppressing the vibrations that occur when increasing the operating speed of an industrial robot with an articulated arm.

Ebenfalls weiter ab liegt die DE 10 2017 113 818 B4 , welche abstrakt das eines sich bewegenden Artikels und Umsetzen in einen sich bewegenden Behälter mittels eines z.B. Roboters beschreibt o.g. Verfahrensschritte ebenfalls nicht nutzt.This is also further away DE 10 2017 113 818 B4 , which abstractly describes the process of moving a moving article and putting it into a moving container using a robot, for example, and does not use the above-mentioned process steps either.

III. Darstellung der ErfindungIII. Presentation of the invention

a) Technische Aufgabea) Technical task

Es ist daher die Aufgabe gemäß der Erfindung, die optimalen Roboter-Bewegungen hinsichtlich Effizienz des Roboters und insbesondere auch weiterer Optimierungs-Parameter wie etwa der Lebensdauer der Anlage möglichst schnell und genau zu ermitteln und daraus möglichst schnell Steuerkommandos für die einzelnen Antriebe des Roboters zu erzeugen.It is therefore the task according to the invention to determine the optimal robot movements with regard to the efficiency of the robot and in particular other optimization parameters such as the service life of the system as quickly and accurately as possible and to generate control commands for the individual drives of the robot as quickly as possible .

b) Lösung der Aufgabeb) Solution to the task

Diese Aufgabe wird durch die Merkmale der Ansprüche 1 und 19 gelöst. Vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.This task is solved by the features of claims 1 and 19. Advantageous embodiments result from the subclaims.

Bei einem Steuerungs-Verfahren zum Steuern der Bewegung eines Roboters, der in einer realen Anwendungs-Umgebung wie etwa einer Verpackungs-Maschine, typischerweise einer Roboter-Straße, eingesetzt ist, und wird durch Steuern der Antriebe seiner relativ zueinander beweglichen Teile, etwa der Arm-Teile, der Roboter in der Gesamtheit seiner Bewegungen gesteuert.In a control method for controlling the movement of a robot used in a real application environment such as a packaging machine, typically a robot line, and is by controlling the drives of its relatively movable parts, such as the arm -Parts that control the robot in its entirety of movements.

Für die Lösung der bestehenden Aufgabe, werden gemäß Schritt A) für eine Vielzahl von möglichen Bewegungs-Abschnitten eines Roboters, etwa ganze Arbeits-Aufträge, die Berechnung der optimierten Bewegungs-Wege und Bewegungs-Daten hierfür vorab und nicht in zeitlichem Zusammenhang mit konkreten vorliegenden Arbeits-Aufträgen an den Roboter in einem Vorberechnungsprozess klassisch deterministisch durchgeführt, etwa berechnet mittels Berechnungs-Algorithmen.In order to solve the existing task, according to step A), the optimized movement paths and movement data are calculated in advance for a large number of possible movement sections of a robot, such as entire work orders, and not in a temporal connection with specific existing ones Work orders to the robot are carried out in a classic deterministic manner in a pre-calculation process, for example calculated using calculation algorithms.

Dies für eine große Anzahl von Beispiel-Arbeitsaufträgen, also Bewegungs-Abschnitte von Robotern, durchzuführen, beansprucht eine hohe Rechenleistung und viel Rechenzeit, weshalb es vorab durchgeführt wird, also meist vor Ingangsetzen der Anlage, also der realen Anwendungs-Umgebung.Carrying out this for a large number of example work orders, i.e. movement sections of robots, requires a lot of computing power and a lot of computing time, which is why it is carried out in advance, i.e. usually before the system, i.e. the real application environment, is started up.

Je mehr Parameter für die Berechnung der optimalen Bewegungs-Daten zur Verfügung gestellt werden können und bei der Berechnung der optimalen Bewegungs-Daten berücksichtigt werden können, umso größer ist der Rechenaufwand, umso höher wird aber auch der Optimierungsgrad der Bewegung-Daten sein und damit die erzielbare Leistung der Verpackungs-Maschine, etwa gemessen in der Anzahl von Umsatz-Vorgängen pro Zeiteinheit bei einer Umsetz-Vorrichtung wie einer Roboterstraße.The more parameters that can be made available for the calculation of the optimal movement data and can be taken into account when calculating the optimal movement data, the greater the computing effort will be, but the higher will be the degree of optimization of the movement data and thus the Achievable performance of the packaging machine, measured for example in the number of sales processes per unit of time in a transfer device such as a robot line.

Wie anhand der Figuren erläutert ergeben sich dadurch sehr schnelle Bewegungen der Roboter, die aber nicht immer den vermuteten kürzesten Weg zwischen Start- und Zielpunkt nehmen müssen.As explained using the figures, this results in very fast movements of the robots, but they do not always have to take the assumed shortest route between the start and destination points.

Unter Verwendung der beispielhaften Auftrags-Daten und daraus errechneten optimalen Bewegungs-Daten als Trainings-Daten wird im Schritt B) eine künstliche Intelligenz (KI), die wenigstens ein künstliches neuronales Netz (KNN) umfasst sowie eine Trainings-Einheit, trainiert.Using the exemplary order data and the optimal movement data calculated therefrom as training data, in step B), an artificial intelligence (AI), which includes at least one artificial neural network (ANN) and a training unit, is trained.

Für die Durchführung eines konkreten, in der Anwendungs-Umgebung vorliegenden Arbeits-Auftrages in Form eines oder mehrerer Bewegungs-Abschnitte - der Arbeit-Auftrag kann also auch nur einen einzigen Bewegung-Abschnitt umfassen - für einen Roboter werden gemäß Schritt C) diese Auftrags-Daten als Anfragegrößen in die trainierte KI eingegeben, die daraufhin als Antwortgrößen Abschnitts-Bewegungsdaten ausgibt, die zumindest als Roh-Abschnitts-Bewegungsdaten verwendet werden können.In order to carry out a specific work order present in the application environment in the form of one or more movement sections - the work order can therefore only include a single movement section - for a robot, these order orders are used in accordance with step C). Data is entered into the trained AI as query sizes, which then outputs sectional movement data as response sizes, which is at least can be used as raw section movement data.

Diese Ausgabe der Antwortgrößen erfolgt sehr viel schneller, etwa in 2 bis 5 ms, als eine deterministische Berechnung solcher optimierter Bewegungsdaten mit Hilfe klassischer deterministischer Berechnungs-Algorithmen benötigt.This output of the response variables occurs much faster, approximately in 2 to 5 ms, than is required for a deterministic calculation of such optimized movement data using classic deterministic calculation algorithms.

Die nun vorliegenden Abschnitts-Bewegungsdaten werden jedoch erst zu einem geringfügig späteren Zeitpunkt, nämlich wenn ein bestimmtes Startkriterium für das Abarbeiten dieses Bewegungs-Abschnittes gegeben ist - etwa der Sauger des entsprechenden Roboters den entsprechenden Startpunkt dieses Bewegungs-Abschnittes erreicht hat - benötigt, weshalb sie gemäß Schritt D) bis dahin in einem Daten-Puffer abgelegt und vorgehalten.However, the section movement data that is now available is only required at a slightly later point in time, namely when a certain starting criterion for processing this movement section is given - for example the vacuum cleaner of the corresponding robot has reached the corresponding starting point of this movement section - which is why they are according to step D) until then stored and kept in a data buffer.

Erst bei Erreichen des Start-Kriteriums zum Durchführen dieses Bewegungs-Abschnittes werden gemäß Schritt E) die entsprechenden Abschnitts-Bewegungsdaten, die vorzugsweise bereits konkrete Steuerkommandos zum Ansteuern der einzelnen Antriebe des Roboters enthalten, aus dem Daten-Puffer ausgelesen und der Bewegung-Abschnitt vollzogen unter Benutzung der Abschnitts-Bewegungsdaten, insbesondere der Steuerkommandos durch die Roboter-Steuerung oder Anwendungs-Steuerung.Only when the start criterion for carrying out this movement section is reached are the corresponding section movement data, which preferably already contain specific control commands for controlling the individual drives of the robot, read out from the data buffer and the movement section is completed according to step E). using the section movement data, in particular the control commands from the robot controller or application controller.

Der Vorteil besteht also darin, dass nach Vorliegen eines Arbeits-Auftrages für einen Roboter die dafür notwendigen Bewegungs-Daten so schnell vorliegen, dass dadurch keine Verzögerung beim Abarbeiten der Arbeits-Aufträge Eintritt. The advantage is that once a work order has been submitted for a robot, the necessary movement data is available so quickly that there is no delay in processing the work orders.

Ein weiterer Vorteil ist, dass der Vorberechnungs-Prozess außerhalb der Anwendungs-Umgebung und ohne Verbindung damit durchgeführt werden kann, also auf separaten Rechnern und abseits der Anwendungs-Umgebung und vor allem zeitlich lange vor der Durchführung des Auftrages in der realen Anwendungs-Umgebung.Another advantage is that the pre-calculation process can be carried out outside the application environment and without connection to it, i.e. on separate computers and away from the application environment and, above all, long before the job is carried out in the real application environment.

Meist wird der Vorberechnungs-Prozess und das Trainieren der KI einmalig vor der ersten Inbetriebnahme der Anwendungs-Umgebung, etwa einer Verpackungs-Maschine, durchgeführt, sobald alle Parameter aus der Anwendungs-Umgebung, mindestens die Parameter der Roboter, bekannt sind.The pre-calculation process and training of the AI is usually carried out once before the application environment, such as a packaging machine, is put into operation for the first time, as soon as all parameters from the application environment, at least the parameters of the robots, are known.

Dementsprechend muss dies meist nur dann wiederholt werden, wenn etwa ein Werkzeug gegen eine andere Art von Werkzeug in der Anwendungs-Umgebung getauscht wird, oder ein Roboter gegen einen anderen Roboter auf jeden Fall dann, wenn der Roboter gegen einen Roboter einer anderen Art oder Größe getauscht wird, aber selbst wenn es sich um einen eigentlich baugleichen Roboter handelt, können die individuellen Unterschiede zweier zwei baugleichen Robotern groß genug sein, um eine neue Durchführung des Vorberechnungs-Prozesses sinnvoll erscheinen zu lassen.Accordingly, this usually only needs to be repeated when a tool is exchanged for another type of tool in the application environment, or a robot for another robot, and in any case if the robot is exchanged for a robot of a different type or size is exchanged, but even if it is a robot that is actually identical in construction, the individual differences between two identical robots can be large enough to make a new implementation of the pre-calculation process seem sensible.

Obwohl der Vorteil des Vorberechnungs-Prozesses darin liegt, dass zwar eine hohe Rechenleistung und relativ lange Rechenzeit benötigt wird, aber dafür deterministisch aus den Auftrags-Daten exakte Bewegungs-Daten für einen Auftrag oder Bewegungsabschnitt - ein Auftrag kann mehrere Bewegungs-Abschnitte umfassen - könnte es sinnvoll sein, selbst diese beispielhaften Datensätze, die nur als Trainings-Daten für eine KI gedacht sind, selbst mittels einer leistungsfähigen KI zu erstellen.Although the advantage of the pre-calculation process is that a high level of computing power and a relatively long computing time are required, exact movement data for an order or movement section - an order can include several movement sections - could be deterministically derived from the order data It makes sense to create even these exemplary data sets, which are only intended as training data for an AI, using a powerful AI.

Die Bewegungs-Daten wären dann nicht mehr deterministisch ermittelt und nicht mehr entsprechend exakt, dafür könnte eine sehr viel größere Anzahl von Trainings-Daten in kurzer Zeit ermittelt werden, abhängig aber sehr stark von der Leistung der dafür benutzten KI und vor allem deren Genauigkeit.The movement data would then no longer be determined deterministically and would no longer be correspondingly accurate, but a much larger number of training data could be determined in a short time, but depends very much on the performance of the AI used for this and, above all, its accuracy.

Da die einzelnen Antriebe in einem Roboter konkrete Steuer-Kommandos benötigen, sollten die Bewegungs-Daten bereit solche konkreten Steuer-Kommandos enthalten.Since the individual drives in a robot require specific control commands, the movement data should already contain such specific control commands.

Aus Bewegungs-Daten können Steuer-Kommandos entweder bereits im Schritt C) erzeugt werden, oder auch erst im nachfolgend beschriebenen Schritt N), also spätestens vor Ablegen der Bewegungs-Daten im Daten-Puffer oder aucherst danach durch die Steuerung der Anwendungs-Umgebung, insbesondere des Roboters.Control commands can be generated from movement data either in step C) or only in step N described below), i.e. at the latest before the movement data is stored in the data buffer or only afterwards by the control of the application environment, especially the robot.

Da die auf die Anfragegrößen hin von der KI in der Anwendungs-Umgebung erhaltenen Antwortgrößen keine deterministisch errechneten Antwortgrößen sind, sondern von der KI beispielweise auch mittels Interpolation und Extrapolation ermittelt werden, sind die Antwortgrößen weniger exakt als deterministisch errechnete Bewegungs-Daten, können also in der Praxis der Anwendung-Umgebung ist so nicht durchführbare Bewegung-Daten enthalten oder Ungenauigkeiten enthalten oder auch Bereichsangaben.Since the response sizes received from the AI in the application environment based on the query sizes are not deterministically calculated response sizes, but are also determined by the AI, for example, using interpolation and extrapolation, the response sizes are less precise than deterministically calculated movement data, so they can be used in In practice, the application environment contains movement data that cannot be carried out or contains inaccuracies or even range information.

Je nachdem, wie groß diese Ungenauigkeiten und/oder Bereiche sind, kann zwischen Schritt C) und D) ein Nachbearbeitungs-Schritt N sinnvoll sein:

  • Dort werden die möglicherweise noch nicht ausreichend exakten Antwortgrößen nachbearbeitet und in exakte, durchführbare Abschnitts-Bewegungs-Daten umgeformt, die vorzugsweise auch bereits direkt die Steuer-Kommandos für die Antriebe in den Robotern enthalten.
Depending on how large these inaccuracies and/or areas are, a post-processing step N between steps C) and D) may make sense:
  • There, the response variables that may not yet be sufficiently precise are post-processed and converted into exact, feasible sectional movement data, which is preferred The control commands for the drives in the robots are already included.

Eine solche Nachbearbeitung kann beispielsweise unter Berücksichtigung von bestehenden Inkonsistenzen / Diskrepanzen zwischen den Antwortgrößen der KI einerseits und den realen Gegebenheiten in der Anwendungs-Umgebung oder des zu erfüllenden Bewegungs-Auftrages oder des Zustandes des Roboters oder der Anwendungs-Umgebung andererseits bestehen.Such post-processing can, for example, take into account existing inconsistencies/discrepancies between the response variables of the AI on the one hand and the real conditions in the application environment or the movement order to be fulfilled or the state of the robot or the application environment on the other hand.

Beim Überbrücken der Inkonsistenzen / Diskrepanzen kann es sein, dass die Gegebenheiten in der Anwendungs-Umgebung nicht geändert werden können und dann die Antwortgrößen daraufhin angepasst werden müssen, oder es könnten sowohl die Antwortgrößen als auch die Gegebenheiten in der Anwendungs-Umgebung geändert werden.When bridging the inconsistencies/discrepancies, it may be that the circumstances in the application environment cannot be changed and the response variables then have to be adjusted, or both the response variables and the circumstances in the application environment could be changed.

In letzterem Fall ist eine Priorisierung oder Gewichtung zwischen beiden notwendig, um festzulegen, in welchem Sinn die Nachbearbeitung erfolgen soll.In the latter case, a prioritization or weighting between the two is necessary in order to determine in which sense the post-processing should take place.

Die Durchführung der einzelnen Schritte A) bis E) kann weiter verbessert werden durch folgende optionalen Maßnahmen:The implementation of the individual steps A) to E) can be further improved by the following optional measures:

Zu Schritt A):To step A):

Für die Ermittlung optimaler Bewegungs-Daten muss natürlich mindestens ein Optimierungs-Parameter vorgegeben sein, was meist die Bewegungs-Zeit ist, die zum Absolvieren des Bewegungs-Abschnittes von dessen Startpunkt bis zu dessen Zielpunkt benötigt wird, und die so gering wie möglich sein soll.In order to determine optimal movement data, at least one optimization parameter must of course be specified, which is usually the movement time that is required to complete the movement section from its starting point to its destination point, and which should be as short as possible .

Andere, insbesondere weitere, Optimierungs-Parameter könnten das Minimieren der Belastungen von Antriebsmotoren, Lagerungen, Führungen oder anderer Teile der Anwendungs-Umgebung sein.Other, especially further, optimization parameters could be minimizing the loads on drive motors, bearings, guides or other parts of the application environment.

Wenn mehrere Optimierungs-Parameter gleichzeitig vorgegeben werden, muss eine Gewichtung zwischen den Optimierungs-Parametern zusätzlich mit vorgegeben werden und/oder eine Priorisierung, insbesondere eine Priorisierung-Reihenfolge, unter den mehreren Optimierungs-Parametern.If several optimization parameters are specified at the same time, a weighting between the optimization parameters must also be specified and/or a prioritization, in particular a prioritization order, among the several optimization parameters.

In letzterem Fall wird zunächst nach den Optimierungs-Parametern mit der ersten Priorität optimiert, und wenn sich dann hinsichtlich der anderen Optimierungs-Parameter unterschiedliche Möglichkeiten ergeben, die die anderen Optimierungs-Parameter unterschiedlich verändern, wird beim Optimieren in dieser Reihenfolge nach dem Parameter mit der zweiten Priorisierung und danach nach dem Parameter mit der dritten Priorisierung usw. entschieden.In the latter case, optimization is first carried out according to the optimization parameters with the first priority, and if different options arise with regard to the other optimization parameters that change the other optimization parameters differently, optimization is carried out in this order according to the parameter with the second prioritization and then decided according to the parameter with the third prioritization and so on.

Eine Gewichtung kann unterschiedlich dargestellt werden, beispielsweise indem mindestens ein bestimmter relativer Wert, also Prozentsatz, oder absoluter Wert eines ersten Optimierungs-Parameters von dessen maximal erreichbaren Wert in der vorliegenden Situation erreicht werden soll, eine weitere Steigerung jedoch zugunsten der Optimierung des nächst niedriger gewichteten Parameters erfolgen soll.A weighting can be represented in different ways, for example by at least a certain relative value, i.e. percentage, or absolute value of a first optimization parameter being achieved from its maximum achievable value in the present situation, but a further increase in favor of optimizing the next lower weighted one parameter should be done.

Für die Ermittlung der Abschnitts-Bewegungs-Daten sind mindestens die Start-Parameter in Form von Start-Position und ggfs. Start-Drehlage - falls beispielsweise die Produkte in der Aufsicht betrachtet unrund sind, die Drehlage um eine Hochachse - sowie die Ziel-Parameter in Form der Zielposition und ggfs. der Ziel- Drehlage des Werkzeuges, meist eines Saugers, vorgegeben.To determine the section movement data, at least the start parameters in the form of the start position and, if necessary, the start rotational position - if, for example, the products are out of round when viewed from above, the rotational position around a vertical axis - as well as the target parameters in the form of the target position and, if necessary, the target rotational position of the tool, usually a vacuum cleaner.

Position und Drehlage ergeben zusammen die Raumlage eines Bauteils oder Produktes.Position and rotation together result in the spatial position of a component or product.

Um besser optimieren zu können, werden zusätzlich Begleit-Parameter zur Verfügung gestellt, beispielsweise die Ankunfts-Geschwindigkeit, mit der das Werkzeug aufgrund der Bewegungs-Daten des vorhergehenden Bewegungs-Abschnittes an der Startposition - also der Ziel-Position des vorhergehenden Bewegungs-Abschnittes - ankommen wird und/oder aus welcher Ankunfts-Richtung. Ebenso ist die Abfahrts-Geschwindigkeit und/oder Abfahrts-Richtung des Werkzeuges von der Zielposition des Bewegungs-Abschnittes von Interesse für ein möglichst schnelles Durchlaufen des Werkzeuges über mehrere Bewegungs-Abschnitte.In order to be able to optimize better, additional accompanying parameters are provided, for example the arrival speed with which the tool is at the start position - i.e. the target position of the previous movement section - based on the movement data of the previous movement section. will arrive and/or from which direction of arrival. Likewise, the departure speed and/or departure direction of the tool from the target position of the movement section is of interest for the tool to move through several movement sections as quickly as possible.

Die Begleit-Parameter können auch Umgebungs-Eigenschaften um das Werkzeug herum, ggfs. auch des Werkzeuges selbst, sein, die für das Optimieren der Bewegungs-Daten ebenfalls zur Verfügung gestellt werden sollten, beispielsweise die Elastizität der Antriebes de Roboters, also z.B. wie stark bei Eingeben von Steuerkommandos die reale Bewegung des Roboters diesen Steuerkommandos nachhinktThe accompanying parameters can also be environmental properties around the tool, possibly also of the tool itself, which should also be made available to optimize the movement data, for example the elasticity of the robot's drive, i.e. how strong When control commands are entered, the real movement of the robot lags behind these control commands

Wenn die, insbesondere statische, Belastung für bestimmte Bauteile, etwa für Lagerstellen oder Linearführungen, als eines der Optimierungs-Parameter optimiert werden soll, sollten hierfür Belastungs-Grenzwerte für diese Bauteile und Stellen vorgegeben werden.If the, in particular static, load for certain components, such as bearing points or linear guides, is to be optimized as one of the optimization parameters, load limit values should be specified for these components and points.

Wenn die dynamische Belastung, insbesondere in Form von Schwingungen, für den Roboter und / oder die Anlage, also Maschine, also die Anwendungs-Umgebung optimal geringgehalten werden soll, sollte das Schwingungsverhalten des entsprechenden Teils, insbesondere des Roboters oder der gesamten Anlage, bekannt sein.If the dynamic load, especially in the form of vibrations, for the robot and / or the system, i.e. machine, i.e. the If the application environment is to be kept optimally low, the vibration behavior of the corresponding part, in particular the robot or the entire system, should be known.

Hierfür kann sowohl für die insbesondere statische Belastung als auch das Schwingungsverhalten ein entsprechendes Modell für die Anwendungs-Umgebung entweder für den Vorberechnungs-Prozess zur Verfügung gestellt, also hinterlegt werden oder im Vorberechnungs-Prozess erst selbst für die Anwendungs-Umgebung oder dessen Teile erstellt werden auf Basis vorgegebener, insbesondere konstruktiver, Daten der Anwendungs-Umgebung, was natürlich den Rechenaufwand für die Erstellung beispielhafter Bewegungs-Daten weiter erhöht.For this purpose, a corresponding model for the application environment, in particular for the static load as well as the vibration behavior, can either be made available for the pre-calculation process, i.e. stored, or can be created for the application environment or its parts in the pre-calculation process based on specified, especially constructive, data from the application environment, which of course further increases the computational effort for creating exemplary movement data.

Zu Schritt B):To step B):

Um zu entscheiden, wann die KI als ausreichend gut trainiert angesehen und das Training beendet wird, kann ein Toleranz-Bereich um die deterministisch für die Beispiel-Daten erzeugten Bewegungs-Abschnitts-Daten vorgegeben werden, die im Schritt A) beispielsweise aus den Auftrags-Daten errechnet wurden.In order to decide when the AI is considered to be sufficiently well trained and the training is ended, a tolerance range can be specified around the movement section data generated deterministically for the example data, which in step A), for example from the order data data were calculated.

Die KI kann dann als ausreichend trainiert betrachtet werden, wenn bei Eingabe von Auftrags-Daten aus den Beispiel-Daten des Schrittes A) die KI selbst - ohne auf diese Beispiel-Daten zurückzugreifen, sondern mittels ihrer eigenen künstlichen Intelligenz - als Antwortgrößen Bewegungs-Abschnitts-Daten liefert, die in diesem Toleranz-Bereich liegen.The AI can be considered to be sufficiently trained if, when order data is entered from the example data in step A), the AI itself - without resorting to this example data, but using its own artificial intelligence - acts as response variables in the movement section -Provides data that lies within this tolerance range.

Zu Schritt C):To step C):

Die KI kann so ausgebildet werden, dass sie als Antwortgrößen nicht nur Bewegungs-Daten in Form eines einzigen Wertes liefern kann, sondern auch BereichsAngaben, die also eine gewisse Unschärfe der Antwortgröße darstellen.The AI can be trained in such a way that it can not only provide movement data in the form of a single value as response variables, but also area information, which therefore represents a certain uncertainty in the response variable.

Zu Schritt D):To step D):

Vorzugsweise werden die in der Anwendungs-Umgebung ermittelten Abschnitts-Bewegungsdaten mit einem zeitlichen und/oder örtlichen Vorlauf im Daten-Puffer abgelegt. Der Mindestwert dieses zeitlichen und/oder örtlichen Vorlaufes kann vorgegeben werden, gegebenenfalls ebenfalls ein Höchstwert hierfür.Preferably, the section movement data determined in the application environment is stored in the data buffer with a time and/or location advance. The minimum value of this time and/or location lead can be specified, and if necessary also a maximum value for this.

Unter einem zeitlichen Vorlauf ist dabei zu verstehen, dass in Transport-Richtung eines der Förderer, insbesondere des Produkt-Bandes, das Ablegen von Abschnitts-Bewegungs-Daten im Daten-Puffer erfolgt, wenn der die Startposition dieses Bewegungs-Abschnittes auf dem Förderer oder in Relation zu dem Förderer in Transport-Richtung noch mindestens eine definierte vorgegebene Vorlauf-Strecke vom aktuellen X-Wert, der Transport-Richtung dieses Förderers, von dem entsprechenden Roboters entfernt ist.A time advance is understood to mean that section movement data is stored in the data buffer in the transport direction of one of the conveyors, in particular the product belt, when the starting position of this movement section on the conveyor or In relation to the conveyor in the transport direction, at least a defined predetermined lead distance is still away from the current X value, the transport direction of this conveyor, from the corresponding robot.

Örtlicher Vorlauf bedeutet in Längeneinheiten angegebener Vorlauf, etwa des Beginns eines vorgesehenen Bewegungs-Abschnittes vom momentanen Standpunkt des betreffenden Bauteils, beispielsweise des Werkzeuges eines Roboters, ausLocal lead means a lead specified in units of length, such as the beginning of an intended movement section from the current position of the component in question, for example the tool of a robot

Dadurch wird sichergestellt, dass zu jedem Zeitpunkt und für jeden der Roboter bei Erreichen des Zielpunktes eines seiner Bewegungs-Abschnitte die Bewegungs-Daten für den nächsten Bewegungs-Abschnitt nicht nur vorhanden sind, sondern auch rechtzeitig aus den Daten-Speicher ausgelesen und der Anlagen-Steuerung zur Verfügung gestellt werden können.This ensures that at any time and for each of the robots when the target point of one of its movement sections is reached, the movement data for the next movement section is not only available, but is also read out from the data memory in a timely manner and sent to the system. Control can be provided.

Für den Fall, dass dies einmal doch nicht gegeben ist, ist vorzugsweise am Ende des Datensatzes für die Abschnitts-Bewegungs-Daten oder in dessen Verlauf eine optionale Stopp-Sequenz für das Anhalten des Werkzeuges enthalten, in der festgelegt ist, wie schnell und ggfs. mit welcher Richtung gegen Endes des Bewegungs-Abschnittes das Werkzeug bis zum Stillstand in der Ziel-Position abgebremst wird.In the event that this is not the case, an optional stop sequence for stopping the tool is preferably included at the end of the data record for the section movement data or during its course, which specifies how quickly and if necessary . in which direction the tool is braked towards the end of the movement section until it comes to a standstill in the target position.

Zu Schritt E):To step E):

Wenn am Ende dess in Durchführung befindlichen Bewegung-Abschnittes keine Abschnitts-Bewegungsdaten für den unmittelbar nachfolgenden Bewegung-Abschnitt vorhanden sind, wird vorzugsweise der Roboter sprechend der enthaltenen Stopp-Sequenz am Ende des Bewegung-Abschnittes angehalten, um keine Kollisionen zu verursachen.If at the end of the movement section in progress there is no section movement data for the immediately following movement section, the robot is preferably stopped at the end of the movement section according to the included stop sequence in order not to cause collisions.

Allgemein:Generally:

Um die Ermittlung vor allem der beispielhaften Bewegungs-Daten im Schritt A) und/oder der im Schritt D) erzeugten realen Bewegungs-Daten für einen realen Arbeits-Auftrag zu erleichtern, können für jeden Roboter abhängig von dessen Aufgabe in der entsprechenden Anwendungs-Umgebung ein oder mehrere Bewegungs-Grundtypen festgelegt werden, wobei die festgelegten Bewegungs-Abschnitte, also deren Abschnitts-Bewegungs-Daten vorzugsweise aller Bewegungs-Abschnitte, unter diesen oder einen dieser Bewegungs-Grundtypen subsummierbar sein sollen, sei es im Schritt A) und/oder im Schritt D).In order to facilitate the determination of, in particular, the exemplary movement data in step A) and/or the real movement data generated in step D) for a real work order, for each robot depending on its task in the corresponding application environment one or more basic movement types are defined, whereby the defined movement sections, i.e. their section movement data, preferably of all movement sections, should be subsumable under these or one of these basic movement types, be it in step A) and / or in step D).

Dies reduziert den Rechenaufwand im entsprechenden Schritt, also im Schritt A) für das Festlegen der beispielhaften Bewegungs-Daten und im Schritt D) für das Festlegen der echten Bewegungs-Daten für einen Bewegungs-Abschnitt eines Arbeits-Auftrages.This reduces the computing effort in the corresponding step, i.e. in step A) for determining the exemplary movement data and in step D) for determining the real movement data. Data for a movement section of a work order.

Ferner spielt für das Festlegen von Bewegungs-Daten des Roboters die Bewegungs-Geschwindigkeit und Bewegungs-Richtung der Aufnahmefläche und/oder Ablagefläche, bei einer Roboter-Straße zum Umsetzen von Produkten, meist des Produkt-Bandes und/oder des Behälter-Bandes, eine wesentliche Rolle, da diese für ein Zugreifen des Roboters auf ein Produkt an der richtigen Aufnahmestelle und/oder ein Ablegen des Produktes an der richtigen Ablagestelle essentiell ist. Furthermore, the movement speed and direction of movement of the receiving surface and/or storage surface, in a robot line for moving products, usually the product belt and/or the container belt, play an important role in determining movement data of the robot essential role, as this is essential for the robot to access a product at the correct pick-up point and/or to place the product at the correct storage point.

Diese Transportgeschwindigkeit - bei dem angesprochenen Beispiel von immer in die gleiche Richtung laufenden Bändern wie einem Behälter-Band oder einem Produkt-Band ist die Richtung bekannt und ändert sich nicht - kann an unterschiedlichen Stellen und Schritten des Prozesses berücksichtigt werden:

  1. a) Entweder wird die Transportgeschwindigkeit bereits bei der Ermittlung der Bewegungs-Daten im Schritt A) als Umgebungs-Parameter mit vorgegeben.
This transport speed - in the example mentioned of belts always running in the same direction, such as a container belt or a product belt, the direction is known and does not change - can be taken into account at different points and steps in the process:
  1. a) Either the transport speed is already specified as an environmental parameter when determining the movement data in step A).

Oder diese beispielhaften Bewegungs-Daten, mit denen die KI trainiert wird, berücksichtigt die Transportgeschwindigkeiten nicht und dann ist die Transportgeschwindigkeit auch nicht in den Antwortgrößen der KI für einen realen Arbeits-Auftrag mit enthalten.Or these exemplary movement data with which the AI is trained does not take the transport speeds into account and then the transport speed is not included in the AI's response variables for a real work order.

Dann muss spätestens bei der Ermittlung der Steuer-Kommandos für die Antriebe, also spätestens im Schritt E), aus den Antwortgrößen der Kl, die Transportgeschwindigkeit mit berücksichtigt werden.Then the transport speed must be taken into account from the response variables of the Kl at the latest when determining the control commands for the drives, i.e. at the latest in step E).

Falls dazwischen eine Nachberechnung gemäß Schritt D) stattfindet, kann dies auch in diesem Schritt erfolgen.If a recalculation according to step D) takes place in between, this can also be done in this step.

In einer bevorzugten Variante erfolgt beides:

  • Zunächst wird gemäß a) die - zu diesem Zeitpunkt nur vermutbare, beispielsweise hochgerechnete - Transportgeschwindigkeit bereits für die Ermittlung der Beispiel-Bewegungs-Daten berücksichtigt und ist dann auch bereits in den Antwortgrößen der KI in der realen Anwendungs-Umgebung enthalten.
In a preferred variant, both occur:
  • First of all, according to a), the transport speed - which at this point can only be assumed, for example extrapolated - is already taken into account for the determination of the example movement data and is then already included in the response variables of the AI in the real application environment.

Zusätzlich kann in der realen Anwendungs-Umgebung, die bisher nur vermutete Transportgeschwindigkeit mit der bis dahin bekannten oder nun besser vermutbaren Transportgeschwindigkeit eines Bandes oder Förderers verglichen werden und bei einer Differenz, die über eine Toleranzgrenze liegt, die aufgrund der ursprünglich vermuteten Transportgeschwindigkeit erstellten Bewegungs-Daten, insbesondere Steuer-Kommandos, unter Berücksichtigung dieser Differenz nachberechnet werden.In addition, in the real application environment, the previously only assumed transport speed can be compared with the previously known or now better assumed transport speed of a belt or conveyor and, in the event of a difference that is above a tolerance limit, the movement created based on the originally assumed transport speed. Data, especially control commands, are recalculated taking this difference into account.

Ein Roboter-Anwendungssystems umfasst einerseits eine Anwendungs-Umgebung wie etwa eine Verpackungs-Maschine mit wenigstens einem Roboter und andererseits eine Anwendungs-Steuerung zum Steuern der relativ zueinander beweglichen Teile der Anwendungs-Umgebung, insbesondere der Antriebe der beweglich miteinander verbundenen Teile des wenigstens einen Roboters.A robot application system comprises, on the one hand, an application environment such as a packaging machine with at least one robot and, on the other hand, an application control for controlling the parts of the application environment that are movable relative to one another, in particular the drives of the parts of the at least one robot that are movably connected to one another .

Erfindungsgemäß wird die bestehende Aufgabe für ein solches Roboter-Anwendungssystem dadurch gelöst, dass das Roboter-Anwendungs-System einen Vorberechnungs-Rechner umfasst, der in der Lage ist, aus beispielhaften Auftrags-Daten hierfür jeweils wenigstens einen Bewegungs-Abschnitt des Roboters festzulegen und dafür optimierte Abschnitt-Bewegungs-Daten deterministisch zu ermitteln, also etwa zu errechnen.According to the invention, the existing task for such a robot application system is solved in that the robot application system comprises a pre-calculation computer which is able to determine at least one movement section of the robot from exemplary order data and for this to determine optimized section movement data deterministically, i.e. to calculate it.

Ein solches Roboter-Anwendungssystem umfasst auch eine trainierte künstliche Intelligenz (KI) mit wenigstens einem künstlichen neuronalen Netz (KNN) und insbesondere einer Trainings-Einheit, welche in der Lage ist, mit Hilfe der beispielhaften Bewegungs-Abschnitts-Daten für die beispielhaften Bewegungs-Abschnitte der Beispiel-Aufträge die KI zu trainieren.Such a robot application system also includes a trained artificial intelligence (AI) with at least one artificial neural network (ANN) and in particular a training unit which is able to use the exemplary movement section data for the exemplary movement Sections of the sample jobs to train the AI.

Erfindungsgemäß umfasst dabei die Anwendungs-Steuerung vorzugsweise

  • - ein Arbeits-Auftrags-Generator-Modul (Generator-Modul), welcher in der Lage ist, z.B. aufgrund von Eingaben des Benutzers oder zufallsbedingt, beispielhafte, konkrete Arbeits-Aufträge für jeden einzelnen Roboter zu erstellen und als Anfragegröße in die trainierte KI einzugeben und/oder
  • - ein Bewegungs-Daten-Modul (Daten-Modul), welches in der Lage ist, Antwortgrößen der KI entgegenzunehmen und daraus Bewegungs-Daten zu erzeugen, insbesondere mit oder in Form von Steuerkommandos für die Antriebe des Roboters und/oder
  • - ein 1. Nachbearbeitungs-Modul (1. Nach-Modul), um die vom Bewegungs-Daten-Modul erzeugten Bewegungs-Daten gegebenenfalls nachzubearbeiten, beispielsweise um Inkonsistenzen mit der realen Anwendungs-Umgebung, insbesondere im betreffenden Bewegungs-Abschnitt, zu beseitigen, und/oder
  • - ein Puffer-Referenzwert-Generator-Modul (Ref-Modul), welches in der Lage ist................... und/oder
  • - ein Stopp-Sequenz-Generator-Modul (Stopp-Modul), welches in der Lage ist, eine Stopp-Sequenz für einen Bewegungs-Abschnitts-Datensatz zu erzeugen und/oder
  • - ein Puffer- Management-Modul (Manage-Modul), welches in der Lage ist, das Einbringen, Abspeichern und gegebenenfalls Sortieren und Ausbringen von Abschnitts-Bewegungs-Daten, insbesondere Datensätzen, im Puffer zu organisieren und/oder
  • - ein Puffer- Auslese-Modul (Auslese-Modul), welches in der Lage ist, das Auslesen von Abschnitts-Bewegungs-Daten, insbesondere Datensätzen, aus dem Puffer durchzuführen und/oder
  • - ein Förderband-Steuerungs-Modul (F-Steuer-Modul), welches die entsprechenden Förderer für Produkte und/oder Behälter, seiner Förderbänder oder andere Bauformen von Förderer, steuert und/oder
  • - Fördergeschwindigkeits-Abschätz-Modul (F-Abschätz-Modul), welches in der Lage ist, die Geschwindigkeit des Förderers zu definierten Zeitpunkten oder Funktionszuständen der Anwendungs-Umgebung in der Zukunft abzuschätzen und/oder
  • - ein 2. Nachbearbeitungs-Modul (2. Nach-Modul), um die aus dem Daten-Puffer ausgegebenen oder aus gelesenen Bewegungs-Daten nach zu bearbeiten, insbesondere im Fall einer Differenz zwischen den bei der Erstellung dieser Bewegungs-Daten unterstellten Geschwindigkeit und einer aktuell gemessenen oder nun besser abschätzbaren Fördergeschwindigkeit.
According to the invention, the application control preferably comprises
  • - a work order generator module (generator module), which is able to create exemplary, concrete work orders for each individual robot, for example based on user input or randomly, and enter them into the trained AI as a query size and or
  • - a movement data module (data module), which is able to receive response variables from the AI and generate movement data from them, in particular with or in the form of control commands for the robot's drives and/or
  • - a 1st post-processing module (1st post-module) to post-process the movement data generated by the movement data module if necessary, for example to eliminate inconsistencies with the real application environment, especially in the relevant movement section, and or
  • - a buffer reference value generator module (ref module), which is capable of......... and/or
  • - a stop sequence generator module (stop module), which is able to generate a stop sequence for a movement section data set and/or
  • - a buffer management module (manage module), which is able to organize the insertion, storage and, if necessary, sorting and output of section movement data, in particular data sets, in the buffer and/or
  • - a buffer readout module (readout module), which is able to read out section movement data, in particular data sets, from the buffer and/or
  • - a conveyor belt control module (F-control module), which controls the corresponding conveyors for products and/or containers, its conveyor belts or other types of conveyors and/or
  • - Conveyor speed estimation module (F-estimation module), which is able to estimate the speed of the conveyor at defined times or functional states of the application environment in the future and/or
  • - a 2nd post-processing module (2nd post-module) to post-process the movement data output or read from the data buffer, in particular in the case of a difference between the speed and speed assumed when creating this movement data a currently measured or now easier to estimate conveying speed.

Damit sind als Vorteile erzielbar

  • - exakt berechnete optimale Bewegungswege als Trainingsdaten für KI
  • - geringerer Rechenaufwand und Datenmenge in der Anwendungs-Umgebung
  • - schnelle Ermittlung der realen Bewegungsdaten für die einzelnen Arbeitsaufträge
This means that advantages can be achieved
  • - precisely calculated optimal movement paths as training data for AI
  • - Lower computing effort and data volume in the application environment
  • - Quick determination of real movement data for individual work orders

Definitionen der in der vorliegenden Beschreibung verwendeten Begriffe:

  • Arbeits-Auftrag bedeutet:
    • Beschreibung einer Bewegung und/oder Tätigkeit für einen Roboter Auftrags-Daten bedeutet: Datensatz, der diese Beschreibung in Form von digitalen Daten wiedergibt
  • Optimierungs-Parameter bedeutet:
    • der an einem Arbeitauftrag zu optimierende Parameter, beispielsweise die Zeit,
    • die zur Durchführung des Arbeits-Auftrages benötigt wird
  • Begleit-Parameter bedeutet:
    • Parameter, die die Begleit-Umstände des Arbeitsauftrages beschreiben und
    • den Arbeitsauftrag selbst beeinflussen
    • Umgebungs-Parameter bedeutet:
      • Parameter, die die Umgebung, insbesondere Eigenschaften der Umgebung, in der der Arbeitsauftrag durchgeführt wird, beschreiben, beispielsweise die Belastbarkeit oder das Schwingungsverhalten von an dem Arbeitsauftrag beteiligten Teilen, sei es des Roboters oder der Anwendung-Umgebung
  • Bewegung bedeutet:
    • (vorgesehene) Bewegung eines Roboters, insbesondere dessen Werkzeuges Bewegungs-Daten bedeutet:
  • Datensatz, der diese Beschreibung in Form von digitalen Daten wiedergibt Steuerkommando bedeutet:
    • konkrete an Steuer-Befehle für die einzelnen Antriebe in einem Roboter Roh-Bewegungs-Daten bedeutet:
    • Bewegungsdaten die in dieser Form noch nicht zum festlegen exakter Steuer-kommandos für die Roboter-Antriebe geeignet sind
  • Bewegung-Abschnitt bedeutet:
    • Teil einer Bewegung
  • Abschnitt-Bewegungs-Daten bedeutet:
    • Datensatz, der diese Beschreibung in Form von digitalen Daten wiedergibt
  • Start-Kriterium für Bewegungs-Abschnitt bedeutet:
    • ein meist zeitlich oder örtlich vorgegebenes Kriterium, ab dem ein Bewegung-Abschnitt vollzogen werden soll
  • Machine-Learning bedeutet:
    • Trainingsmethoden für eine künstliche Intelligenz, insbesondere dessen künstliches neuronales Netz mittels Trainingsdaten
  • Inkonsistenz bedeutet:
    • Widerspruch zwischen der Situation in der Anwendungs-Umgebung zum Ausführungszeitpunkt einer beabsichtigten Bewegung oder eines Bewegung-Abschnitte des und den von der KI hierfür gelieferten Antwortgrößen
  • Priorisierung bedeutet:
    • Reihenfolge, in der bestimmte Parameter benutzt werden, insbesondere optimiert werden
  • Gewichtung bedeutet:
    • Verhältnis, in dem verschiedene vorhandene Optimierungsparameter relativ zueinander einer Optimierung unterzogen werden sollen
  • Position bedeutet:
    • die Stelle, an der sich ein Gegenstand, etwa ein Produkt oder ein Werkzeug, im Raum befindet
  • Drehlage bedeutet:
    • die Drehlage, an der sich ein Gegenstand, etwa ein Produkt oder ein Werkzeug, im Raum befindet, insbesondere relativ zu festgelegten Raumachsen
  • Raumlage bedeutet:
    • Summe aus Position und Raumlage
  • Ankunfts-Richtung bedeutet:
    • diejenige Richtung, aus der sich ein Werkzeug dem Startpunkt für eine vorgesehenen Bewegung des Werkzeuges, also einem Bewegungs-Abschnitt, voraussichtlich nähern wird, falls die vorgesehene Bewegung keine andere Ankunfts-Richtung benötigt
  • Ankunfts-Geschwindigkeit bedeutet:
    • diejenige Geschwindigkeit, mit der sich ein Werkzeug dem Startpunkt für eine vorgesehenen Bewegung des Werkzeuges, also einem Bewegungs-Abschnitt, voraussichtlich nähern wird, falls die anschließende Bewegung keine andere Geschwindigkeit erfordert
  • Abfahrts-Richtung bedeutet:
    • diejenige Richtung, in die sich ein Werkzeug vom Zielpunkt einer vorgesehenen Bewegung des Werkzeuges, also eines Bewegungs-Abschnitts, voraussichtlich entfernen wird, falls die nachfolgende Bewegung keine andere Abfahrts-benötigt
  • Anfahrts-Geschwindigkeit bedeutet:
    • diejenige Geschwindigkeit, mit der sich ein Werkzeug vom Zielpunkt einer vorgesehenen Bewegung des Werkzeuges, also einem Bewegungs-Abschnitt, voraussichtlich entfernen wird, falls die anschließende Bewegung keine andere Geschwindigkeit erfordert
  • Schwingungs-Modell bedeutet:
    • mathematisches Modell zur Berechnung des Schwingungsverhaltens eines Bauteil
  • Belastungs-Modell bedeutet:
    • mathematisches Modell zur Berechnung auftretender Belastungen an einem Bauteil
  • zeitlicher Vorlauf bedeutet:
    • in Zeiteinheiten angegebener Vorlauf, etwa des Beginns eines vorgesehenen Bewegungs-Abschnittes vom momentanen Zeitpunkt aus örtlicher Vorlauf bedeutet:
    • in Längeneinheiten angegebener Vorlauf, etwa des Beginns eines vorgesehenen Bewegungs-Abschnittes vom momentanen Standpunkt des betreffenden Bauteils, beispielsweise des Werkzeuges eines Roboters, aus
  • Stopp-Sequenz bedeutet:
    • Teil-Datensatz der das abbremsen eines Bauteils, insbesondere des Werkzeuges des Rabatt das bis zum Stillstand beschreibt von der Geschwindigkeit und Richtung, die das Werkzeug normalerweise am Ende dieses Bewegungs-Abschnittes besitzt; die Stopp-Sequenz ist i.d.R. Teil der Abschnitts-Bewegung-Daten
  • Bewequnqs-Grundtyp bedeutet:
    • eine Bewegung die immer aus den gleichen Bewegung-Abschnitten in der gleichen Reihenfolge zusammengesetzt ist, beispielsweise Umsetz-Bewegung: „Anfahren - greifen - Anheben - Querverfahren - Absenken- Loslassen“
Definitions of terms used in this description:
  • Work order means:
    • Description of a movement and/or activity for a robot. Order data means: data set that reflects this description in the form of digital data
  • Optimization parameters means:
    • the parameter to be optimized in a work order, for example time,
    • which is needed to carry out the work order
  • Accompanying parameter means:
    • Parameters that describe the circumstances surrounding the work order and
    • influence the work order itself
    • Environment parameters means:
      • Parameters that describe the environment, in particular properties of the environment in which the work order is carried out, for example the load capacity or the vibration behavior of parts involved in the work order, be it the robot or the application environment
  • Movement means:
    • (intended) movement of a robot, in particular its tool movement data means:
  • Data record that reflects this description in the form of digital data. Control command means:
    • concrete control commands for the individual drives in a robot raw movement data means:
    • Movement data that in this form is not yet suitable for determining exact control commands for the robot drives
  • Movement section means:
    • Part of a movement
  • Section Movement Data means:
    • Data set that reflects this description in the form of digital data
  • Start criterion for movement section means:
    • a criterion, usually specified in time or location, from which a movement section should be completed
  • Machine learning means:
    • Training methods for an artificial intelligence, in particular its artificial neural network using training data
  • Inconsistency means:
    • Contradiction between the situation in the application environment at the time of execution of an intended movement or a movement segment and the response variables provided by the AI for this purpose
  • Prioritization means:
    • Order in which certain parameters are used, in particular optimized
  • Weighting means:
    • Ratio in which various existing optimization parameters should be subjected to optimization relative to each other
  • Position means:
    • the location where an object, such as a product or a tool, is located in space
  • Rotation position means:
    • the rotational position at which an object, such as a product or a tool, is located in space, in particular relative to fixed spatial axes
  • Spatial position means:
    • Sum of position and spatial position
  • Arrival direction means:
    • the direction from which a tool is expected to approach the starting point for an intended movement of the tool, i.e. a movement section, if the intended movement does not require a different arrival direction
  • Arrival speed means:
    • the speed at which a tool is expected to approach the starting point for an intended movement of the tool, i.e. a movement section, if the subsequent movement does not require a different speed
  • Departure direction means:
    • the direction in which a tool is expected to move away from the target point of an intended movement of the tool, i.e. a movement section, if the subsequent movement does not require any other departure
  • Approach speed means:
    • the speed at which a tool is expected to move away from the target point of an intended movement of the tool, i.e. a movement section, if the subsequent movement does not require a different speed
  • Vibration model means:
    • mathematical model for calculating the vibration behavior of a component
  • Load model means:
    • mathematical model for calculating the loads that occur on a component
  • lead time means:
    • Lead time specified in time units, for example the start of a planned movement section from the current point in time. Local lead time means:
    • Lead time specified in units of length, such as the beginning of an intended movement section from the current position of the component in question, for example the tool of a robot
  • Stop sequence means:
    • Partial data set that describes the braking of a component, in particular the tool of the discount, until it comes to a standstill from the speed and direction that the tool normally has at the end of this movement section; The stop sequence is usually part of the section movement data
  • Bewequnqs basic type means:
    • a movement that is always composed of the same movement sections in the same order, for example transfer movement: “Approach - grab - raise - move transversely - lower - release”

c) Ausführungsbeispielec) Embodiments

Ausführungsformen gemäß der Erfindung sind im Folgenden beispielhaft näher beschrieben. Es zeigen:

  • 1a: ein Anwendungs-System mit Robotern in der Aufsicht,
  • 1b: das Anwendungs-System der 1a in Transport-Richtung des Produkt-Bandes,
  • 2a-d: Prinzip-Darstellungen von Bewegungs-Abschnitten und zugehörigen Bewegungs-Abschnitts-Datensätzen
  • 3: ein Ablaufschema für den Vorberechnungs-Prozess,
  • 4: ein Ablaufschema für reale Arbeits-Aufträge,
  • 5: ein Ablaufschema für reale Arbeits-Aufträge mit Einbringungs-Stellen der Förder-Geschwindigkeit.
Embodiments according to the invention are described in more detail below by way of example. Show it:
  • 1a : an application system with robots in supervision,
  • 1b : the application system of the 1a in the transport direction of the product belt,
  • 2a-d : Principle representations of movement sections and associated movement section data sets
  • 3 : a flow chart for the pre-calculation process,
  • 4 : a flowchart for real work orders,
  • 5 : a flowchart for real work orders with delivery points of the conveying speed.

Die 1a, b zeigen ein Roboter-Anwendungs-System mit einer Roboter-Straße100, bei der entlang des in Transportrichtung X bewegbaren Produkt-Bandes 101 und den parallel dazu zum Beispiel entlang einer Fahrschiene 105 erfahrbaren Schlitten 102, die Umverpackungen wie einen Karton K tragen können, mehrere Roboter 1 in Transportrichtung X hintereinander angeordnet sind.The 1a, b show a robot application system with a robot road 100, in which several robots are located along the product belt 101, which can be moved in the transport direction 1 are arranged one behind the other in the transport direction X.

Die Roboter 1 sollen jeweils ein Produkt P auf dem Behälter-Band 101 Ergreifen, vom Behälter-Band 101 Abheben, zum Nest verfahren und in einem vorgegebenen Nest eines Behälters wie eines Kartons K auf einem Schlitten 102 daneben Ablegen und werden hierfür dem erfindungsgemäßen Steuerungsverfahren gesteuertThe robots 1 should each grab a product P on the container belt 101, lift it off the container belt 101, move to the nest and place it next to it in a predetermined nest of a container such as a box K on a carriage 102 and are controlled for this purpose using the control method according to the invention

Das Roboter-Anwendungs-System umfasst neben dieser Anwendungs-Umgebung 100 in Form einer Roboter-Straße 100 eine Anwendungs-Steuerung 100*, die in diesem Fall sowohl die einzelnen Roboter 1 als auch die anderen beweglichen Teile der Roboter-Straße 100, insbesondere das Behälter-Band 101 und die Schlitten 102, steuert und auch mit dem an einer festen Position, z.B. über, dem Behälter-Band 101 montierten Scanner 103 in datentechnischer Verbindung steht, unter dem die Produkte P auf dem Behälter-Band 101 durchlaufen und welcher deren Position auf dem Behälter-Band 101 noch stromaufwärts des Umsetz-Bereiches - also des Bereiches in Transportrichtung X, in dem die Umsetz-Roboter 1 arbeiten - ermittelt und an die Anwendungs-Steuerung 100* meldet.In addition to this application environment 100 in the form of a robot road 100, the robot application system includes an application control 100*, which in this case controls both the individual robots 1 and the other moving parts of the robot road 100, in particular Container belt 101 and the carriage 102, controls and is also in data communication with the scanner 103 mounted at a fixed position, for example above the container belt 101, under which the products P pass on the container belt 101 and which of them Position on the container belt 101 still upstream of the transfer area - i.e. the area in the transport direction X in which the transfer robots 1 work - is determined and reported to the application control 100 *.

Als Roboter 1 sind hier serielle Roboter 1 dargestellt - was für die Durchführung der Erfindung wesentlich ist -, die hängend mittig über dem Behälter-Band 101 an jeweils einer in Querrichtung Y sich quer über dem Behälter-Band 101 erstreckenden Quertraverse 104 mit ihrer Roboter-Basis 6 befestigt sind. Der Oberarm 2 des Roboters 1 ist dabei um eine aufrechte, insbesondere vertikale, Achse 2' gegenüber der Roboter-Basis 6 verschwenkbar und am freien Ende des Oberarmes 2 ist ein Unterarm 3 des Roboters 1 um eine aufrechte, insbesondere vertikale Schwenkachse 3' verschwenkbar befestigt.Serial robots 1 are shown here as robots 1 - which is essential for the implementation of the invention - which are suspended in the middle above the container belt 101 on a crossbar 104 which extends across the container belt 101 in the transverse direction Y with their robot Base 6 are attached. The upper arm 2 of the robot 1 can be pivoted about an upright, in particular vertical, axis 2 'relative to the robot base 6 and at the free end of the upper arm 2, a forearm 3 of the robot 1 is attached so that it can pivot about an upright, in particular vertical pivot axis 3' .

Am freien Ende des Unterarmes 3 befindet sich als Roboter-Hand 4 eine gegenüber dem Unterarm 3 in der Höhe verfahrbare Hubsäule 4, an deren unteren freien Ende als Werkzeug 5 ein Sauger 5 dargestellt ist.At the free end of the forearm 3 there is a lifting column 4 as a robot hand 4, which can be moved in height relative to the forearm 3, at the lower free end of which a suction device 5 is shown as a tool 5.

Die Hubsäule 4 ist gegenüber dem Unterarm 3 in der Höhe verfahrbar und um eine aufrechte, insbesondere vertikale, Schwenkachse 4' schwenkbar.The lifting column 4 can be moved in height relative to the forearm 3 and can be pivoted about an upright, in particular vertical, pivot axis 4 '.

Der Roboter 1 ist so dimensioniert, dass er in Querrichtung Y sowohl Positionen auf in seinem Arbeitsbereich befindlichen Schlitten 102 als auch alle Querpositionen auf dem Behälter-Band 101 erreichen kann.The robot 1 is dimensioned so that in the transverse direction Y it can reach both positions on the carriage 102 located in its work area and all transverse positions on the container belt 101.

Weiterhin umfasst das Roboter-Anwendungs-System ein Vorberechnungs-Rechner (Vor-PC) zum Vorberechnen optimierter Abschnitts-Bewegungs-Daten, als Datensätzen aus vorgegebenen beispielhaften Arbeits-Aufträgen, in diesem Fall Umsetz-Vorgängen oder Bewegungs-Abschnitte BA aus solchen Umsetz-Vorgang.Furthermore, the robot application system includes a pre-calculation computer (pre-PC) for pre-calculating optimized section movement data, as data sets from given exemplary work orders, in this case conversion processes or movement sections BA from such conversion Occurrence.

So kann beispielsweise bei den in 2 dargestellten Umsetz-Vorgängen die Anhebe-Bewegung und/oder die Absetz-Bewegung und/oder die etwa horizontale Verlagerungs-Bewegung als jeweils ein solcher separater Bewegungs-Abschnitt BA1 bis BA3 behandelt werden.For example, with the in 2 In the transfer processes shown, the lifting movement and/or the setting down movement and/or the approximately horizontal displacement movement are each treated as such a separate movement section BA1 to BA3.

Das Roboter-Anwendungs-System umfasst weiterhin eine künstliche Intelligenz (Kl), die mit dem vom Vorberechnungs-Rechner (Vor-PC) ermittelten beispielhaften Arbeits-Aufträgen, also Bewegungs-Abschnitten und hierfür errechnet den beispielhaften optimierten Bewegungs-Daten, trainiert wird für einen Roboter 1 oder alle Roboter 1 des Roboter-Anwendungs-System.The robot application system also includes an artificial intelligence (Kl), which is trained with the exemplary work orders, i.e. movement sections, determined by the pre-calculation computer (pre-PC) and the exemplary optimized movement data calculated for this purpose a robot 1 or all robots 1 of the robot application system.

Wie in 1b dargestellt, muss für einen Umsetz-Vorgang ein Produkt P nach dem Ergreifen auf dem Behälter-Band 101 von diesem abgehoben werden, über das Behälter-Band 101 mit Hilfe des Roboters 1 verlagert und dort durch Absenken in einem von der Anwendung-Steuerung 100* vorbestimmten Nest, etwa in einem Karton K auf einem im Arbeitsbereich dieses Roboters 1 gefahrenen Schlittens 102, abgelegt werden.As in 1b shown, for a transfer process a product P must be lifted from the container belt 101 after being gripped, shifted over the container belt 101 with the help of the robot 1 and there by lowering in one of the application controls 100* predetermined nest, for example in a cardboard box K on a carriage 102 moved in the work area of this robot 1.

Die 2a bis d zeigen in vereinfachten Prinzip-Darstellungen eine solche Umsetz-Bewegung in mehreren Varianten des dabei benutzten Bewegungs-Weges, wobei die Umsetz-Bewegung in mehrere Bewegungs-Abschnitte BA, in den 2a bis 2c in je drei Bewegungs-Abschnitte BA1 bis BA3 (Anheben, Verfahren, Absenken) unterteilt ist, wovon der mittlere Bewegungs-Abschnitt BA2 ein etwa horizontaler Bewegungs-Abschnitt ist, der in der Praxis, siehe insbesondere 1b, in der Regel im Vergleich zum Anheben und Absenken deutlich länger ist.The 2a until d show in simplified representations of the principle such a transfer movement in several variants of the movement path used, the transfer movement being divided into several movement sections BA, in the 2a until 2c is divided into three movement sections BA1 to BA3 (lifting, moving, lowering), of which the middle movement section BA2 is an approximately horizontal movement section, which in practice, see in particular 1b , is usually significantly longer compared to raising and lowering.

Dabei dabei ist zusätzlich am Startpunkt S und am Zielpunkt Z der gesamten Umsetze-Bewegung die Ankunft des Werkzeuges 5 dargestellt, wobei die Richtung des Pfeiles der Ankunfts-Richtung und die Länge des Pfeiles der Ankunfts-Geschwindigkeit entspricht - und ebenso am Zielpunkt Z der Umsetz-Bewegung die Abfahrt des Saugers 5.The arrival of the tool 5 is also shown at the starting point S and at the destination point Z of the entire moving movement, whereby the direction of the arrow corresponds to the arrival direction and the length of the arrow corresponds to the arrival speed - and also at the destination point Z the transfer -Movement the departure of the sucker 5.

In 2a ist davon ausgegangen, dass am Startpunkt S als auch am Zielpunkt Z der Umsetz-Bewegung sich der Sauger 5 jeweils in Ruhe befindet, und Anhebe- sowie Absenk-Bewegung jeweils vertikal verlaufen sowie die Verfahr-Bewegung etwa horizontal verläuft.In 2a It is assumed that at the starting point S and at the destination point Z of the transfer movement, the suction cup 5 is at rest, and the raising and lowering movements run vertically and the traversing movement runs approximately horizontally.

Über der 2a sind symbolisch die zugehörigen Abschnitts-Bewegungs-Daten ABD1 bis ABD3 in ihrem im Datenpuffer abgelegten Zustand in einer solchen zeitlichen Reihenfolge dargestellt, dass der jeweils nachfolgende Datensatz, z.B. AWD2, beginnt zum Zeitpunkt des regulären Endes des vorhergehenden Datensatzes, z.B. ABD1.Above the 2a The associated section movement data ABD1 to ABD3 are symbolically represented in their state stored in the data buffer in such a time order that the subsequent data record, for example AWD2, begins at the time of the regular end of the previous data record, for example ABD1.

An das reguläre Ende jedes Datensatzes ABD1 bis ABD3 ist jeweils eine Stopp-Sequenz angehängt, die ausgeführt wird, wenn kein sich an das Ende des regulären Datensatzes anschließender neuer Datensatz im Datenpuffer vorhanden ist.A stop sequence is attached to the regular end of each data record ABD1 to ABD3, which is executed if there is no new data record in the data buffer following the end of the regular data record.

Aus 2a wird unmittelbar klar, dass es sich dabei nicht um den optimalen Bewegungsweg handelt, allein schon wegen z.B. dem Abbremsen am Ende der Abhebe-Bewegung und dann erst Beschleunigen in horizontaler Richtung für die Verfahr-Bewegung im BA2.Out of 2a It becomes immediately clear that this is not the optimal movement path, simply because of, for example, braking at the end of the lifting movement and then only accelerating in the horizontal direction for the traversing movement in BA2.

Bei der Bewegung gemäß 2b ist dies teilweise behoben, indem die Anhebe-Bewegung in die horizontale Verfahr-Bewegung bogenförmig übergeht, also bereits ab Beginn von BA1 auch eine horizontale Beschleunigung in Richtung Zielpunkt Z stattfindet.When moving according to 2 B This is partially remedied in that the lifting movement merges into the horizontal traversing movement in an arc, i.e. a horizontal acceleration towards the target point Z takes place from the beginning of BA1.

2b zeigt ferner, dass sich am Startpunkt S vorher der Sauger 5 von links oben nähert, also - abhängig von zum Beispiel der Saugkraft des Saugers 5 - die horizontale Bewegungskomponente des ankommenden Saugers 5 am Startpunkt S für das Ergreifen des Produktes P nicht unbedingt auf Null reduziert werden muss, wenn der Sauger 5 sich von Startpunkt S aus nach rechts weiter bewegt. 2 B also shows that at the starting point S the vacuum cleaner 5 approaches from the top left, so - depending on, for example, the suction power of the vacuum cleaner 5 - the horizontal movement component of the incoming vacuum cleaner 5 at the starting point S for gripping the product P is not necessarily reduced to zero must be done when the vacuum cleaner 5 moves further to the right from the starting point S.

Gleiches gilt am Zielpunkt Z.The same applies at destination point Z.

2c zeigt eine Situation ähnlich 2b, die sich davon unterscheidet, dass sich der Sauger 5 vor Beginn der Umsatzbewegung deren Startpunkt S von rechts oben her nähert. Um die horizontale Bewegungs-Komponente des Saugers 5 am Startpunkt S nicht vollständig auf Null abbremsen zu müssen, verlässt der Sauger 5 den Startpunkt S nach links, also in die vom Zielpunkt Z entgegengesetzte Richtung, was auf den ersten Blick unsinnig erscheinen mag, wegen der beibehaltenen horizontalen Geschwindigkeitskomponente am Startpunkt S jedoch einen Zeitvorteil bringen und eine insgesamt optimierte Umsetz-Bewegung bewirken kann. 2c shows a similar situation 2 B , which differs from the fact that the vacuum cleaner 5 approaches its starting point S from the top right before the sales movement begins. In order not to have to completely brake the horizontal movement component of the vacuum cleaner 5 to zero at the starting point S, the vacuum cleaner 5 leaves the starting point S to the left, i.e. in the opposite direction from the target point Z, which may seem nonsensical at first glance, because of the However, the maintained horizontal speed component at the starting point S can bring a time advantage and can result in an overall optimized transfer movement.

2d zeigt eine Bewegung mit Ankunft und Abfahrt ähnlich der 2b, wobei jedoch der Übergang von der Anhebe-Bewegung BA1 in die Absenk-Bewegung BA3 direkt und ohne dazwischenliegenden horizontalen Bewegungs-Abschnitt erfolgt, was gegenüber dem Bewegungsweg gemäß 2a und 2b ebenfalls zeitliche Vorteile bringen kann. 2d shows a movement with arrival and departure similar to that 2 B , however, the transition from the raising movement BA1 to the lowering movement BA3 takes place directly and without an intermediate horizontal movement section, which is compared to the movement path according to 2a and 2 B can also bring time advantages.

Im Ablaufschema der 3 ist der Vorberechnungs-Prozess dargestellt, durch den optimierte Bewegungs-Daten berechnet werden:

  • Der Vorberechnungs-Rechner (Vor-PC) benötigt als Eingabegrößen beispielhafte Arbeits-Aufträge AA, die u.a. einen zurückzulegenden Bewegungs-Abschnitt BAumfassen, die vorzugsweise von einem Arbeits-Auftrags-Generator-Modul (Beispiel-Generator-Modul) erzeugt werden und dem Vor-PC zur Verfügung gestellt werden.
In the flowchart of the 3 The pre-calculation process through which optimized movement data is calculated is shown:
  • The pre-calculation computer (pre-PC) requires exemplary work orders AA as input variables, which include, among other things, a movement section BA to be covered, which are preferably generated by a work order generator module (example generator module) and the pre -PC will be provided.

Dieser ermittelt daraus nach deterministischen Grundsätzen, also in der Regel durch klassische Berechnung mittels konkreter Rechen-Algorithmen, optimierte Abschnitts-Bewegungs-Daten ABD für einen solchen Bewegungs-Abschnitt BA.This determines optimized section movement data ABD for such a movement section BA according to deterministic principles, i.e. usually through classical calculation using concrete calculation algorithms.

Sowohl die Beschreibung des Bewegungs-Abschnitts BA, als auch die Abschnitts-Bewegungs-Daten ABD hierzu werden als Trainings-Daten in das künstliche neuronale Netz (KNN) einer künstlichen Intelligenz (KL) eingegeben und damit das KNN mittels der Trainings-Einheit der KI trainiert, bis sich die KI in einem fertig trainierten Zustand befindet.Both the description of the movement section BA and the section movement data ABD are entered as training data into the artificial neural network (ANN) of an artificial intelligence (KL) and thus the ANN using the training unit of the AI trained until the AI is in a fully trained state.

4 zeigt ein Ablaufdiagramm in der konkreten Anwendungs-Umgebung 100, in der die trainierte KI dann Teil des Roboter-Anwendungs-Systems ist neben der Roboter-Anwendungs-Umgebung 100. 4 shows a flowchart in the specific application environment 100, in which the trained AI is then part of the robot application system in addition to the robot application environment 100.

Nach dem Start der Anwendungs-Steuerung 100* erzeugt deren Real-Arbeits-auftrags-Generator-Modul (Real-Generator-Modul) - welches gleich aufgebaut sein kann wie das Beispiel-Generator-Modul im Vorberechnungs-Prozess, also ein baugleiches Generator-Modul sein kann - basierend auf Eingaben des Nutzers, etwa dem Einschalten des Roboter-Anwendungs-Systems 100 mit dort hinterlegten Arbeits-Aufträgen AA, einen realen Arbeitsauftrag und gibt dessen Bewegungs-Abschnitte BA als Anfragegrößen in die trainierte KI ein.After starting the application control 100*, its real work order generator module (real generator module) - which can be constructed in the same way as the example generator module in the pre-calculation process, i.e. an identical generator - Module can be - based on user input, such as switching on the robot application system 100 with work orders AA stored there, a real work order and enters its movement sections BA as query sizes into the trained AI.

Diese gibt als Antwortgrößen angebliche optimierte Roh-Abschnitts-Bewegungs-Daten RABD aus, welche in ein Bewegungs-Daten-Modul (Daten-Modul) einfließen, welches in der Lage ist einerseits diese Antwortgrößen der KI entgegen zu nehmen und vor allem daraus die gewünschten Bewegungs-Daten zu erzeugen, insbesondere mit darin enthaltenen oder in Form von Steuer-Kommandos für die Antriebe des Roboters, mit denen der Bewegungs-Abschnitt realisiert werden kann.This outputs supposedly optimized raw section movement data RABD as response variables, which flow into a movement data module (data module), which is able, on the one hand, to receive these response variables from the AI and, above all, the desired ones To generate movement data, especially with control commands contained therein or in the form of control commands for the Drives of the robot with which the movement section can be realized.

Das Daten-Modul kann diese Roh-Abschnitts-Bewegungs-Daten RABD an ein Stopp-Sequenz-Generator-Modul (Stopp-Modul) weiterleiten, um daraus eine Stopp-Sequenz für das Ende des Abschnitts-Bewegungs-Datensatzes zu erzeugen.The data module can forward this raw section movement data RABD to a stop sequence generator module (stop module) in order to generate a stop sequence for the end of the section movement data set.

Vom Daten-Modul können die Roh-Abschnitts-Bewegungs-Daten RABD direkt an einen Daten-Puffer übergeben werden - falls sie qualitativ gut genug sind um direkt als Abschnitts-Bewegungs-Daten ABD benutzt zu werden - oder dazwischen ein erstes Nachbearbeitungs-Modul (1. Nach-Modul) durchlaufen, in dem die Bewegungs-Daten aus der KI einer Nachbearbeitung vollzogen werden, insbesondere eine Plausibilitätskontrolle und/oder dabei festgestellte Inkonsistenzen gegenüber der Roboter-Anwendungs-Umgebung 100 beseitigt werden oder Ungenauigkeiten ausgeräumt werden, und von dort erst in dem Daten-Puffer übergeben werden, in welchem das Puffer-Management-Modul (Manage-Modul) diesen Abschnitts-Bewegungs-Datensatz ABD in der richtigen Reihenfolge ablegt und ggfs. das Sortieren der Datensätze durchführt.From the data module, the raw section movement data RABD can be transferred directly to a data buffer - if they are of good enough quality to be used directly as section movement data ABD - or a first post-processing module in between ( 1. Post-module), in which the movement data from the AI is subjected to post-processing, in particular a plausibility check and/or any inconsistencies found compared to the robot application environment 100 are eliminated or inaccuracies are eliminated, and only from there are transferred to the data buffer in which the buffer management module (manage module) stores this section movement data record ABD in the correct order and, if necessary, sorts the data records.

Mittels eines Puffer-Auslese-Moduls (Auslese-Moduls), welches vorzugsweise ebenfalls Bestandteil des Daten-Puffers ist, wird bei Abruf durch die Anwendungs-Steuerung 100* der entsprechende Bewegungs-Datensatz ABD aus den Daten-Puffer ausgelesen und der Anwendungs-Steuerung 100* zur Umsetzung in der Anwendungs-Umgebung 100 übergeben.By means of a buffer readout module (readout module), which is preferably also part of the data buffer, the corresponding movement data record ABD is read from the data buffer and the application controller when called up by the application controller 100* 100* handed over for implementation in the application environment 100.

Bei der praktischen Anwendung der Abschnitts-Bewegungs-Daten ABD auf eine Anwendungs-Umgebung 100 wie eine Roboter-Straße 100, bei der der Startpunkt S und/oder der Zielpunkt Z eines Bewegungs-Abschnittes BA oder einer größeren Bewegung sich nicht in Ruhe befindet, sondern permanent bewegt, wie etwa das auf einem permanent laufenden, insbesondere konstant laufenden, Behälter-Band 101 liegende und umzusetzende Produkt P in einer Roboter-Straße 100, muss die Transport-Geschwindigkeit dieser z.B. Aufnahmefläche mit berüchtigt werden.In the practical application of the section movement data ABD to an application environment 100 such as a robot road 100, in which the starting point S and/or the destination point Z of a movement section BA or a larger movement is not at rest, but is constantly moving, such as the product P lying on a permanently running, in particular constantly running, container belt 101 and to be moved in a robot line 100, the transport speed of this, for example, receiving surface must become notorious.

Wie dies erfolgt ist im Ablaufdiagramm gemäß 5 dargestellt, in dem der rechte Ast des Ablaufschemas gemäß 4 ergänzt ist:

  • Das Förderband-Steuer-Modul (F-Steuer-Modul) gibt die bisherige und aktuelle Transport-Geschwindigkeit an ein Förder-Geschwindigkeits-Abschätz-Modul (F-Abschätz-Modul), welches in der Lage ist, die Förder-Geschwindigkeit, also die Transport-Geschwindigkeit, auch für in der Zukunft liegende Zeitpunkte abzuschätzen.
How this is done is shown in the flowchart 5 shown in which the right branch of the flow chart according to 4 is added:
  • The conveyor belt control module (F-control module) gives the previous and current transport speed to a conveyor speed estimation module (F-estimation module), which is able to determine the conveyor speed, i.e the transport speed can also be estimated for points in the future.

Diese Schätzungen für einen oder mehrere zukünftige Zeitpunkte gibt das F-Abschätz-Modul zum einen weiter an das Real-Generator-Modul, welches die geschätzte Transport-Geschwindigkeit bei der Formulierung seiner Arbeits-Aufträge AA bereits mit berücksichtigen kann.The F-estimation module forwards these estimates for one or more future points in time to the real generator module, which can already take the estimated transport speed into account when formulating its work orders AA.

Das F-Abschätz-Modul gibt seine Schätzung ebenfalls an den Daten-Puffer, insbesondere dessen Manage-Modul und/oder dessen Auslese-Modul, welches die Abschnitts-Bewegungs-Daten ABD, insbesondere einschließlich oder in Form von Steuer-Kommandos, ausgibt.The F-estimation module also sends its estimate to the data buffer, in particular its management module and/or its readout module, which outputs the section movement data ABD, in particular including or in the form of control commands.

Falls diese an ein 2. Nachbearbeitungs-Modul (2. Nach-Modul) übergeben werden, erhält das 2. Nach-Modul ebenfalls vom F-Abschätz-Modul eine Abschätzung der zukünftigen Transport-Geschwindigkeit für den geplanten Zeitpunkt der Ausführung dieser Steuer-Kommandos, der nun zeitlich wesentlich weniger entfernt ist vom Abschätz-Zeitpunkt als bei der 1, SchätzungIf these are passed to a 2nd post-processing module (2nd post-module), the 2nd post-module also receives an estimate of the future transport speed from the F-estimation module for the planned time of execution of these control commands , which is now significantly less distant from the time of estimation than in the first estimate

Insbesondere kann das 2. Nach-Modul für den nun relativ genau bekannten Ausführungs-Zeitpunkt des Steuer-Kommandos eine 2. Abschätzung der Transport-Geschwindigkeit vom F-Abschätz-Modul anfordern.In particular, the 2nd post-module can request a 2nd estimate of the transport speed from the F-estimation module for the now relatively precisely known execution time of the control command.

Differiert diese 2. Schätzung um mehr als einen Toleranzwert von dem ursprünglich vom Real-Generator-Modul erhaltenen 1. Schätzung der Transport-Geschwindigkeit, so ist das 2. Nach-Modul in der Lage, diese Differenz zu berücksichtigen durch entsprechende Nachbesserung der Steuer-Kommandos, die das 2. Nach-Modul dann an die Anwendungs-Steuerung 100* weitergibt.If this 2nd estimate differs by more than one tolerance value from the 1st estimate of the transport speed originally received from the real generator module, the 2nd subsequent module is able to take this difference into account by appropriately improving the control system. Commands that the second module then passes on to the application controller 100*.

BEZUGSZEICHENLISTEREFERENCE SYMBOL LIST

11
Roboterrobot
22
Oberarmupper arm
2'2'
SchwenkachsePivot axis
33
Unterarmforearm
3'3'
SchwenkachsePivot axis
44
Hand, HubsäuleHand, lifting column
4'4'
SchwenkachsePivot axis
55
Werkzeug, SaugerTool, vacuum cleaner
66
Roboter-BasisRobot base
7 8 9 107 8 9 10
TransportrichtungTransport direction
1111
QuerrichtungTransverse direction
1212
Vertikale vertical
100100
Anwendungs-Umgebung, Verpackungs-Maschine, Roboter-StraßeApplication environment, packaging machine, robot road
100*100*
Steuerung, Anwendungs-SteuerungControl, application control
101101
Produkt-BandProduct band
102102
SchlittenSleds
103103
Scannerscanner
104104
QuertraverseCrossbar
105105
Fahrschiene Travel rail
KK
Karton, UmverpackungCardboard box, outer packaging
PP
Produktproduct
AAAA
Arbeit-AuftragWork order
Auslese-ModulReadout module
Puffer-Auslese-ModulBuffer readout module
BAB.A
Bewegungs-AbschnittMovement section
ABDABD
Abschnitts-Bewegung-DatenSection movement data
Daten-ModulData module
Bewegungs-Daten-ModulMotion data module
F-Steuer-ModulF-control module
Förderband-Steuerungs-ModulConveyor belt control module
F-Abschätz-ModulF-estimation module
Fördergeschwindigkeit-Abschätz-ModulConveying speed estimation module
Generator-ModulGenerator module
Arbeits-Auftrags-Generator-ModulWork order generator module
KIAI
künstliche Intelligenzartificial intelligence
KNNKNN
künstliches neuronales Netzartificial neural network
Nach-ModulPost-module
Nachbearbeitungs-ModulPost-processing module
Ref-ModulRef module
Puffer-Referenzwert-Generator-ModulBuffer reference value generator module
Stopp-ModulStop module
Stopp-Sequenz-Generator-ModulStop sequence generator module
Manage-ModulManage module
Puffer-Management-ModulBuffer management module
Vor-PCPre-PC
Vorberechnungs-RechnerPre-calculation calculator
SS
StartpunktStarting point
ZZ
ZielpunktTarget point

Claims (20)

Verfahren zum Steuern der Bewegung eines in einer (realen) Anwendungs-Umgebung (100) wie einer Verpackungs-Maschine (100) eingesetzten realen Roboters (1) durch Steuern der Antriebe der relativ zueinander beweglichen Teile des Roboters (1), dadurch gekennzeichnet, dass A) aus einer Vielzahl von beispielhaften Arbeit-Aufträgen und den diese beschreibenden Auftrags-Daten jeweils beispielhafte Bewegungs-Abschnitte (BA) erstellt werden, für die die anhand wenigstens eines vorgegebenen Optimierungs-Parameters (A6) optimalen Bewegungs-Daten in Form von Abschnitts-Bewegungs-Daten (ABD) in einem Vorberechnungs-Prozess ermittelt werden, wofür - außer der Start-Parameter in Form der Start-Position und Start-Drehlage - sowie der Ziel-Parameter in Form der Ziel-Position und Ziel-Drehlage des Werkzeuges möglichst viele - Begleit-Parameter zur Verfügung gestellt werden. (A8) B) die beispielhaften Abschnitts-Bewegungs-Daten (ABD) als Trainings-Daten in eine künstliche Intelligenz (KI) mit wenigstens einem künstlichen neuronalen Netz (KNN) eingegeben werden, - die KI damit trainiert wird, C) in der Anwendungs-Umgebung bei Auftauchen eines Arbeits-Auftrages (AA) mit einem oder mehreren Bewegungs-Abschnitten (BA) - die Auftrags-Daten als Anfragegrößen in die trainierte KI eingegeben werden, - die von der KI als Antwort erhaltenen Antwortgrößen als Abschnitts-Bewegungsdaten (ABD) oder Roh-Abschnitts-Bewegungsdaten (RABD) für diesen wenigstens einen Bewegungs-Abschnitt (BA) weiterverwendet werden, D) die Abschnitts-Bewegungsdaten (ABD) versehen mit einem zeitlichen und/oder örtlichen oder anderem Start-Kriterium in einem Daten-Puffer abgelegt werden, E) bei Erreichen des Start-Kriteriums in den Auftrags-Daten eines-Auftrages, insbesondere des betreffenden Roboters, der Roboter den Bewegungs-Abschnitt (BA) vollzieht durch Ansteuern seiner Antriebe durch Steuer-kommandos, die in den Abschnitts-Bewegungsdaten (ABD) enthalten sind.Method for controlling the movement of a real robot (1) used in a (real) application environment (100) such as a packaging machine (100) by controlling the drives of the relatively movable parts of the robot (1), characterized in that A) exemplary movement sections (BA) are created from a large number of exemplary work orders and the order data describing them, for which the optimal movement data based on at least one predetermined optimization parameter (A6) is in the form of section sections. Movement data (ABD) are determined in a pre-calculation process, for which - apart from the start parameters in the form of the start position and start rotational position - as well as the target parameters in the form of the target position and target rotational position of the tool many - accompanying parameters are provided. (A8) B) the exemplary section movement data (ABD) is entered as training data into an artificial intelligence (AI) with at least one artificial neural network (ANN), - the AI is trained with it, C) in the application -Environment when a work order (AA) appears with one or more movement sections (BA) - the order data is entered into the trained AI as query variables, - the response variables received by the AI in response as section movement data (ABD ) or raw section movement data (RABD) can be further used for this at least one movement section (BA), D) the section movement data (ABD) is provided with a temporal and/or local or other start criterion in a data buffer are stored, E) when the start criterion is reached in the order data of a job, in particular of the robot in question, the robot carries out the movement section (BA) by controlling its drives using control commands that are in the section movement data (ABD) are included. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass - der Vorberechnungs-Prozess außerhalb der Anwendungs-Umgebung in einer davon getrennten Vorberechnungs-Umgebung (definieren) durchgeführt wird, - insbesondere vor der 1. Inbetriebnahme der Anwendungs-Umgebung oder eines neuen Werkzeuges oder eines neuen Roboters in der Anwendungs-Umgebung, - insbesondere der Vorberechnungs-Prozess mithilfe von Machine-Learning durch eine KI erfolgt.Procedure according to Claim 1 , characterized in that - the pre-calculation process is carried out outside the application environment in a separate pre-calculation environment (define), - in particular before the first commissioning of the application environment or a new tool or a new robot in the application -Environment, - in particular the pre-calculation process is carried out using machine learning by an AI. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Ermittlung von Steuer-Kommandos für die Antriebe aus den Abschnitts-Bewegungs-Daten im Schritt C) erfolgt.Method according to one of the preceding claims, characterized in that the determination of control commands for the drives from the section movement data takes place in step C). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zwischen Schritt C) und Schritt D) in einem Nachbearbeitungs-Schritt N) - die möglicherweise noch nicht exakten Antwortgrößen nachbearbeitet werden in exakte Abschnitts-Bewegungsdaten (ABD), - insbesondere in Steuerkommandos für die Antriebe.Method according to one of the preceding claims, characterized in that between step C) and step D) in a post-processing step N) - the possibly not yet exact response variables are post-processed into exact section movement data (ABD), - in particular in control commands for the drives. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Nachbearbeitung erfolgt unter Berücksichtigung von - bestehenden Inkonsistenzen zwischen den Antwortgrößen und den realen Gegebenheiten in der Anwendungs-Umgebung und/oder des zu erfüllenden Arbeits-Auftrages.Procedure according to Claim 4 , characterized in that the post-processing is carried out taking into account existing inconsistencies between the response variables and the real conditions in the application environment and/or the work order to be fulfilled. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt A) - , der Vorberechnungsprozess deterministisch durchgeführt wird, und/oder - als Optimierungs-Parameter die Minimierung der Bewegungs-Zeit, die zum Absolvieren des Bewegungs-Abschnittes (BA) benötigt wird, vorgegeben wird.Method according to one of the preceding claims, characterized in that in step A) -, the pre-calculation process is carried out deterministically, and/or - as an optimization parameter, the minimization of the movement time required to complete the movement section (BA). , is specified. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt A) bei Vorgabe mehrerer Optimierungs-Parameter eine Gewichtung oder Priorisierung unter den mehreren Optimierungs-Parametern vorgegeben wird.Method according to one of the preceding claims, characterized in that in step A) when specifying several optimization parameters, a weighting or prioritization is specified among the several optimization parameters. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt A) als Begleit-Parameter zur Verfügung gestellt werden - Ankunfts-Geschwindigkeit und/oder Ankunfts-Richtung des Werkzeuges (5) an der Start-Position (S) und/oder - Abfahrts-Geschwindigkeit und/oder Abfahrts-Richtung des Werkzeuges (5) von der Ziel-Position (Z).Method according to one of the preceding claims, characterized in that in step A) the accompanying parameters are provided - arrival speed and/or arrival direction of the tool (5) at the starting position (S) and/or - Departure speed and/or departure direction of the tool (5) from the target position (Z). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als Begleit-Parameter Umgebungseigenschaften zur Verfügung gestellt werden wie etwa - Elastizität der Antriebe und/oder - Schwingungsverhalten der Anlage, insbesondere des Roboters (1) und/oder - Belastungs-Grenzwerte, insbesondere für Lagerstellen und Linearführungen, insbesondere des Roboters (1).Method according to one of the preceding claims, characterized in that environmental properties are provided as accompanying parameters, such as - elasticity of the drives and/or - vibration behavior of the system, in particular of the robot (1) and/or - load limit values, in particular for Bearing points and linear guides, especially of the robot (1). Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass das Schwingungsverhalten zur Verfügung gestellt wird durch - Hinterlegen eines Schwingungs-Modells für die Anwendungs-Umgebung, oder - Erstellen eines Schwingungs-Modells für die Anwendungs-Umgebung auf Basis eingegebener, insbesondere konstruktiver, Daten der Anwendungs-Umgebung.Procedure according to Claim 9 , characterized in that the vibration behavior is provided by - storing a vibration model for the application environment, or - creating a vibration model for the application environment based on entered, in particular constructive, data of the application environment. Verfahren nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet, dass die Belastungs-Grenzwerte zur Verfügung gestellt wird durch - Hinterlegen eines Belastungs-Modells für die Anwendungs-Umgebung, oder - Erstellen eines Belastungs-Modells für die Anwendungs-Umgebung auf Basis eingegebener, insbesondere konstruktiver, Daten der belasteten Teile der Anwendungs-Umgebung.Procedure according to one of the Claims 9 or 10 , characterized in that the load limit values are provided by - storing a load model for the application environment, or - creating a load model for the application environment based on entered, in particular constructive, data of the loaded parts of the Application environment. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt B) die KI als ausreichend trainiert betrachtet und das Training beendet wird, wenn - bei Eingabe von Auftrags-Daten aus den Beispiel-Daten des Schrittes A) als Anfragegrößen an die Kl, - die von der KI erhaltenen Antwortgrößen in einem vorgegebenen Toleranzbereich um die Bewegungs-Abschnitts-Daten (ABD) liegen, die im Schritt A) aus diesen Auftrags-Daten errechnet wurden.Method according to one of the preceding claims, characterized in that in step B) the AI is considered to be sufficiently trained and the training is ended if - when order data from the example data of step A) is entered as query sizes to the AI, - the response variables received from the AI are within a predetermined tolerance range around the movement section data (ABD) that were calculated from this order data in step A). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt C) die Antwort-Größen auch Bereichsangaben als Bewegungsdaten (ABD) enthalten können.Method according to one of the preceding claims, characterized in that in step C) the response variables can also contain area information as movement data (ABD). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt D) die Abschnitts-Bewegungsdaten (ABD) mit einem zeitlichen und/oder örtlichen Vorlauf im Daten-Puffer abgelegt werden.Method according to one of the preceding claims, characterized in that in step D) the section movement data (ABD) is stored in the data buffer with a temporal and/or local advance. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt D) die Abschnitts-Bewegungsdaten (ABD) für einen Bewegungs-Abschnitt (BA) im Daten-Puffer am - zeitlichen oder örtlichen - Ende eine optionale Stopp-Sequenz für das Anhalten des Werkzeuges (5) umfasst.Method according to one of the preceding claims, characterized in that in step D) the section movement data (ABD) for a movement section (BA) in the data buffer at the - temporal or local - end an optional stop sequence for stopping the Tool (5) includes. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt E) für den Fall, dass für das Ende eines in Durchführung befindlichen Bewegungs-Abschnittes (BA) keine Bewegungs-Daten für einen nachfolgenden Bewegungs-Abschnitt (BA) vorhanden sind, der Roboter (1) angehalten wird entsprechend der in den Bewegungs-Daten des in Durchführung befindlichen Bewegungs-Abschnittes (BA) enthaltenen Stopp-Sequenz.Method according to one of the preceding claims, characterized in that in step E) in the event that there is no movement data for a subsequent movement section (BA) for the end of a movement section (BA) being carried out, the Robot (1) is stopped according to the in the stop sequence contained in the movement data of the movement section (BA) being carried out. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - für den Roboter in der Anwendungs-Umgebung als Bewegungs-Abschnitt wenigstens ein Bewegungs-Grundtyp festgelegt wird, - insbesondere alle Bewegungs-Abschnitte (BA) im Schritt A) einen dieser Bewegungs-Grundtypen subsummierbar sind, - und/oder - insbesondere alle durch die im Schritt D) erzeugten Bewegungs-Daten beschriebenen Bewegungs-Abschnitte (BA) unter einen dieser Bewegungs-Grundtypen subsummierbar sind.Method according to one of the preceding claims, characterized in that - at least one basic movement type is defined as a movement section for the robot in the application environment, - in particular all movement sections (BA) in step A) have one of these basic movement types can be subsumed, - and / or - in particular all the movement sections (BA) described by the movement data generated in step D) can be subsumed under one of these basic movement types. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vermutete Transportgeschwindigkeit der als Aufnahme-Stelle, und/oder als Ablage-Stelle dienenden Bänder a) entweder bereits bei der Ermittlung der Bewegungs-Daten im Schritt A) als einer der Umgebungs-Parameter berücksichtigt wird, b) oder erst nach der Ausgabe der Ausgabegrößen aus der KI im Schritt C), spätestens bei der Ermittlung der Steuerkommandos für die Antriebe im Schritt E), berücksichtigt wird, - insbesondere gemäß a) die vermutete Transportgeschwindigkeit berücksichtigt wird und am Beginn des realen Bewegungs-Abschnitts (BA) mit der realen Transportgeschwindigkeit verglichen und bei einer Differenz über einer Toleranzgrenze die Steuerkommandos unter Berücksichtigung der Differenz nachberechnet werden.Method according to one of the preceding claims, characterized in that the assumed transport speed of the tapes serving as a pick-up point and/or as a storage point a) either already when determining the movement data in step A) as one of the environmental parameters is taken into account, b) or only after the output variables from the AI in step C), at the latest when determining the control commands for the drives in step E), - in particular according to a) the assumed transport speed is taken into account and at the beginning of the real movement section (BA) is compared with the real transport speed and, if the difference exceeds a tolerance limit, the control commands are recalculated taking the difference into account. Roboter-Anwendungssystems zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche, mit - einer Anwendungs-Umgebung (100), insbesondere einer Verpackungs-Maschine (100), etwa in Form einer Roboter-Strasse (100), umfassend - wenigstens einen Roboter (1), - eine Anwendungs-Steuerung (100*) zum Steuern der beweglichen Teile der Anwendungs-Umgebung (100), insbesondere der Antriebe der beweglich miteinander verbundenen Teile des wenigstens einen Roboters (1) relativ zueinander, gekennzeichnet durch - einen Vorberechnungs-Rechner, in dem aus beispielhaften Auftrags-Daten jeweils Bewegungs-Abschnitte (BA) des Roboters (1) festgelegt und dafür optimierte Bewegungs-Daten deterministisch errechnet werden - eine künstliche Intelligenz (KI) mit wenigstens einem künstlichen neuronalen Netz (KNN) und einem Trainings-Algorithmus, welche in der Lage ist, mit Hilfe von Machine-Learning-Modellen der beispielhaften Bewegungs-Abschnitte (BA) und der daraus deterministisch errechneten optimierten Bewegungs-Daten die künstliche Intelligenz (KI) zu trainieren - insbesondere gemäß einem der vorhergehenden Verfahrensansprüche.Robot application system for carrying out the method according to one of the preceding claims, with - an application environment (100), in particular a packaging machine (100), for example in the form of a robot line (100), comprising - at least one robot (1 ), - an application control (100*) for controlling the movable parts of the application environment (100), in particular the drives of the movably connected parts of the at least one robot (1) relative to one another, characterized by - a pre-calculation computer, in which movement sections (BA) of the robot (1) are defined from exemplary order data and optimized movement data are deterministically calculated - an artificial intelligence (AI) with at least one artificial neural network (ANN) and a training algorithm , which is able to train artificial intelligence (AI) with the help of machine learning models of the exemplary movement sections (BA) and the optimized movement data deterministically calculated from them - in particular according to one of the preceding method claims. Roboter-Anwendungssystem nach Anspruch 19, dadurch gekennzeichnet, dass die Anwendungs-Steuerung umfasst - ein Arbeits-Auftrags-Generator-Modul (Generator-Modul), welcher in der Lage ist, z.B. aufgrund von Eingaben des Benutzers oder zufallsbedingt, beispielhafte, konkrete Arbeits-Aufträge (AA) für jeden einzelnen Roboter (1) zu erstellen und als Anfragegröße in die trainierte KI einzugeben, und/oder - ein Bewegungs-Daten-Modul (Daten-Modul), welches in der Lage ist, Antwortgrößen der KI entgegenzunehmen und daraus Bewegungs-Daten (ABD) zu erzeugen, insbesondere mit oder in Form von Steuerkommandos für die Antriebe des Roboters, und/oder - ein 1. Nachbearbeitungs-Modul (Nach-Modul), um die vom Bewegungs-Daten-Modul erzeugten Bewegungs-Daten (ABD) gegebenenfalls nachzubearbeiten, beispielsweise um Inkonsistenzen mit der realen Anwendungs-Umgebung, insbesondere im betreffenden Bewegungs-Abschnitt(BA), zu beseitigen, und/oder - ein Puffer-Referenzwert-Generator-Modul (Ref-Modul und/oder - ein Stopp-Sequenz-Generator-Modul (Stopp-Modul), welches in der Lage ist, eine Stopp-Sequenz für einen Bewegungs-Abschnitts-Datensatz (ABD) zu erzeugen, und/oder - ein Puffer- Management-Modul (Manage-Modul), welches in der Lage ist, das Einbringen, Abspeichern und gegebenenfalls Sortieren und Ausbringen von Abschnitts-Bewegungs-Daten (ABD), insbesondere Datensätzen (ABD), im Puffer zu organisieren, und/oder - ein Puffer- Auslese-Modul (Auslese-Modul), welches in der Lage ist, das Auslesen von Abschnitts-Bewegungs-Daten(ABD), insbesondere Datensetzen (ABD), aus dem Puffer durchzuführen, und/oder - ein Förderband-Steuerungs-Modul (F-Steuer-Modul), welches die entsprechenden Förderer für Produkte und/oder Behälter, seiner Förderbänder oder andere Bauformen von Förderer, steuert, und/oder - Fördergeschwindigkeits-Abschätz-Modul (F-Abschätz-Modul), welches in der Lage ist, die Geschwindigkeit des Förderers zu definierten Zeitpunkten oder Funktionszuständen der Anwendungs-Umgebung in der Zukunft abzuschätzen, und/oder - ein 2. Nachbearbeitungs-Modul (2. Nach-Modul), um die aus dem Daten-Puffer ausgegebenen oder ausgelesenen Bewegungs-Daten (ABD) nach zu bearbeiten, insbesondere im Fall einer Differenz zwischen den bei der Erstellung dieser Bewegungs-Daten (ABD) unterstellten Geschwindigkeit und einer aktuell gemessenen oder nun besser abschätzbaren Fördergeschwindigkeit.Robot application system Claim 19 , characterized in that the application control comprises - a work order generator module (generator module), which is able, for example based on user input or randomly, to create exemplary, concrete work orders (AA). to create each individual robot (1) and enter it into the trained AI as a query size, and/or - a movement data module (data module) which is able to receive response sizes from the AI and use them to create movement data (ABD ), in particular with or in the form of control commands for the drives of the robot, and / or - a 1st post-processing module (post-module) in order to post-process the movement data (ABD) generated by the movement data module if necessary , for example to eliminate inconsistencies with the real application environment, especially in the relevant movement section (BA), and / or - a buffer reference value generator module (ref module and / or - a stop sequence generator -Module (stop module), which is able to generate a stop sequence for a movement section data set (ABD), and / or - a buffer management module (manage module), which is in the Is able to organize the introduction, storage and, if necessary, sorting and output of section movement data (ABD), in particular data sets (ABD), in the buffer, and / or - a buffer readout module (readout module), which is able to read out section movement data (ABD), in particular data setting (ABD), from the buffer, and / or - a conveyor belt control module (F-control module), which controls the corresponding conveyors for products and/or containers, its conveyor belts or other types of conveyor, controls, and/or - conveyor speed estimation module (F-estimation module), which is able to determine the speed of the conveyor at defined times or functional states of the to estimate the application environment in the future, and/or - a 2nd post-processing module (2nd Post-module) to post-process the movement data (ABD) output or read from the data buffer, especially in the case of a difference between the speed assumed when creating this movement data (ABD) and a currently measured or now easier to estimate conveying speed.
DE102021103126.5A 2021-02-10 2021-02-10 Method for accelerating a handling machine Active DE102021103126B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021103126.5A DE102021103126B4 (en) 2021-02-10 2021-02-10 Method for accelerating a handling machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021103126.5A DE102021103126B4 (en) 2021-02-10 2021-02-10 Method for accelerating a handling machine

Publications (2)

Publication Number Publication Date
DE102021103126A1 DE102021103126A1 (en) 2022-08-11
DE102021103126B4 true DE102021103126B4 (en) 2023-10-12

Family

ID=82493336

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021103126.5A Active DE102021103126B4 (en) 2021-02-10 2021-02-10 Method for accelerating a handling machine

Country Status (1)

Country Link
DE (1) DE102021103126B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022107392A1 (en) 2022-03-29 2023-10-05 Gerhard Schubert Gesellschaft mit beschränkter Haftung Method for accelerating a handling machine

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10300606B4 (en) 2003-01-10 2015-11-26 Bosch Rexroth Ag Method and control device for starting a gripping device to a moving piece goods
DE102018129528A1 (en) 2017-11-30 2019-06-06 Fanuc Corporation Vibration suppressing device
DE102017113818B4 (en) 2016-06-29 2019-10-10 Fanuc Corporation ARTICLE FEEDING DEVICE WITH A SECTION FOR TEMPORARY PLACEMENT
DE102017008836B4 (en) 2016-09-27 2020-09-24 Fanuc Corporation Machine learning device and machine learning method for learning an optimal object gripping path
DE102019120633A1 (en) 2019-07-31 2021-02-04 Liebherr-Hydraulikbagger Gmbh Method for the automatic movement of an implement and implement
DE102019120663A1 (en) 2019-07-31 2021-02-04 Schaeffler Technologies AG & Co. KG Centrifugal pendulum device and torque transmission device
DE112019007404T5 (en) 2019-06-06 2022-02-24 Mitsubishi Electric Corporation PARAMETER CALCULATION DEVICE, ROBOT CONTROL SYSTEM AND ROBOT SYSTEM

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10300606B4 (en) 2003-01-10 2015-11-26 Bosch Rexroth Ag Method and control device for starting a gripping device to a moving piece goods
DE102017113818B4 (en) 2016-06-29 2019-10-10 Fanuc Corporation ARTICLE FEEDING DEVICE WITH A SECTION FOR TEMPORARY PLACEMENT
DE102017008836B4 (en) 2016-09-27 2020-09-24 Fanuc Corporation Machine learning device and machine learning method for learning an optimal object gripping path
DE102018129528A1 (en) 2017-11-30 2019-06-06 Fanuc Corporation Vibration suppressing device
DE112019007404T5 (en) 2019-06-06 2022-02-24 Mitsubishi Electric Corporation PARAMETER CALCULATION DEVICE, ROBOT CONTROL SYSTEM AND ROBOT SYSTEM
DE102019120633A1 (en) 2019-07-31 2021-02-04 Liebherr-Hydraulikbagger Gmbh Method for the automatic movement of an implement and implement
DE102019120663A1 (en) 2019-07-31 2021-02-04 Schaeffler Technologies AG & Co. KG Centrifugal pendulum device and torque transmission device

Also Published As

Publication number Publication date
DE102021103126A1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
EP2114805B1 (en) Robot system for loading part-load units onto loading means
EP2040984B1 (en) Method for filling containers with bulk goods
DE102017124182B4 (en) Regulating device for a handling device
EP3623116A1 (en) Method and device for collision-free movement planning of a manipulator
EP2952296A2 (en) Device for the automated removal of workpieces arranged in a container
DE102010052253A1 (en) Method and control means for controlling a robot arrangement
DE10223670A1 (en) Method and device for moving a handling system
DE102021103126B4 (en) Method for accelerating a handling machine
DE102015103451A1 (en) Method for time-discrete control of drivable axles, computer program product and apparatus for carrying out such a method
DE102021104001B3 (en) Method for automatically grasping, in particular moving, objects
EP3456485A1 (en) Optimisation of an automated process for selecting and gripping an object by a robot
DE102011122434A1 (en) Method for controlling movement of e.g. industrial robot, involves initiating braking operation of mechanical device when crossing restriction and/or insufficient braking distance of mechanical device
DE10300606A1 (en) Method of approaching moving item, e.g. for items on conveyor belt using robot arm, by determining approach position of item, and adjusting current movement data set accordingly
EP4112513A1 (en) System with a gripper
WO2013087554A1 (en) Device and method for transferring workpieces prepared in workpiece bins to a processing machine by means of a robot
EP4252971A2 (en) Method for accelerating a handling machine
EP3473562A1 (en) Method and shelf mount technology for storing goods using orthogonaler transverse storage
WO2017025221A1 (en) Method for moving at least one handling unit designed for handling piece goods and device for handling piece goods
EP4049806B1 (en) Picking robot with optimized trajectory and method for controlling a picking robot
EP2351633A2 (en) Method for optimising the speed of a robot
EP3115856A1 (en) Trajectory determining method for in addition to secondary processing movements
EP2170755A1 (en) Transporting apparatus for transporting loads to storage places, in particular in a high-bay warehouse
DE102015008740B4 (en) ROBOT CONTROL DEVICE THAT IS ABLE TO CARRY A WORKPIECE WITH A PARAMETER EXCEEDING A TARGET WORKPIECE PARTNER
DE102008008341A1 (en) Machine and method for producing a control program
EP2151399A2 (en) Method and device for transporting material sheet rolls

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division