WO2012069129A1 - Method and control element for controlling a robot arrangement - Google Patents
Method and control element for controlling a robot arrangement Download PDFInfo
- Publication number
- WO2012069129A1 WO2012069129A1 PCT/EP2011/005477 EP2011005477W WO2012069129A1 WO 2012069129 A1 WO2012069129 A1 WO 2012069129A1 EP 2011005477 W EP2011005477 W EP 2011005477W WO 2012069129 A1 WO2012069129 A1 WO 2012069129A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- time
- section time
- section
- workflow
- 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.)
- Ceased
Links
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
Definitions
- the present invention relates to a method and a control means for
- 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.
- workflows, particularly motions, of individual robots are typically timed, ie, such that the robot executes the workflow in the minimum possible time, such as constraints on motive forces and moments, joint velocities and accelerations, and / or Cartesian velocities of reference points such as the TCP.
- the object of the present invention is to improve the control of robot arrangements with at least two robots.
- Claim 9 provides a control means, claim 1 1 a computer program product, in particular a machine-readable medium or a storage medium, for performing a method according to the invention under protection, wherein an agent in the context 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.
- the present invention is based on the idea of a time difference between a time that is the slowest robot of a robot assembly for
- a method according to the invention first comprises determining one or more process section points.
- an overall process which the robot arrangement is to carry out is preferably subdivided into two or more subprocesses or process sections.
- process section points may also Synchronization points at which two or more robots at the same time have to assume a certain configuration, such as to hand over a payload or edit a fixed by a robot workpiece by a tool that another robot leads.
- Process section points may change
- Robot arrangement interacts.
- 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.
- a process section point in the sense of the present invention is understood to mean in particular a point which describes a state of two or more robots of the robot arrangement, in particular poses of the robots, for example poses at the end of a machining process or a process
- 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 point points may be manually, such as by clicking in a graphical representation of the process or input during a teaching of the process, and / or automatically, such as in
- a process section time is determined for the respective process section point. This is understood in particular as the time that the
- Robot arrangement for reaching the process section point while processing the respective process section by the robot of the robot assembly required. In a preferred embodiment, this is done for two or more, especially all
- Robot of the robot assembly each determines a minimum section time that require the respective robot at least to process their respective process section.
- This minimum section time may preferably take into account maximum allowable driving forces and moments, joint speeds and accelerations and / or Cartesian velocities of reference points, in particular the TCP, can be achieved 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.
- one process time may also be based on others
- Process factors are determined, for example, the time required for a workpiece to reach a predetermined temperature, a dyeing, sealing or
- Spraying machine for machining a workpiece needed.
- the robots, tools, workpieces and / or other processing means such as machine tools, conveyors or the like may each require minimal to achieve the process section point, as
- Process period time are determined.
- 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.
- the respective minimum time of the individual process means can be increased in the same way by a predetermined, preferably individual, value.
- 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.
- the process section time itself can be specified as a section time.
- 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.
- a workflow is optimized for the robot (s) based on the given section time.
- a trajectory of the robot i which can be described for example by specifying its joint angle q, over a path parameter s, be predetermined, for example, to guide the TCP on a given Cartesian path and thus avoid collisions, for example Weld seam to proceed or adhesive or colorant in a given
- 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 specified, for example, because only one start and one end pose for picking up and dropping a payload through the
- Boundary conditions are predetermined, while the transfer path between these poses is still freely selectable, the trajectory itself can be optimized.
- 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.
- the web speed profile can also be optimized here, in particular in a single-stage process in which the trajectory over time is described.
- 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.
- 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.
- quality criteria can be pareto-optimized together, preferably as a weighted sum. The quality criteria do not have to be global for the optimized workflow
- a workflow is optimized by having it - preferably numerically simulated - for at least two different ones
- Parameter values of parameters that determine (with) the workflow such as the interpolation points explained above, carried out and is determined as the optimal workflow of those for which the or the quality criteria have the lowest value.
- 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.
- the energy quantity to be optimized can preferably also be an energy consumption in the power supply of the robot, such as losses in converters,
- 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.
- 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. In particular, to calculate the value of one or more of the aforementioned quality criteria in a simulation for different parameter values that govern the workflow of the
- robot (with) determine and determine its operation is simulated by means of a dynamic model, in particular a rigid body or a flexible multi-body model.
- a workflow of a robot may include processing and / or transfer sections.
- a machining section can in particular be a tool or workpiece guide of the robot during a machining process,
- the transfer section may in particular have a predetermined start and end
- a robot path between the two poses optionally taking into account boundary conditions such as collision freedom, maximum values for driving forces and moments, speeds and / or accelerations, and the like - is freely selectable.
- boundary conditions such as collision freedom, maximum values for driving forces and moments, speeds and / or accelerations, and the like - is freely selectable.
- a processing section is a trajectory and a
- the process section is provided in one or more transfer sections and / or one or more processing sections subdivide and optimize only the transfer section (s) to optimize the entire process section.
- 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.
- 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.
- a method according to the invention can equally be performed by a cell control, one or more robot controls or distributed by cell control and
- Robot controls are performed. It can be provided in particular that the specification of the section time for the robot of the robot assembly is carried out by a control of the robot assembly, which additionally or alternatively
- 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 ,
- a simulation and an optimizer are implemented in the respective robot controller.
- An inventive method may, at least in part, take place offline in advance and / or online during the work process. It is computerized by
- FIG. 1 a process of a robot assembly according to an embodiment of the present invention
- FIG. 2 shows the sequence of a method according to an embodiment of the present invention
- Fig. 1 shows in the upper row from left to right successive states of a robot arrangement with two robots 1, 2 in a process which is controlled according to an embodiment of the present invention.
- the two robots 1, 2 alternate payloads 3 and 4, respectively, which are symbolized in FIG. 1 filled or hatched.
- FIG. 1 For better understanding has in the highly simplified embodiment of the upper in Fig. 1 robot 1 of the automation cell on two hinges with parallel, vertical axes of rotation (perpendicular to Fig. 1), a rocker 1 .2 with a base 1 .1 or a Arm 1 .3 with the swingarm 1 .2 connect, and their position through the
- the arm 1 .3 a gripper 1.4 is fixed to hold the payload 3.
- the second robot has in an analogous manner an arm 2.3 attached to a base 2.1 with a gripper 2.4 for holding the payload 4, whose joint angle to the base is described by the angle q 2 .
- the process of alternately picking up payloads 3, 4 by the robots 1, 2 and their alternating super-stacking on a stack arranged between the two robots becomes in accordance with the invention alternately
- a first process section [to, T] the robot 2 is transferred from a storage pose, in which it deposits a payload 4 on the stack, into a receiving pod in which it receives another payload 4 from a conveyor (not shown).
- the first robot 1 transports a payload 3 from another conveyor (not shown) onto the stack and sets it down there.
- first process section etc. This ensures that the two robots 1, 2 do not collide with one another in the common working space above the stack. This subdivision can be done manually or automatically, for example, during the planning of the overall process.
- the course of its joint angle q 2 shown in the lower line of FIG. 1 and its first or second time derivative dq 2 / dt result, since> 2 / dt over the time t.
- the robot 2 accelerates in the first half of the process section with an acceleration limited by its maximum permissible drive torque and brakes in the second half with the same negative value
- Velocity triangle profile degenerate and drawn in Fig. 1 by dashed lines.
- a minimum section time Ti can be determined, which in the exemplary embodiment, for example due to stronger
- Section time Tj to the individual robot i 1, 2 transmitted (see Fig. 2).
- the respective process section is transformed into one or more transfer sections s a and / or one or more
- the robot controller Ri can optimize the movement qi (t), ie the trajectory q ⁇ s) and the path velocity profile s (t), for the transfer section a.
- a quality criterion a characteristic value for the energy required by the robot 1, for example an integral over the square of its drive torques, is minimized under the constraint that the movement must be completed within the available time. It follows that the robot 1 first pivots his arm 1.3 to minimize the moment of inertia about the axis of rotation of the base 1.1, then pivoted the base by 180 ° and finally pivots the arm 1.3 again to reach the Ablagepose. If, on the other hand, the trajectory qi (s) for the transfer section is given to
- the path velocity profile s (t) for the condition that the required energy E of the robot 1 is minimal (E E mjn ), optimized and in turn the energy consumption can be reduced.
- E E mjn
- the energy optimization explained above can also be carried out for the robot 2.
- the process section time does not have to correspond to the largest minimum section time.
- the process section time determined based on the minimum section time of the robot 2 may be one
- predetermined value can be increased in order to reduce the load on the robot 2 by constantly shutting down time-optimal paths. This can, in an advantageous development only for one of the two alternating
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
Description
Beschreibung description
Verfahren und Steuermittel zur Steuerung einer Roboteranordnung Method and control means for controlling a robot arrangement
Die vorliegende Erfindung betrifft ein Verfahren und ein Steuermittel zur The present invention relates to a method and a control means for
computergestützten Steuerung einer Roboteranordnung mit wenigstens zwei computer-aided control of a robot assembly having at least two
Robotern. Robots.
Bei Roboteranordnungen mit zwei oder mehr Robotern kann zwischen koordinierten und kooperativen Prozessen unterschieden werden: während bei kooperativen In robot arrangements with two or more robots, a distinction can be made between coordinated and cooperative processes: while with cooperative ones
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. Processes that synchronously act as robotic axes of a virtual hyperrobot, for example, to jointly move a payload held by the robots, perform robotic tasks a priori independently of other robots in coordinated robotic operation.
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. 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. 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. 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. However, workflows, particularly motions, of individual robots are typically timed, ie, such that the robot executes the workflow in the minimum possible time, such as constraints on motive forces and moments, joint velocities and accelerations, and / or Cartesian velocities of reference points such as the TCP. In the case of the coordinated process described above, which is clocked in process sections, this leads to the faster robot (s), which process the respective process section in minimal minimal time, waiting for the slowest robot at the end of the process section and thus at its optimum time Work unnecessarily consumed much energy. DE 196 25 637 A1 proposes for collision avoidance in multi-robot operation to project collision areas into the space of the joint joint coordinates and to 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 1 1 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, This object is achieved by a method having the features of claim 1. Claim 9 provides a control means, claim 1 1 a computer program product, in particular a machine-readable medium or a storage medium, for performing a method according to the invention under protection, wherein an agent in the context 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,
Programmmodule, und dergleichen umfassen kann. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprüche. 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 The present invention is based on the idea of a time difference between a time that is the slowest robot of a robot assembly for
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. 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 Processing of a process section needed, and the time that would require a faster robot of the robot assembly in time-optimized operation to use, to optimize the workflow of the faster robot, especially in terms of 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. 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 Synchronization points at which two or more robots at the same time have to assume a certain configuration, such as to hand over a payload or edit a fixed by a robot workpiece by a tool that another robot leads. Process section points may change
beispielsweise aus dem Fördertakt eines Förderers ergeben, mit dem die For example, from the funding of a conveyor yield, with the
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. 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 In general, a process section point in the sense of the present invention is understood to mean in particular a point which describes a state of two or more robots of the robot arrangement, in particular poses of the robots, for example poses at the end of a machining process or a process
Transferbewegung. Wird ein Arbeitsablauf eines Roboters i der Roboteranordnung durch den Verlauf seiner Gelenkkoordinaten q, über einem Transfer movement. Is a workflow of a robot i the robot assembly by the course of its joint coordinates q, over a
Prozesszustandsparameter s0 < s < sE beschrieben, der Gesamtprozess Process state parameter s 0 <s <s E described, the overall process
entsprechend durch die Gelenkkoordinaten q(s) = [qi(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 Accordingly, by the joint coordinates q (s) = [qi (s), q 2 (s), ...], the robot of the robot assembly, so 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 point points may be manually, such as by clicking in a graphical representation of the process or input during a teaching of the process, and / or automatically, such as in
vorgegebenen Abständen des Prozesszustandsparameters, bestimmt werden. predetermined intervals of the process state parameter to be determined.
Dann wird für den jeweiligen Prozessabschnittspunkt eine Prozessabschnittszeit ermittelt. Hierunter wird insbesondere diejenige Zeit verstanden, die die Then, a process section time is determined for the respective process section point. This is understood in particular as the time that the
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 alleRobot arrangement for reaching the process section point while processing the respective process section by the robot of the robot assembly required. In a preferred embodiment, this is done for two or more, especially all
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. Robot of the robot assembly, each determines a minimum section time that require the respective robot at least to process their respective process section. This minimum section time may preferably take into account maximum allowable driving forces and moments, joint speeds and accelerations and / or Cartesian velocities of reference points, in particular the TCP, can be achieved 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.
Gleichermaßen kann eine Prozessabschnittszeit auch auf Basis anderer Similarly, one process time may also be based on others
Prozessfaktoren ermittelt werden, beispielsweise der Zeit, die ein Werkstück benötigt, um eine vorgegebene Temperatur zu erreichen, die ein Färb-, Dicht- oder Process factors are determined, for example, the time required for a workpiece to reach a predetermined temperature, a dyeing, sealing or
Klebemittelauftrag zur Trocknung benötigt, oder die eine Werkzeug- oder Adhesive application needed for drying, or a tool or
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 Spraying machine for machining a workpiece needed. In general, the respectively longest of the times, the robots, tools, workpieces and / or other processing means such as machine tools, conveyors or the like may each require minimal to achieve the process section point, as
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. Process period time are determined. 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 process 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. 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.
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. 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 q, ü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 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, over a path parameter s, be predetermined, for example, to guide the TCP on a given Cartesian path and thus avoid collisions, for example Weld seam to proceed or adhesive or colorant in a given
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 Apply application track. 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 specified, for example, because only one start and one end pose for picking up and dropping a payload through the
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. Boundary conditions are predetermined, while the transfer path between these poses is still freely selectable, the trajectory itself can 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 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 criteria do not have to be global for the optimized workflow
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 Extremal values reach, 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 having it - preferably numerically simulated - for at least two different ones
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. Parameter values of parameters that determine (with) the workflow, such as the interpolation points explained above, carried out and is determined as the optimal workflow of those for which the or 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. Die zu optimierende Energiegröße kann vorzugsweise auch einen Energieverbrauch in der Energieversorgung des Roboters, etwa Verluste in Umrichtern, 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. The energy quantity to be optimized can preferably also be an energy consumption in the power supply of the robot, such as losses in converters,
Zwischenkreisen oder dergleichen, umfassen. Intermediate circuits or the like, include.
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. Insbesondere, um den Wert eines oder mehrerer der vorgenannten Gütekriterien in einer Simulation für verschiedene Parameterwerte, die den Arbeitsablauf des 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. In particular, to calculate the value of one or more of the aforementioned quality criteria in a simulation for different parameter values that govern the workflow of the
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. 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, In a preferred embodiment of the present invention, robot (with) determine and determine its operation is simulated by means of a dynamic model, in particular a rigid body or a flexible multi-body model. A workflow of a robot may include processing and / or transfer sections. In this case, a machining section can in particular be a tool or workpiece guide of the robot during a machining process,
beispielsweise eines robotergeführten Schweißens, Klebens, Lackierens, einer spanenden oder spanlosen Bearbeitung oder dergleichen umfassen. Ein For example, a robot-guided welding, gluing, painting, a machining or non-cutting machining or the like. One
Transferabschnitt kann hingegen insbesondere eine vorgegebene Anfangs- undIn contrast, the transfer section may in particular have a predetermined start and end
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. Typischerweise ist für einen Bearbeitungsabschnitt eine Bahnkurve und ein Endpose of the robot, wherein a robot path between the two poses - optionally taking into account boundary conditions such as collision freedom, maximum values for driving forces and moments, speeds and / or accelerations, and the like - is freely selectable. Typically, for a processing section is a trajectory and a
Bahngeschwindigkeitsprofil vorgegeben, um beispielsweise bei vorgegebener Auftragsrate eine Klebe- oder Lackierbahn mit einem gewünschten Klebe- bzw. Given a given application rate an adhesive or Lackierbahn with a desired adhesive or
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. Ü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. Ein erfindungsgemäßes Verfahren kann gleichermaßen durch eine Zellsteuerung, eine oder mehrere Robotersteuerungen oder verteilt durch Zellsteuerung und Start paint job. Optimization is therefore not possible for such sections without affecting the process to be performed. In a preferred embodiment, therefore, the process section is provided in one or more transfer sections and / or one or more processing sections subdivide and optimize only the transfer section (s) to 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. 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. A method according to the invention can equally be performed by a cell control, one or more robot controls or distributed by cell control and
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 Robot controls are performed. It can be provided in particular that the specification of the section time for the robot of the robot assembly is carried out by a control of the robot assembly, which additionally or alternatively
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. Determine process section points and 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 An inventive method may, at least in part, take place offline in advance and / or online during the work process. It is computerized by
wenigstens einer der vorstehend erläuterten Schritte wenigstens teilweise at least one of the above-explained steps at least partially
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. Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert: automated 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. Further advantages and features emerge from the subclaims and the exemplary embodiments. This shows, partially schematized:
Fig. 1 : einen Prozess einer Roboteranordnung nach einer Ausführung der vorliegenden Erfindung; und Fig. 2: den Ablauf eines Verfahrens nach einer Ausführung der vorliegendenFig. 1: a process of a robot assembly according to an embodiment of the present invention; and FIG. 2 shows the sequence of a method according to an embodiment of the present invention
Erfindung. Invention.
Fig. 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 Fig. 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 Fig. 1 shows in the upper row from left to right successive states of a robot arrangement with two robots 1, 2 in a process which is controlled according to an embodiment of the present invention. In the lower line of FIG. 1, the progressions of different state variables, in particular joint coordinates and their time derivatives, over the time t for in the upper line
angedeuteten Prozess aufgetragen. indicated process indicated.
In dem Prozess setzen die beiden Roboter 1 , 2 abwechselnd Nutzlasten 3 bzw. 4 aufeinander, die in Fig. 1 ausgefüllt bzw. schraffiert symbolisiert sind. Zum besseren Verständnis weist in dem stark vereinfachten Ausführungsbeispiel der in Fig. 1 obere Roboter 1 der Automatisierungszelle zwei Drehgelenke mit parallelen, vertikalen Drehachsen (senkrecht auf Fig. 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 In the process, the two robots 1, 2 alternate payloads 3 and 4, respectively, which are symbolized in FIG. 1 filled or hatched. For better understanding has in the highly simplified embodiment of the upper in Fig. 1 robot 1 of the automation cell on two hinges with parallel, vertical axes of rotation (perpendicular to Fig. 1), a rocker 1 .2 with a base 1 .1 or a Arm 1 .3 with the swingarm 1 .2 connect, and their position through the
Gelenkkoordinate bzw. den Winkel q-1 ,1 zwischen Basis und Schwinge bzw. den Winkel q1 2 zwischen Schwinge und Arm beschrieben wird, die zum Vektor q^ Joint coordinate or the angle q-1, 1 between the base and rocker or the angle q 1 2 between rocker and arm is described, the vector q ^
zusammengefasst werden können. Ihre erste zeitliche Ableitung bzw. can be summarized. Your first time derivation or
Gelenkgeschwindigkeit wird mit = dqu /dt (i=1 , 2) bezeichnet, die zweite zeitliche Ableitung bzw. Gelenkbeschleunigung entsprechend mit dco-ij /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 Fig. 1 , i.e. die Gelenkwinkel q^ = (qi,i, q-i.2) und q2 nehmen für die in der linken Spalte der Fig. 1 dargestellten Pose den Wert 0 an und werden gegen den Uhrzeigersinn positiv gezählt. 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 Joint speed is denoted by = dqu / dt (i = 1, 2), the second time derivative or joint acceleration corresponding to dco-ij / dt. The arm 1 .3 a gripper 1.4 is fixed to hold the payload 3. The second robot has in an analogous manner an arm 2.3 attached to a base 2.1 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 FIG. 1, ie the joint angles q ^ = (qi, i, qi.2) and q 2 take for the pose shown in the left column of FIG Value 0 and are counted positive counterclockwise. The process of alternately picking up payloads 3, 4 by the robots 1, 2 and their alternating super-stacking on a stack arranged between the two robots becomes in accordance with the invention alternately
aufeinanderfolgende Prozessabschnitte unterteilt. In einem ersten Prozessabschnitt [to, 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. subdivided successive process sections. In a first process section [to, T], the robot 2 is transferred from a storage pose, in which it deposits a payload 4 on the stack, into a receiving pod in which it receives another payload 4 from a conveyor (not shown). In this first process section, the first robot 1 transports a payload 3 from another conveyor (not shown) onto the stack and sets it down there. In a subsequent second process section [T, 2T = t 0 ], conversely, the robot 2 transports a payload 4 from the conveyor onto the stack, while now the robot 1 is transferred from the storage pose to the receiving pod to receive another payload 3.
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. This is followed by a first process section, etc. This ensures that the two robots 1, 2 do not collide with one another in the common working space 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 Now, for example, in advance during process flow planning, for each process section, i.e. the above-explained first and second
Prozessabschnitt, jeweils durch eine Robotersteuerung der zeitoptimale Arbeitsablauf bzw. die zeitoptimale Bewegung q,(t) für den jeweiligen Roboter i = 1 , 2 bestimmt. Process section, each determined by a robot control of the time-optimal workflow or the time-optimal motion q, (t) for the respective robot i = 1, 2.
Für den Roboter 2 ergibt sich im Ausführungsbeispiel der in der unteren Zeile der Fig. 1 dargestellte Verlauf seines Gelenkwinkels q2 und dessen erster bzw. zweiter zeitlicher Ableitung dq2/dt, da>2/dt über der Zeit t. Dabei beschleunigt der Roboter 2, wie in Fig. 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 For the robot 2, in the exemplary embodiment, the course of its joint angle q 2 shown in the lower line of FIG. 1 and its first or second time derivative dq 2 / dt result, since> 2 / dt over the time t. In the first half of the process section, the robot 2 accelerates in the first half of the process section with an acceleration limited by its maximum permissible drive torque and brakes in the second half with the same negative value
Beschleunigung durch ein entsprechendes Gegendrehmoment wieder zum Stillstand ab, wodurch sich ein entsprechendes, in der Bahnplanung gebräuchliches Acceleration by a corresponding counter-torque to a standstill, resulting in a corresponding, customary in the railway planning
Geschwindigkeitstrapezprofil ergibt, das im Ausführungsbeispiel zu einem Speed trapezoidal profile results in the embodiment of a
Geschwindigkeitsdreiecksprofil entartet und in Fig. 1 strichliert eingezeichnet ist. Velocity triangle profile degenerate and drawn in Fig. 1 by dashed lines.
Hierdurch ergibt sich die bei zeitoptimalem Arbeitsablauf des Roboters 2 mindestens erforderliche Zeit, die für beide Prozessabschnitte gleich ist und die jeweilige mininnale Abschnittszeit T2 darstellt. This results in at least optimal workflow of the robot 2 required time, which is the same for both process sections and represents the respective mininnale section time T 2 .
In gleicher Weise kann für den Roboter 1 eine minimale Abschnittszeit Ti ermittelt werden, die im Ausführungsbeispiel, beispielsweise aufgrund stärkerer In the same way, for the robot 1, a minimum section time Ti can be determined, which in the exemplary embodiment, for example due to stronger
Antriebsmotoren und/oder geringerer Massen und somit größerer zulässigerer Beschleunigungen, kleiner ist als die minimale Abschnittszeit T2 des Roboters 2. Drive motors and / or lesser masses and thus greater allowable accelerations, is less than the minimum section time T 2 of the robot. 2
Die Robotersteuerung R, des jeweiligen Roboters i = 1 , 2 bestimmt zunächst, beispielsweise nach einem Teachen der Aufnahme- und Ablageposen, die oben erläuterte minimale Abschnittszeit Tj, beispielsweise durch Simulation und numerische Optimierung, und überträgt diese an die Zellensteuerung Z (vgl. Fig. 2). The robot controller R, of the respective robot i = 1, 2 first determines, for example after teaching the recording and storage poses, the above-described minimum section time Tj, for example by simulation and numerical optimization, and transmits them to the cell controller Z (see FIG 2).
In der Zellensteuerung Z wird hieraus eine Prozessabschnittszeit T als Maximum der minimalen Abschnittszeiten Tj ermittelt (T = ΜΑΧΟΊ , T2) = T2) und die Differenz ATj = T - Tj zwischen dieser Prozessabschnittszeit T und der jeweiligen minimalen In the cell controller Z, a process section time T is determined from this as the maximum of the minimum section times Tj (T = ΜΑΧΟΊ, T 2 ) = T 2 ) and the difference ATj = T - Tj between this process section time T and the respective minimum
Abschnittszeit Tj an die einzelnen Roboter i = 1 , 2 übertragen (vgl. Fig. 2). In den einzelnen Robotersteuerungen R, wird der jeweilige Prozessabschnitt in einen oder mehrere Transferabschnitte sa und/oder einen oder mehrere Section time Tj to the individual robot i = 1, 2 transmitted (see Fig. 2). In the individual robot controllers R 1, the respective process section is transformed into one or more transfer sections s a and / or one or more
Bearbeitungsabschnitt sb unterteilt, die in Fig. 1 durch die Abschnitte„a" bzw. Processing section s b divided, which in Fig. 1 by the sections "a" and
„b" angedeutete sind. Im Ausführungsbeispiel sind dies zwei kurze In the exemplary embodiment, these are two short ones
Bearbeitungsabschnitte b zum Aufnehmen bzw. Ablegen der Nutzlast durch Processing sections b for receiving or storing the payload
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 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
Arbeitsablauf, insbesondere die Bewegung, des Roboters zwischen der Aufnahme- und der Ablagepose frei wählbar ist und optimiert werden kann. Die Steuerung Ri des Roboters 1 optimiert nun den Arbeitsablauf, hier die Bewegung, des Roboters in diesem Transferabschnitt a unter der Randbedingung, dass diese nach Ti + Δ Ti abgeschlossen ist, i.e. schlägt diese Zeitdifferenz der Workflow, in particular the movement of the robot between the recording and storage pose is freely selectable and can be optimized. The controller Ri of the robot 1 now optimizes the operation, here the movement, of the robot in this transfer section a under the condition that it is completed after Ti + ΔTi, i. beats that time difference of
Transferbewegung zu (T(sa, E) -> T(sa, E) + Δ T-i). Der Index„E" bezeichnet die Transfer movement to (T (s a, E) -> T (s a , E) + ΔTi). The index "E" denotes the
Endposition. Im Ausführungsbeispiel kann die Robotersteuerung Ri die Bewegung qi(t), i.e. die Bahnkurve q^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. Ist hingegen die Bahnkurve q-i(s) für den Transferabschnitt vorgegeben, um End position. In the exemplary embodiment, the robot controller Ri can optimize the movement qi (t), ie the trajectory q ^ s) and the path velocity profile s (t), for the transfer section a. As a quality criterion, a characteristic value for the energy required by the robot 1, for example an integral over the square of its drive torques, is minimized under the constraint that the movement must be completed within the available time. It follows that the robot 1 first pivots his arm 1.3 to minimize the moment of inertia about the axis of rotation of the base 1.1, then pivoted the base by 180 ° and finally pivots the arm 1.3 again to reach the Ablagepose. If, on the other hand, the trajectory qi (s) for the transfer section is given to
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 = Emjn), optimiert und so wiederum der Energieverbrauch reduziert werden. 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. For example, avoiding a collision with obstacles, not shown, for this trajectory, the path velocity profile s (t) for the condition that the required energy E of the robot 1 is minimal (E = E mjn ), optimized and in turn the energy consumption can be reduced. In principle, the energy optimization explained above can also be carried out for the robot 2. 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 The process section time does not have to correspond to the largest minimum section time. For example, in the above example, the process section time determined based on the minimum section time of the robot 2 may be one
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 predetermined value can be increased in order to reduce the load on the robot 2 by constantly shutting down time-optimal paths. This can, in an advantageous development only for one of the two alternating
Prozessabschnitte durchgeführt werden, in dem dann beispielsweise die Process sections are performed in which then, for example, the
Antriebsmotoren des Roboters 2 infolge der submaximalen Belastung abkühlen können. Bezugszeichenliste Drive motors of the robot 2 can cool as a result of the submaximal load. LIST OF REFERENCE NUMBERS
1 , 2 Roboter 1, 2 robots
1.1 , 2.1 Basis 1.1, 2.1 basis
1.2 Schwinge 1.2 swingarm
1.3, 2.3 Arm 1.3, 2.3 arm
1.4, 2.4 Greifer 1.4, 2.4 grippers
3, 4 Nutzlast 3, 4 payload
Qu Gelenkwinkel Basis - Schwinge (Roboter 1) qi,2 Gelenkwinkel Schwinge - Arm (Roboter 1) q2 Gelenkwinkel Basis - Arm (Roboter 2) d /dt Ableitung nach Zeit t Qu Joint Angle Base - Rocker (Robot 1) qi, 2 Joint Angle Rocker Arm (Robot 1) q2 Joint Angle Base - Arm (Robot 2) d / dt Derivative by Time t
T Prozessabschnittszeit T process section time
a Transferabschnitt a transfer section
b Bearbeitungsabschnitt b processing section
z Zellensteuerung z cell control
Ri, R2 Robotersteuerung Ri, R2 robot controller
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201180025278.9A CN102905859B (en) | 2010-11-23 | 2011-10-28 | For controlling the method for robot group and controlling device |
Applications Claiming Priority (2)
| 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 |
| DE102010052253.8 | 2010-11-23 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/623,186 Continuation US9783301B2 (en) | 2010-03-29 | 2012-09-20 | Handling system for handling objects in a vehicle, storage device and method for handling objects in a vehicle |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012069129A1 true WO2012069129A1 (en) | 2012-05-31 |
Family
ID=44903164
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2011/005477 Ceased WO2012069129A1 (en) | 2010-11-23 | 2011-10-28 | Method and control element for controlling a robot arrangement |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN102905859B (en) |
| DE (1) | DE102010052253B4 (en) |
| WO (1) | WO2012069129A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20160055709A (en) * | 2014-11-10 | 2016-05-18 | 쿠카 로보테르 게엠베하 | Flexible and clock cycle 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 |
Families Citing this family (21)
| 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 |
| 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 |
| US9815201B2 (en) | 2014-07-31 | 2017-11-14 | Siemens Industry Software Limited | Method and apparatus for industrial robotic energy saving optimization using fly-by |
| US9457469B2 (en) | 2014-08-14 | 2016-10-04 | Siemens Industry Software Ltd. | Method and apparatus for automatic and efficient location generation for cooperative motion |
| 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 |
| 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 a 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 |
| DE102022201792B3 (en) | 2022-02-21 | 2023-04-20 | Volkswagen Aktiengesellschaft | Method and device for the automated coordination of the activities of several robots |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09101813A (en) * | 1995-10-05 | 1997-04-15 | Nissan Motor Co Ltd | Robot control system |
| 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 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| US9104197B2 (en) * | 2004-06-15 | 2015-08-11 | Abb Ab | Method and system for off-line programming of multiple interacting 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 not_active Ceased
- 2011-10-28 CN CN201180025278.9A patent/CN102905859B/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09101813A (en) * | 1995-10-05 | 1997-04-15 | Nissan Motor Co Ltd | Robot control system |
| 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 |
Non-Patent Citations (3)
| Title |
|---|
| JIHONG LEE: "A DYNAMIC PROGRAMMING APPROACH TO NEAR MINIMUM-TIME TRAJECTORY PLANNING FOR TWO ROBOTS", IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, IEEE INC, NEW YORK, US, vol. 11, no. 1, 1 February 1995 (1995-02-01), pages 160 - 164, XP000487953, ISSN: 1042-296X, DOI: 10.1109/70.345949 * |
| SHIN K G ET AL: "Minimum time trajectory planning for dual robot systems", 19891213; 19891213 - 19891215, 13 December 1989 (1989-12-13), pages 2506 - 2511, XP010080459 * |
| WANG F-Y ET AL: "A CELL MAPPING METHOD FOR GENERAL OPTIMUM TRAJECTORY PLANNING OF MULTIPLE ROBOTIC ARMS", ROBOTICS AND AUTONOMOUS SYSTEMS, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 12, no. 1/02, 1 March 1994 (1994-03-01), pages 15 - 27, XP000433007, ISSN: 0921-8890, DOI: 10.1016/0921-8890(94)90044-2 * |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20160055709A (en) * | 2014-11-10 | 2016-05-18 | 쿠카 로보테르 게엠베하 | Flexible and clock cycle optimized sharing of a working space for robots |
| KR101885415B1 (en) | 2014-11-10 | 2018-08-03 | 쿠카 도이칠란트 게엠베하 | Flexible and clock cycle 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 |
| WO2017005428A1 (en) | 2015-07-09 | 2017-01-12 | Siemens Aktiengesellschaft | Trajectory determination method for non-productive movements |
| US10556341B2 (en) | 2015-07-09 | 2020-02-11 | Siemens Aktiengesellschaft | Trajectory determination method for non-productive movements |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102010052253A8 (en) | 2013-04-25 |
| CN102905859A (en) | 2013-01-30 |
| DE102010052253A1 (en) | 2012-05-24 |
| CN102905859B (en) | 2016-10-19 |
| DE102010052253B4 (en) | 2019-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102010052253B4 (en) | Method and control means for controlling a robot arrangement | |
| EP2303521B1 (en) | Industrial robot and path planning method for controlling the movement of an industrial robot | |
| EP2243602B1 (en) | Method and device for controlling a manipulator | |
| 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 | |
| DE102009049172B4 (en) | Method and device for controlling a manipulator | |
| DE102014104220B9 (en) | Method for controlling the drive of a multi-axis robot and control device for the multi-axis robot | |
| EP1424613B1 (en) | method and device for machining a workpiece | |
| DE112009005397B4 (en) | Numerical control device | |
| DE102015010124B4 (en) | A robot program generating device that generates a robot program for reducing bumps of the joints of the robot | |
| EP1950010B1 (en) | Robot and method for programming a robot | |
| DE102014104226B4 (en) | Method for generating a path of a multi-axis robot and control device for the multi-axis robot | |
| EP2492062B1 (en) | Industrial robot | |
| DE102019205651B3 (en) | Method and system for carrying out robot applications | |
| DE102008023955B4 (en) | Method for simulation of events and sequences of air, land or water vehicles and simulation system | |
| EP2418555A2 (en) | Offline programming method of a NC-powered manipulator | |
| DE102023210564B3 (en) | CURVE PATH PLANNING AND MANAGEMENT FOR ROBOT ARM MOVEMENTS | |
| DE102012101497B4 (en) | Robot-based working method | |
| 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 | |
| DE102014226787B3 (en) | Safe robot with pathway progress variables | |
| 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 | |
| DE69420170T2 (en) | Method and device for a numerically controlled industrial machine | |
| EP2324965A1 (en) | Method and device for controlling manipulators | |
| WO2019219790A1 (en) | Robot controller |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 201180025278.9 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11776717 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11776717 Country of ref document: EP Kind code of ref document: A1 |