DE102019120157B3 - Verification of a mass model of a robot manipulator - Google Patents

Verification of a mass model of a robot manipulator Download PDF

Info

Publication number
DE102019120157B3
DE102019120157B3 DE102019120157.8A DE102019120157A DE102019120157B3 DE 102019120157 B3 DE102019120157 B3 DE 102019120157B3 DE 102019120157 A DE102019120157 A DE 102019120157A DE 102019120157 B3 DE102019120157 B3 DE 102019120157B3
Authority
DE
Germany
Prior art keywords
robot manipulator
reference point
robot
gravity vector
mass model
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
DE102019120157.8A
Other languages
German (de)
Inventor
Andreas Spenninger
Saskia Golz
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.)
Franka Emika GmbH
Original Assignee
Franka Emika 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 Franka Emika GmbH filed Critical Franka Emika GmbH
Priority to DE102019120157.8A priority Critical patent/DE102019120157B3/en
Priority to PCT/EP2020/070913 priority patent/WO2021013975A1/en
Application granted granted Critical
Publication of DE102019120157B3 publication Critical patent/DE102019120157B3/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/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39194Compensation gravity
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40124During manipulator motion, sensor feedback to adapt model in memory
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40527Modeling, identification of link parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Verifizieren eines Massemodells eines Robotermanipulators (1), mit den Schritten:- Durchführen (S1) einer Systemidentifikation zum Ermitteln des Massemodells,- Bereitstellen (S2) der Schätzung des lokalen Schwerkraftvektors,- Bewegen (S3) des Robotermanipulators (1) an eine Vielzahl vorgegebener Orte,- Ansteuern (S4) von Aktuatoren (3) des Robotermanipulators (1) mit einem Vorsteuersignal einer Schwerkraftkompensation basierend auf dem Massemodell und der Schätzung des Schwerkraftvektors,- Ermitteln (S5) einer Ableitung der Position des Robotermanipulators (1) durch eine Sensoreinheit (7),- Prüfen (S6), ob am jeweiligen der vorgegebenen Orte eine Ableitung der Position des Referenzpunktes ungleich null auftritt, und- Ausführen (S7) einer vorgegebenen Reaktion, wenn eine Ableitung des Referenzpunktes ungleich null auftritt.The invention relates to a method for verifying a mass model of a robot manipulator (1), with the following steps: - Carrying out (S1) a system identification to determine the mass model, - Providing (S2) the estimate of the local gravity vector, - Moving (S3) the robot manipulator ( 1) to a large number of predetermined locations, - control (S4) of actuators (3) of the robot manipulator (1) with a pre-control signal of a gravity compensation based on the mass model and the estimation of the gravity vector, - determination (S5) of a derivative of the position of the robot manipulator ( 1) by a sensor unit (7), - checking (S6) whether a derivation of the position of the reference point unequal to zero occurs at each of the predetermined locations, and- executing (S7) a predetermined reaction if a derivation of the reference point unequal to zero occurs.

Description

Die Erfindung betrifft ein Verfahren zum Verifizieren eines Massemodells eines Robotermanipulators und/oder einer Schätzung eines lokalen Schwerkraftvektors, sowie ein Robotersystem zum Verifizieren eines Massemodells eines Robotermanipulators des Robotersystems und/oder einer Schätzung eines lokalen Schwerkraftvektors.The invention relates to a method for verifying a mass model of a robot manipulator and / or an estimate of a local gravity vector, as well as a robot system for verifying a mass model of a robot manipulator of the robot system and / or an estimate of a local gravity vector.

Aus dem Stand der Technik sind diverse Robotersteuerungsvorrichtungen und Verfahren zum Verifizieren von Annahmen bekannt.Various robot control devices and methods for verifying assumptions are known from the prior art.

So betrifft die nachveröffentlichte DE 10 2019 101 595 B3 ein Verfahren zum Ermitteln einer Gewichtskraft und eines Schwerpunktes einer Last für einen Robotermanipulator, wobei der Robotermanipulator an einer Basis angeordnet ist und eine Vielzahl von Gliedern aufweist und die Glieder durch Gelenke miteinander verbunden und durch Aktuatoren an den Gelenken gegeneinander verschiebbar oder rotierbar sind, und wobei der Robotermanipulator einen Endeffektor zum Greifen der Last aufweist.So affects the post-published DE 10 2019 101 595 B3 a method for determining a weight force and a center of gravity of a load for a robot manipulator, wherein the robot manipulator is arranged on a base and has a plurality of members and the members are connected to one another by joints and are displaceable or rotatable relative to one another by actuators on the joints, and wherein the robot manipulator has an end effector for gripping the load.

Die ebenfalls nachveröffentlichte DE 10 2019 101 072 B3 betrifft ferner ein Verfahren zum Unterstützen eines manuellen Führens eines Robotermanipulators, wobei der Robotermanipulator eine Vielzahl von Gliedern aufweist und die Glieder durch Gelenke miteinander verbunden und durch Aktuatoren an den Gelenken gegeneinander rotierbar sind und wobei zumindest eine Teilmenge der Gelenke zueinander redundante Freiheitsgrade aufweist, sodass zumindest eine Teilmenge der Vielzahl der Glieder in einem Nullraum bewegbar ist.The also post-published DE 10 2019 101 072 B3 further relates to a method for supporting manual guidance of a robot manipulator, the robot manipulator having a plurality of links and the links being connected to one another by joints and being rotatable relative to one another by actuators on the joints and at least a subset of the joints having degrees of freedom redundant to one another so that at least a subset of the plurality of members is movable in a null space.

Außerdem betrifft die DE 10 2018 200 249 A1 eine Robotersteuerungsvorrichtung, umfassend: eine Parameterschätzungseinheit, die einen Roboter veranlasst, unter Schätzbedingungen zu arbeiten, die von einem Benutzer eingegeben werden, und die einen Lastparameter einer am Roboter angebrachten Last schätzt; eine Drehmomentberechnungseinheit, die die Betriebsdrehmomente der jeweiligen Gelenke des Roboters berechnet, die während der Schätzung des Lastparameters in Betrieb genommen werden; und eine Alarmeinheit, die den Benutzer alarmiert, wenn die Differenz zwischen dem Maximalwert und dem Minimalwert der Betriebsdrehmomente gleich oder kleiner als ein vorgegebener Schwellenwert ist.Also affects the DE 10 2018 200 249 A1 a robot control apparatus comprising: a parameter estimation unit that causes a robot to operate under estimation conditions input from a user and that estimates a load parameter of a load attached to the robot; a torque calculating unit that calculates the operating torques of the respective joints of the robot which are put into operation during the estimation of the load parameter; and an alarm unit that alerts the user when the difference between the maximum value and the minimum value of the operating torques is equal to or less than a predetermined threshold value.

Die DE 10 2016 008 866 A1 betrifft eine Robotersteuervorrichtung zum Steuern zumindest eines Aktors zum Bewegen einer Mehrzahl von Verbindungsgliedern, welche einen Roboter bilden, der fest auf einem Stützkörper installiert ist, aufweisend: eine Verbiegungsabschätzeinheit zum Abschätzen einer im Stützkörper unter dem Einfluss der auf den Roboter einwirkenden Schwerkraft entstehenden Verbiegung, wenn angenommen wird, dass ein Spitzenende des Roboters eine Zielposition und -stellung erreicht; eine Bewegungsbetragsberechnungseinheit zum Berechnen des Bewegungsbetrages des zumindest einen Aktors für eine Bewegung des Spitzenendes des Roboters zum Erreichen der Zielposition und -stellung auf Basis der Verbiegung des Stützkörpers, welche durch die Verbiegungsabschätzeinheit abgeschätzt ist; und eine Antriebseinheit zum Antrieb des zumindest einen Aktors auf Basis des durch die Bewegungsbetragsberechnungseinheit berechneten Bewegungsbetrages.The DE 10 2016 008 866 A1 relates to a robot control device for controlling at least one actuator for moving a plurality of connecting members which form a robot which is fixedly installed on a support body, comprising: a deflection estimation unit for estimating a deflection occurring in the support body under the influence of the force of gravity acting on the robot, when it is assumed that a tip end of the robot reaches a target position and posture; a movement amount calculating unit for calculating the movement amount of the at least one actuator for moving the tip end of the robot to reach the target position and posture based on the deflection of the support body estimated by the deflection estimating unit; and a drive unit for driving the at least one actuator on the basis of the movement amount calculated by the movement amount calculation unit.

Die DE 11 2016 002 797 T5 betrifft dagegen eine Kalibriervorrichtung, die dazu ausgebildet ist, nur eine solche externe Kraft zu extrahieren, die bei einem Werkzeugteil durch Kontakt mit einem Arbeitsobjekt erzeugt wird, und zwar bei einer mechanischen Vorrichtung, die dazu ausgebildet ist, eine Kraftsteuerung bei dem Werkzeugteil durchzuführen, das an einer Spitze der mechanischen Vorrichtung montiert ist und dazu ausgebildet ist, auf das Arbeitsobjekt zu wirken.The DE 11 2016 002 797 T5 relates, on the other hand, to a calibration device which is designed to extract only such external force that is generated in a tool part by contact with a work object, specifically in the case of a mechanical device which is designed to carry out force control in the tool part that is mounted on a tip of the mechanical device and is designed to act on the work object.

Schließlich betrifft die DE 10 2014 222 809 B3 ein Verfahren zum Steuern eines handgeführten mehrachsigen Manipulators, insbesondere Gelenkarmroboters, dessen Achsen mit Momentsensoren zur Erfassung der an den Achsen wirkenden Drehmomente versehen sind, wobei der Manipulator mindestens einen redundanten Freiheitsgrad hat, wobei der Manipulator einen Werkzeugmittelpunkt aufweist.Finally concerns the DE 10 2014 222 809 B3 a method for controlling a hand-held multi-axis manipulator, in particular an articulated arm robot, the axes of which are provided with torque sensors for detecting the torques acting on the axes, the manipulator having at least one redundant degree of freedom, the manipulator having a tool center point.

Die folgenden Informationen sind nicht notwendigerweise auf einen bestimmten Stand der Technik bezogen, sondern geben allgemeine Sichtweisen und Probleme der Robotik wieder:

  • Die Masse und insbesondere die Massenverteilung eines Robotermanipulators, wie eines Industrieroboters, stellen eine wichtige Basis für eine hochperformante und auch sichere Regelung des Robotermanipulators dar. Insbesondere für die Reglerauslegung oder auch für Kollisionsdetektionen ist die Masseverteilung über den Robotermanipulator idealerweise mit hoher Genauigkeit bekannt. Auch eine schwerkraftkompensierte Ansteuerung der Aktuatoren eines Robotermanipulators funktioniert typischerweise auf Basis eines Massemodells und der Kenntnis der aktuellen Pose des Robotermanipulators und auf Basis eines geschätzten Wertes und einer geschätzten Richtung der aktuellen Schwerkraft. In einer solchen schwerkraftkompensierten Ansteuerung wird dabei ein solches Moment durch die Aktuatoren erzeugt, das die Gesamtheit der Momente der Aktuatoren die auf den Robotermanipulator wirkende Schwerkraft neutralisiert, sodass sich der Robotermanipulator in einem künstlichen schwerelosen Feld befindet.
The following information does not necessarily relate to a specific state of the art, but rather reflects general views and problems of robotics:
  • The mass and especially the mass distribution of a robot manipulator, such as an industrial robot, represent an important basis for a high-performance and also safe control of the robot manipulator. The mass distribution via the robot manipulator is ideally known with a high degree of accuracy, particularly for controller design or for collision detection. A gravity-compensated control of the actuators of a robot manipulator typically works on the basis of a mass model and knowledge of the current pose of the robot manipulator and on the basis of an estimated value and an estimated direction of the current gravity. In such a gravity-compensated control, such a moment is generated by the actuators that the The totality of the moments of the actuators neutralizes the force of gravity acting on the robot manipulator, so that the robot manipulator is located in an artificial weightless field.

Vor diesem Hintergrund liegt nicht nur der Einfluss von Fehlern der modellierten Masseverteilung auf die Güte der Regelung des Robotermanipulators nahe, sondern auch der sicherheitsrelevante Aspekt der Genauigkeit der modellierten Masseverteilung. Es ist daher Aufgabe der Erfindung, die modellierte Masseverteilung zu verifizieren, und bei einem negativen Ergebnis der Verifikation eine entsprechende Reaktion auszuführen.Against this background, not only the influence of errors in the modeled mass distribution on the quality of the control of the robot manipulator is obvious, but also the safety-relevant aspect of the accuracy of the modeled mass distribution. It is therefore the object of the invention to verify the modeled mass distribution and to carry out a corresponding reaction in the event of a negative result of the verification.

Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.The invention results from the features of the independent claims. The dependent claims relate to advantageous developments and refinements.

Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Verifizieren eines Massemodells eines Robotermanipulators und/oder einer Schätzung eines lokalen Schwerkraftvektors, wobei der Robotermanipulator eine Vielzahl von durch Gelenke miteinander verbundenen Gliedern aufweist und an den Gelenken Aktuatoren zum Bewegen der Glieder gegeneinander angeordnet sind, aufweisend die Schritte:

  • - Durchführen einer statischen oder dynamischen Systemidentifikation durch eine Steuereinheit zum Ermitteln des Massemodells des Robotermanipulators,
  • - Bereitstellen der Schätzung des lokalen Schwerkraftvektors durch die Steuereinheit,
  • - Bewegen eines Referenzpunktes des Robotermanipulators an eine Vielzahl vorgegebener Orte und Stoppen des Referenzpunktes des Robotermanipulators an jedem der vorgegebenen Orte,
  • - Ansteuern der Aktuatoren des Robotermanipulators mit einem Vorsteuersignal einer Schwerkraftkompensation durch die Steuereinheit, nachdem der Referenzpunkt des Robotermanipulators an dem jeweiligen der vorgegebenen Orte gestoppt wurde, wobei das Vorsteuersignal auf dem Massemodell und der Schätzung des lokalen Schwerkraftvektors basiert,
  • - Ermitteln einer ersten oder höheren zeitlichen Ableitung der Position des Referenzpunktes des Robotermanipulators durch eine Sensoreinheit während des Ansteuerns der Aktuatoren mit dem Vorsteuersignal,
  • - Prüfen durch die Steuereinheit, ob am jeweiligen der vorgegebenen Orte eine erste oder höhere zeitliche Ableitung der Position des Referenzpunktes ungleich null auftritt, und
  • - Ausführen einer vorgegebenen Reaktion durch die Steuereinheit, wenn eine erste oder höhere zeitliche Ableitung des Referenzpunktes ungleich null auftritt.
A first aspect of the invention relates to a method for verifying a mass model of a robot manipulator and / or an estimate of a local gravity vector, wherein the robot manipulator has a plurality of links connected to one another by joints and actuators for moving the links against one another are arranged on the joints, having the Steps:
  • - Carrying out a static or dynamic system identification by a control unit to determine the mass model of the robot manipulator,
  • - Providing the estimation of the local gravity vector by the control unit,
  • Moving a reference point of the robot manipulator to a large number of predetermined locations and stopping the reference point of the robot manipulator at each of the predetermined locations,
  • - Controlling the actuators of the robot manipulator with a pre-control signal of a gravity compensation by the control unit after the reference point of the robot manipulator has been stopped at the respective predetermined location, the pre-control signal being based on the mass model and the estimation of the local gravity vector,
  • - Determination of a first or higher time derivative of the position of the reference point of the robot manipulator by a sensor unit while the actuators are being controlled with the pilot control signal,
  • - Check by the control unit whether a first or higher time derivative of the position of the reference point unequal to zero occurs at each of the predetermined locations, and
  • - Execution of a predetermined reaction by the control unit when a first or higher time derivative of the reference point occurs which is not equal to zero.

Die Schätzung des lokalen Schwerkraftvektors wird bevorzugt in einem Speicher der Steuereinheit abgespeichert, alternativ bevorzugt dazu wird sie durch Messung erzeugt, oder wiederum alternativ dazu von einem Anwender insbesondere aufgrund von Vorwissen eingegeben. Prinzipiell können die im Stand der Technik bekannten Verfahren zum Ermitteln des lokalen Schwerkraftvektors verwendet werden. Entscheidend ist, dass ein Startwert als „Schätzung“ des lokalen Schwerkraftvektors durch die Steuereinheit bereitgestellt wird, unabhängig davon woher dieser Startwert stammt. Der Begriff der Schätzung schließt dabei mit ein, dass auch eine Messung nur eine Näherung der Realität wiedergeben kann.The estimate of the local gravity vector is preferably stored in a memory of the control unit; alternatively, it is preferably generated by measurement, or again, alternatively, it is entered by a user, in particular on the basis of prior knowledge. In principle, the methods known in the prior art can be used to determine the local gravity vector. It is crucial that a start value is provided as an “estimate” of the local gravity vector by the control unit, regardless of where this start value comes from. The term “estimation” also means that a measurement can only represent an approximation of reality.

Die Systemidentifikation dient dazu, die Masseverteilung und daher letztendlich auch ein Massemodell des Robotermanipulators zu ermitteln. Die Masseverteilung ist dabei insbesondere von der Geometrie des Robotermanipulators abhängig, das heißt die Ausdehnung der jeweiligen Glieder und Gelenke des Robotermanipulators ist zu beachten. Wie sich die Masse über diese Ausdehnung der Glieder und Gelenke verteilt, gibt die Masseverteilung des Robotermanipulators an. Davon umfasst ist die Masse eines Endeffektors, sofern einer am distalen Ende des Robotermanipulators angeordnet ist, und andere verbleibende Lasten. Eine solche Systemidentifikation kann statisch oder dynamisch stattfinden. Im statischen Fall wird der Robotermanipulator in gewisse Posen verfahren und durch Ermittlung von Kräften und/oder Momenten auf den Robotermanipulator während des Verbleibs in einer jeweiligen Pose des Robotermanipulators wird die Masseverteilung über den Robotermanipulator ermittelt. Werden ausreichend viele statische Posen des Robotermanipulators angefahren und sind diese Posen ausreichend zueinander verschieden, bezüglich der jeweiligen Gelenkwinkel zueinander, so kann insbesondere durch Drehmomenterfassung an den Gelenken die Masseverteilung des Robotermanipulators ermittelt werden. In der dynamischen Systemidentifikation dagegen wird der Robotermanipulator im Gegensatz zu den stationären Posen des Robotermanipulators, in denen sich der Robotermanipulator in einer jeweiligen Ruhelage befindet, mit kommandierten Signalen vorgegebener Frequenzen angeregt. Bevorzugt wird ein sinusförmiges Signal auf den vorgesteuerten Kommandozweig eines Reglers des Robotermanipulators gegeben, wobei das sinusförmige Signal eines sich über die Zeitdauer des Signals ändernde Frequenz aufweist. Bevorzugt wird ein so genanntes „Chirp“ Signal verwendet, um so zu einem insbesondere linearen Modell einer Übertragungsfunktion oder einem linearen Zustandsraummodell des Robotermanipulators zu gelangen. Durch Vergleich dieses Eingangssignals mit einem Ausgangssignal (beispielsweise einer Position, einer Geschwindigkeit, oder einer Beschleunigung des Robotermanipulators) kann insbesondere im Frequenzbereich durch Ermitteln eines Ausgangsspektrums und eines Eingangsspektrums ein Frequenzgang ermittelt werden und mittels des Frequenzgangs die Parameter eines analytischen Modells angepasst werden, insbesondere mit der Methode der kleinsten Fehlerquadrate oder anderen Methoden der linearen und insbesondere nichtlinearen Optimierung. Die Parameter des analytischen Modells weisen dabei insbesondere die Masseparameter eines insbesondere diskretisierten Massemodells des Robotermanipulators auf. Bevorzugt werden für das analytische Modell die Newton-Euler-Gleichungen verwendet.The system identification is used to determine the mass distribution and therefore ultimately also a mass model of the robot manipulator. The mass distribution is particularly dependent on the geometry of the robot manipulator, that is, the expansion of the respective links and joints of the robot manipulator must be taken into account. The mass distribution of the robot manipulator indicates how the mass is distributed over this expansion of the limbs and joints. This includes the mass of an end effector, if one is arranged at the distal end of the robot manipulator, and other remaining loads. Such a system identification can take place statically or dynamically. In the static case, the robot manipulator is moved into certain poses and the mass distribution via the robot manipulator is determined by determining forces and / or moments on the robot manipulator while the robot manipulator remains in a particular pose. If a sufficient number of static poses of the robot manipulator are approached and if these poses are sufficiently different from one another with regard to the respective joint angles, then the mass distribution of the robot manipulator can be determined in particular by detecting torque at the joints. In the dynamic system identification, in contrast to the stationary poses of the robot manipulator, in which the robot manipulator is in a respective rest position, the robot manipulator is stimulated with commanded signals of predetermined frequencies. A sinusoidal signal is preferably sent to the pre-controlled command branch of a controller of the robot manipulator, the sinusoidal signal having a frequency that changes over the duration of the signal. A so-called “chirp” signal is preferably used in order to produce a particularly linear model of a transfer function or a linear state space model Robot manipulator to arrive. By comparing this input signal with an output signal (for example a position, a speed, or an acceleration of the robot manipulator), a frequency response can be determined in the frequency domain by determining an output spectrum and an input spectrum, and the parameters of an analytical model can be adjusted using the frequency response, in particular with the method of least squares or other methods of linear and especially non-linear optimization. The parameters of the analytical model have in particular the mass parameters of an in particular discretized mass model of the robot manipulator. The Newton-Euler equations are preferably used for the analytical model.

Letztendlich können die im Stand der Technik bekannten Verfahren zur Systemidentifikation verwendet werden, um die Masseverteilung über den Robotermanipulator zu bestimmen. Die so bestimmte Masseverteilung wird jedoch durch Reibungseffekte, nichtlineare Effekte, Messfehler, und andere störende prozessbedingte und auch zufällige Einflüsse nie vollständig der Realität entsprechen. Wird also der Robotermanipulator wie oben geschildert schwerkraftkompensiert angesteuert, so würde sich bei Nichtübereinstimmung der Realität mit dem Massemodell ein Drift des Robotermanipulators ergeben, und der Robotermanipulator würde sich wegen des Schwerkrafteinfluss oder wegen zu hoch gewählter Gegenmomente der Aktuatoren gegen den Schwerkrafteinfluss nicht mehr in seiner Ruhelage verbleiben. Dies nutzt der erste Aspekt der Erfindung und erfasst eine zeitliche Ableitung der Position des Referenzpunktes des Robotermanipulators, insbesondere eine Geschwindigkeit oder eine Beschleunigung des Referenzpunktes. Wird hierbei ein Wert ungleich null festgestellt, deutet dies auf ein fehlerhaftes Massemodell hin. Dann wird vorteilhaft eine entsprechende vorgegebene Reaktion durch die Steuereinheit ausgeführt.Finally, the methods known in the prior art for system identification can be used in order to determine the mass distribution via the robot manipulator. However, the mass distribution determined in this way will never fully correspond to reality due to friction effects, non-linear effects, measurement errors and other disruptive process-related and also random influences. If the robot manipulator is controlled gravity-compensated as described above, a drift of the robot manipulator would result if the reality did not match the mass model, and the robot manipulator would no longer be in its rest position because of the influence of gravity or because the counter-torques of the actuators against the influence of gravity are too high remain. This is used by the first aspect of the invention and detects a time derivative of the position of the reference point of the robot manipulator, in particular a speed or an acceleration of the reference point. If a value not equal to zero is determined here, this indicates a faulty mass model. A corresponding predetermined reaction is then advantageously carried out by the control unit.

Die erste oder höhere zeitliche Ableitung der Position des Referenzpunktes wird bevorzugt mittels einer Sensoreinheit erfasst. Die Sensoreinheit ist dabei je nachdem, welche Ableitung ermittelt wird, entsprechend ausgestaltet. Bevorzugt weisen die Gelenke des Robotermanipulators Positionssensoren auf. Durch eine erste zeitliche Ableitung der durch die Positionssensoren erfassten Gelenkwinkel wird eine jeweilige Gelenkgeschwindigkeit erhalten. Durch nochmalige, bevorzugt gefilterte, zeitliche Ableitung wird eine jeweilige Winkelbeschleunigung zwischen den Gliedern des Robotermanipulators erhalten. Alternativ dazu können Beschleunigungssensoren verwendet werden, um direkt die Winkelbeschleunigung zu erhalten.The first or higher time derivative of the position of the reference point is preferably recorded by means of a sensor unit. The sensor unit is designed accordingly depending on which derivative is determined. The joints of the robot manipulator preferably have position sensors. A respective joint speed is obtained from a first time derivative of the joint angles detected by the position sensors. A respective angular acceleration between the links of the robot manipulator is obtained by repeated, preferably filtered, time derivation. Alternatively, acceleration sensors can be used to obtain the angular acceleration directly.

Es ist eine vorteilhafte Wirkung der Erfindung, dass ein fehlerhaftes Massemodell eines Robotermanipulators zügig und ohne großen Aufwand erkannt wird und entsprechend darauf reagiert werden kann. Diese erhöht vorteilhaft die Zuverlässigkeit und Güte des Reglers und ferner auch die Sicherheit des Betriebs des Robotermanipulators.It is an advantageous effect of the invention that a faulty mass model of a robot manipulator is recognized quickly and without great effort and can be responded to accordingly. This advantageously increases the reliability and quality of the controller and also the safety of the operation of the robot manipulator.

Gemäß einer vorteilhaften Ausführungsform ist die vorgegebene Reaktion das Ausgeben einer visuellen, audiovisuellen oder akustischen Warnung. Vorteilhaft wird einem Anwender des Robotermanipulators dabei sehr zügig und intuitiv mitgeteilt, dass das Massemodell des Robotermanipulators im Bezug zur Schätzung des lokalen Schwerkraftvektors fehlerhaft ist.According to an advantageous embodiment, the predefined reaction is the output of a visual, audiovisual or acoustic warning. A user of the robot manipulator is advantageously informed very quickly and intuitively that the mass model of the robot manipulator is incorrect in relation to the estimation of the local gravity vector.

Gemäß einer weiteren vorteilhaften Ausführungsform ist die vorgegebene Reaktion das Anpassen des Massemodells und/oder der Schätzung des lokalen Schwerkraftvektors. Wird eine Bewegung des Robotermanipulators detektiert, insbesondere eine Beschleunigung des Robotermanipulators, so wird implizit damit auch automatisch darauf geschlossen, dass die schwerkraftkompensierte Ansteuerung des Robotermanipulators durch das Vorsteuersignal entweder aufgrund eines fehlerhaften Massemodells, das heißt einer nicht realitätsgetreu erfassten Masseverteilung des Robotermanipulators, oder durch eine fehlerhafte Schätzung des lokalen Schwerkraftvektors, oder durch Fehler sowohl in dem Massemodell als auch in der Schätzung des lokalen Schwerkraftvektors nicht wie gewünscht funktioniert. Die Schwerkraftkompensation erfolgt an der Vielzahl vorgegebener Orte nämlich lediglich durch eine Vorsteuerung, das heißt es wird kein geschlossener Regelkreis verwendet. Daher werden Fehler in der Vorsteuerung auch nicht ausgeglichen. Dadurch, dass das Ansteuern der Aktuatoren des Robotermanipulators mit einem Vorsteuersignal einer Schwerkraftkompensation durch die Steuereinheit an der Vielzahl vorgegebener Orte im jeweiligen Ruhezustand des Robotermanipulators erfolgt, kann wiederum das Verfahren des Robotermanipulators in die Vielzahl der vorgegebenen Orte für eine erneute und anpassende statische Systemidentifikation genutzt werden. Vorteilhaft wird dadurch das Verfahren der Verifikation gleich dazu genutzt, neue Daten für eine neue Systemidentifikation zu schaffen, wodurch es effizient möglich ist, das Massenmodell und/oder die Schätzung des lokalen Schwerkraftvektors anzupassen.According to a further advantageous embodiment, the predefined reaction is the adaptation of the mass model and / or the estimation of the local gravity vector. If a movement of the robot manipulator is detected, in particular an acceleration of the robot manipulator, it is implicitly concluded automatically that the gravity-compensated control of the robot manipulator by the pilot control signal is either due to a faulty mass model, i.e. a not realistically recorded mass distribution of the robot manipulator, or by a incorrect estimation of the local gravity vector, or due to errors in both the mass model and in the estimation of the local gravity vector does not work as desired. The gravity compensation takes place at the large number of predetermined locations, namely only by means of a pilot control, that is, no closed control loop is used. Therefore errors in the feedforward control are also not compensated. The fact that the actuators of the robot manipulator are controlled with a pre-control signal of a gravity compensation by the control unit at the large number of specified locations in the respective idle state of the robot manipulator means that the robot manipulator can in turn be used in the large number of specified locations for renewed and adapting static system identification . As a result, the verification method is advantageously used immediately to create new data for a new system identification, which makes it possible to efficiently adapt the mass model and / or the estimation of the local gravity vector.

Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Anpassen des Massemodells und/oder der Schätzung des lokalen Schwerkraftvektors durch Erzeugen und Lösen eines überbestimmten Gleichungssystems. Im Gleichungssystem entspricht eine jeweilige Zeile einem der vorgegebenen Orte, und die Variablen einer jeden Gleichung umfassen zumindest einen Masseparameter des Massemodells und einen jeweiligen dem jeweiligen Masseparameter zugeordneten Ortsvektor und die Schätzung des lokalen Schwerkraftvektors. Durch die überbestimmte Natur des Gleichungssystems kann insbesondere Prozessrauschen und Sensorrauschen ausgemittelt werden und somit ein genaueres Massemodell und/oder eine bessere Schätzung des lokalen Schwerkraftvektors erhalten werden. Je nach Anzahl der Gleichungen kann nur das Massemodell angepasst werden, oder auch, wenn ausreichend viele Gleichungen vorhanden sind, die Schätzung des lokalen Schwerkraftvektors angepasst werden, welche dann als weitere Unbekannte im Gleichungssystem behandelt wird.According to a further advantageous embodiment, the adaptation of the mass model and / or the estimation of the local gravity vector takes place by generating and solving an overdetermined system of equations. In the system of equations, each line corresponds to one of the specified locations, and the variables of each equation include at least one mass parameter of the Mass model and a respective position vector assigned to the respective mass parameter and the estimate of the local gravity vector. Due to the overdetermined nature of the system of equations, in particular process noise and sensor noise can be averaged out and thus a more precise mass model and / or a better estimate of the local gravity vector can be obtained. Depending on the number of equations, only the mass model can be adapted, or, if there are a sufficient number of equations, the estimate of the local gravity vector can be adapted, which is then treated as further unknowns in the equation system.

Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Bewegen des Referenzpunktes des Robotermanipulators an die Vielzahl vorgegebener Orte durch Ansteuern der Aktuatoren des Robotermanipulators durch die Steuereinheit.According to a further advantageous embodiment, the reference point of the robot manipulator is moved to the large number of predetermined locations by controlling the actuators of the robot manipulator by the control unit.

Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Bewegen des Referenzpunktes des Robotermanipulators an die Vielzahl vorgegebener Orte durch manuelles Führen des Robotermanipulators durch einen Anwender.According to a further advantageous embodiment, the reference point of the robot manipulator is moved to the plurality of predetermined locations by a user manually guiding the robot manipulator.

Gemäß einer weiteren vorteilhaften Ausführungsform umfasst der lokale Schwerkraftvektor nur den Betrag der lokal auf den Robotermanipulator wirkenden Schwerkraft. Der Betrag der auf den Robotermanipulator wirkenden Schwerkraft ist insbesondere der Betrag des Ortsfaktors, das heißt des lokalen Schwerkraftvektors. Ein möglicher Durchschnittswert über die verschiedenen Ortsfaktoren der Erde ist insbesondere 9,81 m/s2.According to a further advantageous embodiment, the local gravity vector comprises only the amount of the gravity acting locally on the robot manipulator. The amount of gravity acting on the robot manipulator is in particular the amount of the position factor, that is to say the local gravity vector. A possible average value over the various spatial factors on earth is in particular 9.81 m / s 2 .

Gemäß einer weiteren vorteilhaften Ausführungsform umfasst der lokale Schwerkraftvektor den Betrag und die Richtung der lokal auf den Robotermanipulator wirkenden Schwerkraft. Der lokal an einem Ort der Erde wirkende Schwerkraftvektor variiert über die Erde nicht nur betragsmäßig, sondern auch dessen Richtung zeigt nicht immer zum Mittelpunkt der mathematisch ideal als Referenzellipsoid modellierten Erde. So weist die Erde insbesondere in Äquatornähe einen größeren Umfang als über die Pole auf, zudem variiert die Dichte der Erde. Hinzu kommt, dass beim Aufstellen eines Robotermanipulators dieser nie mathematisch exakt zum lokalen Schwerkraftvektor orientiert wird. Durch Berücksichtigung der Richtung des lokalen Schwerkraftvektors werden gemäß dieser Ausführungsform vorteilhaft diese Unsicherheiten in Betracht gezogen.According to a further advantageous embodiment, the local gravity vector includes the amount and the direction of the gravity acting locally on the robot manipulator. The gravity vector acting locally at a place on earth not only varies in terms of amount, but also its direction does not always point to the center of the earth, mathematically ideally modeled as a reference ellipsoid. The earth has a larger circumference, especially near the equator, than over the poles, and the density of the earth varies. In addition, when a robot manipulator is set up, it is never mathematically precisely oriented to the local gravity vector. By taking into account the direction of the local gravity vector, these uncertainties are advantageously taken into account according to this embodiment.

Gemäß einer weiteren vorteilhaften Ausführungsform wird beim Prüfen, ob am jeweiligen der vorgegebenen Orte eine erste oder höhere zeitliche Ableitung der Position des Referenzpunktes ungleich null auftritt, ein Totbereich auf die erste oder höhere zeitliche Ableitung angewendet. Bevorzugt werden innerhalb des Totbereichs liegende Werte der Ableitung auf null abgebildet. Werte außerhalb des Totbereichs behalten dagegen bevorzugt ihren eigentlichen Wert, oder alternativ dazu bevorzugt beginnen bei Null genau an der Grenze zum Totbereich. Dies entspricht effektiv einem Grenzwert bezüglich der ersten höheren zeitlichen Ableitung der Position des Referenzpunktes, ab dem die Reaktion des Robotermanipulators durch die Steuereinheit stattfindet. Vorteilhaft wird mit dieser Ausführungsform erreicht, dass nur kleine Fehler im Massenmodell des Robotermanipulators und/oder in der Schätzung des lokalen Schwerkraftrektors vernachlässigt werden, und dass weithin vorteilhaft Sensorrauschen nicht unmittelbar zu der vorgegebenen Reaktion des Robotermanipulators durch die Steuereinheit führt.According to a further advantageous embodiment, when checking whether a first or higher time derivative of the position of the reference point unequal to zero occurs at the respective predetermined location, a dead zone is applied to the first or higher time derivative. Preferably, values of the derivative that are within the dead zone are mapped to zero. Values outside the dead zone, on the other hand, preferably retain their actual value, or alternatively, preferably start at zero exactly at the limit of the dead zone. This effectively corresponds to a limit value with regard to the first higher time derivative of the position of the reference point from which the reaction of the robot manipulator by the control unit takes place. With this embodiment it is advantageously achieved that only small errors in the mass model of the robot manipulator and / or in the estimation of the local gravity rectifier are neglected, and that sensor noise does not lead directly to the predetermined reaction of the robot manipulator by the control unit.

Ein weiterer Aspekt der Erfindung betrifft ein Robotersystem zum Verifizieren eines Massemodells eines Robotermanipulators des Robotersystems und/oder einer Schätzung eines lokalen Schwerkraftvektors, wobei der Robotermanipulator eine Vielzahl von durch Gelenke miteinander verbundenen Gliedern aufweist und an den Gelenken Aktuatoren zum Bewegen der Glieder gegeneinander angeordnet sind, wobei das Robotersystem eine Steuereinheit aufweist, die dazu ausgeführt ist,

  • - eine statische oder dynamische Systemidentifikation zum Ermitteln des Massemodells des Robotermanipulators durchzuführen,
  • - die Schätzung des lokalen Schwerkraftvektors bereitzustellen,
  • - die Aktuatoren des Robotermanipulators zum Bewegen eines Referenzpunktes des Robotermanipulators an eine Vielzahl vorgegebener Orte und Stoppen des Referenzpunktes des Robotermanipulators an jedem der vorgegebenen Orte anzusteuern, und
  • - die Aktuatoren mit einem Vorsteuersignal einer Schwerkraftkompensation anzusteuern, nachdem der Referenzpunkt des Robotermanipulators an dem jeweiligen der vorgegebenen Orte gestoppt wurde, wobei das Vorsteuersignal auf dem Massemodell und der Schätzung des lokalen Schwerkraftvektors basiert,
und wobei das Robotersystem eine Sensoreinheit aufweist, die zum Ermitteln einer ersten oder höheren zeitlichen Ableitung der Position des Referenzpunktes des Robotermanipulators ausgeführt ist, wobei die Steuereinheit dazu ausgeführt ist, zu prüfen, ob am jeweiligen der vorgegebenen Orte eine erste oder höhere zeitliche Ableitung der Position des Referenzpunktes ungleich null auftritt, und dazu ausgeführt ist,
eine vorgegebene Reaktion auszuführen, wenn eine erste oder höhere zeitliche Ableitung des Referenzpunktes ungleich null auftritt.A further aspect of the invention relates to a robot system for verifying a mass model of a robot manipulator of the robot system and / or an estimate of a local gravity vector, the robot manipulator having a plurality of links connected to one another by joints and actuators for moving the links against one another are arranged on the joints, wherein the robot system has a control unit which is designed to
  • - carry out a static or dynamic system identification to determine the mass model of the robot manipulator,
  • - provide the estimate of the local gravity vector,
  • - to control the actuators of the robot manipulator for moving a reference point of the robot manipulator to a plurality of predetermined locations and stopping the reference point of the robot manipulator at each of the predetermined locations, and
  • - to control the actuators with a pre-control signal of a gravity compensation after the reference point of the robot manipulator has been stopped at the respective predetermined location, the pre-control signal being based on the mass model and the estimate of the local gravity vector,
and wherein the robot system has a sensor unit which is designed to determine a first or higher temporal derivative of the position of the reference point of the robot manipulator, the control unit being designed to check whether a first or higher temporal derivative of the position at the respective predetermined location of the reference point occurs unequal to zero, and is designed to
execute a predefined reaction when a first or higher time derivative of the reference point not equal to zero occurs.

Vorteile und bevorzugte Weiterbildungen des vorgeschlagenen Robotersystems ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen Verfahren vorstehend gemachten Ausführungen.Advantages and preferred developments of the proposed robot system result from an analogous and analogous transfer of the statements made above in connection with the proposed method.

Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.Further advantages, features and details emerge from the following description, in which at least one exemplary embodiment is described in detail - possibly with reference to the drawing. Identical, similar and / or functionally identical parts are provided with the same reference symbols.

Es zeigen:

  • 1 ein Verfahren gemäß einem Ausführungsbeispiel der Erfindung, und
  • 2 ein zum Verfahren nach 1 zugehöriges Robotersystem gemäß dem Ausführungsbeispiel der Erfindung.
Show it:
  • 1 a method according to an embodiment of the invention, and
  • 2 one to the procedure after 1 associated robot system according to the embodiment of the invention.

Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.The representations in the figures are schematic and not to scale.

1 zeigt ein Verfahren zum Verifizieren eines Massemodells eines Robotermanipulators 1. Die Schätzung des lokalen Schwerkraftvektors wird dabei konstant beibehalten. Der Robotermanipulator 1 ist ein Industrieroboter und weist eine Vielzahl von durch Gelenke miteinander verbundenen Gliedern auf. An den Gelenken sind Aktuatoren 3 zum Bewegen der Glieder gegeneinander angeordnet, sowie Gelenkwinkelsensoren und auch Drehmomentsensoren einer Sensoreinheit 7 angeordnet. Die folgenden Verfahrensschritte werden auf einem Robotersystem 10, wie in 2 dargestellt, ausgeführt, sodass auch die 2 bezüglich der folgenden Beschreibung herangezogen werden kann. Die Schritte sind im einzelnen:

  • - Durchführen S1 einer statischen Systemidentifikation durch eine Steuereinheit 5 des Robotermanipulators 1 zum Ermitteln eines Massemodells des Robotermanipulators 1,
  • - Bereitstellen S2 einer Schätzung des lokalen Schwerkraftvektors durch die Steuereinheit 5, wobei die Schätzung in einem Speicher der Steuereinheit 5 abgelegt ist und der lokale Schwerkraftvektor den Betrag und die Richtung der lokal auf den Robotermanipulator 1 wirkenden Schwerkraft umfasst,
  • - Bewegen S3 eines Referenzpunktes am Endeffektor des Robotermanipulators 1 an eine Vielzahl vorgegebener Orte und Stoppen des Referenzpunktes des Robotermanipulators 1 an jedem der vorgegebenen Orte, wobei das Bewegen des Referenzpunktes des Robotermanipulators 1 an die Vielzahl vorgegebener Orte durch Ansteuern der Aktuatoren 3 des Robotermanipulators 1 durch die Steuereinheit 5 erfolgt,
  • - Ansteuern S4 der Aktuatoren 3 des Robotermanipulators 1 mit einem Vorsteuersignal einer Schwerkraftkompensation durch die Steuereinheit 5, nachdem der Referenzpunkt des Robotermanipulators 1 an dem jeweiligen der vorgegebenen Orte gestoppt wurde, wobei das Vorsteuersignal auf dem Massemodell und der Schätzung des lokalen Schwerkraftvektors basiert,
  • - Ermitteln S5 einer ersten Ableitung der Position des Referenzpunktes des Robotermanipulators 1 durch die Sensoreinheit 7 durch Ermitteln einer zeitlichen Ableitung der von den Gelenkwinkelsensoren jeweils ermittelten Gelenkwinkeln während des Ansteuerns der Aktuatoren 3 mit dem Vorsteuersignal,
  • - Prüfen S6 durch die Steuereinheit 5, ob am jeweiligen der vorgegebenen Orte eine erste zeitliche Ableitung der Position des Referenzpunktes ungleich null oberhalb eines Totbereichs auftritt, und
  • - Ausführen S7 einer vorgegebenen Reaktion durch die Steuereinheit 5, wenn die erste Ableitung des Referenzpunktes ungleich null auftritt, wobei die vorgegebene Reaktion das Ausgeben einer visuellen Warnung auf einer mit dem Robotermanipulator 1 verbundene Anzeigeeinheit (der Einfachheit halber nicht in 2 dargestellt) und das Anpassen des Massemodells umfasst. Das Anpassen des Massemodells erfolgt durch Erzeugen eines überbestimmten Gleichungssystems. In diesem Gleichungssystem ist eine jeweilige Zeile einem der vorgegebenen Orte zugeordnet, und die Variablen einer jeden Gleichung, nach denen das Gleichungssystem zu lösen ist, weisen zumindest einen Masseparameter und einen jeweiligen dem jeweiligen Masseparameter zugeordneten Ortsvektor auf.
1 Figure 11 shows a method for verifying a mass model of a robot manipulator 1 . The estimate of the local gravity vector is kept constant. The robot manipulator 1 is an industrial robot and has a large number of links connected to one another by joints. There are actuators on the joints 3 arranged for moving the limbs against each other, as well as joint angle sensors and also torque sensors of a sensor unit 7th arranged. The following procedural steps are performed on a robotic system 10 , as in 2 shown, executed so that the 2 can be used with regard to the following description. The steps are in detail:
  • - Carry out S1 a static system identification by a control unit 5 of the robot manipulator 1 to determine a mass model of the robot manipulator 1 ,
  • - Provide S2 an estimate of the local gravity vector by the control unit 5 , the estimate in a memory of the control unit 5 is stored and the local gravity vector is the amount and direction of the locally on the robot manipulator 1 includes acting gravity,
  • - move S3 a reference point on the end effector of the robot manipulator 1 to a large number of predetermined locations and stopping the reference point of the robot manipulator 1 at each of the given locations, moving the reference point of the robot manipulator 1 to the large number of predetermined locations by controlling the actuators 3 of the robot manipulator 1 through the control unit 5 he follows,
  • - Approach S4 the actuators 3 of the robot manipulator 1 with a pre-control signal of a gravity compensation by the control unit 5 after the reference point of the robot manipulator 1 was stopped at each of the specified locations, the pilot control signal being based on the mass model and the estimate of the local gravity vector,
  • - Determine S5 a first derivative of the position of the reference point of the robot manipulator 1 through the sensor unit 7th by determining a time derivative of the joint angles respectively determined by the joint angle sensors while the actuators are being activated 3 with the pilot signal,
  • - Check S6 through the control unit 5 whether a first time derivative of the position of the reference point unequal to zero above a dead area occurs at the respective of the specified locations, and
  • - To run S7 a predetermined reaction by the control unit 5 when the first derivative of the reference point is not equal to zero, the default response being outputting a visual warning on a robot manipulator 1 connected display unit (for the sake of simplicity not in 2 shown) and customizing the mass model. The mass model is adapted by generating an overdetermined system of equations. In this system of equations, a respective line is assigned to one of the predefined locations, and the variables of each equation according to which the system of equations is to be solved have at least one mass parameter and a respective location vector assigned to the respective mass parameter.

2 zeigt ein Robotersystem 10, um das Verfahren nach 1 auszuführen. Wie unter der Beschreibung zu 1 erwähnt weist das Robotersystem 10 eine Steuereinheit 5 auf, die dazu dient,

  • - die statische Systemidentifikation zum Ermitteln des Massemodells des Robotermanipulators 1 durchzuführen,
  • - die Schätzung des lokalen Schwerkraftvektors bereitzustellen,
  • - die Aktuatoren 3 des Robotermanipulators 1 zum Bewegen eines Referenzpunktes des Robotermanipulators 1 an die Vielzahl der vorgegebenen Orte und Stoppen des Referenzpunktes des Robotermanipulators 1 an jedem der vorgegebenen Orte anzusteuern, und
  • - die Aktuatoren 3 mit einem Vorsteuersignal einer Schwerkraftkompensation anzusteuern, nachdem der Referenzpunkt des Robotermanipulators 1 an dem jeweiligen der vorgegebenen Orte gestoppt wurde, wobei das Vorsteuersignal auf dem Massemodell und der Schätzung des lokalen Schwerkraftvektors basiert. In 2 ist dabei symbolisch durch die Strichelung der Pose in (B) dargestellt, die um 180° gedreht zur Pose in (A) ist, dass der Referenzpunkt des Robotermanipulators 1 an die Vielzahl der vorgegebenen Orte bewegt wird. Es werden möglichst verschiedene Posen angefahren, um die Masseverteilung besser schätzen zu können. Das Robotersystem 10 weist außerdem eine Sensoreinheit 7 mit Gelenkwinkelsensoren und auch mit Drehmomentsensoren auf, welche an den Gelenken des Robotermanipulators 1 angeordnet sind. Die Gelenkwinkelsensoren erfassen jeweilige Gelenkwinkel und die Steuereinheit 5 ermittelt durch Anwenden einer gefilterten Ableitung auf die Gelenkwinkel die Geschwindigkeit des Referenzpunktes des Endeffektors des Robotermanipulators 1. Ferner dient die Steuereinheit 5 dazu, zu prüfen, ob am jeweiligen der vorgegebenen Orte eine Geschwindigkeit des Referenzpunktes ungleich null auftritt, und führt bei einer solchen Geschwindigkeit ungleich null die unter der 1 aufgezählten Reaktionen aus.
2 shows a robotic system 10 to follow the procedure 1 execute. As below the description too 1 mentions the robot system 10 a control unit 5 which serves to
  • - the static system identification for determining the mass model of the robot manipulator 1 to carry out
  • - provide the estimate of the local gravity vector,
  • - the actuators 3 of the robot manipulator 1 for moving a reference point of the robot manipulator 1 to the multitude of specified locations and stopping the reference point of the robot manipulator 1 to go to each of the given locations, and
  • - the actuators 3 to control with a pre-control signal of a gravity compensation after the reference point of the robot manipulator 1 was stopped at the respective of the predetermined locations, the pilot control signal being based on the mass model and the estimate of the local gravity vector. In 2 is symbolically represented by the broken lines of the pose in (B), which is rotated by 180 ° to the pose in (A), that the reference point of the robot manipulator 1 is moved to the multitude of given locations. If possible, different poses are approached in order to better estimate the mass distribution. The robot system 10 also has a sensor unit 7th with joint angle sensors and also with torque sensors, which are attached to the joints of the robot manipulator 1 are arranged. The joint angle sensors detect the respective joint angles and the control unit 5 determines the speed of the reference point of the end effector of the robot manipulator by applying a filtered derivation to the joint angles 1 . The control unit is also used 5 is used to check whether a speed of the reference point not equal to zero occurs at the respective of the specified locations, and at such a speed not equal to zero results in the below the 1 listed reactions.

BezugszeichenlisteList of reference symbols

11
RobotermanipulatorRobotic manipulator
33
AktuatorenActuators
55
SteuereinheitControl unit
77th
SensoreinheitSensor unit
1010
Robotersystem Robotic system
S1S1
DurchführenCarry out
S2S2
BereitstellenProvide
S3S3
BewegenMove
S4S4
AnsteuernDrive
S5S5
ErmittelnDetermine
S6S6
PrüfenCheck
S7S7
AusführenTo run

Claims (10)

Verfahren zum Verifizieren eines Massemodells eines Robotermanipulators (1) und/oder einer Schätzung eines lokalen Schwerkraftvektors, wobei der Robotermanipulator (1) eine Vielzahl von durch Gelenke miteinander verbundenen Gliedern aufweist und an den Gelenken Aktuatoren (3) zum Bewegen der Glieder gegeneinander angeordnet sind, aufweisend die Schritte: - Durchführen (S1) einer statischen oder dynamischen Systemidentifikation durch eine Steuereinheit (5) zum Ermitteln des Massemodells des Robotermanipulators (1), - Bereitstellen (S2) der Schätzung des lokalen Schwerkraftvektors durch die Steuereinheit (5), - Bewegen (S3) eines Referenzpunktes des Robotermanipulators (1) an eine Vielzahl vorgegebener Orte und Stoppen des Referenzpunktes des Robotermanipulators (1) an jedem der vorgegebenen Orte, - Ansteuern (S4) der Aktuatoren (3) des Robotermanipulators (1) mit einem Vorsteuersignal einer Schwerkraftkompensation durch die Steuereinheit (5), nachdem der Referenzpunkt des Robotermanipulators (1) an dem jeweiligen der vorgegebenen Orte gestoppt wurde, wobei das Vorsteuersignal auf dem Massemodell und der Schätzung des lokalen Schwerkraftvektors basiert, - Ermitteln (S5) einer ersten oder höheren zeitlichen Ableitung der Position des Referenzpunktes des Robotermanipulators (1) durch eine Sensoreinheit (7) während des Ansteuerns der Aktuatoren (3) mit dem Vorsteuersignal, - Prüfen (S6) durch die Steuereinheit (5), ob am jeweiligen der vorgegebenen Orte eine erste oder höhere zeitliche Ableitung der Position des Referenzpunktes ungleich null auftritt, und - Ausführen (S7) einer vorgegebenen Reaktion durch die Steuereinheit (5), wenn eine erste oder höhere zeitliche Ableitung des Referenzpunktes ungleich null auftritt.A method for verifying a mass model of a robot manipulator (1) and / or an estimate of a local gravity vector, the robot manipulator (1) having a plurality of links connected to one another by joints and actuators (3) being arranged on the joints for moving the links against one another, comprising the steps: - Carrying out (S1) a static or dynamic system identification by a control unit (5) to determine the mass model of the robot manipulator (1), - providing (S2) the estimation of the local gravity vector by the control unit (5), - Moving (S3) a reference point of the robot manipulator (1) to a plurality of predetermined locations and stopping the reference point of the robot manipulator (1) at each of the predetermined locations, - Activation (S4) of the actuators (3) of the robot manipulator (1) with a pilot control signal of a gravity compensation by the control unit (5) after the reference point of the robot manipulator (1) has been stopped at the respective predetermined location, the pilot control signal on the mass model and the estimate of the local gravity vector, - Determination (S5) of a first or higher time derivative of the position of the reference point of the robot manipulator (1) by a sensor unit (7) while the actuators (3) are being controlled with the pilot signal, - Checking (S6) by the control unit (5) whether a first or higher time derivative of the position of the reference point unequal to zero occurs at each of the predetermined locations, and - Execution (S7) of a predetermined reaction by the control unit (5) when a first or higher time derivative of the reference point not equal to zero occurs. Verfahren nach Anspruch 1, wobei die vorgegebene Reaktion das Ausgeben einer visuellen, audiovisuellen oder akustischen Warnung ist.Procedure according to Claim 1 , wherein the predetermined response is the output of a visual, audio-visual or acoustic warning. Verfahren nach Anspruch 1, wobei die vorgegebene Reaktion das Anpassen des Massemodells und/oder der Schätzung des lokalen Schwerkraftvektors ist.Procedure according to Claim 1 , wherein the predetermined response is the adaptation of the mass model and / or the estimate of the local gravity vector. Verfahren nach Anspruch 3, wobei das Anpassen des Massemodells und/oder der Schätzung des lokalen Schwerkraftvektors durch Erzeugen und Lösen eines überbestimmten Gleichungssystems erfolgt und im Gleichungssystem eine jeweilige Zeile einem der vorgegebenen Orte entspricht, und die Variablen einer jeden Gleichung zumindest einen Masseparameter des Massemodells und einen jeweiligen dem jeweiligen Masseparameter zugeordneten Ortsvektor und die Schätzung des lokalen Schwerkraftvektors umfassen.Procedure according to Claim 3 , whereby the adaptation of the mass model and / or the estimation of the local gravity vector takes place by generating and solving an overdetermined system of equations and a respective line in the system of equations corresponds to one of the specified locations, and the variables of each equation have at least one mass parameter of the mass model and a respective one Include mass parameters assigned location vector and the estimate of the local gravity vector. Verfahren nach einem der Ansprüche 1 bis 4, wobei das Bewegen des Referenzpunktes des Robotermanipulators (1) an die Vielzahl vorgegebener Orte durch Ansteuern der Aktuatoren (3) des Robotermanipulators (1) durch die Steuereinheit (5) erfolgt.Method according to one of the Claims 1 to 4th , wherein moving the reference point of the robot manipulator (1) to the plurality of predetermined Places by controlling the actuators (3) of the robot manipulator (1) by the control unit (5). Verfahren nach einem der Ansprüche 1 bis 4, wobei das Bewegen des Referenzpunktes des Robotermanipulators (1) an die Vielzahl vorgegebener Orte durch manuelles Führen des Robotermanipulators (1) durch einen Anwender erfolgt.Method according to one of the Claims 1 to 4th , the reference point of the robot manipulator (1) being moved to the plurality of predetermined locations by a user manually guiding the robot manipulator (1). Verfahren nach einem der Ansprüche 1 bis 6, wobei der lokale Schwerkraftvektor nur den Betrag der lokal auf den Robotermanipulator (1) wirkenden Schwerkraft umfasst.Method according to one of the Claims 1 to 6th , the local gravity vector only including the amount of gravity acting locally on the robot manipulator (1). Verfahren nach einem der Ansprüche 1 bis 6, wobei der lokale Schwerkraftvektor den Betrag und die Richtung der lokal auf den Robotermanipulator (1) wirkenden Schwerkraft umfasst.Method according to one of the Claims 1 to 6th , wherein the local gravity vector comprises the amount and the direction of the gravity acting locally on the robot manipulator (1). Verfahren nach einem der vorhergehenden Ansprüche, wobei beim Prüfen, ob am jeweiligen der vorgegebenen Orte eine erste oder höhere zeitliche Ableitung der Position des Referenzpunktes ungleich null auftritt, ein Totbereich auf die erste oder höhere zeitliche Ableitung angewendet wird.Method according to one of the preceding claims, wherein when checking whether a first or higher time derivative of the position of the reference point unequal to zero occurs at each of the predetermined locations, a dead zone is applied to the first or higher time derivative. Robotersystem (10) zum Verifizieren eines Massemodells eines Robotermanipulators (1) des Robotersystems (10) und/oder einer Schätzung eines lokalen Schwerkraftvektors, wobei der Robotermanipulator (1) eine Vielzahl von durch Gelenke miteinander verbundenen Gliedern aufweist und an den Gelenken Aktuatoren (3) zum Bewegen der Glieder gegeneinander angeordnet sind, wobei das Robotersystem (10) eine Steuereinheit (5) aufweist, die dazu ausgeführt ist, - eine statische oder dynamische Systemidentifikation zum Ermitteln des Massemodells des Robotermanipulators (1) durchzuführen, - die Schätzung des lokalen Schwerkraftvektors bereitzustellen, - die Aktuatoren (3) des Robotermanipulators (1) zum Bewegen eines Referenzpunktes des Robotermanipulators (1) an eine Vielzahl vorgegebener Orte und Stoppen des Referenzpunktes des Robotermanipulators (1) an jedem der vorgegebenen Orte anzusteuern, und - die Aktuatoren (3) mit einem Vorsteuersignal einer Schwerkraftkompensation anzusteuern, nachdem der Referenzpunkt des Robotermanipulators (1) an dem jeweiligen der vorgegebenen Orte gestoppt wurde, wobei das Vorsteuersignal auf dem Massemodell und der Schätzung des lokalen Schwerkraftvektors basiert, und wobei das Robotersystem (10) eine Sensoreinheit (7) aufweist, die zum Ermitteln einer ersten oder höheren zeitlichen Ableitung der Position des Referenzpunktes des Robotermanipulators (1) ausgeführt ist, wobei die Steuereinheit (5) dazu ausgeführt ist, zu prüfen, ob am jeweiligen der vorgegebenen Orte eine erste oder höhere zeitliche Ableitung der Position des Referenzpunktes ungleich null auftritt, und dazu ausgeführt ist, eine vorgegebene Reaktion auszuführen, wenn eine erste oder höhere zeitliche Ableitung des Referenzpunktes ungleich null auftritt.Robot system (10) for verifying a mass model of a robot manipulator (1) of the robot system (10) and / or an estimate of a local gravity vector, the robot manipulator (1) having a plurality of links connected to one another by joints and actuators (3) on the joints are arranged for moving the limbs against one another, the robot system (10) having a control unit (5) which is designed to - to carry out a static or dynamic system identification to determine the mass model of the robot manipulator (1), - provide the estimate of the local gravity vector, - to control the actuators (3) of the robot manipulator (1) for moving a reference point of the robot manipulator (1) to a plurality of predetermined locations and stopping the reference point of the robot manipulator (1) at each of the predetermined locations, and - To control the actuators (3) with a pre-control signal of a gravity compensation after the reference point of the robot manipulator (1) has been stopped at the respective predetermined location, the pre-control signal being based on the mass model and the estimate of the local gravity vector, and the robot system (10 ) has a sensor unit (7) which is designed to determine a first or higher time derivative of the position of the reference point of the robot manipulator (1), the control unit (5) being designed to check whether a first or a higher time derivative of the position of the reference point occurs unequal to zero, and is designed to carry out a predetermined reaction when a first or higher time derivative of the reference point not equal to zero occurs.
DE102019120157.8A 2019-07-25 2019-07-25 Verification of a mass model of a robot manipulator Active DE102019120157B3 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102019120157.8A DE102019120157B3 (en) 2019-07-25 2019-07-25 Verification of a mass model of a robot manipulator
PCT/EP2020/070913 WO2021013975A1 (en) 2019-07-25 2020-07-24 Verification of a mass model of a robot manipulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019120157.8A DE102019120157B3 (en) 2019-07-25 2019-07-25 Verification of a mass model of a robot manipulator

Publications (1)

Publication Number Publication Date
DE102019120157B3 true DE102019120157B3 (en) 2020-08-20

Family

ID=71844062

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019120157.8A Active DE102019120157B3 (en) 2019-07-25 2019-07-25 Verification of a mass model of a robot manipulator

Country Status (2)

Country Link
DE (1) DE102019120157B3 (en)
WO (1) WO2021013975A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113510698B (en) * 2021-04-26 2022-07-29 深圳市优必选科技股份有限公司 Mechanical arm control method and device, mechanical arm and readable storage medium
CN114098986B (en) * 2021-11-30 2023-11-21 杭州柳叶刀机器人有限公司 Gravity error evaluation method and device, plane compensation method and robot

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
DE102016008866A1 (en) * 2015-07-27 2017-02-02 Fanuc Corporation Robot control device with compensation of elastic deformation of a support body
DE112016002797T5 (en) * 2015-06-22 2018-03-22 Mitsubishi Electric Corporation CALIBRATION DEVICE AND ROBOT SYSTEM USING SUCH A
DE102018200249A1 (en) * 2017-01-17 2018-07-19 Fanuc Corporation Robot control device
DE102019101595B3 (en) * 2019-01-23 2020-03-12 Franka Emika Gmbh Method for determining a weight and a center of gravity of a robot manipulator load
DE102019101072B3 (en) * 2019-01-16 2020-03-12 Franka Emika Gmbh Support manual guidance of a robot manipulator

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017443223B2 (en) * 2017-12-11 2020-12-03 Verb Surgical Inc. Active backdriving for a robotic arm

Patent 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
DE112016002797T5 (en) * 2015-06-22 2018-03-22 Mitsubishi Electric Corporation CALIBRATION DEVICE AND ROBOT SYSTEM USING SUCH A
DE102016008866A1 (en) * 2015-07-27 2017-02-02 Fanuc Corporation Robot control device with compensation of elastic deformation of a support body
DE102018200249A1 (en) * 2017-01-17 2018-07-19 Fanuc Corporation Robot control device
DE102019101072B3 (en) * 2019-01-16 2020-03-12 Franka Emika Gmbh Support manual guidance of a robot manipulator
DE102019101595B3 (en) * 2019-01-23 2020-03-12 Franka Emika Gmbh Method for determining a weight and a center of gravity of a robot manipulator load

Also Published As

Publication number Publication date
WO2021013975A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
DE102015002764B4 (en) ROBOT CONTROL WITH DETECTION OF CONTACT IN EXTERNAL ENVIRONMENT
DE102015004481B4 (en) A robot control device for controlling a robot moved in accordance with an applied force
DE102005061618B4 (en) System and method for alignment and position control of a robot tool
DE102014114234A1 (en) Method and device for controlling a robot manipulator
DE102019101595B3 (en) Method for determining a weight and a center of gravity of a robot manipulator load
DE102016012065A1 (en) Robot system with function to calculate position and orientation of a sensor
DE102015108010B3 (en) Controlling and controlling actuators of a robot taking into account ambient contacts
DE102019120157B3 (en) Verification of a mass model of a robot manipulator
EP3037905B1 (en) Device and method for holding workpieces
EP2977148B1 (en) Method and device for controlling a robot
DE102015001579A1 (en) Robot system with avoidance of unintentional ejection of subsidized objects
DE102020107612B3 (en) Adaptive input device
WO2019048279A1 (en) Method for controlling a robot
WO2020157186A1 (en) Teaching process for a robot system consisting of two robot manipulators
DE102018112370B4 (en) Directional collision detection for a robot manipulator
DE102019128591B4 (en) Gesture control for a robotic manipulator
EP2082852B1 (en) Method and device for monitoring a manipulator
DE102019118263B3 (en) Output of quality information via force detection on the robot manipulator
WO2015158612A1 (en) Robot device with a linear axis
EP3045995A1 (en) Measuring method comprising a combination of prepositioning and hand guiding
DE102020209866B3 (en) Method and system for operating a robot
DE102019131400B4 (en) Force measurement and force generation in redundant robotic manipulators
DE102019107964B3 (en) Projection device for a robot manipulator
DE102012208252A1 (en) Method for performing highly accurate positioning of guide tool of robot, involves calculating deviation between desired and actual positions of guide tools of robot arms using virtual mechanical model of plant including robots
DE102020006839A1 (en) System and method for manual training of a robotic 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