DE102021201024B3 - Method and system for operating a robot - Google Patents
Method and system for operating a robot Download PDFInfo
- Publication number
- DE102021201024B3 DE102021201024B3 DE102021201024.5A DE102021201024A DE102021201024B3 DE 102021201024 B3 DE102021201024 B3 DE 102021201024B3 DE 102021201024 A DE102021201024 A DE 102021201024A DE 102021201024 B3 DE102021201024 B3 DE 102021201024B3
- Authority
- DE
- Germany
- Prior art keywords
- robot
- axis coordinates
- determined
- basis
- pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39062—Calculate, jacobian matrix estimator
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Ein Verfahren zum Betreiben, insbesondere Steuern und/oder Überwachen, eines Roboters (1) umfasst die Schritte:Vorgeben (S10) wenigstens einer Pose einer roboterfesten Referenz des Roboters;Ermitteln (S20) einer Jacobimatrix, die Achsgeschwindigkeiten des Roboters auf Geschwindigkeiten der roboterfesten Referenz abbildet;Ermitteln (S30) von Achskoordinaten des Roboters auf Basis der vorgegebenen Pose und ermittelten Jacobimatrix; undBetreiben (S40) des Roboters auf Basis der ermittelten Achskoordinaten;wobeidie Jacobimatrix auf Basis einer vorab kalibrierten Transformation ermittelt wird, die Achskoordinaten des Roboters auf eine Pose der roboterfesten Referenz abbildet;und/oderdie Achskoordinaten des Roboters unter Berücksichtigung von vorgegebenen Grenzen für Achskoordinaten und/oder Zeitableitungen dieser Koordinaten und/oder Posen der roboterfesten Referenz und/oder Zeitableitungen dieser Posen ermittelt werden.A method for operating, in particular controlling and/or monitoring, a robot (1) comprises the steps: Specifying (S10) at least one pose of a robot-fixed reference of the robot; Determining (S20) a Jacobian matrix, the axis speeds of the robot to speeds of the robot-fixed reference maps;determining (S30) axis coordinates of the robot on the basis of the specified pose and determined Jacobian matrix; andoperating (S40) the robot on the basis of the determined axis coordinates;wherein the Jacobian matrix is determined on the basis of a previously calibrated transformation that maps the axis coordinates of the robot to a pose of the robot-fixed reference;and/orthe axis coordinates of the robot, taking into account predetermined limits for axis coordinates and/or or time derivations of these coordinates and/or poses of the robot-fixed reference and/or time derivations of these poses are determined.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben, insbesondere Steuern und/oder Überwachen, eines Roboters, sowie ein System und ein Computerprogrammprodukt zur Durchführung des Verfahrens.The present invention relates to a method for operating, in particular controlling and/or monitoring, a robot, as well as a system and a computer program product for carrying out the method.
Roboter sollen häufig mit roboterfesten Referenzen, beispielsweise ihrem TCP, vorgegebene Posen anfahren bzw. einnehmen, insbesondere vorgegebene Bahnen abfahren, und/oder vorgegebene Begrenzungen einhalten, beispielsweise Achs- oder TCP-Geschwindigkeitsbegrenzungen einhalten.Robots are often intended to approach or assume specified poses, in particular follow specified paths, and/or comply with specified limits, for example axis or TCP speed limits, using robot-fixed references, for example their TCP.
Insbesondere hierzu ist es oft erforderlich, zu vorgegebenen Posen x der roboterfesten Referenz entsprechende Achskoordinaten q des Roboters zu ermitteln.For this purpose in particular, it is often necessary to determine axis coordinates q of the robot that correspond to predetermined poses x of the robot-fixed reference.
Während jedoch für vorgegebene Achskoordinaten q des Roboters mittels kalibrierter Transformationen F bereits mit hoher Präzision entsprechende reale Posen x = F(q) der roboterfesten Referenz prognostiziert werden können, ist bislang umgekehrt die Ermittlung von Achskoordinaten qd des Roboters so, dass dessen roboterfeste Referenz real eine vorgegebene Pose xd präzise einnimmt, schwierig, was den Betrieb, insbesondere die Steuerung und Überwachung, des Roboters beeinträchtigen kann.However, while corresponding real poses x = F(q) of the robot-fixed reference can already be predicted with high precision for given axis coordinates q of the robot by means of calibrated transformations F, the determination of axis coordinates q d of the robot has so far been done in such a way that its robot-fixed reference is real assuming a predetermined pose x d precisely is difficult, which can affect the operation, particularly the control and monitoring, of the robot.
Ein aus der
Bei einem aus der
Bei einem aus der
Ein aus der
Die
Die
Aufgabe der vorliegenden Erfindung ist es, den Betrieb, insbesondere die Steuerung und Überwachung, eines Roboters zu verbessern.The object of the present invention is to improve the operation, in particular the control and monitoring, of a robot.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8, 9 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.This object is achieved by a method having the features of claim 1. Claims 8, 9 protect a system or computer program product for carrying out a method described here. The dependent claims relate to advantageous developments.
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Betreiben eines Roboters die, in einer Ausführung mehrfach wiederholten, Schritte:
- - Vorgeben wenigstens einer Pose xd einer roboterfesten Referenz des Roboters;
- - Ermitteln einer Jacobimatrix J(q), die Achsgeschwindigkeiten dq/dt des Roboters auf Geschwindigkeiten dx/dt der roboterfesten Referenz abbildet, in einer Ausführung linear abbildet (dx/dt = ∂x/∂q.∂q/dt = J(q)· dq/dt);
- - Ermitteln von Achskoordinaten qd des Roboters auf Basis der vorgegebenen Pose und ermittelten Jacobimatrix, insbesondere mit der Maßgabe, dass die roboterfeste Referenz die vorgegebene Pose, insbesondere möglichst präzise, einnimmt bzw. aufweist, wenn der Roboter diese Achskoordinaten qd einnimmt bzw. aufweist; und
- - Betreiben, insbesondere also Steuern und/oder Überwachen, des Roboters auf Basis dieser ermittelten Achskoordinaten.
- - Specification of at least one pose x d of a robot-fixed reference of the robot;
- - Determination of a Jacobian matrix J(q), which maps axis speeds dq/dt of the robot to speeds dx/dt of the robot-fixed reference, in one embodiment linearly maps (dx/dt = ∂x/∂q.∂q/dt = J(q ) dq/dt);
- - Determination of axis coordinates q d of the robot on the basis of the specified pose and determined Jacobian matrix, in particular with the proviso that the robot-fixed reference assumes or has the specified pose, in particular as precisely as possible, when the robot assumes or has these axis coordinates q d ; and
- - Operating, ie in particular controlling and/or monitoring, the robot on the basis of these determined axis coordinates.
Nach einer Ausführung der vorliegenden Erfindung werden die Achskoordinaten des Roboters unter Berücksichtigung von vorgegebenen Grenzen für Achskoordinaten und/oder ersten und/oder höheren Zeitableitungen dq/dt, d2q/dt2,... dieser Koordinaten und/oder vorgegebenen Grenzen für Posen der roboterfesten Referenz und/oder ersten und/oder höheren Zeitableitungen dieser Posen dx/dt, d2x/dt2,... ermittelt, in einer Ausführung derart, dass diese Grenzen durch die ermittelten Achskoordinaten und/oder das Anfahren dieser ermittelten Achskoordinaten eingehalten werden.According to one embodiment of the present invention, the axis coordinates of the robot are calculated taking into account specified limits for axis coordinates and/or first and/or higher time derivatives dq/dt, d 2 q/dt 2 ,... of these coordinates and/or specified limits for poses the robot-fixed reference and/or first and/or higher time derivatives of these poses dx/dt, d 2 x/dt 2 ,... determined in one embodiment such that these limits are determined by the determined axis coordinates and/or the approach to these determined axis coordinates be respected.
Dem liegt insbesondere die Idee zugrunde, bereits auf der Ebene der inversen Kinematik bzw. Rückwärtstransformation solche Grenzen zu berücksichtigen bzw. einzuhalten. Dadurch kann in einer Ausführung der Betrieb des Roboters verbessert, insbesondere sicherer und/oder effizienter durchgeführt, werden.In particular, this is based on the idea of already considering or complying with such limits at the level of the inverse kinematics or reverse transformation. As a result, in one embodiment, the operation of the robot can be improved, in particular carried out more safely and/or more efficiently.
In einer Ausführung werden die Achskoordinaten des Roboters auf Basis von Geschwindigkeiten ermittelt. Dadurch können in einer Ausführung Jacobimatrizen besonders vorteilhaft genutzt werden.In one embodiment, the axis coordinates of the robot are determined on the basis of speeds. As a result, Jacob matrices can be used particularly advantageously in one embodiment.
In einer Ausführung werden die Achskoordinaten des Roboters auf Basis einer Reduzierung von Geschwindigkeiten ermittelt, um die vorgegebenen Grenzen zu berücksichtigen. In einer Weiterbildung werden bei einem iterativen Ermitteln der Achskoordinaten qd diejenigen Achskoordinaten qs, die zu einer Verletzung der Grenzen führen würden, soweit reduziert, dass die Grenzen, insbesondere gerade noch, eingehalten werden, insbesondere auf entsprechende Grenzwerte gesetzt, und in einer Weiterbildung die anderen Achskoordinaten entsprechend reduziert. Dadurch kann in einer Ausführung der Betrieb des Roboters verbessert, insbesondere sicherer und/oder effizienter durchgeführt, werden.In one embodiment, the axis coordinates of the robot are determined on the basis of a speed reduction in order to take the specified limits into account. In a development, in an iterative determination of the axis coordinates q d , those axis coordinates q s that would lead to a violation of the limits are reduced to such an extent that the limits are, in particular, just kept, in particular set to corresponding limit values, and in a development the other axis coordinates are reduced accordingly. As a result, in one embodiment, the operation of the robot can be improved, in particular carried out more safely and/or more efficiently.
In einer Weiterbildung werden die Achskoordinaten des Roboters auf Basis eines Saturation-in-the-Null-Space-Algorithmus (SNS-Algorithmus) ermittelt, insbesondere um die vorgegebenen Grenzen zu berücksichtigen, wie er beispielsweise in dem Aufsatz F. Flacco, A. De Luca, O. Khatib, Motion Control of Redundant Robots under Joint Constraints: Saturation in the Null Space, 2012 IEEE International Conference on Robotics and Automation, River Centre, Saint Paul, Minnesota, USA, May 14-18, 2012, S. 285-292 beschrieben ist, auf den ergänzend Bezug genommen und dessen Inhalt vollumfänglich in die vorliegende Offenbarung einbezogen wird.In a further development, the axis coordinates of the robot are determined on the basis of a saturation-in-the-null-space algorithm (SNS algorithm), in particular in order to take into account the specified limits, as described, for example, in the article by F. Flacco, A. De Luca, O. Khatib, Motion Control of Redundant Robots under Joint Constraints: Saturation in the Null Space, 2012 IEEE International Conference on Robotics and Automation, River Centre, Saint Paul, Minnesota, USA, May 14-18, 2012, p. 285 -292 is described, to which additional reference is made and the content of which is fully incorporated into the present disclosure.
In einer Ausführung werden die Achskoordinaten qd gemäß folgender Gleichung bzw. Gleichungsstruktur ermittelt:
Dadurch können in einer Ausführung die vorgegebenen Grenzen besonders effektiv in der inversen Kinematik berücksichtigt werden. Man erkennt insbesondere, dass dann, wenn keine Geschwindigkeiten zur Einhaltung der vorgegebenen Grenzen reduziert bzw. auf entsprechende Grenzwerte gesetzt werden müssen (s = 1; W = 0, qs = 0) die erste Zeitableitung dqd/dt der zu ermittelnden Achskoordinaten sich durch dqd/dt = J#̇·dxd/dt ergibt.As a result, in one embodiment, the specified limits can be taken into account particularly effectively in the inverse kinematics. It can be seen in particular that if no speeds have to be reduced or set to corresponding limit values to comply with the specified limits (s=1; W=0, q s =0), the first time derivative dq d /dt of the axis coordinates to be determined by dq d /dt = J #̇ dx d /dt.
Zusätzlich oder alternativ zu diesem Aspekt des Ermittelns der Achskoordinaten unter Berücksichtigung von vorgegebenen Grenzen wird nach einer Ausführung der vorliegenden Erfindung die Jacobimatrix auf Basis einer vorab kalibrierten Transformation ermittelt, die Achskoordinaten des Roboters auf eine Pose der roboterfesten Referenz abbildet. Diese Transformation ist in einer Ausführung eine absolutgenaue Transformation bzw. ein Transformation absolutgenaues Modell des Roboters.In addition or as an alternative to this aspect of determining the axis coordinates taking into account predetermined limits, according to one embodiment of the present invention, the Jacobian matrix is determined on the basis of a previously calibrated transformation that maps the robot's axis coordinates to a pose of the robot-fixed reference. In one embodiment, this transformation is an absolutely accurate transformation or an absolutely accurate model of the robot.
Dem liegt insbesondere die Idee zugrunde, dass durch die Verwendung einer vorab kalibrierten Transformation zum Ermitteln der Jacobimatrix die Präzision bereits auf dieser Ebene erhöht werden kann. Dadurch kann in einer Ausführung der Betrieb des Roboters verbessert, insbesondere sicherer und/oder genauer durchgeführt, werden.In particular, this is based on the idea that by using a pre-calibrated transformation to determine the Jacobian matrix, precision can already be increased at this level. As a result, in one embodiment, the operation of the robot can be improved, in particular carried out more safely and/or more precisely.
In einer Ausführung sind, insbesondere werden, Parameter dieser Transformation vorab mithilfe von Messungen an wenigstens einem (realen) Roboter, besonders bevorzugt dem zu betreibenden Roboter, kalibriert (worden). In einer Weiterbildung kann dazu ein Verfahren verwendet werden, wie es in der Dissertation U. Wiest, „Kinematische Kalibrierung von Industrierobotern“, PhD Thesis Computer Science, Universität Karlsruhe, 2001, beschrieben ist, auf die ergänzend Bezug genommen und deren Inhalt vollumfänglich in die vorliegende Offenbarung einbezogen wird. Allgemein sind bzw. werden in einer Ausführung mehrere Parameter p der Transformation F(q, p) → x vorab auf Basis einer Mehrzahl von vermessenen Posen xi und zugehörigen Achskoordinaten qi kalibriert, insbesondere derart, dass die Summe der Fehlerquadrate Σ(F(qi, p) - xi)2 minimiert wird.In one embodiment, parameters of this transformation are, in particular are, calibrated in advance using measurements on at least one (real) robot, particularly preferably the robot to be operated. In a further development, a method can be used as described in U. Wiest's dissertation, "KineMATIC CALIBRATION OF INDUSTRIAL ROBOTS", PhD Thesis Computer Science, University of Karlsruhe, 2001, to which additional reference is made and the content of which is fully included in the present disclosure is incorporated. In general, in one embodiment, several parameters p of the transformation F(q, p) → x are calibrated in advance on the basis of a plurality of measured poses x i and associated axis coordinates qi, in particular in such a way that the sum of the squared errors Σ(F(q i , p) - x i ) 2 is minimized.
Dadurch kann in einer Ausführung die Präzision verbessert werden.As a result, the precision can be improved in one embodiment.
In einer Ausführung werden die Achskoordinaten iterativ und/oder mittels Integration ermittelt, in einer Weiterbildung derart, dass auf Basis der Jabobimatrix, insbesondere auf Basis eines Saturation-in-the-Null-Space-Algorithmus, eine Zeitableitung der Achskoordinaten ermittelt und daraus mittels Integration die Achskoordinaten ermittelt werden, und/oder dass die Differenz zwischen der vorgegebenen Pose und der Pose, auf die die vorab kalibrierte Transformation die ermittelten Achskoordinaten abbildet, als Eingangswert einer Iterationsschleife verwendet wird. In einer Ausführung kann die Iteration auch noch eine vorgegebene Geschwindigkeit der roboterfesten Referenz berücksichtigen. Dieser Eingangswert, gegebenenfalls zuzüglich einer vorgegebenen Geschwindigkeit der roboterfesten Referenz, wird in einer Ausführung als erste Zeitableitung der vorgegebenen Pose in dem SNS-Algorithmus verwendet.In one embodiment, the axis coordinates are determined iteratively and/or by means of integration, in a further development such that a time derivation of the axis coordinates is determined on the basis of the Jabobi matrix, in particular on the basis of a saturation-in-the-null-space algorithm, and from this by means of integration the axis coordinates are determined, and/or that the difference between the specified pose and the pose on which the previously calibrated transformation maps the determined axis coordinates is used as the input value of an iteration loop. In one embodiment, the iteration can also take into account a predefined speed of the robot-fixed reference. In one embodiment, this input value, possibly plus a predefined speed of the robot-fixed reference, is used as the first time derivation of the predefined pose in the SNS algorithm.
In einer Ausführung wird in einer ersten Iterationsschleife bzw. einem ersten Iterationsdurchlauf ein Startwert für die zu ermittelnden Achskoordinaten durch die Transformation auf eine Pose der roboterfesten Referenz abgebildet. Auf Basis einer Differenz zwischen der vorgegebenen Pose der roboterfesten Referenz und dieser Pose, auf die die Transformation den Startwert für die zu ermittelnden Achskoordinaten abgebildet hat, wird eine erste Zeitableitung der vorgegebenen Pose ermittelt, in einer Ausführung mittels Multiplikation mit einer Matrix. Zu dieser ersten Zeitableitung wird in einer Ausführung noch eine vorgegebene Geschwindigkeit der roboterfesten Referenz hinzuaddiert. Dann werden mittels eines SNS-Algorithmus auf Basis dieser, gegebenenfalls durch die vorgegebene Geschwindigkeit der roboterfesten Referenz ergänzten, ersten Zeitableitung der vorgegebenen Pose Achsgeschwindigkeiten ermittelt und zu einem nächsten Iterationswert für die zu ermittelnden Achskoordinaten hochintegriert.In one embodiment, in a first iteration loop or a first iteration run, a starting value for the axis coordinates to be determined is mapped to a pose of the robot-fixed reference by the transformation. Based on a difference between the specified pose of the robot-fixed reference and this pose, on which the transformation has mapped the start value for the axis coordinates to be determined, a first time derivation of the specified pose is determined, in one embodiment by multiplication with a matrix. In one embodiment, a predetermined speed of the robot-fixed reference is added to this first time derivation. Then, using an SNS algorithm, axis speeds are determined on the basis of this first time derivative of the specified pose, possibly supplemented by the specified speed of the robot-fixed reference, and highly integrated to a next iteration value for the axis coordinates to be determined.
In einer oder mehreren weiteren Iterationsschleifen wird dann jeweils auf Basis einer Differenz zwischen der vorgegebenen Pose der roboterfesten Referenz und der Pose, auf die die Transformation den in der vorhergehenden Iterationsschleifen ermittelten Iterationswert für die zu ermittelnden Achskoordinaten in der aktuellen Iterationsschleife abbildet, eine neue erste Zeitableitung der vorgegebenen Pose ermittelt, in einer Ausführung mittels Multiplikation mit der Matrix. Dann werden mittels des SNS-Algorithmus auf Basis dieser, gegebenenfalls durch die vorgegebene Geschwindigkeit der roboterfesten Referenz ergänzten, ersten Zeitableitung der vorgegebenen Pose neue Achsgeschwindigkeiten ermittelt und zu einem neuen Iterationswert für die zu ermittelnden Achskoordinaten hochintegriert, der dann seinerseits in der nächsten Iterationsschleife als in der (dieser nächsten Schleife) vorhergehenden Iterationsschleife ermittelte Iterationswert für die zu ermittelnden Achskoordinaten verwendet wird.In one or more further iteration loops, based on a difference between the specified pose of the robot-fixed reference and the pose to which the transformation applies the iteration value determined in the previous iteration loops for the axis coordinates to be determined in of the current iteration loop, a new first time derivative of the specified pose is determined, in one embodiment by means of multiplication with the matrix. Then, using the SNS algorithm, new axis speeds are determined on the basis of this first time derivative of the specified pose, possibly supplemented by the specified speed of the robot-fixed reference, and highly integrated to a new iteration value for the axis coordinates to be determined, which in turn is then used in the next iteration loop as in the iteration value determined in the previous iteration loop (this next loop) is used for the axis coordinates to be determined.
In einer Ausführung wird diese Iteration bei Erreichen eines Abbruchkriteriums beendet, in einer Ausführung einer vorgegebenen Anzahl von Iterationsdurchläufen bzw. durchlaufenen Iterationsschleifen und/oder ein Unterschreiten einer vorgegebenen Toleranz für die vorstehend genannte Differenz zwischen der vorgegebenen Pose und der Pose, auf die die Transformation den in der vorhergehenden Iterationsschleife ermittelten Iterationswert für die zu ermittelnden Achskoordinaten abbildet.In one embodiment, this iteration is terminated when a termination criterion is reached, in one embodiment a predetermined number of iteration runs or iteration loops run through and/or a predetermined tolerance for the above-mentioned difference between the predetermined pose and the pose on which the transformation is based falls below a predetermined maps the iteration value determined in the previous iteration loop for the axis coordinates to be determined.
Ein Integrieren kann somit insbesondere darin bestehen, zu dem letzten Iterationswert für die zu ermittelnden Achskoordinaten die mit einem Zeitinkrement multiplizierten neuen Achsgeschwindigkeiten der aktuellen Iterationsschleife hinzuzuaddieren und dadurch den neuen Iterationswert für die zu ermittelnden Achskoordinaten zu erhalten.An integration can thus consist in particular of adding the new axis speeds of the current iteration loop, multiplied by a time increment, to the last iteration value for the axis coordinates to be determined and thereby obtaining the new iteration value for the axis coordinates to be determined.
Hierzu wird ergänzend Bezug auf B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, „Robotics: Modelling, Planning and Control“, Springer Science & Business Media (2010), insbesondere Kapitel 3, genommen und dessen Inhalt vollumfänglich in die vorliegende Offenbarung einbezogen.In addition, reference is made to B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, "Robotics: Modelling, Planning and Control", Springer Science & Business Media (2010), in particular Chapter 3, and its content in full included in the present disclosure.
Dadurch kann in einer Ausführung der Betrieb des Roboters verbessert, insbesondere sicherer, effizienter und/oder präziser durchgeführt, werden.As a result, in one embodiment, the operation of the robot can be improved, in particular carried out more safely, efficiently and/or more precisely.
Der Roboter weist in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, (Bewegungs)Achsen bzw. Gelenke, in einer Ausführung Drehachsen bzw. -gelenke, und/oder einen Roboterarm, insbesondere also einen Roboterarm mit wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, Gelenken, in einer Ausführung Drehgelenken, bzw. (Bewegungs-, insbesondere Dreh)Achsen auf, kann insbesondere ein solcher sein. Die roboterfeste Referenz ist in einer Ausführung ortsfest bezüglich eines distalen Glieds des Roboter(arm)s, kann insbesondere der TCP sein. Für solche Anwendungen ist die vorliegende Erfindung, insbesondere aufgrund der Kinematik und/oder Einsatzbedingungen, besonders geeignet.In one embodiment, the robot has at least three, in particular at least six, in one embodiment at least seven, (movement) axes or joints, in one embodiment rotary axes or joints, and/or a robot arm, in particular a robot arm with at least three in particular at least six, in one embodiment at least seven, joints, in one embodiment rotary joints or (movement, in particular rotary) axes, can in particular be such. In one embodiment, the robot-fixed reference is stationary with respect to a distal link of the robot (arm) and can in particular be the TCP. The present invention is particularly suitable for such applications, in particular due to the kinematics and/or conditions of use.
Eine Pose x weist in einer Ausführung eine ein-, zwei- oder dreidimensionale Position und/oder eine ein-, zwei- oder dreidimensionale Orientierung der roboterfesten Referenz auf. In einer Ausführung wird sie durch eine Robotersteuerung und/oder auf Basis einer vorgegebenen Aufgabe, insbesondere Bahn, und/oder manuellen Eingabe vorgegeben. Achskoordinaten qi, q = [q1,...,qn], hängen in einer Ausführung von der Pose der beiden Roboterglieder relativ zueinander ab, die durch die entsprechende Achse beweglich miteinander verbunden sind bzw. gegeneinander verstellt werden, können diese insbesondere direkt oder indirekt angeben. Achsgeschwindigkeiten hängen in einer Ausführung entsprechend von der Relativgeschwindigkeit der beiden Roboterglieder ab, können diese insbesondere direkt oder indirekt angeben.In one embodiment, a pose x has a one-, two- or three-dimensional position and/or a one-, two- or three-dimensional orientation of the robot-fixed reference. In one embodiment, it is specified by a robot controller and/or on the basis of a specified task, in particular a path, and/or manual input. Axis coordinates q i , q=[q 1 ,...,q n] depend in one embodiment on the pose of the two robot limbs relative to one another, which are movably connected to one another or adjusted relative to one another by the corresponding axis indicate directly or indirectly. In one embodiment, axis speeds depend on the relative speed of the two robot links, and in particular can indicate this directly or indirectly.
Wie vorstehend erwähnt, kann das Betreiben des Roboters insbesondere ein Steuern des Roboters und/oder ein Überwachen des Roboters umfassen, insbesondere sein wobei ein Steuern insbesondere ein Regeln sein kann.As mentioned above, the operation of the robot can in particular include controlling the robot and/or monitoring the robot, in particular controlling being able to be regulating in particular.
Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Betreiben, insbesondere Steuern und/oder Überwachen, eines Roboters, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- Mittel zum Vorgeben wenigstens einer Pose einer roboterfesten Referenz des Roboters;
- Mittel zum Ermitteln einer Jacobimatrix, die Achsgeschwindigkeiten des Roboters auf Geschwindigkeiten der roboterfesten Referenz abbildet;
- Mittel zum Ermitteln von Achskoordinaten des Roboters auf Basis der vorgegebenen Pose und ermittelten Jacobimatrix; und
- Mittel zum Betreiben, insbesondere Steuern und/oder Überwachen, des Roboters auf Basis der ermittelten Achskoordinaten; wobei
- das Mittel zum Ermitteln der Jacobimatrix Mittel zum Ermitteln der Jacobimatrix auf Basis einer vorab kalibrierten Transformation, die Achskoordinaten des Roboters auf eine Pose der roboterfesten Referenz abbildet, aufweist; und/oder
- das Mittel zum Ermitteln von Achskoordinaten Mittel zum Ermitteln von Achskoordinaten des Roboters unter Berücksichtigung von vorgegebenen Grenzen für Achskoordinaten und/oder Zeitableitungen dieser Koordinaten und/oder Posen der roboterfesten Referenz und/oder Zeitableitungen dieser Posen aufweist.
- means for specifying at least one pose of a robot-fixed reference of the robot;
- Means for determining a Jacobian matrix which maps axis speeds of the robot to speeds of the robot-fixed reference;
- Means for determining axis coordinates of the robot based on the specified pose and determined Jacobian matrix; and
- Means for operating, in particular controlling and/or monitoring, the robot on the basis of the determined axis coordinates; whereby
- the means for determining the Jacobian matrix comprises means for determining the Jacobian matrix based on a pre-calibrated transformation that maps axis coordinates of the robot to a pose of the robot-fixed reference; and or
- the means for determining axis coordinates has means for determining axis coordinates of the robot, taking into account predetermined limits for axis coordinates and/or time derivatives of these coordinates and/or poses of the robot-fixed reference and/or time derivatives of these poses.
In einer Ausführung weist das Mittel zum Ermitteln von Achskoordinaten des Roboters Mittel zum Ermitteln der Achskoordinaten des Roboters auf Basis eines Saturation-in-the-Null-Space-Algorithmus und/oder von Geschwindigkeiten auf, in einer Weiterbildung auf Basis einer Reduzierung von Geschwindigkeiten zur Berücksichtigung der vorgegebenen Grenzen.In one embodiment, the means for determining axis coordinates of the robot has means for determining the axis coordinates of the robot based on a saturation-in-the-null-space algorithm and/or speeds, in a further development based on a reduction in speeds Consideration of the given limits.
In einer Ausführung weist das System Mittel zum Kalibrieren von Parametern der Transformation vorab mithilfe von Messungen an wenigstens einem, insbesondere dem, Roboter auf.In one embodiment, the system has means for calibrating parameters of the transformation in advance using measurements on at least one robot, in particular the robot.
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), 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 Roboter betreiben kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nichtflüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.A means within the meaning of the present invention can be configured as hardware and/or software, in particular a processing unit, in particular a microprocessor unit (CPU), graphics card (GPU ) or the like, and/or one or more programs or program modules. The processing unit can be designed to process commands that are implemented as a program stored in a memory system, to acquire 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. The program can be designed in such a way that it embodies or is able to execute the methods described here, so that the processing unit can execute the steps of such methods and thus in particular can operate the robot. In one embodiment, a computer program product can have, in particular be a, in particular non-volatile, storage medium for storing a program or with a program stored thereon, with the execution of this program causing a system or a controller, in particular a computer, to execute a Method or one or more of its steps to perform.
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 one embodiment, 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.
In einer Ausführung weist das System den Roboter auf.In one implementation, the system includes the robot.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1 : ein System nach einer Ausführung der vorliegenden Erfindung; -
2 : ein Verfahren zum Betreiben des Roboters nach einer Ausführung der vorliegenden Erfindung; und -
3 : eine Iteration zum Ermitteln von Achskoordinaten des Roboters nach einer Ausführung der vorliegenden Erfindung.
-
1 : a system according to an embodiment of the present invention; -
2 Figure 1: a method of operating the robot according to an embodiment of the present invention; and -
3 : an iteration for determining axis coordinates of the robot according to an embodiment of the present invention.
In einem Schritt S10 wird eine Pose xd einer roboterfesten Referenz des Roboters 1 vorgegeben, die in
In einem Schritt S20 wird auf Basis einer Transformation F(q,p), deren Parameter p vorab kalibriert worden sind, eine Jacobimatrix J ermittelt, beispielsweise numerisch durch Differentiation (Japp = [F(q + Δq,p) - F(q,p)]/Δq). Sofern eine analytische Jacobimatrix der vorab kalibrierten Transformation zur Verfügung steht, kann vorzugsweise diese verwendet werden.In a step S20, a Jacobian matrix J is determined on the basis of a transformation F(q,p), the parameters p of which have been calibrated beforehand, for example numerically by differentiation (J app = [F(q + Δq,p) - F(q ,p)]/Δq). If an analytical Jacobian matrix of the previously calibrated transformation is available, this can preferably be used.
In einem Schritt S30 werden Achskoordinaten qd des Roboters 1 auf Basis eines Saturation-in-the-Null-Space-Algorithmus ermittelt, wie er grundsätzlich in dem vorstehend genannten Aufsatz erläutert ist, so dass vorgegebene Grenzen für Achskoordinaten und/oder Zeitableitungen dieser Koordinaten und/oder Posen der roboterfesten Referenz und/oder Zeitableitungen dieser Posen berücksichtigt bzw. eingehalten werden.In a step S30, axis coordinates q d of the robot 1 are determined on the basis of a saturation-in-the-null-space algorithm, as explained in principle in the above-mentioned article, so that predefined limits for axis coordinates and/or time derivatives of these coordinates and/or poses of the robot-fixed reference and/or time derivations of these poses are taken into account or adhered to.
Dabei werden die gemäß obiger Gleichung
Die Iteration wird bei Erreichen eines Abbruchkriteriums, beispielsweise Erreichen einer vorgegebenen maximalen Durchlaufzahl, Unterschreiten einer vorgegebenen Toleranz für bzw. durch die Differenz (xd - F(q)) oder dergleichen, abgebrochen. In einer Ausführung kann die Iteration auch noch eine vorgegebene Geschwindigkeit (dx/dt)d der roboterfesten Referenz berücksichtigen, wie in
Die solcherart ermittelten Achskoordinaten qd werden dann zum Steuern und/oder Überwachen des Roboters 1 verwendet (Schritt S40). Beispielsweise werden die Achsen entsprechend auf diese Achskoordinaten verstellt bzw. Achsantriebe entsprechend gesteuert, insbesondere geregelt.The axis coordinates q d determined in this way are then used to control and/or monitor the robot 1 (step S40). For example, the axes are correspondingly adjusted to these axis coordinates or axis drives are correspondingly controlled, in particular regulated.
BezugszeichenlisteReference List
- 11
- Roboter(arm)robot(arm)
- 22
- Steuerungsteering
- TCPTCP
- roboterfeste Referenzrobot-fixed reference
- q = [q1,...q6]q = [q1,...q6]
- Achskoordinatenaxis coordinates
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021201024.5A DE102021201024B3 (en) | 2021-02-04 | 2021-02-04 | Method and system for operating a robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021201024.5A DE102021201024B3 (en) | 2021-02-04 | 2021-02-04 | Method and system for operating a robot |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021201024B3 true DE102021201024B3 (en) | 2022-05-12 |
Family
ID=81256461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021201024.5A Active DE102021201024B3 (en) | 2021-02-04 | 2021-02-04 | Method and system for operating a robot |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102021201024B3 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014222809B3 (en) | 2014-11-07 | 2016-01-14 | Kuka Roboter Gmbh | Event-based redundancy angle configuration for articulated arm robots |
DE102007059480B4 (en) | 2007-12-11 | 2018-07-05 | Kuka Roboter Gmbh | Method and device for pose monitoring of a manipulator |
DE102017010244A1 (en) | 2017-11-03 | 2019-05-09 | Kuka Deutschland Gmbh | Method and control means for controlling a robot arrangement |
DE102018210864B3 (en) | 2018-07-02 | 2019-07-18 | Kuka Deutschland Gmbh | Method and system for controlling a robot |
DE102018214257B3 (en) | 2018-08-23 | 2019-08-01 | Kuka Deutschland Gmbh | robot control |
DE102019219930B3 (en) | 2019-12-18 | 2021-01-14 | Kuka Deutschland Gmbh | Method and system for controlling a robot |
-
2021
- 2021-02-04 DE DE102021201024.5A patent/DE102021201024B3/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007059480B4 (en) | 2007-12-11 | 2018-07-05 | Kuka Roboter Gmbh | Method and device for pose monitoring of a manipulator |
DE102014222809B3 (en) | 2014-11-07 | 2016-01-14 | Kuka Roboter Gmbh | Event-based redundancy angle configuration for articulated arm robots |
DE102017010244A1 (en) | 2017-11-03 | 2019-05-09 | Kuka Deutschland Gmbh | Method and control means for controlling a robot arrangement |
DE102018210864B3 (en) | 2018-07-02 | 2019-07-18 | Kuka Deutschland Gmbh | Method and system for controlling a robot |
DE102018214257B3 (en) | 2018-08-23 | 2019-08-01 | Kuka Deutschland Gmbh | robot control |
DE102019219930B3 (en) | 2019-12-18 | 2021-01-14 | Kuka Deutschland Gmbh | Method and system for controlling a robot |
Non-Patent Citations (3)
Title |
---|
FLACCO, Fabrizio ; DE LUCA, Alessandro ; KHATIB, Oussama: Motion control of redundant robots under joint constraints: Saturation in the null space. In: 2012 IEEE International Conference on Robotics and Automation, 14-18 May 2012, Saint Paul, MN, USA, 2012, S. 285-292. - ISBN 978-1-4673-1405-3. DOI: 10.1109/ICRA.2012.6225376. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6225376 [abgerufen am 2021-04-19] |
SICILIANO, Bruno [u.a.]: Differential kinematics and statics. In: Robotics : modelling, planning and control. London : Springer, 2010 (Advanced textbooks in control and signal processing). S. 105-160. - ISBN 978-1-84628-641-4. DOI: 10.1007/978-1-84628-642-1_3. URL: https://link.springer.com/content/pdf/10.1007%2F978-1-84628-642-1_3.pdf [abgerufen am 2021-04-22] |
WIEST, Ulrich: Kinematische Kalibrierung von Industrierobotern. Karlsruhe, 2001. 111 S. - Karlsruhe, Univ., Diss., 2001 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2815855B1 (en) | Monitoring of a kinematically redundant robot | |
DE112017008018B4 (en) | CALIBRATION DEVICE, CALIBRATION PROCEDURE AND CONTROL DEVICE | |
DE102015107436B4 (en) | Trainable path control | |
DE102018214257B3 (en) | robot control | |
DE102018200240B4 (en) | Robot control device | |
DE102019205651B3 (en) | Method and system for carrying out robot applications | |
WO2017129352A1 (en) | Method and system for the path planning of a redundant robot | |
EP2983869A1 (en) | Method and arrangement for correcting positional errors of a kinematic system, corresponding computer program and corresponding computer-readable storage medium | |
DE102018210864B3 (en) | Method and system for controlling a robot | |
DE102018133349A1 (en) | Method and device for moment estimation | |
EP3685969A1 (en) | Computer-aided optimization of a numerically controlled machining of a workpiece | |
DE102018112370B4 (en) | Directional collision detection for a robot manipulator | |
DE102015009892A1 (en) | Method and system for controlling a robot | |
DE102019134665B3 (en) | Calibrating a virtual force sensor of a robot manipulator | |
DE102012022190B4 (en) | Inverse kinematics | |
DE102020209866B3 (en) | Method and system for operating a robot | |
DE102018209044B3 (en) | Force control of a robot | |
DE102021201024B3 (en) | Method and system for operating a robot | |
DE102016013083B4 (en) | Calibrate a model of a process robot and operate a process robot | |
DE102021212128B3 (en) | 16 Method and system for controlling a load-carrying robot and for determining a parameter of the load of the robot | |
DE102019219930B3 (en) | Method and system for controlling a robot | |
DE112020007606B4 (en) | Robot control device | |
DE102009040194B4 (en) | Method for force control | |
DE102019202456A1 (en) | Method and system for performing a given task by a robot | |
DE102016004837C5 (en) | Control of an actuator-driven robot manipulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |