DE102010052253B4 - Method and control means for controlling a robot arrangement - Google Patents
Method and control means for controlling a robot arrangement Download PDFInfo
- Publication number
- DE102010052253B4 DE102010052253B4 DE102010052253.8A DE102010052253A DE102010052253B4 DE 102010052253 B4 DE102010052253 B4 DE 102010052253B4 DE 102010052253 A DE102010052253 A DE 102010052253A DE 102010052253 B4 DE102010052253 B4 DE 102010052253B4
- Authority
- DE
- Germany
- Prior art keywords
- robot
- time
- process section
- section
- section time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 128
- 238000012546 transfer Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 3
- 230000033001 locomotion Effects 0.000 description 18
- 230000001133 acceleration Effects 0.000 description 7
- 238000003754 machining Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 5
- 239000000853 adhesive Substances 0.000 description 4
- 230000001070 adhesive effect Effects 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 239000002966 varnish Substances 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34314—Slow down, limit speed for energy saving
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39144—Scale moving time of all robots, machines to match slowest, no waiting
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39361—Minimize time-energy cost
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
Verfahren zur computergestützten Steuerung einer Roboteranordnung mit wenigstens zwei Robotern (1, 2), mit den Schritten:- Bestimmen wenigstens eines Prozessabschnittspunktes (q, q);- 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 (q(s(t)) dieses Roboters (1) auf Basis der vorgegebenen Abschnittszeit (T+ΔT), wobei ein Gütekriterium der Optimierung auf Basis einer Energiegröße (E) des Roboters ermittelt und der Arbeitsablauf optimiert wird, indem dieser numerisch simuliert für wenigstens zwei verschiedene Parameterwerte von Parametern, die den Arbeitsablauf mitbestimmen, durchgeführt und als optimaler Arbeitsablauf derjenige bestimmt wird, für den das Gütekriterium den niedrigsten Wert aufweist; und wobei der Prozessabschnitt in einen oder mehrere Transferabschnitte (a) und/oder einen oder mehrere Bearbeitungsabschnitte (b) unterteilt und nur der bzw. die Transferabschnitte optimiert werden, wobei in einem Transferabschnitt eine Bahnkurve und/oder ein Bahngeschwindigkeitsprofil variierbar ist, und für einen Bearbeitungsabschnitt eine Bahnkurve und/oder ein Bahngeschwindigkeitsprofil vorgegeben ist.Method for computer-aided control of a robot arrangement having at least two robots (1, 2), comprising the steps of: determining at least one process section point (q, q) 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 assembly based on the process section time (T); and - optimizing a workflow (q (s (t)) of this robot (1) on the basis of the predetermined section time (T + .DELTA.T), wherein a quality criterion of optimization based on an energy quantity (E) of the robot is determined and the workflow is optimized, by performing this numerically simulated for at least two different parameter values of parameters that co-determine the work flow, and determining as optimum process the one for which the quality criterion has the lowest value, and wherein the process section into one or more transfer sections (a) and / or one or more processing sections (b) divided and only the or the transfer sections are optimized, wherein in a transfer section, a trajectory and / or a web speed profile is variable, and for a processing section, a trajectory and / or a web speed profile is predetermined.
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
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, particularly motions, of individual robots are typically timed, 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 coordinated process described above, 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
Aus der
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 6 stellt ein Steuermittel, Anspruch 8 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 6 provides a control means, claim 8, 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, Memory and / or data transmission devices 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
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 processing means such as machine tools, conveyors or the like in each case require to achieve the process section point minimally can be determined as a 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 set the section times, for example to increase a given value compared to the process section time, so as not to burden even the slowest process agent. 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
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 or criteria must not reach global extremal values for the optimized workflow, in particular if a determination is not possible closed 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 size 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. An optimization is therefore not possible for such sections, without the affect the process to be carried out. 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-assisted by at least one of the above-described steps being performed at least partially automated by a computer, in particular the cell or robot controller. 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:
-
1 : einen Prozess einer Roboteranordnung nach einer Ausführung der vorliegenden Erfindung; und -
2 : den Ablauf eines Verfahrens nach einer Ausführung der vorliegenden Erfindung.
-
1 a process of a robot assembly according to an embodiment of the present invention; and -
2 Fig. 1 shows the sequence of a method according to an embodiment of the present invention.
In dem Prozess setzen die beiden Roboter
Der Prozess des abwechselnden Aufnehmens von Nutzlasten
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
Für den Roboter
In gleicher Weise kann für den Roboter
Die Robotersteuerung
In der Zellensteuerung
In den einzelnen Robotersteuerungen
Die Steuerung
Im Ausführungsbeispiel kann die Robotersteuerung
Ist hingegen die Bahnkurve
Prinzipiell kann die oben erläuterte Energieoptimierung auch für den Roboter
Die Prozessabschnittszeit muss nicht der größten minimalen Abschnittszeit entsprechen. Beispielsweise kann in obigem Beispiel die auf Basis der minimalen Abschnittszeit des Roboters
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
Claims (8)
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 |
| CN201180025278.9A CN102905859B (en) | 2010-11-23 | 2011-10-28 | For controlling the method for robot group and controlling device |
| PCT/EP2011/005477 WO2012069129A1 (en) | 2010-11-23 | 2011-10-28 | Method and control element for controlling a robot arrangement |
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 DE102010052253A1 (en) | 2012-05-24 |
| DE102010052253A8 DE102010052253A8 (en) | 2013-04-25 |
| DE102010052253B4 true 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 (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102022201792B3 (en) | 2022-02-21 | 2023-04-20 | Volkswagen Aktiengesellschaft | Method and device for the automated coordination of the activities of several robots |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9227322B2 (en) | 2012-11-30 | 2016-01-05 | Fanuc Robotics America Corporation | Multi-arm robotic painting process synchronization |
| US9649765B2 (en) | 2013-03-11 | 2017-05-16 | Siemens Aktiengesellschaft | Reducing energy consumption of industrial robots by using new methods for motion path programming |
| 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 |
| JP5877867B2 (en) * | 2014-04-25 | 2016-03-08 | ファナック株式会社 | Simulation equipment for multiple robots |
| US9701011B2 (en) | 2014-05-08 | 2017-07-11 | Siemens Industry Software Ltd. | Method for robotic energy saving tool search |
| CN103970139B (en) * | 2014-05-09 | 2017-01-11 | 上海交通大学 | Robot continuous point position motion planning method |
| US9815201B2 (en) | 2014-07-31 | 2017-11-14 | Siemens Industry Software Limited | Method and apparatus for industrial robotic energy saving optimization using fly-by |
| 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 |
| 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 |
| 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 |
| DE102015109708B3 (en) * | 2015-06-17 | 2016-01-21 | Uwe Simon | Method for controlling the movement sequence of a motor-driven machine or tool component |
| EP3115857A1 (en) | 2015-07-09 | 2017-01-11 | Siemens Aktiengesellschaft | Trajectory determining method for in addition to secondary processing movements |
| DE102015011010A1 (en) | 2015-08-21 | 2017-02-23 | Kuka Systems Gmbh | Method and system for controlling an at least partially automated system |
| US11305429B2 (en) * | 2015-10-13 | 2022-04-19 | 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 |
| JP6730355B2 (en) | 2018-03-27 | 2020-07-29 | ファナック株式会社 | Integrated simulation system with improved operability |
| DE102019102427B4 (en) * | 2019-01-31 | 2022-02-10 | Franka Emika Gmbh | Coordination of trajectories of two robotic manipulators |
| AT522075B1 (en) * | 2019-05-07 | 2020-08-15 | Engel Austria Gmbh | Process for optimizing motion sequences |
Citations (3)
| 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 |
| EP1705541A2 (en) | 2005-03-23 | 2006-09-27 | Kawasaki Jukogyo Kabushiki Kaisha | Robot controller and robot control method |
| EP1756684B1 (en) * | 2004-06-15 | 2008-04-16 | Abb Ab | Method and system for off-line programming of multiple interacting robots |
Family Cites Families (4)
| 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 robot controller |
| US6678582B2 (en) * | 2002-05-30 | 2004-01-13 | Kuka Roboter Gmbh | Method and control device for avoiding collisions between cooperating robots |
| JP5375297B2 (en) * | 2009-04-16 | 2013-12-25 | 株式会社安川電機 | Robot system |
-
2010
- 2010-11-23 DE DE102010052253.8A patent/DE102010052253B4/en active Active
-
2011
- 2011-10-28 WO PCT/EP2011/005477 patent/WO2012069129A1/en active Application Filing
- 2011-10-28 CN CN201180025278.9A patent/CN102905859B/en active Active
Patent Citations (4)
| 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 |
| EP1756684B1 (en) * | 2004-06-15 | 2008-04-16 | Abb Ab | Method and system for off-line programming of multiple interacting robots |
| EP1705541A2 (en) | 2005-03-23 | 2006-09-27 | Kawasaki Jukogyo Kabushiki Kaisha | Robot controller and robot control method |
| EP1705541B1 (en) * | 2005-03-23 | 2010-07-14 | Kawasaki Jukogyo Kabushiki Kaisha | Robot controller and robot control method |
Non-Patent Citations (3)
| Title |
|---|
| Lee, J.: "A Dynamic Programming Approach to Near Minimum-Time Trajectory Planning for Two Robots", In: IEEE Transactions on Robotics and Automation, Vol. 11, No. 1, February 1995, S. 160-164 * |
| WANG F.-Y.; LEVER, P.J.A.: "A CELL MAPPING METHOD FOR GENERAL OPTIMUM TRAJECTORY PLANNING OF MULTIPLE ROBOTIC ARMS", In: ROBOTICS AND AUTONOMOUS SYSTEMS, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, Bd. 12, Nr. 1/02, 1. März 1994 (1994-03-01), Seiten 15-27 * |
| WANG F.-Y.; LEVER, P.J.A.: „A CELL MAPPING METHOD FOR GENERAL OPTIMUM TRAJECTORY PLANNING OF MULTIPLE R080TIC ARMS", In: R080TICS AND AUTONOMOUS SYSTEMS, ELSEVIER SCIENCE PU8LISHERS, AMSTERDAM, NL, 8d. 12, Nr.1/02, 1. März 1994 (1994-03-01), Seiten 15-27 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102022201792B3 (en) | 2022-02-21 | 2023-04-20 | Volkswagen Aktiengesellschaft | Method and device for the automated coordination of the activities of several robots |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102010052253A8 (en) | 2013-04-25 |
| CN102905859A (en) | 2013-01-30 |
| WO2012069129A1 (en) | 2012-05-31 |
| DE102010052253A1 (en) | 2012-05-24 |
| CN102905859B (en) | 2016-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102010052253B4 (en) | Method and control means for controlling a robot arrangement | |
| EP2905111B1 (en) | Method for programming an industrial robot and associated industrial robot | |
| EP2243602B1 (en) | Method and device for controlling a manipulator | |
| DE102009049172B4 (en) | Method and device for controlling a manipulator | |
| EP2285537B1 (en) | Device and method for the computer-assisted generation of a manipulator track | |
| DE112009005397B4 (en) | Numerical control device | |
| EP2418555B1 (en) | Offline programming method of a NC-powered manipulator | |
| DE102011082800B4 (en) | System and method for the automated creation of robot programs | |
| EP1950010B1 (en) | Robot and method for programming a robot | |
| DE102011108282B4 (en) | Numerical control for a multi-axis machine for machining a tilted working plane | |
| WO2010069430A1 (en) | Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method | |
| DE102019205651B3 (en) | Method and system for carrying out robot applications | |
| DE102012101497B4 (en) | Robot-based working method | |
| WO2013004329A1 (en) | Method and control means for controlling a robot | |
| DE102018203078B3 (en) | Method for automatically generating a movement trajectory and associated computer program product | |
| EP3061576B1 (en) | Method for optimizing a movement profile, computer program, control device and technical system | |
| EP2492062B2 (en) | Industrial robot | |
| DE102014226787B3 (en) | Safe robot with pathway progress variables | |
| EP2324966A1 (en) | Device and method for controlling and/or planning a robot application | |
| DE102008015948A1 (en) | Manipulator i.e. industrial robot, monitoring method for processing workpiece, involves executing functional test selected from set of functional sets of manipulator and executing parameter monitoring of manipulator | |
| DE102023210564B3 (en) | CURVE PATH PLANNING AND MANAGEMENT FOR ROBOT ARM MOVEMENTS | |
| DE69420170T2 (en) | Method and device for a numerically controlled industrial machine | |
| DE102017213651A1 (en) | Handling device with a robot and method and computer program | |
| DE102009007181A1 (en) | Method for inputting commands into controller of e.g. multi-axis robot, involves comparing detected force with stored force, and outputting commands associated with stored force to controller if detected force corresponds to stored force | |
| WO2018158181A1 (en) | Drive system and assessment thereof |
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 |