DE102010052253A1 - Method and control means for controlling a robot arrangement - Google Patents

Method and control means for controlling a robot arrangement Download PDF

Info

Publication number
DE102010052253A1
DE102010052253A1 DE102010052253A DE102010052253A DE102010052253A1 DE 102010052253 A1 DE102010052253 A1 DE 102010052253A1 DE 102010052253 A DE102010052253 A DE 102010052253A DE 102010052253 A DE102010052253 A DE 102010052253A DE 102010052253 A1 DE102010052253 A1 DE 102010052253A1
Authority
DE
Germany
Prior art keywords
robot
time
section time
workflow
process section
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.)
Granted
Application number
DE102010052253A
Other languages
German (de)
Other versions
DE102010052253A8 (en
DE102010052253B4 (en
Inventor
wird später genannt werden Erfinder
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Priority to DE102010052253.8A priority Critical patent/DE102010052253B4/en
Priority to PCT/EP2011/005477 priority patent/WO2012069129A1/en
Priority to CN201180025278.9A priority patent/CN102905859B/en
Publication of DE102010052253A1 publication Critical patent/DE102010052253A1/en
Publication of DE102010052253A8 publication Critical patent/DE102010052253A8/en
Application granted granted Critical
Publication of DE102010052253B4 publication Critical patent/DE102010052253B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/34Director, elements to supervisory
    • G05B2219/34314Slow down, limit speed for energy saving
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39144Scale moving time of all robots, machines to match slowest, no waiting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39361Minimize time-energy cost

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Ein erfindungsgemäßes Verfahren zur computergestützten Steuerung einer Roboteranordnung mit wenigstesh; Bestimmen wenigstens eines Prozessabschnittspunktes (q1,E, q2,E); – Ermitteln einer Prozessabschnittszeit (T) für den Prozessabschnittspunkt; – Vorgabe einer Abschnittszeit (T) für wenigstens einen Roboter (1) der Roboteranordnung auf Basis der Prozessabschnittszeit (T); und – Optimieren eines Arbeitsablaufes (g1(s(t)) dieses Roboters (1) auf Basis der vorgegebenen Abschnittszeit (T1 + ΔT).A method according to the invention for computer-aided control of a robot arrangement with a minimum of time; Determining at least one process section point (q1, E, q2, E); - Determining a process section time (T) for the process section point; - Specifying a section time (T) for at least one robot (1) of the robot arrangement on the basis of the process section time (T); and - Optimizing a workflow (g1 (s (t)) of this robot (1) on the basis of the predetermined section time (T1 + ΔT).

Description

Die vorliegende Erfindung betrifft ein Verfahren und ein Steuermittel zur computergestützten Steuerung einer Roboteranordnung mit wenigstens zwei Robotern.The present invention relates to a method and a control means for the computer-aided control of a robot arrangement with at least two robots.

Bei Roboteranordnungen mit zwei oder mehr Robotern kann zwischen koordinierten und kooperativen Prozessen unterschieden werden: während bei kooperativen Prozessen die Roboter synchron als Achsen eines virtuellen Hyperroboters fungieren, um beispielsweise gemeinsam eine von den Robotern gehaltene Nutzlast zu bewegen, führen im koordinierten Roboterbetrieb Roboter Teilaufgaben a priori unabhängig von anderen Robotern aus.In robotic arrangements with two or more robots, a distinction can be made between coordinated and cooperative processes: while in cooperative processes the robots synchronously act as axes of a virtual hyperrobot, for example, to jointly move a payload held by robots, robots perform a priori tasks in coordinated robotic operation regardless of other robots.

Um hierbei Kollisionen zu vermeiden, werden nach betriebsinterner Praxis Prozesse in Prozessabschnitte unterteilt, die erst von allen kollisionsgefährdeten Robotern abgearbeitet worden sein müssen, bevor sie einen nachfolgenden Prozessabschnitt beginnen dürfen. Sollen beispielsweise zwei Roboter abwechselnd Nutzlasten im selben Arbeitsraum bewegen, können solche Prozessabschnitte durch den Austritt eines Roboters aus diesem Arbeitsraum vorgegeben werden, so dass der jeweils andere Roboter erst in einem nachfolgenden Prozessabschnitt in den – nun freien – Arbeitsraum eindringen darf.In order to avoid collisions, processes are subdivided according to in-house practice into process sections, which must first have been processed by all collision-prone robots before they can start a subsequent process section. If, for example, two robots alternately move payloads in the same workspace, such process sections can be specified by the exit of a robot from this workspace so that the respective other robot may only enter the - now free - working space in a subsequent process section.

Arbeitsabläufe, insbesondere Bewegungen, von einzelnen Robotern werden jedoch in der Regel zeitoptimal gesteuert, i. e. so, dass der Roboter den Arbeitsablauf in der minimal möglichen Zeit abarbeitet, die beispielsweise aus Beschränkungen in Antriebskräften und -momenten, Gelenkgeschwindigkeiten und -beschleunigungen und/oder kartesischen Geschwindigkeiten von Referenzpunkten wie dem TCP resultieren kann. Dies führt bei dem oben erläuterten, in Prozessabschnitte getakteten koordinierten Prozess dazu, dass der bzw. die schnelleren Roboter, i. e. diejenigen, die den jeweiligen Prozessabschnitt in geringerer minimaler Zeit abarbeiten, am Ende des Prozessabschnitts auf den jeweils langsamsten Roboter warten und somit bei ihrem zeitoptimalen Arbeitsablauf unnötig viel Energie verbraucht haben.However, workflows, in particular movements, of individual robots are generally controlled in a time-optimized manner, i. e. such that the robot handles the workflow in the minimum possible time, which may result from, for example, limitations in drive forces and moments, joint speeds and accelerations, and / or Cartesian velocities of reference points such as the TCP. In the case of the above-explained coordinated process, which is clocked in process sections, this leads to the faster robot (s), i. e. those who process the respective process section in a minimal amount of time, wait for the slowest robot at the end of the process section and thus have consumed unnecessarily much energy in their time-optimized workflow.

Die DE 196 25 637 A1 schlägt zur Kollisionsvermeidung im Mehrroboterbetrieb vor, Kollisionsbereiche in den Raum der gemeinsamen Gelenkkoordinaten zu projizieren und dort zeitoptimale kollisionsfreie Trajektorien zu planen. Die Endzeit des dabei schnelleren Roboters wird auf die Endzeit des langsameren Roboters skaliert, um denselben Punkt im Gelenkkoordinatenraum synchron zu erreichen.The DE 196 25 637 A1 proposes to avoid collision in multi-robot operation to project collision areas in the space of the joint joint coordinates and plan there time-optimal collision-free trajectories. The end time of the faster robot is scaled to the end time of the slower robot to synchronously reach the same point in the joint coordinate space.

Aufgabe der vorliegenden Erfindung ist es, die Steuerung von Roboteranordnungen mit wenigstens zwei Robotern zu verbessern.The object of the present invention is to improve the control of robot arrangements with at least two robots.

Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Anspruch 9 stellt ein Steuermittel, Anspruch 11 ein Computerprogrammprodukt, insbesondere einen maschinenlesbaren Datenträger bzw. ein Speichermedium, zur Durchführung eines erfindungsgemäßen Verfahrens unter Schutz, wobei ein Mittel im Sinne der vorliegenden Erfindung gleichermaßen hard- und/oder softwaretechnisch ausgebildet sein kann, also insbesondere entsprechende Verarbeitungs-, Rechen-, Speicher- und/oder Datenübertragungseinrichtungen und/oder Programme, Programmmodule, und dergleichen umfassen kann. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprüche.This object is achieved by a method having the features of claim 1. Claim 9 provides a control means, claim 11, a computer program product, in particular a machine-readable data carrier or a storage medium, for performing a method according to the invention under protection, wherein an agent in the sense of the present invention equally hard and / or software technology can be formed, ie in particular corresponding Processing, computing, storage and / or data transmission facilities and / or programs, program modules, and the like may include. Advantageous developments are the subject of the dependent claims.

Die vorliegende Erfindung basiert auf dem Grundgedanken, eine Zeitdifferenz, die zwischen einer Zeit, die der langsamste Roboter einer Roboteranordnung zur Abarbeitung eines Prozessabschnittes benötigt, und der Zeit, die ein schnellerer Roboter der Roboteranordnung bei zeitoptimalem Betrieb benötigen würde, zu nutzen, um den Arbeitsablauf des schnelleren Roboters, insbesondere in Hinblick auf seinen Energieverbrauch, zu optimieren. Im Gegensatz zu einer reinen Skalierung der minimalen Endzeit des schnelleren Roboters auf diejenige des langsameren Roboters kann hier eine Optimierung deutliche Energieeinsparungen ergeben.The present invention is based on the idea of utilizing the time difference between a time required by the slowest robot of a robot assembly to execute a process section and the time that a faster robot of the robot assembly would require in time-optimized operation to complete the workflow of the faster robot, especially with regard to its energy consumption. In contrast to a mere scaling of the minimum end time of the faster robot to that of the slower robot, optimization here can result in significant energy savings.

Allgemein umfasst ein erfindungsgemäßes Verfahren zunächst das Bestimmen eines oder mehrerer Prozessabschnittspunkte. Dabei wird ein Gesamtprozess, den die Roboteranordnung durchführen soll, vorzugsweise in zwei oder mehr Teilprozesse bzw. Prozessabschnitte gegliedert. Diese können sich insbesondere im Rahmen einer Kollisionsvermeidung ergeben, etwa durch die Forderung, dass stets nur ein Roboter in einem gemeinsamen, vorzugsweise veränderlichen, Arbeitsbereich agieren darf. Zusätzlich oder alternativ können Prozessabschnittspunkte auch Synchronisationspunkte sein, an denen zwei oder mehr Roboter zeitgleich eine bestimmte Konfiguration einnehmen müssen, etwa, um eine Nutzlast zu übergeben oder ein durch einen Roboter fixiertes Werkstück durch ein Werkzeug zu bearbeiten, welches ein anderer Roboter führt. Prozessabschnittspunkte können sich beispielsweise aus dem Fördertakt eines Förderers ergeben, mit dem die Roboteranordnung zusammenwirkt. Zur kompakteren Darstellung kann auch ein Gesamtprozess ohne weitere Unterteilung einen Prozessabschnitt im Sinne der vorliegenden Erfindung darstellen, dessen einziger Prozessabschnittspunkt dann das Ende des Gesamtprozesses bildet.In general, a method according to the invention first comprises determining one or more process section points. In this case, an overall process which the robot arrangement is to carry out is preferably subdivided into two or more subprocesses or process sections. These can result, in particular, in the context of a collision avoidance, for example by the requirement that only one robot may always act in a common, preferably variable, workspace. Additionally or alternatively, process section points may also be synchronization points at which two or more robots simultaneously have to assume a certain configuration, for example to transfer a payload or to process a workpiece fixed by a robot by a tool which another robot guides. Process section points can result, for example, from the delivery cycle of a conveyor with which the robot arrangement interacts. For a more compact representation, an overall process without further subdivision can also represent a process section in the sense of the present invention whose single process section point then forms the end of the overall process.

Allgemein wird unter einem Prozessabschnittspunkt im Sinne der vorliegenden Erfindung insbesondere ein Punkt verstanden, der einen Zustand von zwei oder mehr Robotern der Roboteranordnung, insbesondere Posen der Roboter, beschreibt, beispielsweise Posen am Ende eines Bearbeitungsprozesses oder einer Transferbewegung. Wird ein Arbeitsablauf eines Roboters i der Roboteranordnung durch den Verlauf seiner Gelenkkoordinaten qi über einem Prozesszustandsparameter s0 ≤ s ≤ SE beschrieben, der Gesamtprozess entsprechend durch die Gelenkkoordinaten q(s) = [q1(s), q2(s), ...] der Roboter der Roboteranordnung, kann also ein Prozessabschnittspunkt beispielsweise durch Werte des Prozesszustandsparameters s bzw. die zugehörigen Gelenkkoordinaten oder Roboterposen angegeben werden. Prozessabschnittspunkte können manuell, etwa durch Anklicken in einer graphischen Darstellung des Prozesses oder Eingabe während eines Teachens des Prozesses, und/oder automatisch, etwa in vorgegebenen Abständen des Prozesszustandsparameters, bestimmt werden.In general, a process section point in the sense of the present invention is understood in particular to mean a state of two or more robots of the robot arrangement, in particular poses of the robots, describes, for example, poses at the end of a machining process or a transfer movement. If a workflow of a robot i of the robot arrangement is described by the course of its joint coordinates q i over a process state parameter s 0 ≦ s ≦ S E , the overall process is represented by the joint coordinates q (s) = [q 1 (s), q 2 (s) , ...] the robot of the robot arrangement, that is, a process section point can be specified, for example, by values of the process state parameter s or the associated joint coordinates or robot poses. Process section points can be determined manually, for example by clicking in a graphical representation of the process or input during a teaching of the process, and / or automatically, for example at predetermined intervals of the process state parameter.

Dann wird für den jeweiligen Prozessabschnittspunkt eine Prozessabschnittszeit ermittelt. Hierunter wird insbesondere diejenige Zeit verstanden, die die Roboteranordnung zum Erreichen des Prozessabschnittspunkts unter Abarbeitung des jeweiligen Prozessabschnittes durch die Roboter der Roboteranordnung benötigt. In einer bevorzugten Ausführung wird dazu für zwei oder mehr, insbesondere alle Roboter der Roboteranordnung, jeweils eine minimale Abschnittszeit ermittelt, die die jeweiligen Roboter mindestens zur Abarbeitung ihres jeweiligen Prozessabschnittes benötigen. Diese minimale Abschnittszeit kann vorzugsweise unter Berücksichtigung maximal zulässiger Antriebskräfte und -momente, Gelenkgeschwindigkeiten und – beschleunigungen und/oder kartesischer Geschwindigkeiten von Referenzpunkten insbesondere dem TCP, bei zeitoptimal geplantem Arbeitsablauf erreicht werden. Die Prozessabschnittszeit kann dann auf Basis dieser minimalen Abschnittszeiten ermittelt werden, insbesondere als größte der minimalen Abschnittszeiten. Gleichermaßen kann eine Prozessabschnittszeit auch auf Basis anderer Prozessfaktoren ermittelt werden, beispielsweise der Zeit, die ein Werkstück benötigt, um eine vorgegebene Temperatur zu erreichen, die ein Farb-, Dicht- oder Klebemittelauftrag zur Trocknung benötigt, oder die eine Werkzeug- oder Spritzmaschine zur Bearbeitung eines Werkstückes benötigt. Allgemein kann die jeweils längste der Zeiten, die Roboter, Werkzeuge, Werkstücke und/oder weitere Prozessmittel wie Werkzeugmaschinen, Förderer oder dergleichen jeweils zum Erreichen des Prozessabschnittspunktes minimal benötigen, als Prozessabschnittszeit ermittelt werden. In einer vorteilhaften Weiterbildung kann die so aus den minimal Zeiten ermittelte Prozessabschnittszeit um einen vorgegebenen Wert erhöht werden, um auch für das langsamste Prozessmittel eine Reserve vorzusehen und dieses nicht auszubelasten. Hierzu kann in gleicher Weise auch die jeweilige minimale Zeit der einzelnen Prozessmittel um einen vorgegebenen, vorzugsweise individuellen, Wert erhöht werden.Then, a process section time is determined for the respective process section point. This is understood to mean, in particular, that time which the robot arrangement requires to reach the process section point while the respective process section is being processed by the robots of the robot arrangement. In a preferred embodiment, in each case a minimum section time is determined for two or more, in particular all robots of the robot arrangement, which require the respective robots at least for processing their respective process section. This minimum section time can preferably be achieved taking into account maximum permissible driving forces and moments, joint speeds and accelerations and / or Cartesian velocities of reference points, in particular the TCP, with a workflow planned at the optimum time. The process section time can then be determined on the basis of these minimum section times, in particular as the largest of the minimum section times. Similarly, a process section time may also be determined based on other process factors, such as the time it takes for a workpiece to reach a predetermined temperature requiring a paint, seal, or adhesive application for drying, or a tooling or spraying machine for processing a workpiece required. In general, the respectively longest of the times which robots, tools, workpieces and / or further process means such as machine tools, conveyors or the like each require minimally for reaching the process section point can be determined as the process section time. In an advantageous development, the process period time thus determined from the minimum times can be increased by a predetermined value in order to provide a reserve for the slowest process agent and not to load it out. For this purpose, the respective minimum time of the individual processing means can be increased in the same way by a predetermined, preferably individual, value.

Nun wird auf Basis der Prozessabschnittszeit eine Abschnittszeit für einen oder mehrere Roboter der Roboteranordnung vorgegeben, vorzugsweise nur für Roboter, deren minimale Abschnittszeit nicht die Prozessabschnittszeit bestimmen. Insbesondere kann die Prozessabschnittszeit selber als Abschnittszeit vorgegeben werden. Gleichermaßen ist es möglich, die Abschnittszeiten beispielsweise um einen vorgegebenen Wert gegenüber der Prozessabschnittszeit zu erhöhen, um auch das langsamste Prozessmittel nicht auszubelasten. Die Abschnittszeit kann beispielsweise als Gesamtzeit, die dem jeweiligen Roboter zur Abarbeitung des Prozessabschnittes zur Verfügung steht, oder auch als Zeitdifferenz gegenüber der vorab ermittelten minimalen Abschnittszeit vorgegeben werden.Now, on the basis of the process section time, a section time for one or more robots of the robot arrangement is specified, preferably only for robots whose minimum section time does not determine the process section time. In particular, the process section time itself can be specified as a section time. Similarly, it is possible to increase the section times, for example, by a predetermined value compared to the process section time, so as not to burden even the slowest process means. The section time can be specified, for example, as the total time that is available to the respective robot for processing the process section, or else as the time difference with respect to the previously determined minimum section time.

Dann wird für den bzw. die Roboter auf Basis der vorgegebenen Abschnittszeit ein Arbeitsablauf optimiert. Dabei kann eine Bahnkurve des Roboters i, die etwa durch die Vorgabe seiner Gelenkwinkel qi über einem Bahnparameter s beschrieben werden kann, vorgegeben sein, um beispielsweise den TCP auf einer vorgegebenen kartesischen Bahn zu führen und so beispielsweise Kollisionen zu vermeiden, eine Schweißnaht abzufahren oder Klebe- oder Farbmittel in einer vorgegebenen Auftragsbahn aufzubringen. In diesem Falle kann das Bahngeschwindigkeitsprofil s(t), mit dem der Roboter diese vorgegebene Bahn abfährt, optimiert werden. Ist die Bahnkurve des Roboters nicht vorgegeben, weil beispielsweise nur eine Anfangs- und eine Endpose zum Aufnehmen und Ablegen einer Nutzlast durch die Randbedingungen vorbestimmt sind, während die Transferbahn zwischen diesen Posen noch frei wählbar ist, kann auch die Bahnkurve selber optimiert werden. Hierzu können beispielsweise in einem Optimierer Stützpunkte oder andere Parameter, die die Bahnkurve allgemein beschreiben, etwa die Koeffizienten von Splines oder dergleichen, als variierbare Optimierungsparameter verwendet werden. Zusätzlich oder alternativ kann auch hier das Bahngeschwindigkeitsprofil optimiert werden, insbesondere in einem einstufigen Verfahren, bei dem die Bahnkurve über der Zeit beschrieben wird.Then, a workflow is optimized for the robot (s) based on the given section time. In this case, a trajectory of the robot i, which can be described for example by specifying its joint angle q i over a path parameter s, be predetermined, for example, to guide the TCP on a predetermined Cartesian path and thus avoid collisions, for example, to start a weld or Apply adhesive or colorant in a given application path. In this case, the web speed profile s (t), with which the robot departs this predetermined path, can be optimized. If the trajectory of the robot is not predetermined because, for example, only one start and one end pose for capturing and depositing a payload are predetermined by the boundary conditions, while the transfer trajectory between these poses is still freely selectable, the trajectory itself can also be optimized. For example, in an optimizer, vertices or other parameters that generally describe the trajectory, such as the coefficients of splines or the like, may be used as variable optimization parameters. Additionally or alternatively, the web speed profile can also be optimized here, in particular in a single-stage process in which the trajectory over time is described.

Unter einem Optimieren im Sinne der vorliegenden Erfindung wird insbesondere die Vorgabe eines Arbeitsablaufes, beispielsweise einer Bahnkurve und/oder eines Bahngeschwindigkeitsprofils, verstanden, für das ein oder mehrere Gütekriterien einen Extremal-, insbesondere Minimalwert erreichen. Mehrere Gütekriterien können gemeinsam, vorzugsweise als gewichtete Summe, pareto-optimiert werden. Das bzw. die Gütekriterien müssen für den optimierten Arbeitsablauf nicht globale Extremalwerte erreichen, insbesondere, wenn eine Ermittlung nicht geschlossen möglich ist oder einen hohen numerischen Aufwand erfordert. Dementsprechend wird in einer bevorzugten Ausführung ein Arbeitsablauf optimiert, indem dieser – vorzugsweise numerisch simuliert – für wenigstens zwei verschiedene Parameterwerte von Parametern, die den Arbeitsablauf (mit)bestimmen, etwa die vorstehend erläuterten Stützstellen, durchgeführt und als optimaler Arbeitsablauf derjenige bestimmt wird, für den das bzw. die Gütekriterien den niedrigsten Wert aufweisen.For the purposes of the present invention, optimization is understood as meaning in particular the presetting of a workflow, for example a trajectory and / or a path velocity profile, for which one or more quality criteria achieve an extremal, in particular minimum value. Several quality criteria can be pareto-optimized together, preferably as a weighted sum. The quality criterion (s) need not reach global extremal values for the optimized workflow, especially if a determination is not closed is possible or requires a high numerical effort. Accordingly, in a preferred embodiment, a workflow is optimized by performing this - preferably numerically simulated - for at least two different parameter values of parameters that determine the workflow, such as the interpolation points discussed above, and determining the optimum workflow for which the quality criteria have the lowest value.

Vorzugsweise ist ein Gütekriterium der Optimierung eine Energiegröße des Roboters. Dabei kann es sich insbesondere um einen Energieverbrauch des Roboters oder eine hiermit korrespondierende Größe handeln, beispielsweise das Integral des Quadrats oder des Betrags der Antriebsleistungen der Antriebe des Roboters. Hieraus wird deutlich, dass eine Energiegröße im Sinne der vorliegenden Erfindung nicht notwendig die physikalische Dimension einer Energie bzw. Arbeit aufweisen muss.Preferably, a quality criterion of the optimization is an energy quantity of the robot. This may in particular be an energy consumption of the robot or a quantity corresponding thereto, for example the integral of the square or the amount of drive power of the drives of the robot. It is clear from this that an energy quantity in the sense of the present invention does not necessarily have to have the physical dimension of an energy or work.

Die zu optimierende Energiegröße kann vorzugsweise auch einen Energieverbrauch in der Energieversorgung des Roboters, etwa Verluste in Umrichtern, Zwischenkreisen oder dergleichen, umfassen.The energy quantity to be optimized may preferably also include energy consumption in the power supply of the robot, such as losses in converters, intermediate circuits or the like.

Zusätzlich oder alternativ kann ein Gütekriterium vorzugsweise eine Belastung des Roboters, beispielsweise maximal auftretende Kräfte bzw. Momente, insbesondere in Gelenken, Antrieben oder dergleichen beschreiben. Auch ein Maß für Schwingungen des Roboters, beispielsweise die Amplituden elastischer Schwingungen oder dergleichen, kann ein Gütekriterium bilden. Weitere Gütekriterien können zusätzlich oder alternativ berücksichtigt werden.Additionally or alternatively, a quality criterion may preferably describe a load on the robot, for example maximum forces or moments occurring, in particular in joints, drives or the like. Also, a measure of vibrations of the robot, such as the amplitudes of elastic vibrations or the like, may form a quality criterion. Additional quality criteria can be taken into account additionally or alternatively.

Insbesondere, um den Wert eines oder mehrerer der vorgenannten Gütekriterien in einer Simulation für verschiedene Parameterwerte, die den Arbeitsablauf des Roboters (mit)bestimmen, zu ermitteln, wird in einer bevorzugten Ausführung der vorliegenden Erfindung sein Arbeitsablauf mittels eines dynamischen Modells, insbesondere eines Starrkörper- oder eines elastischen Mehrkörpermodells, simuliert.In particular, in order to determine the value of one or more of the aforementioned quality criteria in a simulation for different parameter values that determine the workflow of the robot, in a preferred embodiment of the present invention, its workflow is determined by means of a dynamic model, in particular a rigid body or a multi-body elastic model.

Ein Arbeitsablauf eines Roboters kann Bearbeitungs- und/oder Transferabschnitte umfassen. Dabei kann ein Bearbeitungsabschnitt insbesondere eine Werkzeug- oder Werkstückführung des Roboters während eines Bearbeitungsprozesses, beispielsweise eines robotergeführten Schweißens, Klebens, Lackierens, einer spanenden oder spanlosen Bearbeitung oder dergleichen umfassen. Ein Transferabschnitt kann hingegen insbesondere eine vorgegebene Anfangs- und Endpose des Roboters aufweisen, wobei eine Roboterbahn zwischen beiden Posen – gegebenenfalls unter Berücksichtigung von Randbedingungen wie Kollisionsfreiheit, Maximalwerten für Antriebskräfte und -momente, Geschwindigkeiten und/oder Beschleunigungen, und dergleichen – frei wählbar ist.A workflow of a robot may include processing and / or transfer sections. In this case, a machining section may in particular comprise a tool or workpiece guide of the robot during a machining process, for example a robot-guided welding, gluing, painting, a machining or non-cutting machining or the like. In contrast, a transfer section may, in particular, have a predefined initial and final pose of the robot, wherein a robot path can be freely selected between the two poses, possibly taking into account boundary conditions such as collision freedom, maximum values for driving forces and moments, speeds and / or accelerations, and the like.

Typischerweise ist für einen Bearbeitungsabschnitt eine Bahnkurve und ein Bahngeschwindigkeitsprofil vorgegeben, um beispielsweise bei vorgegebener Auftragsrate eine Klebe- oder Lackierbahn mit einem gewünschten Klebe- bzw. Lackauftrag abzufahren. Eine Optimierung ist daher für solche Abschnitte nicht möglich, ohne den auszuführenden Prozess zu beeinträchtigen. In einer bevorzugten Ausführung ist daher vorgesehen, den Prozessabschnitt in einen oder mehrere Transferabschnitte und/oder einen oder mehrere Bearbeitungsabschnitte zu unterteilen und nur den bzw. die Transferabschnitte zu optimieren, um so auch den gesamten Prozessabschnitt zu optimieren. Als Transferabschnitt wird somit allgemein insbesondere ein Prozessabschnitt bzw. ein Teil eines Prozessabschnittes verstanden, in dem eine Bahnkurve und/oder ein Bahngeschwindigkeitsprofil variierbar ist.Typically, a trajectory and a web speed profile are predetermined for a processing section, in order, for example, to run an adhesive or varnishing web with a desired adhesive or varnish application at a predetermined application rate. Optimization is therefore not possible for such sections without affecting the process to be performed. In a preferred embodiment, it is therefore intended to subdivide the process section into one or more transfer sections and / or one or more processing sections and to optimize only the transfer section (s) so as to also optimize the entire process section. As a transfer section is thus generally understood in particular a process section or a part of a process section in which a trajectory and / or a web speed profile can be varied.

Üblicherweise ist eine Steuerung einer Roboteranordnung verteilt: dabei führt eine globale Prozess- oder Zellsteuerung eine Steuerung des Gesamtprozesses durch, etwa durch Vorgabe von von den Robotern der Anordnung anzufahrenden Posen bzw. abzufahrenden Bahnkurven, während Robotersteuerungen die einzelnen Roboter steuern, beispielsweise Bahnen zwischen vorgegebenen (Stütz)Posen interpolieren.Usually, a controller of a robot arrangement is distributed: a global process or cell control carries out a control of the overall process, for example by specifying poses to be approached by the robots of the arrangement or trajectories to be traveled, while robot controls control the individual robots, for example paths between predetermined ( Support) interpolate poses.

Ein erfindungsgemäßes Verfahren kann gleichermaßen durch eine Zellsteuerung, eine oder mehrere Robotersteuerungen oder verteilt durch Zellsteuerung und Robotersteuerungen durchgeführt werden. Dabei kann insbesondere vorgesehen sein, dass die Vorgabe der Abschnittszeit für die Roboter der Roboteranordnung durch eine Steuerung der Roboteranordnung erfolgt, die zusätzlich oder alternativ Prozessabschnittspunkte bestimmen und eine Prozessabschnittszeit ermitteln kann. Die Optimierung des Arbeitsablaufes eines Roboters, insbesondere eine Simulation seines Arbeitsablaufes zur Bestimmung eines oder mehrerer Gütekriterien für verschiedene, den Arbeitsablauf bestimmende Parameterwerte, kann zusätzlich oder alternativ zu einer Bestimmung einer minimalen Abschnittszeit auf Basis einer zeitoptimal geplanten Roboterbahn vorzugsweise durch die Steuerung des jeweiligen Roboters erfolgen. Hierzu ist in einer bevorzugten Ausführung eine Simulation und ein Optimierer in der jeweiligen Robotersteuerung implementiert.A method according to the invention can likewise be carried out by a cell control, one or more robot controls or distributed by cell control and robot controls. In this case, it can be provided, in particular, that the specification of the section time for the robots of the robot arrangement is effected by a control of the robot arrangement, which additionally or alternatively determine process section points and can determine a process section time. The optimization of the workflow of a robot, in particular a simulation of its workflow for determining one or more quality criteria for different, the workflow determining parameter values, in addition to or alternatively to a determination of a minimum section time based on a time-optimal planned robot path preferably be done by the control of the respective robot , For this purpose, in a preferred embodiment, a simulation and an optimizer are implemented in the respective robot controller.

Ein erfindungsgemäßes Verfahren kann, wenigstens teilweise, offline vorab und/oder online während des Arbeitsablaufes erfolgen. Es ist computergestützt, indem wenigstens einer der vorstehend erläuterten Schritte wenigstens teilweise automatisiert durch einen Computer, insbesondere der Zell- bzw. Robotersteuerung, durchgeführt wird. So kann insbesondere die Simulation und Optimierung durch Ausführen entsprechender numerischer Verfahren erfolgen, ebenso die Bestimmung minimaler Abschnittszeiten für zeitoptimale Arbeitsabläufe, die Bestimmung einer Prozessabschnittszeit und dergleichen.An inventive method may, at least in part, take place offline in advance and / or online during the work process. It is computer-aided by at least partially automating at least one of the steps discussed above by a computer, in particular the cell or robot control is performed. In particular, the simulation and optimization can be carried out by executing corresponding numerical methods, as can the determination of minimum section times for time-optimized work processes, the determination of a process section time and the like.

Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:Further advantages and features emerge from the subclaims and the exemplary embodiments. This shows, partially schematized:

1: einen Prozess einer Roboteranordnung nach einer Ausführung der vorliegenden Erfindung; und 1 a process of a robot assembly according to an embodiment of the present invention; and

2: den Ablauf eines Verfahrens nach einer Ausführung der vorliegenden Erfindung. 2 Fig. 1 shows the sequence of a method according to an embodiment of the present invention.

1 zeigt in der oberen Zeile von links nach rechts aufeinanderfolgende Zustände einer Roboteranordnung mit zwei Robotern 1, 2 bei einem Prozess, der nach einer Ausführung der vorliegenden Erfindung gesteuert wird. In der unteren Zeile der 1 sind die Verläufe verschiedener Zustandsgrößen, insbesondere Gelenkkoordinaten und deren zeitliche Ableitungen, über der Zeit t für den in der oberen Zeile angedeuteten Prozess aufgetragen. 1 shows in the top row from left to right successive states of a robotic assembly with two robots 1 . 2 in a process controlled according to an embodiment of the present invention. In the bottom line of the 1 the curves of different state variables, in particular joint coordinates and their time derivatives, are plotted against the time t for the process indicated in the upper line.

In dem Prozess setzen die beiden Roboter 1, 2 abwechselnd Nutzlasten 3 bzw. 4 aufeinander, die in 1 ausgefüllt bzw. schraffiert symbolisiert sind. Zum besseren Verständnis weist in dem stark vereinfachten Ausführungsbeispiel der in 1 obere Roboter 1 der Automatisierungszelle zwei Drehgelenke mit parallelen, vertikalen Drehachsen (senkrecht auf 1) auf, die eine Schwinge 1.2 mit einer Basis 1.1 bzw. einen Arm 1.3 mit der Schwinge 1.2 verbinden, und deren Stellung durch die Gelenkkoordinate bzw. den Winkel q1,1 zwischen Basis und Schwinge bzw. den Winkel q1,2 zwischen Schwinge und Arm beschrieben wird, die zum Vektor q1 zusammengefasst werden können. Ihre erste zeitliche Ableitung bzw. Gelenkgeschwindigkeit wird mit ω1,i = dq1,i/dt (i = 1, 2) bezeichnet, die zweite zeitliche Ableitung bzw. Gelenkbeschleunigung entsprechend mit dω1 ,i/dt. Am Arm 1.3 ist ein Greifer 1.4 zum Halten der Nutzlast 3 befestigt. Der zweite Roboter weist in analoger Weise einen an einer Basis 2.1 befestigten Arm 2.3 mit einem Greifer 2.4 zum Halten der Nutzlast 4 auf, dessen Gelenkwinkel zur Basis durch den Winkel q2 beschrieben wird. Nullwert und Orientierung ergeben sich aus der Zusammenschau der oberen und unteren Zeile der 1, i. e. die Gelenkwinkel q1 = (q1,1, q1,2) und q2 nehmen für die in der linken Spalte der 1 dargestellten Pose den Wert 0 an und werden gegen den Uhrzeigersinn positiv gezählt.In the process, the two robots set 1 . 2 alternating payloads 3 respectively. 4 on each other, in 1 filled or hatched symbolizes. For better understanding, in the greatly simplified embodiment, the in 1 upper robot 1 the automation cell two hinges with parallel, vertical axes of rotation (perpendicular to 1 ), which is a swingarm 1.2 with a base 1.1 or an arm 1.3 with the swingarm 1.2 and whose position is described by the joint coordinate or the angle q 1,1 between the base and rocker or the angle q 1,2 between rocker and arm, which can be summarized to the vector q 1 . Their first time derivative or joint velocity is denoted by ω 1, i = dq 1, i / dt (i = 1, 2), the second time derivative or joint acceleration corresponding to dω 1 , i / dt. On the arm 1.3 is a gripper 1.4 for holding the payload 3 attached. The second robot has an analogous manner to a base 2.1 attached arm 2.3 with a gripper 2.4 for holding the payload 4 whose joint angle to the base is described by the angle q 2 . Zero value and orientation result from the synopsis of the upper and lower lines of the 1 , ie the joint angles q 1 = (q 1,1 , q 1,2 ) and q 2 take for those in the left column of 1 displayed pose 0 and are counted positive counterclockwise.

Der Prozess des abwechselnden Aufnehmens von Nutzlasten 3, 4 durch die Roboter 1, 2 und deren abwechselnden Aufeinaderstapelns auf einem zwischen den beiden Robotern angeordneten Stapel wird erfindungsgemäß in abwechselnd aufeinanderfolgende Prozessabschnitte unterteilt. In einem ersten Prozessabschnitt [t0, T] wird der Roboter 2 von einer Ablagepose, in der er eine Nutzlast 4 auf dem Stapel absetzt, in eine Aufnahmepose überführt, in der er eine weitere Nutzlast 4 von einem Förderer (nicht dargestellt) aufnimmt. Der erste Roboter 1 transportiert in diesem ersten Prozessabschnitt eine Nutzlast 3 von einem anderen Förderer (nicht dargestellt) auf den Stapel und setzt sie dort ab. In einem darauffolgenden zweiten Prozessabschnitt [T, 2T ≅ t0] transportiert umgekehrt der Roboter 2 eine Nutzlast 4 von dem Förderer auf den Stapel, während nun der Roboter 1 von der Ablagepose in die Aufnahmepose überführt wird, um eine weitere Nutzlast 3 aufzunehmen. Anschließend folgt wieder ein erster Prozessabschnitt etc.. Hierdurch ist gewährleistet, dass die beiden Roboter 1, 2 im gemeinsamen Arbeitsraum über dem Stapel nicht miteinander kollidieren. Diese Unterteilung kann beispielsweise während der Planung des Gesamtprozesses manuell oder automatisch erfolgen.The process of alternately picking up payloads 3 . 4 through the robots 1 . 2 and their alternating Aufeinaderstapelns on a stack arranged between the two robots according to the invention is divided into alternately successive process sections. In a first process section [t 0 , T] the robot becomes 2 from a filing pose in which he has a payload 4 deposited on the pile, transferred to a receiving pod, in which he has another payload 4 from a conveyor (not shown). The first robot 1 transports a payload in this first process section 3 from another conveyor (not shown) on the stack and puts them there. In a subsequent second process section [T, 2T ≅ t 0 ], conversely, the robot transports 2 a payload 4 from the conveyor to the stack, while now the robot 1 from the storage float is transferred to the receiving pod to another payload 3 take. This is followed by a first process section, etc. This ensures that the two robots 1 . 2 Do not collide with each other in the common workspace above the stack. This subdivision can be done manually or automatically, for example, during the planning of the overall process.

Nun wird, beispielsweise vorab während einer Prozessablaufsplanung, für jeden Prozessabschnitt, i. e. den vorstehend erläuterten ersten und zweiten Prozessabschnitt, jeweils durch eine Robotersteuerung der zeitoptimale Arbeitsablauf bzw. die zeitoptimale Bewegung qi(t) für den jeweiligen Roboter i = 1, 2 bestimmt.Now, for example, in advance during a process flow planning, for each process section, ie the above-explained first and second process section, the time-optimal workflow or the time-optimal motion q i (t) for each robot i = 1, 2 is determined by a robot control.

Für den Roboter 2 ergibt sich im Ausführungsbeispiel der in der unteren Zeile der 1 dargestellte Verlauf seines Gelenkwinkels q2 und dessen erster bzw. zweiter zeitlicher Ableitung dq2/dt, dω2/dt über der Zeit t. Dabei beschleunigt der Roboter 2, wie in 1 strichpunktiert dargestellt, in der ersten Hälfte des Prozessabschnittes mit einer durch sein maximal zulässiges Antriebsdrehmoment limitierte Beschleunigung und bremst in der zweiten Hälfte mit der betragsmäßig gleichen, negativen Beschleunigung durch ein entsprechendes Gegendrehmoment wieder zum Stillstand ab, wodurch sich ein entsprechendes, in der Bahnplanung gebräuchliches Geschwindigkeitstrapezprofil ergibt, das im Ausführungsbeispiel zu einem Geschwindigkeitsdreiecksprofil entartet und in 1 strichliert eingezeichnet ist. Hierdurch ergibt sich die bei zeitoptimalem Arbeitsablauf des Roboters 2 mindestens erforderliche Zeit, die für beide Prozessabschnitte gleich ist und die jeweilige minimale Abschnittszeit T2 darstellt.For the robot 2 results in the embodiment of the bottom line of 1 illustrated course of its joint angle q 2 and its first and second temporal derivative dq 2 / dt, dω 2 / dt over time t. The robot accelerates 2 , as in 1 dash-dotted lines, in the first half of the process section with a limited by its maximum permissible drive torque acceleration and brakes in the second half with the same amount, negative acceleration by a corresponding counter torque to a standstill, resulting in a corresponding, common in the rail planning speed trapezoidal profile which degenerates in the embodiment to a velocity triangle profile and in 1 dashed lines is drawn. This results in the time-optimized workflow of the robot 2 minimum required time, which is the same for both process sections and represents the respective minimum section time T 2 .

In gleicher Weise kann für den Roboter 1 eine minimale Abschnittszeit T1 ermittelt werden, die im Ausführungsbeispiel, beispielsweise aufgrund stärkerer Antriebsmotoren und/oder geringerer Massen und somit größerer zulässigerer Beschleunigungen, kleiner ist als die minimale Abschnittszeit T2 des Roboters 2.In the same way can for the robot 1 a minimum section time T 1 are determined, which in the exemplary embodiment, for example due to stronger drive motors and / or lower masses and thus greater allowable accelerations, is less than the minimum section time T 2 of the robot 2 ,

Die Robotersteuerung Ri des jeweiligen Roboters i = 1, 2 bestimmt zunächst, beispielsweise nach einem Teachen der Aufnahme- und Ablageposen, die oben erläuterte minimale Abschnittszeit Ti, beispielsweise durch Simulation und numerische Optimierung, und überträgt diese an die Zellensteuerung Z (vgl. 2).The robot controller R i of the respective robot i = 1, 2 initially determines, for example after teaching the recording and storage poses, the above-described minimum section time T i , for example by simulation and numerical optimization, and transmits them to the cell controller Z (cf. 2 ).

In der Zellensteuerung Z wird hieraus eine Prozessabschnittszeit T als Maximum der minimalen Abschnittszeiten Ti ermittelt (T = MAX(T1, T2) = T2) und die Differenz ΔTi = T – Ti zwischen dieser Prozessabschnittszeit T und der jeweiligen minimalen Abschnittszeit Ti an die einzelnen Roboter i = 1, 2 übertragen (vgl. 2).In the cell controller Z, a process section time T is determined from this as the maximum of the minimum section times T i (T = MAX (T 1 , T 2 ) = T 2 ) and the difference ΔT i = T - T i between this process section time T and the respective minimum Section time T i to the individual robot i = 1, 2 transfer (see. 2 ).

In den einzelnen Robotersteuerungen Ri wird der jeweilige Prozessabschnitt in einen oder mehrere Transferabschnitte 5a und/oder einen oder mehrere Bearbeitungsabschnitt sb unterteilt, die in 1 durch die Abschnitte „a” bzw. „b” angedeutete sind. Im Ausführungsbeispiel sind dies zwei kurze Bearbeitungsabschnitte b zum Aufnehmen bzw. Ablegen der Nutzlast durch Schließen bzw. Öffnen des Greifers, in denen der Arbeitsablauf, insbesondere die Bewegung, des jeweiligen Roboters nicht verändert werden darf. Zwischen den Bearbeitungsabschnitten b ergibt sich ein Transferabschnitt a, in dem der Arbeitsablauf, insbesondere die Bewegung, des Roboters zwischen der Aufnahme- und der Ablagepose frei wählbar ist und optimiert werden kann.In the individual robot controls R i , the respective process section becomes one or more transfer sections 5a and / or one or more processing section s b subdivided into 1 are indicated by the sections "a" and "b", respectively. In the exemplary embodiment, these are two short processing sections b for receiving or depositing the payload by closing or opening the gripper, in which the workflow, in particular the movement, of the respective robot must not be changed. Between the processing sections b results in a transfer section a, in which the workflow, in particular the movement of the robot between the recording and storage pose is freely selectable and can be optimized.

Die Steuerung R1 des Roboters 1 optimiert nun den Arbeitsablauf, hier die Bewegung, des Roboters in diesem Transferabschnitt a unter der Randbedingung, dass diese nach T1 + ΔT1 abgeschlossen ist, i. e. schlägt diese Zeitdifferenz der Transferbewegung zu (T(sa,E) → T(sa,E) + ΔT1). Der Index „E” bezeichnet die Endposition.The controller R 1 of the robot 1 now optimizes the workflow, in this case the movement, of the robot in this transfer section a under the boundary condition that this is completed after T 1 + ΔT 1 , ie this time difference suggests the transfer movement (T (s a, E ) → T (s a , E ) + ΔT 1 ). The index "E" denotes the end position.

Im Ausführungsbeispiel kann die Robotersteuerung R1 die Bewegung q1(t), i. e. die Bahnkurve q1(s) und das Bahngeschwindigkeitsprofil s(t), für den Transferabschnitt a optimieren. Als Gütekriterium wird ein Kennwert für die vom Roboter 1 benötigte Energie, beispielsweise ein Integral über das Quadrat seiner Antriebsmomente, unter der Nebenbedingung minimiert, dass die Bewegung innerhalb der zur Verfügung stehenden Zeit abgeschlossen sein muss. Dabei ergibt sich, dass der Roboter 1 zunächst seinen Arm 1.3 einschwenkt, um das Trägheitsmoment um die Drehachse der Basis 1.1 zu minimieren, dann die Basis um 180° verschwenkt und schließlich den Arm 1.3 wieder ausschwenkt, um die Ablagepose zu erreichen.In the exemplary embodiment, the robot controller R 1 can optimize the movement q 1 (t), ie, the trajectory q 1 (s) and the trajectory velocity profile s (t), for the transfer section a. The quality criterion is a characteristic value for the robot 1 required energy, such as an integral over the square of its drive torques, minimized under the constraint that the movement must be completed within the time available. It turns out that the robot 1 first his arm 1.3 pivots to the moment of inertia about the axis of rotation of the base 1.1 to minimize, then the base swiveled by 180 ° and finally the arm 1.3 swings out again to reach the filing pose.

Ist hingegen die Bahnkurve q1(s) für den Transferabschnitt vorgegeben, um beispielsweise eine Kollision mit nicht dargestellten Hindernissen zu vermeiden, kann für diese Bahnkurve das Bahngeschwindigkeitsprofil s(t) für die Bedingung, dass die benötigte Energie E des Roboters 1 minimal wird (E = Emin), optimiert und so wiederum der Energieverbrauch reduziert werden.If, on the other hand, the trajectory q 1 (s) for the transfer section is predetermined in order, for example, to avoid a collision with obstacles which are not illustrated, the path velocity profile s (t) for the condition that the required energy E of the robot can be used for this trajectory 1 is minimized (E = E min ), optimized and so in turn the energy consumption can be reduced.

Prinzipiell kann die oben erläuterte Energieoptimierung auch für den Roboter 2 durchgeführt werden. Diese führt jedoch auf den bereits anfänglich ermittelten zeitoptimalen Arbeitsablauf, da nur mit diesem die vorgegebene Abschnittszeit eingehalten werden kann. Allgemein ist es daher in einer vorteilhaften Ausführung vorgesehen, die Optimierung nur für den- bzw. diejenigen Roboter durchzuführen, deren minimale Abschnittszeit nicht die Prozessabschnittszeit bestimmt.In principle, the energy optimization explained above can also be applied to the robot 2 be performed. However, this leads to the already initially determined time-optimal workflow, since only with this the specified section time can be met. In general, therefore, it is provided in an advantageous embodiment to carry out the optimization only for those or those robots whose minimum section time does not determine the process section time.

Die Prozessabschnittszeit muss nicht der größten minimalen Abschnittszeit entsprechen. Beispielsweise kann in obigem Beispiel die auf Basis der minimalen Abschnittszeit des Roboters 2 ermittelte Prozessabschnittszeit um einen vorgegebenen Wert vergrößert werden, um die Belastung des Roboters 2 durch ständiges Abfahren zeitoptimaler Bahnen zu reduzieren. Dies kann in einer vorteilhaften Weiterbildung nur für einen der beiden abwechselnden Prozessabschnitte durchgeführt werden, in dem dann beispielsweise die Antriebsmotoren des Roboters 2 infolge der submaximalen Belastung abkühlen können.The process section time does not have to correspond to the largest minimum section time. For example, in the example above, based on the minimum section time of the robot 2 determined process time to be increased by a predetermined value to the load of the robot 2 by reducing the time-optimal trajectories. This can be carried out in an advantageous development only for one of the two alternating process sections, in which then, for example, the drive motors of the robot 2 can cool as a result of submaximal loading.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

1, 21, 2
Roboterrobot
1.1, 2.11.1, 2.1
BasisBase
1.21.2
Schwingewing
1.3, 2.31.3, 2.3
Armpoor
1.4, 2.41.4, 2.4
Greifergrab
3, 43, 4
Nutzlastpayload
q1,1 q 1,1
Gelenkwinkel Basis-Schwinge (Roboter 1)Joint angle Base rocker (robot 1 )
q1,2 q 1,2
Gelenkwinkel Schwinge-Arm (Roboter 1)Joint angle rocker arm (robot 1 )
q2 q 2
Gelenkwinkel Basis-Arm (Roboter 2)Joint angle base arm (robot 2 )
d/dtd / dt
Ableitung nach Zeit tDerivative by time t
TT
ProzessabschnittszeitProcess section time
aa
Transferabschnitttransfer section
bb
Bearbeitungsabschnittmachining section
ZZ
Zellensteuerungcell controller
R1, R2 R 1 , R 2
Robotersteuerungrobot control

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 19625637 A1 [0005] DE 19625637 A1 [0005]

Claims (11)

Verfahren zur computergestützten Steuerung einer Roboteranordnung mit wenigstens zwei Robotern (1, 2), mit den Schritten: – Bestimmen wenigstens eines Prozessabschnittspunktes (q1,E, q2,E); – Ermitteln einer Prozessabschnittszeit (T) für den Prozessabschnittspunkt; – Vorgabe einer Abschnittszeit (T) für wenigstens einen Roboter (1) der Roboteranordnung auf Basis der Prozessabschnittszeit (T); und – Optimieren eines Arbeitsablaufes (q1(s(t)) dieses Roboters (1) auf Basis der vorgegebenen Abschnittszeit (T1 + ΔT).Method for computer-aided control of a robot arrangement with at least two robots ( 1 . 2 ), comprising the steps of: - determining at least one process section point (q 1, E , q 2, E ); - determining a process section time (T) for the process section point; Specification of a section time (T) for at least one robot ( 1 ) the robot assembly based on the process section time (T); and - optimizing a workflow (q 1 (s (t)) of this robot ( 1 ) based on the predetermined section time (T 1 + ΔT). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Arbeitsablauf eines Roboters auf Basis der vorgegebenen Abschnittszeit optimiert wird, wobei ein Gütekriterium der Optimierung auf Basis einer Energiegröße (E) des Roboters ermittelt wird.A method according to claim 1, characterized in that the workflow of a robot based on the predetermined section time is optimized, wherein a quality criterion of the optimization based on an energy quantity (E) of the robot is determined. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zur Optimierung eines Arbeitsablaufes dieser, insbesondere mit einem dynamischen Modell des Roboters, für wenigstens zwei verschiedene Parameterwerte von Parametern simuliert wird, die den Arbeitsablauf wenigstens teilweise bestimmen.Method according to one of the preceding claims, characterized in that for the optimization of a workflow, this, in particular with a dynamic model of the robot, is simulated for at least two different parameter values of parameters which at least partially determine the workflow. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zur Optimierung des Arbeitsablaufes eines Roboters auf Basis der vorgegebenen Abschnittszeit ein Bahngeschwindigkeitsprofil (s(t)) und/oder eine Bahnkurve (q1(s)) bestimmt wird.Method according to one of the preceding claims, characterized in that a path velocity profile (s (t)) and / or a trajectory (q 1 (s)) is determined on the basis of the predetermined section time to optimize the workflow of a robot. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Transferabschnitt (a) in einem Arbeitsablauf (q1(s)) eines Roboters ermittelt und optimiert wird.Method according to one of the preceding claims, characterized in that a transfer section (a) in a workflow (q 1 (s)) of a robot is determined and optimized. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine minimale Abschnittszeit (Ti) für wenigstens zwei Roboter (i = 1, 2) der Roboteranordnung ermittelt wird, und dass die Prozessabschnittszeit (T) auf Basis dieser minimalen Abschnittszeiten (Ti) ermittelt wird.Method according to one of the preceding claims, characterized in that a minimum section time (T i ) for at least two robots (i = 1, 2) of the robot arrangement is determined, and that the process section time (T) based on these minimum section times (T i ) is determined. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Optimierung des Arbeitsablaufes eines Roboters wenigstens teilweise durch dessen Steuerung (R) erfolgt.Method according to one of the preceding claims, characterized in that the optimization of the workflow of a robot takes place at least partially by its control (R). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Vorgabe der Abschnittszeit für einen Roboter durch eine Steuerung (Z) der Roboteranordnung erfolgt.Method according to one of the preceding claims, characterized in that the specification of the section time for a robot by a controller (Z) of the robot assembly takes place. Steuermittel (Z, Ri) zur computergestützten Steuerung einer Roboteranordnung mit wenigstens zwei Robotern (1, 2), mit: einem Prozessabschnittspunktmittel (Z) zum Bestimmen wenigstens eines Prozessabschnittspunktes (q1,E, q2,E); einem Prozessabschnittszeitmittel (Z, Ri) zum Ermitteln einer Prozessabschnittszeit (T) für den Prozessabschnittspunkt; einem Abschnittszeitmittel (Z) zum Vorgeben einer Abschnittszeit (T) für wenigstens einen Roboter (1) der Roboteranordnung auf Basis der Prozessabschnittszeit (T); und einem Optimierungsmittel (Ri) zum Optimieren eines Arbeitsablaufes (g1(s(t)) dieses Roboters auf Basis der vorgegebenen Abschnittszeit, dadurch gekennzeichnet, dass das Steuermittel zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.Control means (Z, R i ) for the computer-aided control of a robot arrangement with at least two robots ( 1 . 2 ), comprising: a process section point means (Z) for determining at least one process section point (q 1, E , q 2, E ); a process section time means (Z, R i ) for determining a process section time (T) for the process section point; a section time means (Z) for specifying a section time (T) for at least one robot ( 1 ) the robot assembly based on the process section time (T); and an optimization means (R i ) for optimizing a workflow (g 1 (s (t)) of this robot on the basis of the predetermined section time, characterized in that the control means is arranged for performing a method according to one of the preceding claims. Steuermittel nach Anspruch 9, dadurch gekennzeichnet, dass eines seiner Mittel wenigstens teilweise in einer Steuerung (Ri) eines Roboters der Roboteranordnung und/oder in einer Steuerung (Z) der Roboteranordnung implementiert ist.Control means according to claim 9, characterized in that one of its means is at least partially implemented in a controller (R i ) of a robot of the robot arrangement and / or in a controller (Z) of the robot arrangement. Computerprogrammprodukt mit einem darauf gespeichertem Computerprogramm zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche 1 bis 8.Computer program product with a computer program stored thereon for carrying out a method according to one of the preceding claims 1 to 8.
DE102010052253.8A 2010-11-23 2010-11-23 Method and control means for controlling a robot arrangement Active DE102010052253B4 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102010052253.8A DE102010052253B4 (en) 2010-11-23 2010-11-23 Method and control means for controlling a robot arrangement
PCT/EP2011/005477 WO2012069129A1 (en) 2010-11-23 2011-10-28 Method and control element for controlling a robot arrangement
CN201180025278.9A CN102905859B (en) 2010-11-23 2011-10-28 For controlling the method for robot group and controlling device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102010052253.8A DE102010052253B4 (en) 2010-11-23 2010-11-23 Method and control means for controlling a robot arrangement

Publications (3)

Publication Number Publication Date
DE102010052253A1 true DE102010052253A1 (en) 2012-05-24
DE102010052253A8 DE102010052253A8 (en) 2013-04-25
DE102010052253B4 DE102010052253B4 (en) 2019-03-21

Family

ID=44903164

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010052253.8A Active DE102010052253B4 (en) 2010-11-23 2010-11-23 Method and control means for controlling a robot arrangement

Country Status (3)

Country Link
CN (1) CN102905859B (en)
DE (1) DE102010052253B4 (en)
WO (1) WO2012069129A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014164303A1 (en) * 2013-03-11 2014-10-09 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
WO2015024634A1 (en) * 2013-08-20 2015-02-26 Kuka Roboter Gmbh Energy-optimised configuration of a manipulator
DE102015109708B3 (en) * 2015-06-17 2016-01-21 Uwe Simon Method for controlling the movement sequence of a motor-driven machine or tool component
US9298863B2 (en) 2014-07-31 2016-03-29 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
US9457469B2 (en) 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9475192B2 (en) 2014-04-25 2016-10-25 Fanuc Corporation Simulation device for plural robots
DE102015011010A1 (en) 2015-08-21 2017-02-23 Kuka Systems Gmbh Method and system for controlling an at least partially automated system
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
DE102019102427A1 (en) * 2019-01-31 2020-08-06 Franka Emika Gmbh Coordination of paths of two robot manipulators
AT522075A4 (en) * 2019-05-07 2020-08-15 Engel Austria Gmbh Process for optimizing motion sequences
DE102013113094B4 (en) 2012-11-30 2022-04-28 Fanuc Robotics America Corporation Synchronization of the painting process of multi-armed robots
DE102019001970B4 (en) 2018-03-27 2024-04-25 Fanuc Corporation Integrated simulation system with improved usability

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970139B (en) * 2014-05-09 2017-01-11 上海交通大学 Robot continuous point position motion planning method
DE102014222857A1 (en) * 2014-11-10 2016-05-12 Kuka Roboter Gmbh Flexible time-optimized sharing of a working space for robots
DE102014225252A1 (en) 2014-12-09 2016-06-09 Kuka Systems Gmbh Method for monitoring at least one industrial robot, industrial robot and system with several industrial robots
EP3115857A1 (en) 2015-07-09 2017-01-11 Siemens Aktiengesellschaft Trajectory determining method for in addition to secondary processing movements
WO2017063887A1 (en) * 2015-10-13 2017-04-20 ATENSOR Engineering and Technology Systems GmbH Synchronization of multiple robots
CN106338933A (en) * 2016-10-31 2017-01-18 河池学院 Communication traffic flow saving robot control method
CN106824643B (en) * 2016-12-23 2023-05-09 江西拓又达科技集团有限公司 Spraying equipment and spraying method for six-degree-of-freedom robot
JP6708581B2 (en) * 2017-04-07 2020-06-10 ライフロボティクス株式会社 Teaching device, display device, teaching program and display program
DE102022201792B3 (en) 2022-02-21 2023-04-20 Volkswagen Aktiengesellschaft Method and device for the automated coordination of the activities of several robots

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (en) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Robot operating method for multi-robot operation e.g. in deep sea applications

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101813A (en) * 1995-10-05 1997-04-15 Nissan Motor Co Ltd Robot control system
JPH09244730A (en) * 1996-03-11 1997-09-19 Komatsu Ltd Robot system and controller for robot
US6678582B2 (en) * 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
JP2008502488A (en) * 2004-06-15 2008-01-31 エービービー エービー Method and system for offline programming of multiple interactive robots
JP4382003B2 (en) 2005-03-23 2009-12-09 川崎重工業株式会社 Robot control apparatus and robot control method
JP5375297B2 (en) * 2009-04-16 2013-12-25 株式会社安川電機 Robot system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (en) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Robot operating method for multi-robot operation e.g. in deep sea applications

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013113094B4 (en) 2012-11-30 2022-04-28 Fanuc Robotics America Corporation Synchronization of the painting process of multi-armed robots
WO2014164303A1 (en) * 2013-03-11 2014-10-09 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
WO2015024634A1 (en) * 2013-08-20 2015-02-26 Kuka Roboter Gmbh Energy-optimised configuration of a manipulator
DE102013013847A1 (en) * 2013-08-20 2015-02-26 Kuka Roboter Gmbh Energy-optimized configuration of a manipulator
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9475192B2 (en) 2014-04-25 2016-10-25 Fanuc Corporation Simulation device for plural robots
DE102015004932B4 (en) * 2014-04-25 2021-04-15 Fanuc Corporation Simulation device for several robots
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9298863B2 (en) 2014-07-31 2016-03-29 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9457469B2 (en) 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
EP3106946A1 (en) 2015-06-17 2016-12-21 Uwe Simon Method for controlling the trajectory of a motor-driven machine or tool component
DE102015109708B3 (en) * 2015-06-17 2016-01-21 Uwe Simon Method for controlling the movement sequence of a motor-driven machine or tool component
DE102015011010A1 (en) 2015-08-21 2017-02-23 Kuka Systems Gmbh Method and system for controlling an at least partially automated system
DE102019001970B4 (en) 2018-03-27 2024-04-25 Fanuc Corporation Integrated simulation system with improved usability
DE102019102427A1 (en) * 2019-01-31 2020-08-06 Franka Emika Gmbh Coordination of paths of two robot manipulators
DE102019102427B4 (en) 2019-01-31 2022-02-10 Franka Emika Gmbh Coordination of trajectories of two robotic manipulators
AT522075A4 (en) * 2019-05-07 2020-08-15 Engel Austria Gmbh Process for optimizing motion sequences
AT522075B1 (en) * 2019-05-07 2020-08-15 Engel Austria Gmbh Process for optimizing motion sequences
CN111907025A (en) * 2019-05-07 2020-11-10 恩格尔奥地利有限公司 Method and system for optimizing the course of movement of a molding machine assembly or handling device
CN111907025B (en) * 2019-05-07 2022-02-08 恩格尔奥地利有限公司 Method and system for optimizing the course of movement of a molding machine assembly or handling device

Also Published As

Publication number Publication date
CN102905859B (en) 2016-10-19
DE102010052253A8 (en) 2013-04-25
CN102905859A (en) 2013-01-30
WO2012069129A1 (en) 2012-05-31
DE102010052253B4 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
DE102010052253B4 (en) Method and control means for controlling a robot arrangement
EP2212753B1 (en) Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method
EP2905111B1 (en) Method for programming an industrial robot and associated industrial robot
EP2243602B1 (en) Method and device for controlling a manipulator
DE102018122376B3 (en) Method and device for collision-free motion planning of a manipulator
DE102009049172B4 (en) Method and device for controlling a manipulator
EP2563553B1 (en) Method and control means for controlling a robot
EP2303521B1 (en) Industrial robot and path planning method for controlling the movement of an industrial robot
EP2492062B1 (en) Industrial robot
WO1993012475A1 (en) Process for optimising control parameters for a system having an actual behaviour depending on the control parameters
DE102009018403A1 (en) Method for controlling a welding robot, for welding with a welding tong and a force detecting device for detecting reaction forces on the welding tong, comprises determining a sum of reaction forces on the welding tong
EP2418555A2 (en) Offline programming method of a NC-powered manipulator
EP3061576B1 (en) Method for optimizing a movement profile, computer program, control device and technical system
DE102012101497B4 (en) Robot-based working method
DE102018203078B3 (en) Method for automatically generating a movement trajectory and associated computer program product
DE102019205651B3 (en) Method and system for carrying out robot applications
DE102012008073A1 (en) Method and means for specifying and / or controlling a manipulator process
EP3571021A1 (en) Drive system and assessment thereof
DE102017213651A1 (en) Handling device with a robot and method and computer program
DE102018209044B3 (en) Force control of a robot
DE102018207919B3 (en) robot control
EP2324965B1 (en) Method and device for controlling manipulators
DE102018207921B3 (en) Controlling a robot
WO2019219795A1 (en) Controlling a robot
DE102022208769B3 (en) Robot path planning and control

Legal Events

Date Code Title Description
R163 Identified publications notified
R163 Identified publications notified

Effective date: 20130610

R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: KUKA DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

R082 Change of representative
R020 Patent grant now final