DE102021201024B3 - Method and system for operating a robot - Google Patents

Method and system for operating a robot Download PDF

Info

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
Application number
DE102021201024.5A
Other languages
German (de)
Inventor
Vincenzo Schettino
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
Priority to DE102021201024.5A priority Critical patent/DE102021201024B3/en
Application granted granted Critical
Publication of DE102021201024B3 publication Critical patent/DE102021201024B3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • 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/39062Calculate, 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 DE 10 2019 219 930 B3 bekanntes Verfahren zum Durchführen einer Aufgabe durch einen Roboter unter Berücksichtigung einer virtuellen Einschränkung, umfasst die Schritte: Überwachen auf einen Konflikt zwischen einer ersten Aufgabe und einer ersten virtuellen Einschränkung in einem ersten Betriebsmodus; und Umschalten des Roboters in einen zweiten Betriebsmodus, falls bei dem Überwachen ein Konflikt detektiert wird.one from the DE 10 2019 219 930 B3 known method for performing a task by a robot considering a virtual constraint, comprising the steps of: monitoring for a conflict between a first task and a first virtual constraint in a first mode of operation; and switching the robot to a second mode of operation if a conflict is detected in the monitoring.

Bei einem aus der DE 10 2018 214 257 B3 bekannten Verfahren zur Regelung eines Roboters wird wenigstens ein Gelenkregler zur Verstellung eines Gelenks des Roboters auf Basis einer Pose des Roboters und einer vorgegebenen Kraft- und Positions-Gewichtung wenigstens eines kartesischen Freiheitsgrades einer roboterfesten Referenz verstellt.At one from the DE 10 2018 214 257 B3 known method for controlling a robot, at least one joint controller for adjusting a joint of the robot is adjusted on the basis of a pose of the robot and a predetermined force and position weighting of at least one Cartesian degree of freedom of a robot-fixed reference.

Bei einem aus der DE 10 2018 210 864 B3 bekannten Verfahren zum Regeln eines Roboters auf Basis einer Jacobimatrix, die Gelenkgeschwindigkeiten des Roboters in eine Geschwindigkeit einer roboterfesten Referenz in einem Arbeitsraum des Roboters transformiert, wird der Roboter auf Basis einer Inversen der Jacobimatrix geregelt, falls ein Auswahlparameter einen ersten Parameterwert aufweist, und auf Basis einer Transponierten der Jacobimatrix geregelt, falls der Auswahlparameter einen zweiten Parameterwert aufweist.At one from the DE 10 2018 210 864 B3 known methods for controlling a robot on the basis of a Jacobian matrix, which transforms the joint speeds of the robot into a speed of a robot-fixed reference in a workspace of the robot, the robot is controlled on the basis of an inverse of the Jacobian matrix if a selection parameter has a first parameter value, and on the basis controlled by a transpose of the Jacobian matrix if the selection parameter has a second parameter value.

Ein aus der DE 10 2017 010 244 A1 bekanntes Verfahren zum Steuern einer Roboteranordnung mit wenigstens einem Roboterarm weist die Schritte auf: primäres Ermitteln einer Trajektorie im Achsraum der Roboteranordnung auf Basis einer Bahn mit einer Mehrzahl vorab vorgegebener kartesischer Posen wenigstens einer roboteranordnungsfesten Referenz; primäres Ermitteln von Steuerwerten im Achsraum auf Basis dieser Trajektorie; und Steuern der Roboteranordnung auf Basis dieser Steuerwerte.one from the DE 10 2017 010 244 A1 A known method for controlling a robot arrangement with at least one robot arm has the steps: primarily determining a trajectory in the axis space of the robot arrangement on the basis of a path with a plurality of Cartesian poses predetermined in advance at least one reference fixed to the robot arrangement; primarily determining control values in the axle space based on this trajectory; and controlling the robot assembly based on these control values.

Die DE 10 2014 222 809 B3 betrifft ein Verfahren und ein System zum Steuern eines Roboters, welcher mindestens einen redundanten Freiheitsgrad hat, wobei durch das Verfahren verhindert wird, dass der Roboter aufgrund seiner Redundanz mit der Umgebung kollidiert und/oder in eine ungünstige Position gerät, ohne dass der Werkzeugmittelpunkt nachteilhaft verfahren wird.the DE 10 2014 222 809 B3 relates to a method and a system for controlling a robot, which has at least one redundant degree of freedom, the method preventing the robot from colliding with the environment due to its redundancy and/or getting into an unfavorable position, without the tool center moving disadvantageously will.

Die DE 10 2007 059 480 B4 betrifft ein Verfahren zur Posenüberwachung eines Manipulators mit den Schritten: a) Bestimmen zulässiger Posen des Manipulators in seinem Arbeitsraum; b) Transformieren dieser zulässigen Posen in zulässige Bereiche im Koordinatenraum des Manipulators; c) Prüfen, ob in einer zu prüfenden Pose wenigstens eine Gelenkkoordinate des Manipulators außerhalb dieser zulässigen Bereiche liegt; und d) Ausgeben einer Meldung, die angibt, ob wenigstens eine Gelenkkoordinate des Manipulators außerhalb der zulässigen Bereiche liegt. the DE 10 2007 059 480 B4 relates to a method for pose monitoring of a manipulator with the steps: a) determining permissible poses of the manipulator in its working space; b) transforming these legal poses into legal regions in the coordinate space of the manipulator; c) checking whether in a pose to be checked at least one joint coordinate of the manipulator is outside of these permissible ranges; and d) issuing a message indicating whether at least one joint coordinate of the manipulator is outside the permissible ranges.

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.
According to one embodiment of the present invention, a method for operating a robot comprises the steps, repeated several times in one embodiment:
  • - 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: q d = d q d / dt = [ d q s / dt+ ( J W ) # ( s d x d / dt J ( d q s / dt ) ) ] ,

Figure DE102021201024B3_0001
zu deren grundsätzlicher Struktur bzw. deren grundsätzlichem Aufbau auf Gl. (13) in diesem Aufsatz Bezug genommen wird. Dabei bezeichnet J die Jacobimatrix, qd die zu ermittelnden Achskoordinaten, dqd/dt (im Aufsatz: q̇SNS) deren erste Zeitableitung, dqs/dt (im Aufsatz: q̇N) die erste Zeitableitung derjenigen Achskoordinaten, die zur Einhaltung der Grenzen auf entsprechende Grenzwerte gesetzt werden (vgl. insbesondere den Algorithmus 1 im Aufsatz), W die Matrix, die diese Achskoordinaten qs bzw. Zeitableitung, dqs/dt aus den qd bzw. dqd/dt selektiert, s einen entsprechenden Skalierungsfaktor zur Reduzierung der Geschwindigkeit, dxd/dt (im Aufsatz: x) eine erste Zeitableitung der vorgegebenen Pose und # eine (Pseudo-)Inverse, nicht notwendigerweise die im Aufsatz verwendete. Die hier verwendete erste Zeitableitung der vorgegebenen Pose wird in einer Ausführung auf Basis der Differenz zwischen der vorgegebenen Pose und einer Pose, die mittels der Transformation aus den Achskoordinaten ermittelt wird, ermittelt, in einer Ausführung mittels Multiplikation mit einer Verstärkungsmatrix K (dxd/dt = K·(xd - F(q))).In one embodiment, the axis coordinates q d are determined according to the following equation or equation structure: q i.e = i.e q i.e / German = [ i.e q s / dt+ ( J W ) # ( s i.e x i.e / German J ( i.e q s / German ) ) ] ,
Figure DE102021201024B3_0001
for their basic structure or their basic structure on Eq. (13) is referred to in this paper. J denotes the Jacobian matrix, q d the axis coordinates to be determined, dq d /dt (in the essay: q̇ SNS ) its first time derivative, dq s /dt (in the essay: q̇ N ) the first time derivative of those axis coordinates that are required to comply with the limits be set to corresponding limit values (cf. in particular Algorithm 1 in the essay), W the matrix that contains these axis coordinates q s or time derivative, dq s /dt which q d or dq d /dt selects, s a corresponding scaling factor to reduce the speed, dx d /dt (in the essay: x) a first time derivative of the specified pose and # a (pseudo) inverse, not necessarily the one in the essay used. The first time derivative of the specified pose used here is determined in one embodiment on the basis of the difference between the specified pose and a pose that is determined from the axis coordinates by means of the transformation, in one embodiment by means of multiplication with an amplification matrix K (dx d /dt = K (x d - F(q))).

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.
According to one embodiment of the present invention, a system for operating, in particular controlling and/or monitoring, a robot, in particular hardware and/or software, in particular programming, is set up to carry out a method described here and/or has:
  • 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.
Further advantages and features emerge from the dependent claims and the exemplary embodiments. This shows, partially schematized:
  • 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.

1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung mit einem Roboter(arm) 1 und einer Steuerung 2 zum Steuern und/oder Überwachen dieses Roboter(arms) 1, die ein Verfahren nach einer Ausführung der vorliegenden Erfindung ausführt bzw. hierzu eingerichtet ist. 1 shows a system according to an embodiment of the present invention with a robot (arm) 1 and a controller 2 for controlling and/or monitoring this robot (arm) 1, which executes a method according to an embodiment of the present invention or is set up for this purpose.

2 zeigt ein Verfahren zum Betreiben des Roboters 1 nach einer Ausführung der vorliegenden Erfindung. 2 Fig. 1 shows a method of operating the robot 1 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 1 durch TCP angedeutet ist.In a step S10, a pose x d of a robot-fixed reference of the robot 1 is specified, which is 1 is indicated by TCP.

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 d q d / dt = d q s / dt+ ( J W ) # ( s d x d / dt J ( d q s / dt ) )

Figure DE102021201024B3_0002
im Block SNS ermittelten Zeitableitungen dqd/dt in der in 3 skizzierten Weise in einer Iterationsschleife zu den Achskoordinaten qd integriert, beispielsweise die neuen Achskoordinaten qd,i aus den Achskoordinaten qd,(i-1) der vorherigen Iterationsschleife, den Zeitableitungen (dqd/dt)i und einem Zeitinkrement Δt ermittelt, zum Beispiel qd,i = qd, (i-1) + (dqd/dt)i·Δt oder dergleichen. Dabei wird die Zeitableitung dxd/dt der vorgegebenen Pose mittels Multiplikation der Differenz zwischen der vorgegebenen Pose xd und einer Pose F(q), die mittels der Transformation aus den Achskoordinaten ermittelt wird, mit einer Verstärkungsmatrix K ermittelt (dxd/dt = K·(xd - F(q))). Durch die Skalierung s·xd/dt, (0 ≤ s ≤ 1) wird diese Zeitableitung reduziert, um vorgegebene Grenzen zu berücksichtigen bzw. einzuhalten. Entsprechend werden die Achskoordinaten qd auf Basis von Geschwindigkeiten dqd/dt, xd/dt und gegebenenfalls (dx/dt)d ermittelt.In this case, according to the above equation i.e q i.e / German = i.e q s / dt+ ( J W ) # ( s i.e x i.e / German J ( i.e q s / German ) )
Figure DE102021201024B3_0002
time derivatives dq d /dt determined in the block SNS in the in 3 integrated as outlined in an iteration loop to the axis coordinates q d , for example the new axis coordinates q d,i determined from the axis coordinates q d,(i-1) of the previous iteration loop, the time derivatives (dq d /dt) i and a time increment Δt, for example q d,i = q d, (i-1) + (dq d /dt) i *Δt or the like. The time derivative dx d /dt of the specified pose is determined by multiplying the difference between the specified pose x d and a pose F(q), which is determined using the transformation from the axis coordinates, with a gain matrix K (dx d /dt = K (x d - F(q))). This time derivation is reduced by the scaling s*x d /dt, (0≦s≦1) in order to take into account or comply with specified limits. Correspondingly, the axis coordinates q d are determined on the basis of speeds dq d /dt, x d /dt and, if applicable, (dx/dt) d .

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 3 gestrichelt angedeutet, insbesondere, indem diese zu K·(xd - F(q)) hinzuaddiert wird (dxd/dt = K·(xd - F(q) + (dx/dt)d).The iteration is terminated when a termination criterion is reached, for example reaching a predetermined maximum number of runs, falling below a predetermined tolerance for or due to the difference (x d −F(q)) or the like. In one embodiment, the iteration can also take into account a specified speed (dx/dt) d of the robot-fixed reference, as in 3 indicated by dashed lines, in particular by adding this to K (x d - F(q)) (dx d /dt = K (x d - F(q) + (dx/dt) d ).

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)

Verfahren zum Betreiben eines Roboters (1), mit den Schritten: 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; und Betreiben (S40) des Roboters auf Basis der ermittelten Achskoordinaten; wobei die Jacobimatrix auf Basis einer vorab kalibrierten Transformation ermittelt wird, die Achskoordinaten des Roboters auf eine Pose der roboterfesten Referenz abbildet, wobei Parameter der Transformation vorab mithilfe von Messungen an dem Roboter kalibriert worden sind.Method for operating a robot (1), comprising the steps: specifying (S10) at least one pose of a robot-fixed reference of the robot; determining (S20) a Jacobian matrix which maps axis speeds of the robot to speeds of the robot-fixed reference; determining (S30) axis coordinates of the robot on the basis of the specified pose and determined Jacobian matrix; and Operating (S40) the robot based on the determined axis coordinates; whereby the Jacobian matrix is determined on the basis of a previously calibrated transformation, maps the axis coordinates of the robot to a pose of the robot-fixed reference, with parameters of the transformation having been calibrated in advance using measurements on the robot. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Achskoordinaten des Roboters auf Basis von Geschwindigkeiten ermittelt werden und/oder dass die 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.procedure after claim 1 , characterized in that the axis coordinates of the robot are determined on the basis of speeds and / or that the axis coordinates of the robot under Considering predetermined limits for axis coordinates and / or time derivations of these coordinates and / or poses of the robot-fixed reference and / or time derivations of these poses are determined. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Achskoordinaten des Roboters auf Basis einer Reduzierung von Geschwindigkeiten ermittelt werden, um die vorgegebenen Grenzen zu berücksichtigen.procedure after claim 2 , characterized in that the axis coordinates of the robot are determined on the basis of a reduction in speeds in order to take into account the specified limits. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Achskoordinaten des Roboters auf Basis eines Saturation-in-the-Null-Space-Algorithmus ermittelt werden.Method according to one of the preceding claims, characterized in that the axis coordinates of the robot are determined on the basis of a saturation-in-the-null-space algorithm. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Betreiben ein Steuern und/oder Überwachen des Roboters (1) umfasst.Method according to one of the preceding claims, characterized in that the operation includes controlling and/or monitoring the robot (1). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Achskoordinaten iterativ und/oder mittels Integration ermittelt werden.Method according to one of the preceding claims, characterized in that the axis coordinates are determined iteratively and/or by means of integration. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Roboter auf Basis der ermittelten Achskoordinaten gesteuert und/oder überwacht wird.Method according to one of the preceding claims, characterized in that the robot is controlled and/or monitored on the basis of the determined axis coordinates. System zum Betreiben eines Roboters (1), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.System for operating a robot (1), which is set up to carry out a method according to one of the preceding claims. 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 1 bis 7.Computer program product with a program code, which is stored on a computer-readable medium, for carrying out a method according to one of the preceding Claims 1 until 7 .
DE102021201024.5A 2021-02-04 2021-02-04 Method and system for operating a robot Active DE102021201024B3 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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