WO2023072630A2 - Verfahren und system zum steuern eines lasttragenden roboters sowie zum ermitteln eines parameters der last des roboters - Google Patents

Verfahren und system zum steuern eines lasttragenden roboters sowie zum ermitteln eines parameters der last des roboters Download PDF

Info

Publication number
WO2023072630A2
WO2023072630A2 PCT/EP2022/078660 EP2022078660W WO2023072630A2 WO 2023072630 A2 WO2023072630 A2 WO 2023072630A2 EP 2022078660 W EP2022078660 W EP 2022078660W WO 2023072630 A2 WO2023072630 A2 WO 2023072630A2
Authority
WO
WIPO (PCT)
Prior art keywords
robot
load
parameter
determined
coordinate values
Prior art date
Application number
PCT/EP2022/078660
Other languages
English (en)
French (fr)
Inventor
Daniel Knott
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 WO2023072630A2 publication Critical patent/WO2023072630A2/de

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/37Measurements
    • G05B2219/37621Inertia, mass of rotating, moving tool, workpiece, element
    • 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/39176Compensation deflection arm
    • 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/39183Compliance compensation
    • 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/39186Flexible joint

Definitions

  • the present invention relates to a method for determining a parameter of a load using a robot carrying the load, a method for controlling the robot and a system, computer program or computer program product for carrying out the corresponding method.
  • An object of an embodiment of the present invention is to determine a parameter of a load using a robot carrying the load, in particular to improve the determination and/or operation or control of the robot.
  • Claims 8, 9 represent a system or computer program or
  • a robot in one embodiment a robot arm, has several, in one embodiment at least three, in particular at least six, in one embodiment at least seven joints, in one embodiment swivel joints.
  • the robot has appropriate drives for adjusting the joints, with the drives in turn each having a single or multi-stage gear and in one embodiment at least one motor driving the respective gear, in one embodiment an electric motor , exhibit.
  • a method for determining a one- or multi-dimensional parameter of a load in an embodiment of a tool or workpiece, using the robot carrying this load, comprises the step:
  • a second transformation which is dependent on and/or predetermined in one embodiment of this parameter, between the joint coordinates on the transmission output side and a pose, in particular the pose of the robot-fixed reference.
  • the method also includes the (preceding) step:
  • joint coordinate values on the transmission input side are understood to mean, in particular, joint coordinate values on an input or motor side of a transmission, for example a rotational or angular position of a transmission input shaft or the like, under joint coordinate values on the transmission output side corresponding in one embodiment to joint coordinate values on an output or output side of a transmission, for example a
  • a pose comprises a one-, two- or three-dimensional position and/or a one-, two- or three-dimensional orientation of the robot-fixed reference.
  • the robot-fixed reference comprises an end effector or TCP of the robot, and can in particular be identical thereto.
  • joint coordinates q e on the transmission input side as well as joint coordinates q a on the transmission output side can be used, but this leads to different transformations due to transmission elasticity and the like:
  • the corresponding parameter p can thus be determined on the basis of the two transformations.
  • that load or that load parameter is determined for which the two transformations V 1 , V 2 with the determined transmission input and output joint coordinates q e , q a result in the same pose.
  • the parameter is (also) based on the load
  • the method includes the (preceding) step:
  • the reliability can be improved by means of averaging.
  • the parameter is based on
  • the parameter is determined in one embodiment using at least one, possibly common or simultaneous or also (each) individual minimization, in one embodiment of this difference(s), in one embodiment such that the difference(s) is or will be minimized or minimal for the parameter, if appropriate overall or jointly or also in each case or individually.
  • the parameter is determined in one embodiment using at least one averaging, in particular of parameter values determined for different positions of the robot, in one embodiment using (each) minimization.
  • a value of the parameter can also be determined for the first and further position(s), in particular with the aid of minimizing the difference, and the parameter can be determined with the aid of an averaging from these Parameter (individual) values are determined.
  • the determination can be improved, in particular simplified and/or accelerated, by the determination based on one or more differences and/or with the aid of at least one minimization.
  • the reliability can be improved by the determination using at least one averaging.
  • the first transformation and/or the second transformation is determined in advance with different positions of the robot and/or using a measuring device external to the robot and/or using one or more known robot-guided calibration load(s) or, in particular as a function of the respective robot-guided load or the parameters corresponding thereto, specified (have been) in one embodiment as part of a calibration of the robot.
  • these are different positions over the working space of the robot and/or these several robot-guided calibration loads over the possible load range of the robot, preferably in such a way that they cover the entire working space or load range or are evenly distributed in this, in one embodiment.
  • this can improve accuracy.
  • the parameter depends on a mass and/or the position of the center of gravity of the load, preferably relative to the robot-fixed reference, and can indicate this in particular.
  • the present invention is particularly suitable for these load sizes, since they have a significant effect on the deformation of the transmission.
  • a method for controlling the robot comprises the steps of:
  • the pose of the robot-fixed reference can be determined and/or vice versa for a particularly desired pose, the corresponding (required or realizing) Joint coordinate values are determined:
  • a system in particular hardware and/or software, in particular programming, is set up to carry out a method described here and/or has:
  • system or its means(s) has:
  • Means for controlling the robot based on the determined parameter Means for controlling the robot based on the determined parameter.
  • regulation is also referred to as controlling the robot.
  • a system and/or a means within the meaning of the present invention can be designed in terms of hardware and/or software, in particular at least one preferably having a data or signal-connected, in particular digital, processing unit, in particular microprocessor unit (CPU), graphics card (GPU) or the like, and/or one or more programs or program modules with a memory and/or bus system.
  • the processing unit can be designed to process commands that are implemented as a program stored in a memory system, to detect input signals from a data bus and/or to output output signals to a data bus.
  • a storage system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state and/or other non-volatile media.
  • a computer program product can have, in particular, be a, in particular, computer-readable and/or non-volatile storage medium for storing a program or instructions or with a program or with instructions stored thereon.
  • execution of this program or these instructions by a system or controller causes the system or controller, in particular the computer or computers, to perform a method described here or one or more of its steps, or the program or the instructions are set up to do so.
  • one or more, in particular all, steps of the method are carried out fully or partially automatically, in particular by the system or its means.
  • the system includes the robot.
  • the first and/or second transformation can be specified, in particular stored, as a function, in tabular form or the like.
  • poses can be stored for different robot positions and different (calibration) loads.
  • compensation or correction values can be specified in each case, with which a model of the non-deformed robot is corrected.
  • load-dependent transformations between joint coordinates and a pose of a robot-fixed reference are known to those skilled in the art, so that there is no need to go into further detail here.
  • the method for determining the parameter of the load is carried out during an application of the robot, in which the robot carries the load, in one embodiment (at least) at the beginning of the application. Alternatively or additionally, in particular during the application, the method is carried out several times in one embodiment.
  • the method is carried out with the robot stationary, in particular temporarily during the application.
  • this can improve accuracy and/or security.
  • Fig. 1 a system according to an embodiment of the present invention
  • Figure 3 a method according to an embodiment of the present invention.
  • Fig. 1 shows a system according to an embodiment of the present invention with a robot 1, a robot controller 2 and a robot-external measuring device 3.
  • measuring device 3 detects the pose of the respective robot-guided calibration load in the respective position
  • controller 2 uses the sensors, of which sensors S1, S2 are indicated for joint i, the respective joint coordinate values on the transmission input and output side.
  • V 1 (q e , p), V 2 (q a , p) can be determined or specified in a manner known per se from these data tuples ⁇ Xmess, position s, Pcalibrating load k, q e/a ⁇ .
  • a first position of the robot 1 is approached with the unknown robot-guided load L, and in this position the joint coordinate values q e , 1 , Q a , 1 on the transmission input and output side are determined.
  • a parameter value can be determined with the help of a minimization and the parameter can be determined from this with the help of an averaging:
  • the robot 1 is then controlled in a step S50, for example the required motor angle for a desired pose x d

Description

Beschreibung
Verfahren und System zum Steuern eines lasttragenden Roboters sowie zum Ermitteln eines Parameters der Last des Roboters
Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln eines Parameters einer Last mithilfe eines die Last tragenden Roboters, ein Verfahren zum Steuern des Roboters sowie ein System, Computerprogramm bzw. Computerprogrammprodukt zur Durchführung des entsprechenden Verfahrens.
Aus betriebsinterner Praxis ist es bekannt, einen Parameter einer robotergeführten Last zu ermitteln und diesen bei der Steuerung des lasttragenden Roboters zu berücksichtigen. Beispielsweise hängen elastische Verformungen von Robotergliedern und in Roboterantriebsgetrieben von der Masse einer robotergeführten Last ab, so dass solche Verformungen bzw. daraus resultierende Ablagen des Endeffektors bei Kenntnis der Lastmasse wenigstens teilweise kompensiert und dadurch die Genauigkeit des Roboters verbessert werden kann.
Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, einen Parameter einer Last mithilfe eines die Last tragenden Roboters zu ermitteln, insbesondere das Ermitteln und/oder einen Betrieb bzw. ein Steuern des Roboters zu verbessern.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 6 gelöst. Ansprüche 8, 9 stellen ein System bzw. Computerprogramm bzw.
Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
Nach einer Ausführung der vorliegenden Erfindung weist ein Roboter, in einer Ausführung ein Roboterarm, mehrere, in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, Gelenke, in einer Ausführung Drehgelenke, auf. Nach einer Ausführung der vorliegenden Erfindung weist der Roboter entsprechende Antriebe zum Verstellen der Gelenke auf, wobei die Antriebe ihrerseits jeweils ein ein- oder mehrstufiges Getriebe und in einer Ausführung wenigstens einen in das jeweilige Getriebe ein- bzw. dieses antreibenden Motor, in einer Ausführung Elektromotor, aufweisen. Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Ermitteln eines ein - oder mehrdimensionalen Parameters einer Last, in einer Ausführung eines Werkzeugs oder Werkstücks, mithilfe des diese Last tragenden Roboters den Schritt:
- Ermitteln des ein- oder mehrdimensionalen Parameters der Last auf Basis
• getriebeeintriebsseitiger Gelenkkoordinatenwerte, die in einer ersten Stellung des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit auch als erste getriebeeintriebsseitige Gelenkkoordinatenwerte bezeichnet werden;
• getriebeabtriebsseitiger Gelenkkoordinatenwerte, die in der ersten Stellung des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit auch als erste getriebeabtriebsseitige Gelenkkoordinatenwerte bezeichnet werden,
• einer, in einer Ausführung von diesem Parameter abhängigen und/oder vorgegebenen, ersten Transformation zwischen getriebeeintriebsseitigen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz und
• einer, in einer Ausführung von diesem Parameter abhängigen und/oder vorgegebenen, zweiten Transformation zwischen getriebeabtriebsseitigen Gelenkkoordinaten und einer, insbesondere der, Pose der roboterfesten Referenz.
In einer Ausführung umfasst das Verfahren auch den (vorhergehenden) Schritt:
- Ermitteln, in einer Ausführung, insbesondere messtechnisches, Erfassen, der (ersten) getriebeeintriebsseitigen Gelenkkoordinatenwerten und (ersten) getriebeabtriebsseitigen Gelenkkoordinatenwerten der Gelenke in der ersten Stellung des Roboters.
Unter getriebeeintriebsseitigen Gelenkkoordinatenwerten werden vorliegend insbesondere Gelenkkoordinatenwerte auf einer Eintriebs- bzw. Motorseite eines Getriebes verstanden, beispielsweise eine Dreh- bzw. Wnkellage einer Getriebeeingangswelle oder dergleichen, unter getriebeabtriebsseitigen Gelenkkoordinatenwerten entsprechend in einer Ausführung Gelenkkoordinatenwerte auf einer Abtriebs- bzw. Ausgangsseite eines Getriebes, beispielsweise eine
Dreh- bzw. Wnkellage einer Getriebeabtriebs- bzw. -ausgangswelle oder dergleichen. Eine Pose umfasst in einer Ausführung eine ein-, zwei- oder dreidimensionale Position und/oder eine ein-, zwei- oder dreidimensionale Orientierung der roboterfesten Referenz. Die roboterfeste Referenz umfasst in einer Ausführung einen Endeffektor bzw. TCP des Roboters, kann insbesondere hiermit identisch sein.
Einer Ausführung der vorliegenden Erfindung liegt folgende Idee zugrunde: insbesondere durch eine vorhergehende Kalibrierung, in einer Ausführung eines kinematischen bzw. dynamischen Modells des Roboters, kann eine Transformation, in einer Ausführung eine Vorwärtstransformation, ermittelt bzw. vorgegeben werden, die von einer vom Roboter geführten Last bzw. einem entsprechenden Parameter p abhängt und Gelenkkoordinaten und eine Pose der roboterfesten Referenz einander zuordnet, beispielsweise in der allgemeinen Form: x = V(q, p) mit der Pose x der roboterfesten Referenz, den Gelenkkoordinaten q und der (Vorwärts)T ransformation V.
Dabei können sowohl getriebeeintriebsseitige Gelenkkoordinaten qe als auch getriebeabtriebsseitige Gelenkkoordinaten qa verwendet werden, was jedoch aufgrund von Getriebeelastizitäten und dergleichen zu unterschiedlichen Transformationen führt:
V1(qe, p) = x = V2(qa, p)
Wie insbesondere hieraus erkennbar, kann der entsprechende Parameter p somit auf Basis der beiden Transformationen ermittelt werden. Anschaulich gesprochen wird in einer Ausführung diejenige Last bzw. derjenige Lastparameter ermittelt, für die bzw. den die beiden Transformationen V1, V2 mit den ermittelten getriebeein- und - abtriebsseitige Gelenkkoordinaten qe, qa dieselbe Pose ergeben.
In einer Ausführung wird der Parameter der Last (auch) auf Basis
• getriebeeintriebsseitiger Gelenkkoordinatenwerte, die in einer oder mehreren weiteren Stellungen des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit entsprechend jeweils als weitere getriebeeintriebsseitige Gelenkkoordinatenwerte bezeichnet werden;
• getriebeabtriebsseitiger Gelenkkoordinatenwerte, die in dieser bzw. diesen weiteren Stellung(en) des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit jeweils als weitere getriebeabtriebsseitige Gelenkkoordinatenwerte bezeichnet werden,
• der ersten T ransformation und
• der zweiten T ransformation ermittelt.
In einer Ausführung umfasst das Verfahren den (vorhergehenden) Schritt:
- Ermitteln, in einer Ausführung, insbesondere messtechnisches, Erfassen, der jeweiligen weiteren getriebeeintriebsseitigen Gelenkkoordinatenwerten und weiteren getriebeabtriebsseitigen Gelenkkoordinatenwerten der Gelenke in der bzw. den weiteren Stellung(en) des Roboters.
Analog zu obiger Notation lässt sich dies durch
V1(qe,1, P) = xi = V2(qa,1, p)
V1(qe,2, p) = x2 = V2(qa,2, p)
V1(qe,3, p) = x3 = V2(qa 3, p) mit den ersten getriebeeintriebsseitigen Gelenkkoordinatenwerten qe,1, den ersten getriebeabtriebsseitigen Gelenkkoordinatenwerten Q,a1 , den weiteren getriebeeintriebsseitigen Gelenkkoordinatenwerten qe,2, qe,3,... und den weiteren, getriebeabtriebsseitigen Gelenkkoordinatenwerten qa,2, qa,3,... darstellen.
Dadurch kann in einer Ausführung, in einer Weiterbildung mittels Mittelung, die Zuverlässigkeit verbessert werden.
In einer Ausführung wird der Parameter auf Basis
- einer Differenz zwischen • einer auf Basis der ersten getriebeeintriebsseitigen Gelenkkoordinatenwerte und der ersten Transformation ermittelten Pose der roboterfesten Referenz und
• einer auf Basis der ersten getriebeabtriebsseitigen Gelenkkoordinatenwerte und der zweiten Transformation ermittelten Pose der roboterfesten Referenz; und/oder
- einer oder mehreren Differenzen zwischen (je)
• einer auf Basis der in der bzw. einer der weiteren Stellung des Roboters ermittelten (weiteren) getriebeeintriebsseitigen Gelenkkoordinatenwerte und der ersten Transformation ermittelten Pose der roboterfesten Referenz und
• einer auf Basis der in dieser weiteren Stellung des Roboters ermittelten (weiteren) getriebeabtriebsseitigen Gelenkkoordinatenwerte und der zweiten T ransformation ermittelten Pose der roboterfesten Referenz ermittelt.
Alternativ oder vorzugsweise zusätzlich wird der Parameter in einer Ausführung mithilfe wenigstens einer, gegebenenfalls gemeinsamen bzw. gleichzeitigen oder auch (jeweils) einzelnen, Minimierung, in einer Ausführung dieser Differenz(en), ermittelt, in einer Ausführung derart, dass die Differenz(en) für den Parameter, gegebenenfalls insgesamt bzw. gemeinsam oder auch jeweils bzw. einzeln, minimiert bzw. minimal wird bzw. werden.
Alternativ oder vorzugsweise zusätzlich wird der Parameter in einer Ausführung mithilfe wenigstens einer Mittelung, insbesondere von für verschiedene Stellungen des Roboters, in einer Ausführung mithilfe (jeweils) einer Minimierung, ermittelter Parameterwerte ermittelt.
In obiger Notation lässt sich das wie folgt erläutern:
Min(V1(qe, p) - V2(qa, p)) => p (Ermittlung des Parameters mithilfe einer Minimierung und auf Basis wenigstens einer Differenz) bzw. Min((V1(qe,1, p) - V2(qa,1, p), (V1(qe,2, p) - V2(qa,2, p),...) => p (Ermittlung des Parameters mithilfe einer gemeinsamen Minimierung (und auf Basis) mehrerer Differenzen) bzw.
Min(V1(qe,1, p) - V2(qa,1, p)) => p1; Min(V1(qe,2, p) - V2(qa,2, p)) => p2 , ... ;
{p1, p2,...} => P (Ermittlung des Parameters mithilfe einzelner Minimierungen (und auf Basis) mehrerer Differenzen und mithilfe einer Mittelung)
Dabei können mehrere Differenzen gleichzeitig bzw. gemeinsam beispielsweise durch Minimierung ihrer, gegebenenfalls gewichteten, Beträge, Quadratsummen oder dergleichen minimiert werden:
Min((V1(qe,1, p) - V2(qa,1, p)2 + (V1(qe,2, p) - V2(qa,2, p)2 +...) =^ p
Min(| V1(qe,1, p) - V2(qa,1, p| + |V1(qe,2, p) - V2(qa,2, p| +...) => p oder dergleichen. Gleichermaßen kann, wie vorstehende angedeutet, auch für die erste und weitere(n) Stellung(en) jeweils, insbesondere mithilfe einer Minimierung der Differenz, ein Wert des Parameters ermittelt und der Parameter mithilfe einer Mittelung aus diesen Parameter(einzel)werten ermittelt werden.
Durch die Ermittlung auf Basis einer oder mehrerer Differenzen und/oder mithilfe wenigstens einer Minimierung kann in einer Ausführung die Ermittlung verbessert, insbesondere vereinfacht und/oder beschleunigt, werden. Durch die Ermittlung mithilfe wenigstens einer Mittelung kann in einer Ausführung die Zuverlässigkeit verbessert werden.
In einer Ausführung ist, in einer Weiterbildung wird, die erste Transformation und/oder die zweite Transformation vorab mit verschiedenen Stellungen des Roboters und/oder mithilfe einer roboterexternen Messvorrichtung und/oder mithilfe einer oder mehreren bekannten robotergeführten Kalibrierlast(en) ermittelt bzw., insbesondere in Abhängigkeit von der jeweiligen robotergeführten Last bzw. dem dieser entsprechenden Parameter, vorgegeben (worden), in einer Ausführung im Rahmen einer Kalibrierung des Roboters. In einer vorteilhaften Weiterbildung sind dabei diese verschiedenen Stellungen über den Arbeitsraum des Roboters und/oder diese mehreren robotergeführten Kalibrierlasten über den möglichen Lastbereich des Roboters verteilt, vorzugsweise derart, dass sie den gesamten Arbeitsraum bzw. Lastbereich abdecken bzw. in diesem, in einer Ausführung gleichmäßig, verteilt sind.
Dadurch kann in einer Ausführung die Genauigkeit verbessert werden.
In einer Ausführung hängt der Parameter von einer Masse und/oder Schwerpunktlage der Last, vorzugsweise relativ zur roboterfesten Referenz, ab, kann diese insbesondere angeben.
Für diese Lastgrößen ist die vorliegende Erfindung besonders geeignet, da sie Verformungen der Getriebe signifikant beeinflussen.
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Steuern des Roboters die Schritte:
- Ermitteln eines Parameters einer von dem Roboter getragenen Last mithilfe eines hier beschriebenen Verfahrens; und
- Steuern des Roboters auf Basis des ermittelten Parameters, in einer Weiterbildung zur wenigstens teilweisen Kompensation von durch die Last verursachten elastischen Verformungen des lastführenden Roboters und/oder auf Basis eines Modells des lastführenden Roboters, das mit dem ermittelten Parameter parametriert ist.
Wie aus obiger Notation klar wird, können beispielsweise bei ermitteltem bzw. (nun) bekanntem Lastparameter pist für ermittelte Gelenkkoordinatenwerte die Pose der roboterfesten Referenz ermittelt und/oder umgekehrt für eine, insbesondere gewünschte, Pose die entsprechenden (erforderlichen bzw. diese realisierenden) Gelenkkoordinatenwerte ermittelt werden:
Figure imgf000008_0001
Dadurch kann in einer Ausführung der Betrieb, insbesondere die Genauigkeit, verbessert werden. Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
Mittel zum Ermitteln eines ein- oder mehrdimensionalen Parameters der Last auf Basis der ermittelten, insbesondere ersten und gegebenenfalls weiteren, getriebeeintriebsseitigen Gelenkkoordinatenwerte, der ermittelte, insbesondere ersten und gegebenenfalls weiteren, getriebeabtriebsseitigen Gelenkkoordinatenwerte, einer ersten Transformation zwischen getriebeeintriebsseitigen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz und einer zweiten Transformation zwischen getriebeabtriebsseitigen Gelenkkoordinaten und einer bzw. der Pose der roboterfesten Referenz.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
Mittel zum Ermitteln der, insbesondere ersten und gegebenenfalls weiteren, getriebeeintriebsseitigen Gelenkkoordinatenwerte und der, insbesondere ersten und gegebenenfalls weiteren, getriebeabtriebsseitigen Gelenkkoordinatenwerte der Gelenke in der ersten bzw. gegebenenfalls weiteren Stellung(en) des Roboters; und/oder
Mittel zum Ermitteln des Parameters mithilfe wenigstens einer Minimierung und/oder Mittelung und/oder auf Basis wenigstens einer Differenz zwischen einer auf Basis der getriebeeintriebsseitigen Gelenkkoordinatenwerte und der ersten Transformation ermittelten Pose der roboterfesten Referenz und einer auf Basis der getriebeabtriebsseitigen Gelenkkoordinatenwerte und der zweiten Transformation ermittelten Pose der roboterfesten Referenz; und/oder
Mittel zum Ermitteln der ersten und/oder zweiten Transformation vorab mit verschiedenen Stellungen des Roboters und/oder mithilfe einer roboterexternen Messvorrichtung und/oder wenigstens einer bekannten robotergeführten Kalibrierlast; und/oder
Mittel zum Steuern des Roboters auf Basis des ermittelten Parameters.
Zur kompakteren Darstellung wird vorliegend auch ein Regeln als Steuern des Roboters bezeichnet.
Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit 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 Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere den Parameter ermitteln bzw. Roboter steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.
In einer Ausführung weist das System den Roboter auf.
Die erste und/oder zweite Transformation kann in einer Ausführung als Funktion, tabellarisch oder dergleichen vorgegeben, insbesondere abgespeichert, sein. Beispielsweise können zu verschiedenen Roboterstellungen und verschiedenen (Kalibrier)Lasten jeweils Posen abgespeichert sein. Gleichermaßen können zum Beispiel für verschiedene Roboterstellungen und verschiedenen (Kalibrier)Lasten jeweils Kompensations- bzw. Korrekturwerte vorgegeben sein, mit denen ein Modell des unverformten Roboters korrigiert wird. Dem Fachmann sind diesbezüglich unterschiedlichste lastabhängige Transformationen zwischen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz bekannt, so dass hierauf nicht weiter einzugehen ist.
In einer Ausführung wird das Verfahren zum Ermitteln des Parameters der Last während einer Applikation des Roboters durchgeführt, bei der der Roboter die Last trägt, in einer Ausführung (wenigstens) bei Beginn der Applikation. Alternativ oder zusätzlich, insbesondere während der Applikation, wird in einer Ausführung das Verfahren mehrfach durchgeführt.
Hierdurch kann in einer Ausführung die Applikation bzw. Zuverlässigkeit und/oder Sicherheit verbessert werden.
Alternativ oder zusätzlich, insbesondere während der Applikation, wird in einer Ausführung das Verfahren bei, insbesondere temporär während der Applikation, stillstehendem Roboter durchgeführt.
Dadurch kann in einer Ausführung die Genauigkeit und/oder Sicherheit verbessert werden.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
Fig. 1 : ein System nach einer Ausführung der vorliegenden Erfindung;
Fig. 2: einen Teil eines Roboters des Systems; und
Fig. 3: ein Verfahren nach einer Ausführung der vorliegenden Erfindung.
Fig. 1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung mit einem Roboter 1 , einer Robotersteuerung 2 und einer roboterexternen Messvorrichtung 3. Der Roboter 1 weist sechs Glieder auf, die in Gelenken i=1 .. ,6 paarweise miteinander verbunden sind. Er führt eine Last L, beispielsweise ein Werkzeug oder Werkstück.
Fig. 2 zeigt exemplarisch zwei benachbarte, in bzw. durch ein(em) Gelenk i verbundene, Glieder (i-1), i des Roboters, einen Antrieb mit einem Motor M und einem Getriebe G zum Verstellen dieses Gelenks sowie Sensoren S1 , S2 zum Erfassen getriebeeintriebsseitiger Gelenkkoordinatenwerte qi,e und getriebeabtriebsseitiger Gelenkkoordinatenwerte qi,a dieses Gelenks. Die getriebeein- bzw. -abtriebsseitigen Gelenkkoordinatenwerte aller Gelenke i=1 ,... ,6 in einer Stellung j des Roboters 1 werden in obiger Notation als zusammengefasst.
Figure imgf000012_0001
In einem ersten Schritt S10 (vgl. Fig. 3) wird bzw. ist vorab mit verschiedenen Stellungen des Roboters 1 und verschiedenen bekannten robotergeführten Kalibrierlasten mithilfe der roboterexternen Messvorrichtung 3 eine erste Transformation x = V1(qe, p) und eine zweite Transformation x = V2(qa, p) ermittelt (worden). Hierzu erfasst die, Messvorrichtung 3 in der jeweiligen Stellung die Pose der jeweiligen robotergeführten Kalibrierlast, die Steuerung 2 mithilfe der Sensoren, von denen für das Gelenk i die Sensoren S1 , S2 angedeutet sind, die jeweiligen getriebeein- bzw. -abtriebsseitigen Gelenkkoordinatenwerte. Aus diesen Datentupeln {Xmess, Stellung s, PKalibirierlast k, qe/a} können die Transformationen V1(qe, p), V2(qa, p) in an sich bekannter Weise ermittelt bzw. vorgegeben werden.
Nun wird in einem Schritt S20 mit der unbekannten robotergeführten Last L eine erste Stellung des Roboters 1 angefahren und in dieser die getriebeein- und -abtriebsseitigen Gelenkkoordinatenwerte qe,1, Qa,1 ermittelt.
In einem optionalen, gegebenenfalls mehrfach wiederholten Schritt S30 können mit der unbekannten robotergeführten Last L (jeweils) eine weitere Stellung des Roboters 1 angefahren und in dieser (jeweils) die getriebeein- und -abtriebsseitigen Gelenkkoordinatenwerte qe,j, qa,j , j=2, ... ermittelt werden.
In einem Schritt S40 wird derjenige Parameter pist = [m, rx, ry, rz] mit der Masse m und der Schwerpunktlage [rx, ry, rz] ermittelt, für den die Differenz
Figure imgf000013_0001
bzw.
Figure imgf000013_0002
minimal wird bzw. ist. Gleichermaßen kann auch für jede der Stellungen j=1 , 2,... jeweils mithilfe einer Minimierung ein Parameterwert und der Parameter hieraus mithilfe einer Mittelung ermittelt werden:
Figure imgf000013_0003
Mit diesem ermittelten Parameter pist wird in einem Schritt S50 anschließend der Roboter 1 gesteuert, beispielsweise für eine gewünschte Pose xd die erforderlichen Motorwinkel
Figure imgf000013_0004
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 Roboter
2 Steuerung 3 roboterexterne Messvorrichtung
G Getriebe qi,a getriebeabtriebsseitige(r) Gelenkkoordinate(nwert) qi,e getriebeeintriebsseitige(r) Gelenkkoordinate(nwert)
L robotergeführte Last (Werkzeug; Werkstück) M Motor

Claims

Patentansprüche
1 . Verfahren zum Ermitteln eines Parameters einer Last (L) mithilfe eines die Last tragenden Roboters (1) mit mehreren Gelenken, die jeweils durch einen Antrieb verstelllbar sind, welcher ein Getriebe (G) aufweist, mit dem Schritt:
- Ermitteln (S40) des ein- oder mehrdimensionalen Parameters der Last auf Basis getriebeeintriebsseitiger Gelenkkoordinatenwerte (qije) und getriebeabtriebsseitiger Gelenkkoordinatenwerte der Gelenke (qi.a), die in einer ersten Stellung des Roboters ermittelt worden sind, sowie einer ersten Transformation zwischen getriebeeintriebsseitigen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz und einer zweiten Transformation zwischen getriebeabtriebsseitigen Gelenkkoordinaten und einer Pose der roboterfesten Referenz.
2. Verfahren nach Anspruch 1 , wobei der Parameter der Last auf Basis getriebeeintriebsseitiger Gelenkkoordinatenwerte und getriebeabtriebsseitigen Gelenkkoordinatenwerte, die in wenigstens einer weiteren Stellung des Roboters ermittelt worden sind, sowie der ersten Transformation und der zweiten Transformation ermittelt wird.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Parameter mithilfe wenigstens einer Minimierung und/oder Mittelung und/oder auf Basis wenigstens einer Differenz zwischen einer auf Basis der getriebeeintriebsseitigen Gelenkkoordinatenwerte und der ersten Transformation ermittelten Pose der roboterfesten Referenz und einer auf Basis der getriebeabtriebsseitigen Gelenkkoordinatenwerte und der zweiten Transformation ermittelten Pose der roboterfesten Referenz ermittelt wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erste und/oder zweite Transformation vorab mit verschiedenen Stellungen des Roboters und/oder mithilfe einer roboterexternen Messvorrichtung und/oder wenigstens einer bekannten robotergeführten Kalibrierlast ermittelt worden ist. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Parameter von einer Masse und/oder Schwerpunktlage der Last abhängt. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es während einer Applikation des Roboters und/oder bei stillstehendem Roboter und/oder mehrfach durchgeführt wird. Verfahren zum Steuern eines Roboters mit mehreren Gelenken, die jeweils durch einen Antrieb verstelllbar sind, welcher ein Getriebe aufweist, mit den Schritten:
- Ermitteln eines Parameters einer von dem Roboter getragenen Last mithilfe eines Verfahrens nach einem der vorhergehenden Ansprüche; und
- Steuern des Roboters auf Basis des ermittelten Parameters. System zum Ermitteln eines Parameters einer Last mithilfe eines die Last tragenden Roboters mit mehreren Gelenken, die jeweils durch einen Antrieb verstelllbar sind, insbesondere zum Steuern des Roboters, wobei das System zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist:
Mittel zum Ermitteln eines ein- oder mehrdimensionalen Parameters der Last auf Basis getriebeeintriebsseitiger Gelenkkoordinatenwerte (qije) und getriebeabtriebsseitiger Gelenkkoordinatenwerte der Gelenke (qi.a), die in einer ersten Stellung des Roboters ermittelt worden sind, sowie einer ersten Transformation zwischen getriebeeintriebsseitigen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz und einer zweiten Transformation zwischen getriebeabtriebsseitigen Gelenkkoordinaten und einer Pose der roboterfesten Referenz. Computerprogramm oder Computerprogrammprodukt, wobei das Computerprogramm oder Computerprogrammprodukt, insbesondere auf einem computerlesbaren und/oder nicht-flüchtigen Speichermedium gespeicherte, Anweisungen enthält, die bei der Ausführung durch einen oder mehrere Computer oder ein System nach Anspruch 8 den oder die Computer oder das System dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen.
PCT/EP2022/078660 2021-10-27 2022-10-14 Verfahren und system zum steuern eines lasttragenden roboters sowie zum ermitteln eines parameters der last des roboters WO2023072630A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021212128.4 2021-10-27
DE102021212128.4A DE102021212128B8 (de) 2021-10-27 2021-10-27 Verfahren und System zum Steuern eines lasttragenden Roboters sowie zum Ermitteln eines Parameters der Last des Roboters

Publications (1)

Publication Number Publication Date
WO2023072630A2 true WO2023072630A2 (de) 2023-05-04

Family

ID=84331232

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/078660 WO2023072630A2 (de) 2021-10-27 2022-10-14 Verfahren und system zum steuern eines lasttragenden roboters sowie zum ermitteln eines parameters der last des roboters

Country Status (2)

Country Link
DE (1) DE102021212128B8 (de)
WO (1) WO2023072630A2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022123243B3 (de) 2022-09-13 2024-03-14 Schaeffler Technologies AG & Co. KG Künstliche Intelligenz zur präzisen Bestimmung von Ausgangsdrehmomenten kollaborativer Roboter

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009032278B4 (de) 2009-07-08 2021-03-04 Kuka Roboter Gmbh Verfahren und eine Vorrichtung zum Betreiben eines Manipulators
DE102009054112A1 (de) 2009-11-20 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Planung und/oder Steuerung einer Roboterapplikation
DE112016001831B4 (de) 2015-05-21 2019-09-19 Kastanienbaum GmbH Verfahren und Vorrichtung zur Steuerung/Regelung eines aktorisch angetriebenen Robotergelenks
DE102016013083B4 (de) 2016-11-02 2021-07-22 Kuka Roboter Gmbh Kalibrieren eines Modells eines Prozess-Roboters und Betreiben eines Prozess-Roboters
DE102017003993B4 (de) 2017-04-25 2020-12-10 Kuka Deutschland Gmbh Kalibrierung eines Roboters
DE102019204564A1 (de) 2019-04-01 2020-10-01 Kuka Deutschland Gmbh Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft

Also Published As

Publication number Publication date
DE102021212128B8 (de) 2023-04-06
DE102021212128B3 (de) 2023-02-02

Similar Documents

Publication Publication Date Title
DE102016013731B4 (de) Robotersystem mit Funktionen zum Vereinfachen von Lehrvorgängen und Verbessern der Betriebsleistung durch Lernen
DE102018214257B3 (de) Roboterregelung
WO2023072630A2 (de) Verfahren und system zum steuern eines lasttragenden roboters sowie zum ermitteln eines parameters der last des roboters
DE102015001741A1 (de) Verfahren und System zum Betreiben einer mehrachsigen Maschine, insbesondere eines Roboters
DE112017000153T5 (de) Steuerparameter-Einstellvorrichtung
DE212018000291U1 (de) Kalibrierung eines Gelenklastsensors eines Roboters
DE102018209044B3 (de) Kraftregelung eines Roboters
WO2020200717A1 (de) Ermitteln eines parameters auf einen roboter wirkenden kraft
WO2017220199A1 (de) Konfigurieren und/oder steuern einer roboteranordnung
EP3367185A1 (de) Antriebssystem und dessen beurteilung
DE102016013083B4 (de) Kalibrieren eines Modells eines Prozess-Roboters und Betreiben eines Prozess-Roboters
EP3438773A1 (de) Bearbeitung von werkstücken mit modellgestützter fehlerkompensation
DE102019007382A1 (de) Numerische Steuerung
DE102009040194B4 (de) Verfahren zur Kraftregelung
DE102019219930B3 (de) Verfahren und System zum Steuern eines Roboters
EP3703914A1 (de) Verfahren und steuermittel zum steuern einer roboteranordnung
EP3710207B1 (de) Qualitätssicherung eines prozesses
DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
DE102012206503B4 (de) Verfahren zur Kraftregelung
DE102018208088A1 (de) Verfahren und Steuerung zum Steuern eines Roboters
WO2019243128A1 (de) Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose
WO2023072631A2 (de) Verfahren und system zum betreiben eines roboters
DE102019213676B3 (de) Robotersteuerung
DE102021204579A1 (de) Verfahren zum Positionieren eines Stanzniet-Setzwerkzeugs mittels eines Roboters
DE102018209219A1 (de) Handführen eines Roboters

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22801812

Country of ref document: EP

Kind code of ref document: A2