EP3703914A1 - Verfahren und steuermittel zum steuern einer roboteranordnung - Google Patents

Verfahren und steuermittel zum steuern einer roboteranordnung

Info

Publication number
EP3703914A1
EP3703914A1 EP18793415.3A EP18793415A EP3703914A1 EP 3703914 A1 EP3703914 A1 EP 3703914A1 EP 18793415 A EP18793415 A EP 18793415A EP 3703914 A1 EP3703914 A1 EP 3703914A1
Authority
EP
European Patent Office
Prior art keywords
trajectory
robot
cartesian
control values
poses
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.)
Pending
Application number
EP18793415.3A
Other languages
English (en)
French (fr)
Inventor
Manfred Hüttenhofer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Publication of EP3703914A1 publication Critical patent/EP3703914A1/de
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/02Program-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/023Cartesian coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1602Program controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1643Program controls characterised by the control loop redundant control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1653Program controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1669Program controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39358Time optimal control along path for singular points, having veloctiy constraints

Definitions

  • the present invention relates to a method and a control means for controlling a robot arrangement with at least one robot arm and a
  • Robot arrangement with the control means Robot arrangement with the control means.
  • Axis coordinates are determined in the interpolation cycle while resolving the redundancy. This redundancy resolution depends strongly on the discretization.
  • An object of the present invention is to improve the control of a robot assembly.
  • Claims 8-10 provide a control means or computer program product Implementation of a method described here or a robot arrangement with a control means described here under protection.
  • the subclaims relate to advantageous developments.
  • a robot arrangement has one or more robot arms, one or more of which in one embodiment has one or more, in particular at least three, in one embodiment at least six, in a development at least seven, axes or Joints, in particular rotary axes or joints, have or have, in one embodiment in each case by a, in particular electromotive drive, are movable or adjustable or moved or adjusted.
  • a method of controlling the robot assembly comprises the steps of:
  • the one or more of the robot arrangement-fixed reference (s) can (in each case) have a TCP ("Tool Center Point") of the (corresponding) robot arm, in particular.
  • TCP Tool Center Point
  • Cartesian poses are predefined (in particular "manual") by, in particular, manual approach with the robot arrangement and storage of parameters.
  • Cartesian poses can also be predefined in a model-based manner, in particular by means of a Simulation, based on CAD data or the like (so-called offline programming).
  • the web may have one or more of the predetermined Cartesian poses. Additionally or alternatively, in one embodiment, the web may be spaced from one or more of the predetermined Cartesian poses, in particular, sand over certain poses, or the like.
  • the axis space of the robot arrangement comprises one or more, in one embodiment all, (possible) axis or joint coordinate values, in particular axle or joint positions, in particular angles, of the
  • Robot arrangement in particular of or one or more, in particular all, robot arms, which are referred to in the present case in the usual way by q, it may be defined or clamped in particular by this.
  • a trajectory in the axle space can be several points of the axle space or
  • the robot assembly has corresponding poses of the robot assembly, in particular interpolate. In one embodiment, it is determined in parameterized form, preferably based on one or more polynomials, spline functions or the like.
  • a velocity profile (along the robot assembly) of the trajectory.
  • the sampling of the trajectory can be improved.
  • the majority of the predetermined Cartesian poses of the web, based on the trajectory in the axis space of the robot assembly is determined, three or more, in particular except one start and one final one or more predetermined intermediate points.
  • a complete web can advantageously be optimized as a whole.
  • the majority of the Cartesian poses of the web in one embodiment are predetermined by the robot arrangement even before the start of the web, stored in a development, in particular non-volatile, in one embodiment they are used to determine the Trajectory correspondingly retrieved from one, in particular non-volatile, memory.
  • Achsraum on the basis of the same predetermined Cartesian poses leads, advantageously reduced. Additionally or alternatively, this can reduce the computing load during runtime or when the web is lowered.
  • the method comprises the steps:
  • the same trajectory is thus first determined in the same way before each departure of the web, and then this trajectory is used to control the robot arrangement.
  • control values are determined anew starting from a placement point of the trajectory which is at a distance from the beginning of the trajectory and which is not approached beforehand on the trajectory. In other words, the same trajectory is completely re-determined in the same way as in the primary determination, but then only a part starting with a touchdown point for controlling the
  • Scanning in one embodiment includes determining discrete values, particularly by evaluating a function with corresponding discrete values
  • the same trajectory can be sampled or driven in a situation-adapted manner.
  • it may run at a slower rate
  • the trajectory for determining control values is sampled in a (current) interpolation cycle of a drive control of the robot arrangement, wherein for the sake of a more compact representation in general also a regulation is generally referred to as a control.
  • the primary and / or redetermining of control values comprises: correcting one or more points of the primary or re-determined trajectory to a control value if a deviation of a Cartesian pose corresponding to that Point of the trajectory corresponds, from a corresponding point which, in a sensor-assisted embodiment with respect to the path corrected with the previously predetermined poses, exceeds a predetermined tolerance value, in particular dissolving the redundancy of the
  • the trajectory is determined in one embodiment such that at least at predetermined discrete trajectory points, in particular interpolation or support points, a deviation of a Cartesian pose corresponding to the respective point of the trajectory, from a corresponding point of the web with the predetermined poses a predetermined Tolerance value does not exceed.
  • control values can lead to undesirably large deviations.
  • this may be due to the fact that, in the current determination of control values, the trajectory is scanned differently, in particular finer, and at these (other, in particular additional) sampling points the
  • Deviation is excessively large. This can be counteracted by appropriate correction of the trajectory points to or on the control values (n).
  • the currently desired or desired path can also deviate from the previously specified poses, in particular if it is modified sensor-supported in one embodiment.
  • taught-target poses can be changed on the basis of sensory detected deviations of a workpiece to be machined or the like. Then, although the trajectory depicts the prespecified or taught target poses, it does not depict the sensor-supported changed target poses or the sensor-supported corrected path with these sensor-supported changed poses. Again, by appropriate correction of the trajectory points to or on the control values (n) can be counteracted.
  • the primary or renewed determination of the trajectory comprises: planning, in particular optimizing, the path based on the poses and / or a work program for the robot arrangement.
  • this optimization may include, in particular, optimizing the shape of the web, for example to avoid collisions or the like.
  • the poses can be traversed in one embodiment on a particularly advantageous, globally optimized path.
  • Execution, in particular non-volatile, stored, work program for the Robot assembly can be given in one embodiment, the desired path easily, reliably and / or with low storage space requirements.
  • a command "LIN (xj)" the linear approach of a
  • pose xj be given in cartesian space simply, reliably and / or with little storage space required.
  • the web is based on a
  • Determining the trajectory to: Determine, in particular iterative and / or
  • linearization can be advantageously used, in particular also in the case of a linearization
  • An incremental determination of discrete trajectory points in one embodiment includes determining discrete trajectory points based on previous trajectory points and (determined) increments.
  • Robot arrangement along) of the trajectory based on a dynamic model of the robot assembly.
  • the shape of the trajectory first determined on the basis of the web and then optimized a velocity profile along this trajectory based on a dynamic model of the robot assembly.
  • the redundancy is under
  • Quality criterion in particular a distance of axis areas to be avoided and / or desired Cartesian poses resolved, in particular by a zero space projection.
  • a redundancy of the robot assembly with respect to the web comprises in one
  • Axis coordinates of the robot arrangement with respect to the predetermined poses can result, in particular in the case of six-dimensional predetermined poses, in that the robot arrangement has two or more, in particular cooperating,
  • Robot arms having a total of at least seven axes and / or at least one robotic arm has at least seven axes, which is correspondingly advantageous applications of the present invention.
  • a robotic arm having a total of at least seven axes and / or at least one robotic arm has at least seven axes, which is correspondingly advantageous applications of the present invention.
  • a control means for controlling the robot arrangement, in particular hardware and / or software, in particular program technology, for carrying out a method described here and / or comprises:
  • control means or its agent comprises:
  • control means or its means for the primary and / or redetermination of control values comprises:
  • control means or its means for primary and / or redetermining the trajectory comprises:
  • Means for resolving a redundancy of the robot arrangement with respect to the path in particular taking into account a quality criterion specified in the Cartesian and / or Achsraum, in particular a distance of axis areas to be avoided and / or desired Cartesian poses, in particular by a zero space projection.
  • a means in the sense of the present invention may be designed in terms of hardware and / or software, in particular a data or signal-connected, preferably digital, processing, in particular microprocessor unit (CPU) and / or a memory and / or bus system or multiple programs or program modules.
  • the CPU may be configured to execute instructions implemented as a program stored in a memory system, to capture input signals from a data bus, and / or
  • a storage system may comprise one or more, in particular different, storage media, in particular optical, magnetic, solid state and / or other non-volatile media.
  • the program may be such that it is capable of embodying or executing the methods described herein so that the CPU may perform the steps of such methods and thereby control, in particular, the robot arrangement.
  • a computer program product may include, in particular, a non-volatile storage medium for storing a program or a program stored thereon, wherein a run This program, a control means or a controller, in particular a
  • the present invention can be used particularly advantageously in redundant robots. Equally, it can also be used in particular in the determination of the backward transformation from the Cartesian into the axis space in the case of non-analytically invertible forward transformation function, in particular in planning (in particular with constant discretization) or also in the
  • FIG. 1 shows a robot arrangement with two robot arms and a control means for controlling the robot arrangement according to an embodiment of the present invention
  • FIG. 2 shows a method for controlling the robot arrangement according to FIG.
  • Embodiment of the present invention. 1 shows by way of example a robot arrangement with two respective seven-axis robot arms 1, 2 and a control means in the form of a robot controller 5 for controlling the robot arrangement according to an embodiment of the present invention, which carries out a method explained below with reference to FIG.
  • both robot arms 1, 2 each have a linear axis with an axis coordinate q 1: 1 or q 2 , i and six lathe axes, of which the axis coordinate or joint angle qi, 2 , qi, 3, qu, 2,2 is an example , 2 , 3 and q 2 , 7 are designated.
  • the master robot 1 performs a workpiece 3, which the slaver robot 2 is to machine by means of a tool 4.
  • Three-dimensional positions and orientations of a TCPs of a seven- or multi-axis robotic arm or merely the three-dimensional position of a TCP of a six-axis robot arm are taught.
  • the forward transformation VT or Jacobimatrix J can be determined analytically and, in a linear approximation, converts axis coordinate increments Aq into
  • axis coordinates can be determined incrementally such that they primarily approximate a Cartesian orbit x (s) as well as possible, and additionally realize lower-ranking or, with a lower priority, desired axis coordinate changes ⁇ / opt:
  • axis changes take account of or represent a quality criterion given in the axis space, for example maximizing a distance of the axis coordinates of axis areas to be avoided: with a scalar weighting ⁇ of a function w (cy), which increases (clearly) in the vicinity of axis areas to be avoided and the known Nabla operator V.
  • Axis coordinate changes consider or map a quality criterion given in Cartesian space, for example desired Cartesian poses x op t of the workpiece 3 in incremental form:
  • the controller 5 Prior to each departure of the taught poses X according to the work program, the controller 5 reads in the taught poses X in a step S10 and plans the Cartesian trajectory x (s) in a step S20 based on these poses and the work program.
  • the controller 5 always determines in a similar manner in a step S30
  • step S30 the incrementally determined trajectory point q are interpolated in step S30 by spline functions which are stored. Additionally or alternatively, an optimization of the velocity profile s ⁇ s) along the trajectory can take place in step S30.
  • a step S50 the deviation of the Cartesian pose corresponding to the respective sampled trajectory point from a corresponding point of the planned trajectory is determined, and in a step S60, the sampled trajectory points or preliminary control values are finalized
  • the planned path may additionally be corrected or be sensor-assisted, in this case (S50: "Y"). For example, be moved due to sensor-detected deviations of the workpiece 3 or the like or be.
  • step S70 the drives of the robot arms 1, 2 are controlled on the basis of these control values until the trajectory has completely run off (S80: "Y").
  • step S40 can also start at a touchdown point which is at a distance from the start of the trajectory and which is not approached beforehand on the trajectory.
  • the Cartesian trajectory is planned (S20) and for these under redundancy resolution and possibly recursive minimization of a deviation trajectory in the
  • the robot arrangement-fixed reference is the TCP of the slave robot 2 whose Cartesian poses are predefined relative to the workpiece 3 (S5). This is, as already mentioned, only exemplary, in the same way, for example, absolute Cartesian poses of a TCP of a robot arm relative to the environment or

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Ein erfindungsgemäßes Verfahren zum Steuern einer Roboteranordnung mit wenigstens einem Roboterarm (1, 2) weist die Schritte auf: - primäres Ermitteln (S10 - S30) einer Trajektorie im Achsraum der Roboteranordnung auf Basis einer Bahn mit einer Mehrzahl vorab vorgegebener kartesischer Posen wenigstens einer roboteranordnungsfesten Referenz (TCP); - primäres Ermitteln (S40 - S60) von Steuerwerten im Achsraum auf Basis dieser Trajektorie; und Steuern (S70) der Roboteranordnung auf Basis dieser Steuerwerte.

Description

Beschreibung
Verfahren und Steuermittel zum Steuern einer Roboteranordnung
Die vorliegende Erfindung betrifft ein Verfahren und ein Steuermittel zum Steuern einer Roboteranordnung mit wenigstens einem Roboterarm sowie ein
Computerprogrammprodukt zur Durchführung des Verfahrens und eine
Roboteranordnung mit dem Steuermittel.
Aus betriebsinterner Praxis ist es zum Steuern von Robotern bekannt, zunächst eine Mehrzahl kartesischer Posen einer roboterfesten Referenz wie beispielsweise des TCPs vorzugeben, zum Beispiel durch manuelles Anfahren der Posen mit der
Referenz („Teachen") und Abspeichern dieser Posen.
Zum Abfahren einer Bahn in einem Automatikbetrieb wird dann jedes Mal zunächst eine kartesische Bahn mit diesen Posen auf Basis eines Arbeitsprogramms geplant. Diese Bahn wird beim Abfahren dann jeweils in einem Interpolationstakt der
Steuerung abgetastet und die dabei erhaltenen diskreten kartesischen Bahnpunkte auf entsprechende Achskoordinaten transformiert, die dann zum Ansteuern der Roboterantriebe verwendet werden.
Bedingt insbesondere durch dieses variable Abtasten der kartesischen Bahn im jeweiligen, insbesondere geschwindigkeitsabhängigen, Interpolationstakt können sich dabei stark unterschiedliche Achskoordinaten ergeben, so dass der Roboter die gleichen Posen unterschiedlich und nicht vorhersagbar abfährt.
Dies wird insbesondere bei redundanten Robotern deutlich, bei denen die
Achskoordinaten im Interpolationstakt unter Auflösen der Redundanz ermittelt werden. Diese Redundanzauflösung hängt stark von der Diskretisierung ab.
Eine Aufgabe der vorliegenden Erfindung ist es, das Steuern einer Roboteranordnung zu verbessern.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8-10 stellen ein Steuermittel bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens bzw. eine Roboteranordnung mit einem hier beschriebenen Steuermittel unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
Nach einer Ausführung der vorliegenden Erfindung weist eine Roboteranordnung einen oder mehrere Roboterarme auf, der bzw. von denen einer oder mehrere in einer Ausführung jeweils ein oder mehr, insbesondere wenigstens drei, in einer Ausführung wenigstens sechs, in einer Weiterbildung wenigstens sieben, Achsen bzw. Gelenke, insbesondere Drehachsen bzw. -gelenke, aufweist bzw. aufweisen, die in einer Ausführung jeweils durch einen, insbesondere elektromotorischen, Antrieb, beweg- bzw. verstellbar sind bzw. bewegt bzw. verstellt werden.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Steuern der Roboteranordnung die Schritte auf:
- Ermitteln, insbesondere Berechnen und/oder Abspeichern, einer Trajektorie im Achsraum der Roboteranordnung auf Basis einer Bahn mit einer Mehrzahl vorab vorgegebener kartesischer Posen einer oder mehrerer roboteranordnungsfesten Referenz(en);
- Ermitteln von Steuerwerten im Achsraum auf Basis dieser Trajektorie,
insbesondere während der Laufzeit bzw. dem Abfahren der Bahn und/oder in einem Interpolationstakt einer Steuerung; und
- Steuern der Roboteranordnung auf Basis dieser Steuerwerte,
wobei dieses Ermitteln der Trajektorie bzw. Steuerwerte vorliegend ohne
Beschränkung der Allgemeinheit auch als primäres Ermitteln bezeichnet wird, um es von einem nachfolgenden Ermitteln zu unterscheiden, welches entsprechend als erneutes Ermitteln bezeichnet wird, ohne dass primär einen höheren Rang oder dergleichen andeuten soll.
Die bzw. eine oder mehrere der roboteranordnungsfesten Referenz(en) können in einer Ausführung (jeweils) ein TCP („Tool Center Point") des (entsprechenden) Roboterarms aufweisen, insbesondere sein. Hierdurch können in einer Ausführung Arbeitsprozesse der Roboteranordnung vorteilhaft gesteuert werden. Eine kartesische Pose einer roboteranordnungsfesten Referenz weist in einer
Ausführung eine ein-, zwei- oder dreidimensionale kartesische Position und/oder Orientierung der Referenz auf, sie kann diese insbesondere definieren und/oder durch diese definiert sein.
In einer Ausführung werden bzw. sind die kartesischen Posen durch, insbesondere manuelles, Anfahren mit der Roboteranordnung und Abspeichern von Parametern vorab vorgegeben (sogenanntes„Teachen"). Zusätzlich oder alternativ können kartesische Posen auch modellgestützt vorab vorgegeben werden bzw. sein, insbesondere mithilfe einer Simulation, auf Basis von CAD-Daten oder dergleichen (sogenannte offline-Programmierung).
Die Bahn kann einen oder mehrere der vorgegebenen kartesischen Posen aufweisen. Zusätzlich oder alternativ kann die Bahn in einer Ausführung von einer oder mehreren der vorgegebenen kartesischen Posen beabstandet sein, insbesondere bestimmte Posen überschleifen oder dergleichen.
Der Achsraum der Roboteranordnung umfasst in einer Ausführung einen oder mehrere, in einer Ausführung alle, (möglichen) Achs- bzw. Gelenkkoordinatenwerte, insbesondere Achs- bzw. Gelenkstellungen, insbesondere -winkel, der
Roboteranordnung, insbesondere des bzw. eines oder mehrerer, insbesondere aller, Roboterarme, die vorliegend in fachüblicher Weise durch q bezeichnet werden, er kann insbesondere hierdurch definiert bzw. aufgespannt sein.
Eine Trajektorie im Achsraum kann mehrere Punkte des Achsraums bzw.
entsprechende Posen der Roboteranordnung aufweisen, insbesondere interpolieren. In einer Ausführung wird sie in parametrisierter Form, vorzugsweise auf Basis einer oder mehrerer Polynome, Spline-Funktionen oder dergleichen, ermittelt bzw.
ds
interpoliert: q = q{s) mit dem Bahnparameter s. Eine Funktion — (,s) = , ) definiert in dt
einer Ausführung ein Geschwindigkeitsprofil (der Roboteranordnung entlang) der Trajektorie.
Hierdurch kann in einer Ausführung die Abtastung der Trajektorie verbessert werden.
In einer Ausführung beträgt die Mehrzahl der vorab vorgegebenen kartesischen Posen der Bahn, auf deren Basis die Trajektorie im Achsraum der Roboteranordnung ermittelt wird, drei oder mehr, insbesondere au ßer einem Anfangs- und einem End- noch einen oder mehrere vorab vorgegebene Zwischenpunkte.
Hierdurch kann in einer Ausführung vorteilhaft eine komplette Bahn als Ganzes optimiert werden. Entsprechend wird bzw. ist die Mehrzahl der kartesischen Posen der Bahn in einer Ausführung bereits vor dem (Beginn des) Abfahren(s) der Bahn durch die Roboteranordnung vorgegeben, in einer Weiterbildung, insbesondere nichtflüchtig, abgespeichert, in einer Ausführung werden sie zur Ermittlung der Trajektorie entsprechend aus einem, insbesondere nicht-flüchtigen, Speicher abgerufen.
Indem die Steuerwerte auf Basis der Trajektorie im Achsraum und nicht mehr wie nach der eingangs erläuterten betriebsinternen Praxis erst zur Laufzeit auf Basis der kartesischen Bahn ermittelt werden, kann eine Variation, die sich beispielsweise bei einer Auflösung einer Redundanz oder einer iterativen Ermittlung diskreter
Rückwärtstransformationen ergibt und so zu unterschiedlichen Trajektorien im
Achsraum auf Basis derselben vorgegebenen kartesischen Posen führt, vorteilhaft reduziert werden. Zusätzlich oder alternativ kann hierdurch die Rechenlast während der Laufzeit bzw. einem Abfahren der Bahn reduziert werden.
In einer Ausführung weist das Verfahren die Schritte auf:
- erneutes Ermitteln der gleichen Trajektorie in gleicher Weise wie beim primären Ermitteln, insbesondere mit der gleichen Abtastung der Bahn und/oder der gleichen Anfangspose der Roboteranordnung;
- erneutes Ermitteln von Steuerwerten im Achsraum auf Basis dieser erneut
ermittelten Trajektorie; und
- Steuern der Roboteranordnung auf Basis dieser erneut ermittelten Steuerwerte, wobei diese Schritte in einer Ausführung ein- oder mehrfach wiederholt werden. In einer Ausführung wird somit vor jedem Abfahren der Bahn zunächst die gleiche Trajektorie in gleicher Weise ermittelt und dann diese Trajektorie zum Steuern der Roboteranordnung verwendet.
Hierdurch kann in einer Ausführung einerseits eine Abweichung, insbesondere im Achsraum, beim Abfahren derselben vorgegebenen kartesischen Posen und zugleich ein Speicherplatzbedarf reduziert werden. In einer Ausführung werden dabei die Steuerwerte beginnend mit einem vom Anfang der Trajektorie beabstandeten Aufsetzpunkt der Trajektorie erneut ermittelt, der zuvor nicht auf der Trajektorie angefahren wird. Mit anderen Worten wird die gleiche Trajektorie in gleicher Weise wie beim primären Ermitteln komplett erneut ermittelt, dann jedoch nur ein Teil beginnend mit einem Aufsetzpunkt zum Steuern der
Roboteranordnung genutzt bzw. abgefahren, wobei dieser Aufsetzpunkt zuvor auf anderem Wege, d.h. nicht auf der Trajektorie angefahren wird. Auf diese Weise kann ab dem Aufsetzpunkt wieder dieselbe Trajektorie im Achsraum realisiert werden, ohne diese jedoch komplett durchfahren zu müssen. In einer Ausführung weist das primäre und/oder das erneute Ermitteln von
Steuerwerten (jeweils) auf: variables Abtasten der primär bzw. erneut ermittelten Trajektorie.
Ein Abtasten umfasst in einer Ausführung das Ermitteln von diskreten Werten, insbesondere durch Auswerten einer Funktion mit entsprechenden diskreten
Parameter- bzw. Variablenwerten.
Hierdurch kann die gleiche Trajektorie situationsangepasst abgetastet bzw. -fahren werden. Insbesondere kann sie in einer Ausführung bei langsameren
Geschwindigkeiten feiner bzw. bei höheren Geschwindigkeiten gröber abgetastet werden. In einer Ausführung wird die Trajektorie zum Ermitteln von Steuerwerten in einem (aktuellen) Interpolationstakt einer Antriebssteuerung der Roboteranordnung abgetastet, wobei vorliegend zur kompakteren Darstellung allgemein auch eine Regelung verallgemeinernd als Steuerung bezeichnet wird.
Zusätzlich oder alternativ weist in einer Ausführung das primäre und/oder das erneute Ermitteln von Steuerwerten (jeweils) auf: Korrigieren eines oder mehrerer Punkte der primär bzw. erneut ermittelten Trajektorie zu einem Steuerwert, falls eine Abweichung einer kartesischen Pose, die diesem (jeweiligen) Punkt der Trajektorie entspricht, von einem entsprechenden Punkt der, in einer Ausführung sensorgestützt gegenüber der Bahn mit den vorab vorgegebenen Posen korrigierten, Bahn einen vorgegebenen Toleranzwert übersteigt, insbesondere unter Auflösen einer Redundanz der
Roboteranordnung bezüglich der Bahn und/oder zur Reduzierung der Abweichung. Die Trajektorie wird in einer Ausführung derart ermittelt, dass wenigstens an vorgegebenen diskreten Trajektorienpunkten, insbesondere Interpolations- bzw. Stützpunkten, eine Abweichung einer kartesischen Pose, die dem jeweiligen Punkt der Trajektorie entspricht, von einem entsprechenden Punkt der Bahn mit den vorab vorgegebenen Posen einen vorgegebenen Toleranzwert nicht übersteigt.
Gleichwohl kann es bei der Ermittlung von Steuerwerten zu unerwünscht großen Abweichungen kommen. Dies kann zum Einen daran liegen, dass bei der aktuellen Ermittlung von Steuerwerten die Trajektorie anders, insbesondere feiner, abgetastet wird und an diesen (anderen, insbesondere zusätzlichen) Abtastpunkten die
Abweichung übermäßig groß ist. Dem kann durch entsprechende Korrektur der Trajektorienpunkte zu den bzw. auf die Steuerwerte(n) entgegengewirkt werden.
Zum Anderen kann auch die aktuell gewünschte bzw. Soll-Bahn von den vorab vorgegebenen Posen abweichen, insbesondere, wenn sie in einer Ausführung sensorgestützt verändert wird. So können beispielsweise geteachte Soll-Posen auf Basis von sensorisch erfassten Abweichungen eines zu bearbeitenden Werkstücks oder dergleichen verändert werden. Dann bildet zwar die Trajektorie die vorab vorgegebenen bzw. geteachten Soll-Posen ab, nicht jedoch die sensorgestützt veränderten Soll-Posen bzw. die sensorgestützt korrigierte Bahn mit diesen sensorgestützt veränderten Posen. Auch hier kann durch entsprechende Korrektur der Trajektorienpunkte zu den bzw. auf die Steuerwerte(n) entgegengewirkt werden.
In einer Ausführung weist das primäre bzw. erneute Ermitteln der Trajektorie auf: Planen, insbesondere Optimieren, der Bahn auf Basis der Posen und/oder eines Arbeitsprogramms für die Roboteranordnung. Dieses Optimieren kann insbesondere ein Optimieren der Form bzw. Gestalt der Bahn, beispielsweise zur Vermeidung von Kollisionen oder dergleichen, umfassen, insbesondere sein.
Durch das Planen, insbesondere Optimieren, der (kompletten) Bahn auf Basis der vorab vorgegebenen Posen vor dem (Beginn des) Ermitteln(s) der Trajektorie können die Posen in einer Ausführung auf einer besonders vorteilhaften, global optimierten Bahn abgefahren werden. Durch das Planen, insbesondere Optimieren, der
(kompletten) Bahn auf Basis eines, insbesondere vorab vorgegebenen, in einer
Ausführung, insbesondere nicht-flüchtig, abgespeicherten, Arbeitsprogramms für die Roboteranordnung kann in einer Ausführung die gewünschte Bahn einfach, zuverlässig und/oder mit geringem Speicherplatzbedarf vorgegeben werden. So kann beispielsweise durch einen Befehl„LIN(xj)" das lineare Anfahren einer,
gegebenenfalls auch weiter entfernten, Pose xj im kartesischen Raum einfach, zuverlässig und/oder mit geringem Speicherplatzbedarf vorgegeben werden.
Allgemein wird bzw. ist in einer Ausführung die Bahn auf Basis eines
Arbeitsprogramms für die Roboteranordnung vorab vorgegeben.
Zusätzlich oder alternativ weist in einer Ausführung das primäre bzw. erneute
Ermitteln der Trajektorie auf: Ermitteln, insbesondere iteratives und/oder
inkrementelles Ermitteln, diskreter Trajektorienpunkte, insbesondere
Rückwärtstransformationen, auf Basis diskreter Bahnpunkte, insbesondere unter rekursiver Minimierung einer Abweichung einer kartesischen Pose, die dem jeweiligen Trajektorienpunkt entspricht, von einem entsprechenden Punkt der Bahn.
Bei nicht-redundanten Roboteranordnungen existiert zwar - mit Ausnahme von singulären Posen - eine Rückwärtstransformation bzw. inverse Jacobimatrix die eine kartesische Pose(nänderung) auf eine endliche Zahl entsprechender
Achskoordinaten(änderungen) abbildet: Aq, = J1 Axj. Während jedoch die
Vorwärtstransformation VT. xj = VT(-q), in der Regel analytisch berechnet werden kann, ist dies bei der inversen Transformation nicht immer der Fall. Entsprechend wird diese in einer Ausführung iterativ ermittelt, insbesondere durch iteratives Lösen des Gleichungssystems Aq = - J1 Ax .
Durch iteratives bzw. inkrementelles Ermitteln diskreter Trajektorienpunkte kann vorteilhaft eine Linearisierung genutzt werden, insbesondere auch bei einer
Redundanzauflösung. Ein inkrementelles Ermitteln diskreter Trajektorienpunkte umfasst in einer Ausführung ein Ermitteln diskreter Trajektorienpunkte auf Basis vorhergehender Trajektorienpunkte und (ermittelter) Inkremente.
Zusätzlich oder alternativ weist in einer Ausführung das primäre bzw. erneute
Ermitteln der Trajektorie auf: Optimieren eines Geschwindigkeitsprofils (der
Roboteranordnung entlang) der Trajektorie auf Basis eines Dynamikmodells der Roboteranordnung. Somit wird in einer Ausführung zunächst die Form der Trajektorie auf Basis der Bahn ermittelt und anschließend ein Geschwindigkeitsprofil längs dieser Trajektorie auf Basis eines Dynamikmodells der Roboteranordnung optimiert.
Zusätzlich oder alternativ weist in einer Ausführung das primäre bzw. erneute
Ermitteln der Trajektorie auf: Interpolieren diskreter Trajektorienpunkte. Wie bereits erläutert, kann das Interpolieren diskreter Trajektorienpunkte, insbesondere durch eine parametrisierte Funktion, in einer Ausführung auf Basis von einer oder mehreren Polynomen, Spline-Funktionen oder dergleichen, vorteilhaft die Abtastung der Trajektorie verbessern.
Zusätzlich oder alternativ weist in einer Ausführung das primäre bzw. erneute
Ermitteln der Trajektorie auf: Auflösen einer Redundanz der Roboteranordnung bezüglich der Bahn. In einer Weiterbildung wird die Redundanz unter
Berücksichtigung eines im kartesischen und/oder Achsraum vorgegebenen
Gütekriteriums, insbesondere eines Abstands von zu meidenden Achsbereichen und/oder gewünschter kartesischer Posen, aufgelöst, insbesondere durch eine Nullraumprojektion.
Durch das Auflösen der Redundanz beim Ermitteln der Trajektorie kann in einer Ausführung einerseits vorteilhaft stets wenigstens im Wesentlichen die gleiche Trajektorie ermittelt und zusätzlich ein Rechenzeitbedarf bei Laufzeit bzw. Abfahren der Bahn reduziert werden. Eine Redundanz der Roboteranordnung bezüglich der Bahn umfasst in einer
Ausführung in an sich fachüblicher Weise eine Dimensionsüberzahl von
Achskoordinaten der Roboteranordnung gegenüber den vorgegebenen Posen. Dies kann insbesondere bei sechsdimensionalen vorgegebenen Posen daraus resultieren, dass die Roboteranordnung zwei oder mehr, insbesondere kooperierende,
Roboterarme mit insgesamt wenigstens sieben Achsen und/oder wenigstens ein Roboterarm wenigstens sieben Achsen aufweist, was entsprechend vorteilhafte Anwendungen der vorliegenden Erfindung darstellt. Gleichermaßen kann eine
Redundanz der Roboteranordnung bezüglich der Bahn sich beispielsweise auch bei sechsachsigen Roboterarmen und vorgegebenen kartesischen Posen ergeben, bei denen eine Position und/oder Orientierung in einer oder mehreren Richtungen nicht vorgegeben ist. Nach einer Ausführung der vorliegenden Erfindung ist ein Steuermittel zum Steuern der Roboteranordnung, insbesondere hard- und/oder Software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- Mittel zum primären Ermitteln, insbesondere Berechnen und/oder Abspeichern, einer Trajektorie im Achsraum der Roboteranordnung auf Basis einer Bahn mit einer Mehrzahl vorab vorgegebener kartesischer Posen einer oder mehrerer roboteranordnungsfesten Referenz(en);
- Mittel zum primären Ermitteln von Steuerwerten im Achsraum auf Basis dieser Trajektorie, insbesondere während der Laufzeit bzw. dem Abfahren der Bahn und/oder in einem Interpolationstakt einer Steuerung; und
- Mittel zum Steuern der Roboteranordnung auf Basis dieser Steuerwerte.
In einer Ausführung weist das Steuermittel bzw. sein(e) Mittel auf:
- Mittel zum erneuten Ermitteln der gleichen Trajektorie in gleicher Weise;
- Mittel zum erneuten Ermitteln von Steuerwerten im Achsraum auf Basis dieser erneut ermittelten Trajektorie, insbesondere beginnend mit einem vom Anfang der Trajektorie beabstandeten Aufsetzpunkt der Trajektorie, der zuvor nicht auf der Trajektorie angefahren wird; und
- Mittel zum Steuern der Roboteranordnung auf Basis dieser erneut ermittelten Steuerwerte.
In einer Ausführung weist das Steuermittel bzw. sein Mittel zum primären und/oder erneuten Ermitteln von Steuerwerten auf:
- Mittel zum variablen Abtasten der primär bzw. erneut ermittelten Trajektorie;
und/oder
- Mittel zum Korrigieren wenigstens eines Punktes der primär bzw. erneut
ermittelten Trajektorie zu einem Steuerwert, falls eine Abweichung einer kartesischen Pose, die diesem Punkt der Trajektorie entspricht, von einem entsprechenden Punkt der, insbesondere sensorgestützt korrigierten, Bahn einen vorgegebenen Toleranzwert übersteigt, insbesondere unter Auflösen einer Redundanz der Roboteranordnung bezüglich der Bahn und/oder zur Reduzierung der Abweichung. In einer Ausführung weist das Steuermittel bzw. sein Mittel zum primären und/oder erneuten Ermitteln der Trajektorie auf:
- Mittel zum Planen, insbesondere Optimieren, der Bahn auf Basis der Posen
und/oder eines Arbeitsprogramms für die Roboteranordnung;
- Mittel zum Ermitteln diskreter Trajektorienpunkte, insbesondere
Rückwärtstransformationen, auf Basis diskreter Bahnpunkte, insbesondere unter rekursiver Minimierung einer Abweichung einer kartesischen Pose, die dem jeweiligen Trajektorienpunkt entspricht, von einem entsprechenden Punkt der Bahn;
- Mittel zum Interpolieren diskreter Trajektorienpunkte;
- Mittel zum Optimieren eines Geschwindigkeitsprofils der Trajektorie auf Basis eines Dynamikmodells der Roboteranordnung; und/oder
- Mittel zum Auflösen einer Redundanz der Roboteranordnung bezüglich der Bahn, insbesondere unter Berücksichtigung eines im kartesischen und/oder Achsraum vorgegebenen Gütekriteriums, insbesondere eines Abstands von zu meidenden Achsbereichen und/oder gewünschter kartesischer Posen, insbesondere durch eine Nullraumprojektion.
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder
Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die CPU die Schritte solcher Verfahren ausführen kann und damit insbesondere die Roboteranordnung steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein Steuermittel bzw. eine Steuerung, insbesondere einen
Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des
Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das Steuermittel bzw. seine Mittel.
Die vorliegende Erfindung kann besonders vorteilhaft bei redundanten Robotern eingesetzt werden. Gleichermaßen kann sie insbesondere auch bei der Ermittlung der Rückwärtstransformation vom kartesischen in den Achsraum bei nicht analytisch invertierbaren Vorwärts-Transformationsfunktion verwendet werden, insbesondere in der Planung (insbesondere mit konstanter Diskretisierung) oder auch in der
Interpolation (insbesondere mit variabler Diskretisierung).
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert: Fig. 1 : eine Roboteranordnung mit zwei Roboterarmen und einem Steuermittel zum Steuern der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung; und
Fig. 2: ein Verfahren zum Steuern der Roboteranordnung nach einer
Ausführung der vorliegenden Erfindung. Fig. 1 zeigt exemplarisch eine Roboteranordnung mit zwei jeweils siebenachsigen Roboterarmen 1 , 2 und einem Steuermittel in Form einer Robotersteuerung 5 zum Steuern der Roboteranordnung nach einer Ausführung der vorliegenden Erfindung, die ein nachfolgend mit Bezug auf Fig. 2 erläutertes Verfahren ausführt.
Beide Roboterarme 1 , 2 weisen rein exemplarisch je eine Linearachse mit einer Achskoordinate q1 :1 bzw. q2,i sowie sechs Drechachsen auf, von denen exemplarisch die Achskoordinate bzw. Gelenkwinkel qi ,2, qi ,3, qu, 2,2, 2, 3 und q2, 7 bezeichnet sind. Dabei führt, wiederum rein exemplarisch, der Masterroboter 1 ein Werkstück 3, welches der Slaveroboter 2 durch ein Werkzeug 4 bearbeiten soll.
Der Vektor der Achskoordinate wird in fachüblicher Weise mit q = [q1 1 , ...q2,7]T bezeichnet, wobei dessen Dimension im Ausführungsbeispiel rein exemplarisch ist. In einem vorab durchgeführten Schritt S5 werden zunächst kartesische Posen X des TCPs des Slaveroboters 2 relativ zum masterrobotergeführten Werkstücks 3 geteacht und ein Arbeitsprogramm für die Roboteranordnung auf Basis dieser Posen erstellt, beispielsweise mit Programmbefehlen„Fahre von Pose X im kartesischen Raum auf einer Geraden zur Pose xi+1" oder dergleichen. Auch dies ist wiederum rein exemplarisch, gleichermaßen könnten in Abwandlungen beispielsweise
dreidimensionale Positionen und Orientierungen eines TCPs eines sieben- oder mehrachsigen Roboterarms oder lediglich die dreidimensionale Position eines TCPs eines sechsachsigen Roboterarms geteacht werden.
Die Vorwärtstransformation VT bzw. Jacobimatrix J lässt sich analytisch bestimmen und überführt in linearer Näherung Achskoordinateninkremente Aq in
Poseninkremente Δχ:
Δχ = JAq.
Aufgrund der Redundanz ist diese Jacobimatrix J nicht eindeutig invertierbar. Es existiert jedoch eine Rechts-Inverse J* mit: J f = 1 f j * 1, die eine Nullraum-Abbildung ( 1 - * J) definiert.
Mit dieser können Achskoordinaten inkrementell derart bestimmt werden, dass sie vorrangig eine kartesische Bahn x(s) möglichst gut approximieren und zusätzlich nachranging bzw. mit geringerer Priorität gewünschte Achskoordinatenänderungen Δί/opt realisieren:
Aq = * Ax + ( 1 - * ) -Ac/opt- Bei dieser Redundanzauflösung können die gewünschten
Achskoordinatenänderungen einerseits ein im Achsraum vorgegebenes Gütekriterium berücksichtigen bzw. abbilden, beispielsweise einen Abstand der Achskoordinaten von zu meidenden Achsbereichen maximieren: mit einer skalaren Gewichtung λ einer Funktion w(cy), die in der Nähe von zu meidenden Achsbereichen (deutlich) ansteigt und dem bekannten Nabla-Operator V.
Gleichermaßen können bei der Redundanzauflösung die gewünschten
Achskoordinatenänderungen ein im kartesischen Raum vorgegebenes Gütekriterium berücksichtigen bzw. abbilden, beispielsweise gewünschte kartesische Posen xopt des Werkstücks 3 in inkrementeller Form:
ÄXopt = Jopt Aq.
Eingesetzt in obige Gleichung Aq = J -Ax + ( 1 - J*-J) -Aqopt führt dies zu Aq = * Ax + ( 1 - j) λ·ννν(ς) bzw.
Aq = -Ax + [Jopr( 1 - J*-J)] #·(Δχορι - Jopt- ^Δχ) mit der wie oben definierten Rechts-Inversen [Jopr(7 - J*-J)] #-
Vor jedem Abfahren der geteachten Posen X entsprechend dem Arbeitsprogramm liest die Steuerung 5 in einem Schritt S10 die geteachten Posen X ein und plant in einem Schritt S20 auf Basis dieser Posen und des Arbeitsprogramms die kartesische Bahn x(s).
Dann ermittelt die Steuerung 5 in einem Schritt S30 in stets gleicher Weise
inkrementell Punkte q einer Trajektorie q{s): wobei die Inkremente Aqj beispielsweise gemäß einer der obigen Gleichungen für Aq ermittelt werden und die kartesische Bahn x(s) stets gleich abgetastet und mit derselben Startpose der Roboteranordnung begonnen wird. Dabei wird in Schritt S30 eine Abweichung AxRest einer kartesischen Pose X = VT(q^), (wobei VT die Vorwärtstransformationsfunktion ist) die dem jeweiligen
Trajektorienpunkt q entspricht, von einem entsprechenden Punkt x(Sj) der Bahn rekursiv minimiert, indem das oben für Ax = JAq beschriebene Verfahren auf
A Rest = J-Af/Rest angewendet wird, bis die Abweichung AxRest eine vorgegebene Restfehlerschranke unterschreitet.
Anschließend werden die inkrementell ermittelten Trajektorienpunkt q in Schritt S30 durch Spline-Funktionen interpoliert, die abgespeichert werden. Zusätzlich oder alternativ kann in Schritt S30 eine Optimierung des Geschwindigkeitsprofils s{s) entlang der Trajektorie erfolgen.
In einem Schritt S40 wird nun diese Trajektorie q{s) während der Laufzeit im
Interpolationstakt der Steuerung und somit variabel abgetastet bzw. die
entsprechenden Spline-Funktionen ausgewertet und so vorläufige Steuerwerte für die Antriebe der Roboterarme 1 , 2 ermittelt. In einem Schritt S50 wird die Abweichung der kartesischen Pose, die dem jeweiligen abgetasteten Trajektorienpunkt bzw. vorläufigen Steuerwert entspricht, von einem entsprechenden Punkt der geplanten Bahn ermittelt und in einem Schritt S60 die abgetasteten Trajektorienpunkte bzw. vorläufigen Steuerwerte zu endgültigen
Steuerwerten korrigiert, wie dies vorstehend bereits für die Abtastung der Bahn bzw. Ermittlung der Trajektorie beschrieben wurde, falls die Abweichung einen
vorgegebenen Toleranzwert übersteigt (S50:„Y"). Dabei kann - ebenso wie in Schritt S30 - zusätzlich die geplante Bahn sensorgestützt korrigiert werden bzw. sein, beispielsweise aufgrund sensorgestützt erfasster Abweichungen des Werkstücks 3 verschoben oder dergleichen werden bzw. sein.
In einem Schritt S70 werden die Antriebe der Roboterarme 1 , 2 auf Basis dieser Steuerwerte (an)gesteuert, bis die Trajektorie komplett abgefahren wurde (S80:„Y"). Für ein erneutes Abfahren der Bahn bzw. Trajektorie werden die vorstehend erläuterten Schritte S10 bis S80 wiederholt. Dabei kann bei Bedarf auch Schritt S40 bei einem vom Anfang der Trajektorie beabstandeten Aufsetzpunkt beginnen, der zuvor nicht auf der Trajektorie angefahren wird.
Allgemein wird, wie an vorstehendem Beispiel verdeutlicht, in einer Ausführung der vorliegenden Erfindung in einem Automatikbetrieb zum mehrfachen Abfahren derselben vorab vorgegebenen kartesischen Posen jeweils vor dem Abfahren die kartesische Bahn geplant (S20) und für diese unter Redundanzauflösung und gegebenenfalls rekursiver Minimierung einer Abweichung eine Trajektorie im
Achsraum ermittelt (S30), die anschließend während der Laufzeit abgetastet wird (S40), wobei die abgetasteten Trajektorienpunkte gegebenenfalls korrigiert werden (S60) und die Roboterarme 1 , 2 auf Basis dieser, gegebenenfalls korrigierten, Trajektorienpunkte bzw. Steuerwerte gesteuert werden (S80). Dabei ist die roboteranordnungsfeste Referenz der TCP des Slaveroboters 2, dessen kartesische Posen relativ zum Werkstück 3 vorab vorgegeben werden (S5). Dies ist, wie bereits erwähnt, nur exemplarisch, gleichermaßen könnten beispielsweise auch absolute kartesische Posen eines TCPs eines Roboterarms relativ zur Umgebung bzw.
Roboterarmbasis geteacht werden.
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Au ßerdem sei darauf hingewiesen, dass es sich bei den exemplarischen
Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die
Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die
Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
Bezuqszeichenliste
1 Masterroboter
2 Slaveroboter
3 masterrobotergeführtes Werkstück
4 slaverobotergeführtes Werkzeug
5 Robotersteuerung
TCP Tool Center Point

Claims

Patentansprüche
Verfahren zum Steuern einer Roboteranordnung mit wenigstens einem
Roboterarm (1 , 2), wobei das Verfahren die Schritte aufweist:
- primäres Ermitteln (S10 - S30) einer Trajektorie im Achsraum der
Roboteranordnung auf Basis einer Bahn mit einer Mehrzahl vorab
vorgegebener kartesischer Posen wenigstens einer roboteranordnungsfesten Referenz (TCP);
- primäres Ermitteln (S40 - S60) von Steuerwerten im Achsraum auf Basis dieser Trajektorie; und
- Steuern (S70) der Roboteranordnung auf Basis dieser Steuerwerte.
Verfahren nach Anspruch 1 , gekennzeichnet durch die Schritte:
erneutes Ermitteln (S10 - S30) der gleichen Trajektorie in gleicher weise;
erneutes Ermitteln (S40 - S60) von Steuerwerten im Achsraum auf Basis dieser erneut ermittelten Trajektorie; und
Steuern (S70) der Roboteranordnung auf Basis dieser erneut ermittelten
Steuerwerte.
Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Steuerwerte beginnend mit einem vom Anfang der Trajektorie beabstandeten Aufsetzpunkt der Trajektorie erneut ermittelt werden, der zuvor nicht auf der Trajektorie angefahren wird.
Verfahren nach einem der vorhergehenden Ansprüche, wobei das primäre und/oder erneute Ermitteln von Steuerwerten aufweist:
- variables Abtasten (S40) der primär bzw. erneut ermittelten Trajektorie;
und/oder
- Korrigieren (S60) wenigstens eines Punktes der primär bzw. erneut ermittelten Trajektorie zu einem Steuerwert, falls eine Abweichung einer kartesischen Pose, die diesem Punkt der Trajektorie entspricht, von einem entsprechenden Punkt der, insbesondere sensorgestützt korrigierten, Bahn einen
vorgegebenen Toleranzwert übersteigt, insbesondere unter Auflösen einer Redundanz der Roboteranordnung bezüglich der Bahn und/oder zur
Reduzierung der Abweichung. Verfahren nach einem der vorhergehenden Ansprüche, wobei das primäre bzw. erneute Ermitteln der Trajektorie aufweist:
- Planen, insbesondere Optimieren (S20), der Bahn auf Basis der Posen
und/oder eines Arbeitsprogramms für die Roboteranordnung;
- Ermitteln (S30) diskreter Trajektorienpunkte, insbesondere
Rückwärtstransformationen, auf Basis diskreter Bahnpunkte, insbesondere unter rekursiver Minimierung einer Abweichung einer kartesischen Pose, die dem jeweiligen Trajektorienpunkt entspricht, von einem entsprechenden Punkt der Bahn;
- Optimieren (S30) eines Geschwindigkeitsprofils der Trajektorie auf Basis eines Dynamikmodells der Roboteranordnung;
- Interpolieren (S30) diskreter Trajektorienpunkte; und/oder
- Auflösen (S30) einer Redundanz der Roboteranordnung bezüglich der Bahn.
Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Redundanz unter Berücksichtigung eines im kartesischen und/oder Achsraum vorgegebenen Gütekriteriums, insbesondere eines Abstands von zu meidenden Achsbereichen und/oder gewünschter kartesischer Posen, aufgelöst wird, insbesondere durch eine Nullraumprojektion.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Roboteranordnung wenigstens zwei Roboterarme (1 , 2) und/oder der wenigstens eine Roboterarm wenigstens sieben Achsen aufweist.
Steuermittel (5) zum Steuern einer Roboteranordnung mit wenigstens einem Roboterarm (1 , 2), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist:
- Mittel zum primären Ermitteln (S10 - S30) einer Trajektorie im Achsraum der Roboteranordnung auf Basis einer Bahn mit einer Mehrzahl vorab
vorgegebener kartesischer Posen wenigstens einer roboteranordnungsfesten Referenz (TCP);
- Mittel zum primären Ermitteln (S40 - S60) von Steuerwerten im Achsraum auf Basis dieser Trajektorie; und
- Mittel zum Steuern (S70) der Roboteranordnung auf Basis dieser Steuerwerte.
9. Roboteranordnung mit wenigstens einem Roboterarm und einem Steuermittel zum Steuern der Roboteranordnung nach einem der vorhergehenden Ansprüche.
10. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
EP18793415.3A 2017-11-03 2018-10-26 Verfahren und steuermittel zum steuern einer roboteranordnung Pending EP3703914A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017010244.9A DE102017010244A1 (de) 2017-11-03 2017-11-03 Verfahren und Steuermittel zum Steuern einer Roboteranordnung
PCT/EP2018/079380 WO2019086339A1 (de) 2017-11-03 2018-10-26 Verfahren und steuermittel zum steuern einer roboteranordnung

Publications (1)

Publication Number Publication Date
EP3703914A1 true EP3703914A1 (de) 2020-09-09

Family

ID=64017375

Family Applications (1)

Application Number Title Priority Date Filing Date
EP18793415.3A Pending EP3703914A1 (de) 2017-11-03 2018-10-26 Verfahren und steuermittel zum steuern einer roboteranordnung

Country Status (6)

Country Link
US (1) US11826912B2 (de)
EP (1) EP3703914A1 (de)
KR (1) KR102725371B1 (de)
CN (1) CN111405966B (de)
DE (1) DE102017010244A1 (de)
WO (1) WO2019086339A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021201024B3 (de) 2021-02-04 2022-05-12 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboters
US20260077496A1 (en) * 2022-10-05 2026-03-19 Telefonaktiebolaget Lm Ericsson (Publ) Control node and method performed therein

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004021468A1 (de) * 2004-04-30 2005-11-24 Kuka Roboter Gmbh Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
DE102004044457A1 (de) * 2004-09-15 2006-03-30 Wiest Ag Verfahren zur Kompensation von Änderungen der Greiferkinematik eines Roboters
DE102008058298B4 (de) * 2008-04-29 2016-01-14 Siemens Aktiengesellschaft Verfahren zur rechnergestützten Bewegungsplanung eines Roboters
DE102008027485B4 (de) * 2008-06-09 2010-02-11 Gsi Helmholtzzentrum Für Schwerionenforschung Gmbh Deposition einer Solldosisverteilung in einem zyklisch bewegten Zielgebiet
DE102008042612A1 (de) * 2008-10-06 2010-04-08 Kuka Roboter Gmbh Industrieroboter und Bahnplanungsverfahren zum Steuern der Bewegung eines Industrieroboters
WO2010057528A1 (en) * 2008-11-19 2010-05-27 Abb Technology Ab A method and a device for optimizing a programmed movement path for an industrial robot
DE102009049172B4 (de) * 2009-10-13 2019-07-25 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Steuerung eines Manipulators
CN103492133B (zh) * 2011-04-19 2016-04-13 Abb研究有限公司 具有运动冗余臂的工业机器人和用于控制该机器人的方法
DE102011082800B4 (de) * 2011-09-15 2016-04-14 Convergent Information Technologies Gmbh System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
US9327401B2 (en) * 2012-09-10 2016-05-03 Fanuc America Corporation Method of controlling a redundant robot
EP2845696B1 (de) * 2013-09-10 2017-05-17 Siemens Aktiengesellschaft Bearbeitungsmaschine mit redundanten Achsen und Auflösung der Redundanz in Echtzeit
DE102013222456A1 (de) * 2013-11-05 2015-05-07 Kuka Laboratories Gmbh Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
DE102014103370B4 (de) * 2014-03-12 2017-08-24 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators
DE102014213262A1 (de) * 2014-07-08 2016-01-14 Kuka Roboter Gmbh Maschine und Verfahren zum Betreiben einer Maschine
DE102014017307B4 (de) * 2014-11-21 2019-08-01 Kuka Roboter Gmbh Verfahren und System zum Bearbeiten eines Bauteils mit einem robotergeführten Werkzeug
DE102015004146B3 (de) * 2015-03-27 2016-06-16 Kuka Systems Gmbh Oberflächenbearbeitung eines Bauteils mittels eines mobilen Roboters

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SICILIANO BRUNO ET AL: "Robotics Modeling, planning and control", SPRINGER, 23 December 2009 (2009-12-23), Naples, Rome, pages 1 - 632, XP093260554 *

Also Published As

Publication number Publication date
US11826912B2 (en) 2023-11-28
US20210178582A1 (en) 2021-06-17
DE102017010244A1 (de) 2019-05-09
WO2019086339A1 (de) 2019-05-09
CN111405966B (zh) 2024-02-23
KR102725371B1 (ko) 2024-11-01
CN111405966A (zh) 2020-07-10
KR20200077533A (ko) 2020-06-30

Similar Documents

Publication Publication Date Title
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE3317263A1 (de) Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung
DE102013113165A1 (de) Kalibrierungsverfahren für Robotersystem
WO2017008898A1 (de) Ermitteln eines eingabebefehls für einen roboter, der durch manuelles ausüben einer kraft auf den roboter eingegeben wird
WO2010040493A1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE69837741T2 (de) Verfahren und system zur steuerung eines roboters
WO2017129352A1 (de) Verfahren und system zur bahnplanung eines redundanten roboters
EP2919081A1 (de) Bearbeitungsmaschine mit Berücksichtigung von Lagefehlern bei Kollisionsprüfung
WO2018091141A1 (de) Vermessen einer bewegungsachse eines roboters
DE102017001131A1 (de) Verfahren und System zum Betreiben eines Roboters
DE102020209866B3 (de) Verfahren und System zum Betreiben eines Roboters
DE102015008188B3 (de) Abfahren einer vorgegebenen Bahn mit einem Roboter
EP3703914A1 (de) Verfahren und steuermittel zum steuern einer roboteranordnung
DE102012022190B4 (de) Inverse Kinematik
WO2025176348A1 (de) Betreiben eines roboters mithilfe einer datenverarbeitung und trainieren dieser datenverarbeitung
EP3810377B1 (de) Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose
DE102018207919B3 (de) Robotersteuerung
DE102018207921B3 (de) Steuern eines Roboters
EP3927498A1 (de) Verfahren und system zum durchführen einer vorgegebenen aufgabe durch einen roboter
DE102017011130B4 (de) Verfahren und System zum Steuern eines Roboters
EP4334090A1 (de) Verfahren und system zum steuern eines teleroboters
EP3721306B1 (de) Abfahren einer vorgegebenen arbeitsbahn mit einem roboter
WO2019219795A1 (de) Steuern eines roboters
DE102023210548B3 (de) Steuern eines Roboters

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20200408

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20211201

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230528