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

Method and system for operating a robot Download PDF

Info

Publication number
DE102020209866B3
DE102020209866B3 DE102020209866.2A DE102020209866A DE102020209866B3 DE 102020209866 B3 DE102020209866 B3 DE 102020209866B3 DE 102020209866 A DE102020209866 A DE 102020209866A DE 102020209866 B3 DE102020209866 B3 DE 102020209866B3
Authority
DE
Germany
Prior art keywords
robot
target
depends
actual
joint positions
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
DE102020209866.2A
Other languages
German (de)
Inventor
Johannes Lachner
Stefano STRAMIGIOLI
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
Twente Universiteit
Original Assignee
KUKA Deutschland GmbH
Twente Universiteit
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, Twente Universiteit filed Critical KUKA Deutschland GmbH
Priority to DE102020209866.2A priority Critical patent/DE102020209866B3/en
Application granted granted Critical
Publication of DE102020209866B3 publication Critical patent/DE102020209866B3/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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • 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
    • 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
    • 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/41Servomotor, servo controller till figures

Landscapes

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

Abstract

Zum Betreiben eines Roboters (10), der mehrere Antriebe (11) aufweist, werden diese auf Basis von Sollkräften und/oder -momenten τcgeregelt, welche wenigstens einen der folgenden Anteile aufweisen: einen Potentialanteil τVx, der von einer Regeldifferenz zwischen einer Soll-Pose xcund einer Ist-Pose x einer roboterfesten Referenz abhängt; einen DämpfungsanteilτRx,der von einer Geschwindigkeit ẋ der roboterfesten Referenz abhängt; einen Potentialanteil τVq, der von einer Regeldifferenz zwischen Soll-Gelenkstellungen qcund Ist-Gelenkstellungen q abhängt; einen DämpfungsanteilτRq,der von Gelenkgeschwindigkeiten q̇̇ des Roboters abhängt; und/oder einen BremsanteilτVq*,der von einer Abweichung zwischen Trigger-Gelenkstellungen bei Überschreiten eines vorgegebenen Energiebudgets Lmaxund Ist-Gelenkstellungen abhängt; wobei der Potentialanteil τVxund/oder τVqmit einer Skalierungsfunktion κ und/oder der DämpfungsanteilτRxund/oderτRqmit der Wurzel der Skalierungsfunktion κ skaliert ist; der BremsanteilτVq*mit einer Skalierungsfunktion ρ skaliert ist und/oder ein Zeitvorschub der Soll-Pose xcund/oder Soll-Gelenkstellungen qcunterbrochen ist, solange eine Energiegröße Lcein vorgegebenes Energiebudget Lmaxübersteigt.To operate a robot (10) which has several drives (11), these are regulated on the basis of target forces and / or torques τc, which have at least one of the following components: a potential component τVx, which is derived from a control difference between a target pose xc and an actual pose x depend on a robot-fixed reference; a damping component τ Rx, which depends on a speed ẋ of the robot-fixed reference; a potential component τVq, which depends on a control difference between target joint positions qc and actual joint positions q; a damping component τRq, which depends on joint speeds q̇̇ of the robot; and / or a braking component τVq *, which depends on a deviation between trigger joint positions when a predetermined energy budget Lmax and actual joint positions are exceeded; wherein the potential component τVx and / or τVq is scaled with a scaling function κ and / or the attenuation component τRx and / or τRq is scaled with the square root of the scaling function κ; the braking component τVq * is scaled with a scaling function ρ and / or a time advance of the target pose xc and / or target joint positions qc is interrupted as long as an energy quantity Lcein exceeds the specified energy budget Lmax.

Description

Die vorliegende Erfindung betrifft ein Verfahren und System zum Betreiben eines Roboters sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.The present invention relates to a method and system for operating a robot and a computer program product for carrying out the method.

Beim Betrieb von Robotern, bei dem eine physische Mensch-Roboter-Interaktion („physical human-robot-interaction“, pHRI) vorgesehen ist, stellen insbesondere Kollisionen zwischen Mensch und Roboter sowie ein Einklemmen des Menschen durch den Roboter regelungstechnische Herausforderungen dar.When operating robots, in which a physical human-robot interaction ("physical human-robot interaction", pHRI) is provided, collisions between humans and robots as well as human trapping by the robot present control engineering challenges.

Die DE 10 2018 112 360 B3 betrifft eine Verfahren zur Steuerung eines aktorisch angetriebenen Robotermanipulators mit einem Endeffektor, bei dem der Endeffektor eine vorgegebene Sollbewegung ausführt und während der Ausführung der Sollbewegung eine Aufgabe innerhalb eines vorgegebenen geometrischen Bereichs um einen Ort ausführt, aufweisend die Schritte: während der Ausführung der Sollbewegung Ermitteln eines in den Robotermanipulator eingebrachten externen Kraftwinders K, wobei K einen Vektor F von externen Kräften und/oder einen Vektor M von externen Momenten aufweist; Detektieren einer unerwünschten Kollision des Robotermanipulators, wenn K einen vordefinierten ersten Grenzwert überschreitet während sich der Endeffektor außerhalb des vorgegebenen geometrischen Bereichs um den Ort befindet; Detektieren einer fehlerhaften Ausführung der Aufgabe, wenn K einen vordefinierten zweiten Grenzwert überschreitet oder wenn K<Kdes ist, jeweils während sich der Endeffektor innerhalb des vorgegebenen geometrischen Bereichs um den Ort befindet, wobei Kdes ein erwarteter und/oder erwünschter Kraftwinder innerhalb des vorgegebenen geometrischen Bereichs ist, und Ansteuern des Robotermanipulators in einem Fehlermodus, wenn eine unerwünschte Kollision des Robotermanipulators und/oder eine fehlerhafte Ausführung der Aufgabe detektiert wird.the DE 10 2018 112 360 B3 relates to a method for controlling an actuator-driven robot manipulator with an end effector, in which the end effector executes a predetermined target movement and, while the target movement is being carried out, executes a task within a predetermined geometric area around a location, comprising the steps of: determining a external power winder K introduced into the robot manipulator, K having a vector F of external forces and / or a vector M of external moments; Detecting an undesired collision of the robot manipulator if K exceeds a predefined first limit value while the end effector is outside the predetermined geometric area around the location; Detecting an incorrect execution of the task if K exceeds a predefined second limit value or if K <K des , in each case while the end effector is within the specified geometric area around the location, where K des is an expected and / or desired power winder within the specified geometric area, and controlling the robot manipulator in a failure mode if an undesired collision of the robot manipulator and / or an incorrect execution of the task is detected.

Nach der DE 10 2014 226 936 B3 werden bei der Ganzkörperimpedanzregelung eines mobilen Systems mit einer kinematisch geregelten, verfahrbaren Plattform, die in mindestens einer Bewegungsrichtung verfahrbar und/oder um mindestens eine Drehachse drehbar ist und mit einem kraft- oder drehmomentgeregelten Manipulator mit Gelenken und einem Greifer, folgende Schritte durchgeführt: a) Definieren einer Aufgabe für den Greifer in einem kartesischen Arbeitsraum und einer Impedanz zur Ausführung der Aufgabe durch das mobile System, b) Bestimmen derjenigen Gelenkkräfte und -momente für den Manipulator und derjenigen in der mindestens eine Bewegungsrichtung weisende Kraft und/oder desjenigen Drehmoments für die verfahrbare Plattform, die zur Umsetzung der Impedanz bei Ausübung der Aufgabe erforderlich sind, c) Aufbringen der erforderlichen Manipulator-Gelenkkräfte und -momente am Manipulator, d) Aufbringender mindestens einen erforderlichen Kraft und/oder des erforderlichen Moments an der verfahrbaren Plattform mit einer vorgebbaren Admittanz in der jeweiligen Bewegungs- und/oder Drehrichtung, e) Umsetzung der sich aus der Admittanz ergebenden Bewegung der verfahrbaren Plattform durch einen kinematischen Regler und f) zusätzliche modellbasierte Regelung des mobilen Systems zur Modifikation und/oder Kompensation von zwischen dem Manipulator und der verfahrbaren Plattform gegebenen Trägheits- und Coriolis- sowie Zentrifugalkopplungen.After DE 10 2014 226 936 B3 the following steps are carried out in the whole-body impedance control of a mobile system with a kinematically controlled, movable platform that can be moved in at least one direction of movement and / or rotated around at least one axis of rotation and with a force- or torque-controlled manipulator with joints and a gripper: a) Defining a task for the gripper in a Cartesian workspace and an impedance for performing the task by the mobile system, b) determining those joint forces and moments for the manipulator and those in the at least one direction of movement and / or that torque for the movable one Platform that are required to implement the impedance when performing the task, c) Applying the required manipulator joint forces and moments on the manipulator, d) Applying at least one required force and / or the required torque on the movable platform with a specified possible admittance in the respective direction of movement and / or rotation, e) implementation of the movement of the movable platform resulting from the admittance by a kinematic controller and f) additional model-based control of the mobile system for the modification and / or compensation of between the manipulator and the movable platform given inertia and Coriolis as well as centrifugal couplings.

Nach der DE 10 2010 033 248 A1 wird bei einem Verfahren zur Überwachung eines Manipulators eine Modell-Energiegröße des Manipulators ermittelt, wobei zusätzlich eine Antriebs-Energiegröße des Manipulators ermittelt und mit der Modell-Energiegröße verglichen und/oder wenigstens eine Eingangsgröße zum Ermitteln der Energiegröße in sicherer Technik erfasst wird.After DE 10 2010 033 248 A1 In a method for monitoring a manipulator, a model energy variable of the manipulator is determined, a drive energy variable of the manipulator being additionally determined and compared with the model energy variable and / or at least one input variable for determining the energy variable is recorded using safe technology.

Die DE 10 2009 040 194 B4 betrifft ein Verfahren zur Kraft- und/oder Momentenregelung von Robotern, wobei der Roboter ein Werkzeug mit einem Werkzeugmittelpunkt, eine Robotersteuerung mit einer Positionsschnittstelle zur Ausgabe von einer roboterintern ermittelten Ist-Position, mindestens einen Sensor zur Erfassung von Kräften und Momente, die auf das Werkzeug ausgeübt werden und mindestens eine Nachgiebigkeit zwischen Roboter und Werkzeugmittelpunkt, aufweist, mit folgenden Schritten: 1. Vorgeben einer Aufgabe mit einer Sollbewegung des Roboters und Sollkräften und/oder Sollmomenten, die von dem Werkzeug auf ein Werkstück ausgeübt werden sollen, 2. Durchführen der Aufgabe mit folgenden einen Regelkreis bildenden Unterschritten: - Bestimmen einer Auslenkung der Nachgiebigkeit zwischen Roboter und Werkzeugmittelpunkt und des fiktiven vektoriellen Abstandes des aus der Ist-Position unter Vernachlässigung der Auslenkung der Nachgiebigkeit bestimmten Werkzeugmittelpunktes von einem Kontaktpunkt zwischen Werkzeug und Werkstück - Bestimmen der Sollposition des Werkzeugmittelpunkts über die Ist-Position, den fiktiven vektoriellen Abstand und einen Soll-Abstand, wobei die Sollbewegung derart geregelt ist, dass von dem Werkzeug die Sollkräfte und/oder die Sollmomente auf das Werkstück ausgeübt werden, wobei vor Schritt 1, nach Schritt 1 und/oder während Schritt 2 folgender Zwischenschritt durchgeführt wird: a) Kalibrieren des Sensors derart, dass die vom Sensor erfassten Kräfte und Momente als fiktiver vektorieller Abstand ausgeben werden, wobei die Kalibrierung neben der Elastizität der Nachgiebigkeit zwischen Roboter und Werkzeugmittelpunkt die Elastizität des Werkstückes und/oder eine dezentrale Anordnung des Sensors im Verhältnis zum Werkzeugmittelpunkt berücksichtigt.the DE 10 2009 040 194 B4 relates to a method for force and / or torque control of robots, the robot having a tool with a tool center point, a robot controller with a position interface for outputting an actual position determined internally by the robot, at least one sensor for detecting forces and torques that act on the Tool are exercised and at least one flexibility between the robot and the tool center point, with the following steps: 1. Specifying a task with a target movement of the robot and target forces and / or target torques that are to be exerted by the tool on a workpiece, 2. Carrying out the Task with the following sub-steps forming a control loop: - Determination of a deflection of the flexibility between the robot and the tool center point and the fictitious vectorial distance of the tool center point, determined from the actual position, neglecting the deflection of the flexibility, from a contact point between the tool and d Workpiece - Determination of the target position of the tool center point via the actual position, the fictitious vectorial distance and a target distance, the target movement being regulated in such a way that the target forces and / or the target torques are exerted on the workpiece by the tool, with prior Step 1, after step 1 and / or during step 2, the following intermediate step is carried out: a) Calibrating the sensor in such a way that the forces and moments recorded by the sensor are output as a fictitious vectorial distance, the calibration in addition to the elasticity of the flexibility between the robot and the Tool center the The elasticity of the workpiece and / or a decentralized arrangement of the sensor in relation to the tool center point is taken into account.

Die EP 3 287 244 A1 schlägt dazu, dass bei einem Industrieroboter Abweichungen des Endeffektors von einer programmierten Bewegungsbahn bei der Bewegung des Endeffektors entlang einer Bahn, die vor allem durch Rastmomente der Antriebe hervorgerufen werden, reduziert werden sollen, vor: eine Lernfahrt durchzuführen, bei der Abweichungen der realen Bahn von der idealen Bahn ermittelt werden; mittels eines inversen Modells des Industrieroboters für die Abweichungen ursächliche Störmomente zu ermitteln; aus den Störmomenten Korrekturwinkel für die den Achsen des Industrieroboters zugeführten Achswinkel zu ermitteln; den Industrieroboter unter Berücksichtigung der Korrekturwinkel zu betreiben.the EP 3 287 244 A1 suggests that, in an industrial robot, deviations of the end effector from a programmed trajectory when moving the end effector along a path, which are primarily caused by cogging torques of the drives, should be reduced: Carry out a learning run in which the real path deviates from the ideal trajectory can be determined; using an inverse model of the industrial robot to determine the interfering torques causing the deviations; to determine the correction angle for the axis angle supplied to the axes of the industrial robot from the disturbance torques; to operate the industrial robot taking the correction angle into account.

Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, den Betrieb eines Roboters, insbesondere einen Betrieb, bei dem eine physische Mensch-Roboter-Interaktion vorgesehen ist, zu verbessern.One object of an embodiment of the present invention is to improve the operation of a robot, in particular an operation in which a physical human-robot interaction is provided.

Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 6, 7 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 with the features of claim 1. Claims 6, 7 provide a system or computer program product for performing a method described here under protection. The subclaims relate to advantageous developments.

Nach einer Ausführung der vorliegenden Erfindung weist ein Roboter mehrere, in einer Ausführung elektromotorische, Antriebe auf, die jeweils ein Gelenk bzw. eine Achse des Roboters bewegen bzw. (ver)stellen bzw. hierzu eingerichtet sind bzw. verwendet werden.According to one embodiment of the present invention, a robot has a plurality of drives, electromotive in one embodiment, which each move or (adjust) a joint or an axis of the robot or are set up or used for this purpose.

In einer Ausführung weist der Roboter einen Roboterarm und/oder eine mobile oder stationäre Basis auf. In einer Ausführung weist der Roboter, in einer Weiterbildung sein Arm, wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, Gelenke, in einer Ausführung Drehgelenke, auf.In one embodiment, the robot has a robot arm and / or a mobile or stationary base. In one embodiment, the robot, in a further development its arm, has at least three, in particular at least six, in one embodiment at least seven, joints, in one embodiment swivel joints.

Für solche Roboter ist die vorliegende Erfindung, insbesondere aufgrund der Einsatzgebiete und Dynamik solche Roboter, besonders geeignet.The present invention is particularly suitable for such robots, in particular because of the areas of application and dynamics of such robots.

Nach einer Ausführung der vorliegenden Erfindung werden zum bzw. beim Betreiben des Roboters die Antriebe auf Basis von Sollkräften und/oder -momenten τc geregelt, welche wenigstens einen der folgenden Anteile aufweisen:

  • - einen, in einer Ausführung positiven, Potentialanteil τV x , der von einer, insbesondere partiellen, Ableitung eines Potentials Vx nach einer Pose x einer roboterfesten Referenz abhängt, wobei das Potential Vx bei zunehmender Regeldifferenz zwischen einer Soll-Pose xc und einer Ist-Pose x dieser roboterfesten Referenz in wenigstens einem Bereich, insbesondere in wenigstens einem Bereich dieser Regeldifferenz, zunimmt;
  • - einen, in einer Ausführung negativen, Dämpfungsanteil τ R x ,
    Figure DE102020209866B3_0007
    der von einer, insbesondere partiellen, Ableitung einer Dissipationsfunktion R x
    Figure DE102020209866B3_0008
    nach einer Geschwindigkeit ẋ einer, insbesondere der(selben), roboterfesten Referenz abhängt, wobei die Dissipationsfunktion τ R x
    Figure DE102020209866B3_0009
    bei zunehmender Geschwindigkeit dieser roboterfesten Referenz in wenigstens einem Bereich, insbesondere in wenigstens einem Bereich dieser Geschwindigkeit, zunimmt;
  • - einen, in einer Ausführung positiven, Potentialanteil τV q , der von einer, insbesondere partiellen, Ableitung eines Potentials Vq nach Gelenkstellungen q des Roboters abhängt, das bei zunehmender Regeldifferenz zwischen Soll-Gelenkstellungen qc und Ist-Gelenkstellungen q in wenigstens einem Bereich, insbesondere in wenigstens einem Bereich dieser Regeldifferenz, zunimmt;
  • - einen, in einer Ausführung negativen, Dämpfungsanteil τ R q
    Figure DE102020209866B3_0010
    der von einer, insbesondere partiellen, Ableitung einer Dissipationsfunktion R q
    Figure DE102020209866B3_0011
    nach Gelenkgeschwindigkeiten q̇ des Roboters abhängt, wobei die Dissipationsfunktion R q
    Figure DE102020209866B3_0012
    bei zunehmenden Gelenkgeschwindigkeiten in wenigstens einem Bereich, insbesondere in wenigstens einem Bereich dieser Geschwindigkeiten, zunimmt; und/oder
  • - einen, in einer Ausführung positiven, Bremsanteil τ V q * ,
    Figure DE102020209866B3_0013
    der von einer, insbesondere partiellen, Ableitung eines Potentials V q *
    Figure DE102020209866B3_0014
    nach Gelenkstellungen q des Roboters abhängt, wobei das Potential V q *
    Figure DE102020209866B3_0015
    bei zunehmender Abweichung zwischen
    • - Trigger-Gelenkstellungen bei Überschreiten eines vorgegebenen Energiebudgets Lmax durch eine kinetische Energie T des Roboters und
    • - Ist-Gelenkstellungen
in wenigstens einem Bereich, insbesondere in wenigstens einem Bereich dieser Abweichung und/oder der kinetischen Energie, zunimmt, solange das vorgegebene Energiebudget Lmax weiterhin überschritten ist.According to one embodiment of the present invention, for or when operating the robot, the drives are controlled on the basis of target forces and / or torques τ c , which have at least one of the following components:
  • - a potential component τ V, which is positive in one embodiment x which depends on a, in particular partial, derivation of a potential V x according to a pose x of a robot-fixed reference, the potential V x with increasing control difference between a target pose x c and an actual pose x of this robot-fixed reference in at least one area , in particular in at least one area of this control difference increases;
  • - a damping component, which is negative in one version τ R. x ,
    Figure DE102020209866B3_0007
    that of a, in particular partial, derivation of a dissipation function R. x
    Figure DE102020209866B3_0008
    depends on a speed ẋ of a, in particular the (same), robot-fixed reference, the dissipation function τ R. x
    Figure DE102020209866B3_0009
    with increasing speed, this robot-fixed reference increases in at least one area, in particular in at least one area of this speed;
  • - A potential component τ V, which is positive in one embodiment q which depends on a, in particular partial, derivation of a potential V q according to joint positions q of the robot, which increases with increasing control difference between target joint positions q c and actual joint positions q in at least one area, in particular in at least one area of this control difference;
  • - a damping component, which is negative in one version τ R. q
    Figure DE102020209866B3_0010
    that of a, in particular partial, derivation of a dissipation function R. q
    Figure DE102020209866B3_0011
    depends on joint speeds q̇ of the robot, where the dissipation function R. q
    Figure DE102020209866B3_0012
    increases with increasing joint speeds in at least one range, in particular in at least one range of these speeds; and or
  • - a braking component, which is positive in one version τ V q * ,
    Figure DE102020209866B3_0013
    that of a, in particular partial, derivative of a potential V q *
    Figure DE102020209866B3_0014
    depends on the joint positions q of the robot, where the potential V q *
    Figure DE102020209866B3_0015
    with increasing deviation between
    • - Trigger joint positions when a predetermined energy budget L max is exceeded by a kinetic energy T of the robot and
    • - Actual joint positions
this deviation and / or the kinetic energy increases in at least one area, in particular in at least one area, as long as the specified energy budget L max is still exceeded.

Nach einer Ausführung der vorliegenden Erfindung weist eine Skalierungsfunktion κ bei einem ersten Wert einer Energiegröße LC, die von der kinetischen Energie T des Roboters und einer Regeldifferenz zwischen einer ein- oder mehrdimensionalen Soll- und Ist-Größe des Roboters abhängt, einen ersten Wert auf, und bei einem größeren zweiten Wert der Energiegröße einen kleineren zweiten Wert auf, wobei

  • - der Potentialanteil τV x und/oder τV q mit dieser Skalierungsfunktion κ skaliert ist, in einer Ausführung diese Skalierungsfunktion κ als Faktor, in einer Ausführung als Linearfaktor, aufweist; und/oder
  • - der Dämpfungsanteil τ R x
    Figure DE102020209866B3_0016
    und/oder τ R q
    Figure DE102020209866B3_0017
    mit der Wurzel dieser Skalierungsfunktion κ skaliert ist, in einer Ausführung die Wurzel dieser Skalierungsfunktion κ als Faktor, in einer Ausführung als Linearfaktor, aufweist.
According to one embodiment of the present invention, a scaling function κ has a first value at a first value of an energy variable L C , which depends on the kinetic energy T of the robot and a control difference between a one-dimensional or multi-dimensional target and actual variable of the robot , and with a larger second value of the energy quantity a smaller second value, where
  • - the potential component τ V x and / or τ V q is scaled with this scaling function κ, in one embodiment this scaling function κ as a factor, in one embodiment as a linear factor; and or
  • - the damping component τ R. x
    Figure DE102020209866B3_0016
    and or τ R. q
    Figure DE102020209866B3_0017
    is scaled with the root of this scaling function κ, in one embodiment has the root of this scaling function κ as a factor, in one embodiment as a linear factor.

Zusätzlich oder alternativ nimmt nach einer Ausführung der vorliegenden Erfindung eine Skalierungsfunktion ρ in wenigstens einem Bereich der kinetischen Energie T bei Zunahme der kinetischen Energie T zu und/oder bei zunehmender Abweichung zwischen Trigger- und Ist-Gelenkstellungen ab, wobei der Bremsanteil τ V q *

Figure DE102020209866B3_0018
mit dieser Skalierungsfunktion ρ skaliert ist, in einer Ausführung diese Skalierungsfunktion ρ als Faktor, in einer Ausführung als Linearfaktor, aufweist.Additionally or alternatively, according to one embodiment of the present invention, a scaling function ρ increases in at least one area of the kinetic energy T with an increase in the kinetic energy T and / or with an increasing deviation between the trigger and actual joint positions, the braking component decreasing τ V q *
Figure DE102020209866B3_0018
is scaled with this scaling function ρ, in one embodiment this scaling function ρ as a factor, in one embodiment as a linear factor.

Zusätzlich oder alternativ ist, insbesondere wird, nach einer Ausführung der vorliegenden Erfindung ein Zeitvorschub bzw. Zeitlauf (bei) der Soll-Pose xc und/oder (bei den) Soll-Gelenkstellungen qc unterbrochen, solange eine, insbesondere die, Energiegröße LC, die von der kinetischen Energie T des Roboters und einer bzw. der Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters abhängt, ein, insbesondere das, vorgegebene(s) Energiebudget Lmax übersteigt.Additionally or alternatively, according to one embodiment of the present invention, a time advance or time sequence (for) the target pose x c and / or (for the) target joint positions q c is interrupted as long as one, in particular the, energy variable L C , which depends on the kinetic energy T of the robot and one or the control difference between a setpoint and actual size of the robot, in particular exceeds the specified energy budget L max.

Die kinetische Energie T des Roboters kann in an sich bekannter Weise allgemein in der Form T = 1 2 q ˙ T M ( q ) q ˙

Figure DE102020209866B3_0019
mit der Massenmatrix M(q) im Raum der Gelenkkoordinaten des Roboters beschrieben werden.The kinetic energy T of the robot can in a manner known per se generally in the form T = 1 2 q ˙ T M. ( q ) q ˙
Figure DE102020209866B3_0019
with the mass matrix M (q) in the space of the joint coordinates of the robot.

Die Energiegröße Lc hängt in einer Ausführung außer von der kinetischen Energie T des Roboters (auch) von dem Potential Vx und/oder Vq ab, in einer Ausführung in der Form: L c = T + V x + V q

Figure DE102020209866B3_0020
In one version, the energy quantity L c depends not only on the kinetic energy T of the robot, but also on the potential V x and / or V q , in one version in the form: L. c = T + V x + V q
Figure DE102020209866B3_0020

Entsprechend umfasst die Soll-Größe des Roboters, von der die Energiegröße LC abhängt, in einer Ausführung die Soll-Pose xc und/oder die Soll-Gelenkstellungen qc, und/oder umfasst die Ist-Größe des Roboters, von der die Energiegröße LC abhängt, in einer Ausführung die Ist-Pose x und/oder die Ist-Gelenkstellungen q.Correspondingly, the target size of the robot, on which the energy quantity L C depends, includes in one embodiment the target pose x c and / or the target joint positions q c , and / or includes the actual size of the robot from which the Energy quantity L C depends, in one embodiment the actual pose x and / or the actual joint positions q.

In einer Ausführung werden die Antriebe mit diesen Sollkräften bzw. -momenten τc kommandiert bzw. diese Sollkräfte bzw. -momente τc (den Antrieben) kommandiert.In one embodiment, the drives are commanded with these target forces or torques τ c or these target forces or torques τ c (the drives) are commanded.

Durch das Potential Vq bzw. den Potentialanteil τV q kann in einer Ausführung ein gewünschtes Verhalten des Roboters in seinem Gelenkraum bzw. Raum seiner Gelenkstellungen q realisiert werden, beispielsweise ein Abstand von Achsbegrenzungen, singulären Roboterposen oder dergleichen. Eine Gelenkstellung kann insbesondere eine Winkellage bzw. -stellung sein.By the potential V q or the potential component τ V q In one embodiment, a desired behavior of the robot in its joint space or space of its joint positions q can be implemented, for example a distance from axis limits, singular robot poses or the like. A joint position can in particular be an angular position or position.

In einer Ausführung hängt das Potential Vq von einer vorgegebenen Steifigkeitsmatrix und/oder in quadratischer Form von der Regeldifferenz zwischen Soll- und Ist-Gelenkstellungen ab, in einer Ausführung in der Form: V q = 1 2 ( q c q ) T K q ( q c q )

Figure DE102020209866B3_0021
mit den Soll-Gelenkstellungen qc, den Ist-Gelenkstellungen q und der Steifigkeitsmatrix Kq. Hierdurch kann das gewünschte Verhalten des Roboters in seinem Gelenkraum in einer Ausführung besonders einfach realisiert werden.In one embodiment, the potential V q depends on a specified stiffness matrix and / or in quadratic form on the control difference between the target and actual joint positions, in one embodiment in the form: V q = 1 2 ( q c - q ) T K q ( q c - q )
Figure DE102020209866B3_0021
with the target joint positions q c , the actual joint positions q and the stiffness matrix K q . As a result, the desired behavior of the robot in its joint space can be implemented particularly easily in one embodiment.

Analog kann durch das Potential Vx bzw. den Potentialanteil τV x in einer Ausführung ein gewünschtes Verhalten des Roboters im kartesischen Raum bzw. Raum der Posen x einer roboterfesten Referenz realisiert werden, beispielsweise ein Anfahren vorgegebener Posen, Abfahren vorgegebener Bahnen oder dergleichen. Eine roboterfesten Referenz kann insbesondere der TCP („Tool Center Point“) oder ein anderer ausgezeichneter Referenz- bzw. Bezugspunkt bzw. ein anderes ausgezeichnetes Referenz- bzw. Bezugskoordinatensystem sein. Eine Pose umfasst in einer Ausführung eine, insbesondere ein-, zwei- oder dreidimensionale, Position und/oder eine, insbesondere ein-, zwei- oder dreidimensionale, Orientierung bzw. Winkellage, wobei diese in einer Ausführung auch vierdimensional durch Quaternionen oder dergleichen beschrieben sein bzw. werden kann.Analogously, through the potential V x or the potential component τ V x In one embodiment, a desired behavior of the robot in Cartesian space or the space of the poses x of a robot-fixed reference can be implemented, for example approaching predefined poses, following predefined paths or the like. A robot-fixed reference can in particular be the TCP ("Tool Center Point") or another distinguished reference point or reference point or another distinguished reference or reference coordinate system. In one embodiment, a pose comprises one, in particular one, two or three-dimensional, position and / or one, in particular one, two- or three-dimensional, orientation or angular position, these being also described four-dimensionally by quaternions or the like in one embodiment or can be.

In einer Ausführung hängt das Potential Vx von einer vorgegebenen Steifigkeitsmatrix und/oder in quadratischer Form von der Regeldifferenz zwischen Soll- und Ist-Pose der roboterfesten Referenz ab, in einer Ausführung in der Form: V x = 1 2 ( x c x ) T K x ( x c x )

Figure DE102020209866B3_0022
mit der Soll-Pose xc, der Ist-Pose x und der Steifigkeitsmatrix Kx. In einer Ausführung können die Orientierungsanteile in Form von Quaternionen berücksichtig werden: V x = 1 2 ( 0 p d e s 0 p ) T K p ( 0 p d e s 0 p ) V p + 2 t c p ε d e s T t c p R 0 K ε 0 R t c p t c p ε d e s V ε
Figure DE102020209866B3_0023
mit der Soll-Position 0pdes und der Ist-Position 0p im Koordinatensystem 0, der Rotationsmatrix tcpRdes zwischen der Soll- und Ist-Orientierung, die in Quaternionen mit der Skalarkomponente desηtcp und der Vektorkomponente desεtcp konvertiert wird, und den Steifigkeitsmatrizen Kp, Kε. Hierdurch kann das gewünschte Verhalten des Roboters im kartesischen Raum in einer Ausführung besonders einfach realisiert werden.In one embodiment, the potential V x depends on a specified rigidity matrix and / or in quadratic form on the control difference between the target and actual pose of the robot-fixed reference, in one embodiment in the form: V x = 1 2 ( x c - x ) T K x ( x c - x )
Figure DE102020209866B3_0022
with the target pose x c , the actual pose x and the stiffness matrix K x . In one version, the orientation components can be taken into account in the form of quaternions: V x = 1 2 ( 0 p d e s - 0 p ) T K p ( 0 p d e s - 0 p ) V p + 2 t c p ε d e s T t c p R. 0 K ε 0 R. t c p t c p ε d e s V ε
Figure DE102020209866B3_0023
with the target position 0 p des and the actual position 0 p in the coordinate system 0, the rotation matrix tcp R des between the target and actual orientation, which is converted into quaternions with the scalar component of η tcp and the vector component of ε tcp , and the stiffness matrices K p , K ε . As a result, the desired behavior of the robot in Cartesian space can be implemented in a particularly simple manner.

Durch die Dissipationsfunktionen R q ,

Figure DE102020209866B3_0024
R x ,
Figure DE102020209866B3_0025
bzw. Dämpfungsanteile τ R q ,
Figure DE102020209866B3_0026
τ R x
Figure DE102020209866B3_0027
kann in einer Ausführung das Regelverhalten des Roboters verbessert werden, beispielsweise ein zu starkes Überschwingen bzw. Instabilitäten verhindert werden.By the dissipation functions R. q ,
Figure DE102020209866B3_0024
R. x ,
Figure DE102020209866B3_0025
or attenuation components τ R. q ,
Figure DE102020209866B3_0026
τ R. x
Figure DE102020209866B3_0027
In one embodiment, the control behavior of the robot can be improved, for example excessive overshoot or instabilities can be prevented.

In einer Ausführung hängt die Dissipationsfunktion R x

Figure DE102020209866B3_0028
von einer vorgegebenen Widerstandsmatrix und/oder in quadratischer Form von der Geschwindigkeit x ab und/oder die Dissipationsfunktion R q
Figure DE102020209866B3_0029
von einer vorgegebenen Widerstandsmatrix und/oder in quadratischer Form von den Gelenkgeschwindigkeiten q̇ ab, in einer Ausführung in der Form: R q = 1 2 q ˙ T B q q ˙
Figure DE102020209866B3_0030
und/oder R x = 1 2 x ˙ T B x x ˙
Figure DE102020209866B3_0031
In one embodiment, the dissipation function depends R. x
Figure DE102020209866B3_0028
from a given resistance matrix and / or in quadratic form from the speed x and / or the dissipation function R. q
Figure DE102020209866B3_0029
from a given resistance matrix and / or in quadratic form from the joint speeds q̇, in one embodiment in the form: R. q = 1 2 q ˙ T B. q q ˙
Figure DE102020209866B3_0030
and or R. x = 1 2 x ˙ T B. x x ˙
Figure DE102020209866B3_0031

Dabei kann die Widerstandsmatrix Bq der Dissipationsfunktion R q

Figure DE102020209866B3_0032
und/oder die Widerstandsmatrix Bx der Dissipationsfunktion R x
Figure DE102020209866B3_0033
in einer Ausführung von der (jeweiligen) Massenmatrix abhängen, in einer Ausführung in der Form: B q = M ( q ) d i a g { ζ q } K q + K q d i a g { ζ q } M ( q )
Figure DE102020209866B3_0034
und/oder B x = L x d i a g { ζ x } K x + K x d i a g { ζ x } L x
Figure DE102020209866B3_0035
mit den Dämpfungsfaktoren 0 ≤ ζx, ζq ≤ 1 und der Massenmatrix Λx = (J(q)M-1(q)JT(q))-1 mit der Jacobimatrix J(q) der roboterfesten Referenz.The resistance matrix B q can be the dissipation function R. q
Figure DE102020209866B3_0032
and / or the resistance matrix B x of the dissipation function R. x
Figure DE102020209866B3_0033
in one version depend on the (respective) mass matrix, in one version in the form: B. q = M. ( q ) d i a G { ζ q } K q + K q d i a G { ζ q } M. ( q )
Figure DE102020209866B3_0034
and or B. x = L. x d i a G { ζ x } K x + K x d i a G { ζ x } L. x
Figure DE102020209866B3_0035
with the damping factors 0 ≤ ζ x , ζ q ≤ 1 and the mass matrix Λ x = (J (q) M -1 (q) J T (q)) -1 with the Jacobian matrix J (q) of the robot-fixed reference.

Wie aus Vorstehendem ersichtlich, können einzelne der o.g. Anteile τV x , τ R x

Figure DE102020209866B3_0036
τV q bzw. τ R q
Figure DE102020209866B3_0037
auch entfallen, wenn beispielsweise kein Verhalten im kartesischen oder Gelenkraum vorgegeben oder keine Dämpfung im kartesischen bzw. Gelenkraum erforderlich ist.As can be seen from the above, some of the above components τ V x , τ R. x
Figure DE102020209866B3_0036
τ V q respectively. τ R. q
Figure DE102020209866B3_0037
also omitted if, for example, no behavior is specified in the Cartesian or joint space or no damping is required in the Cartesian or joint space.

In einer Ausführung hängt das Potential V q *

Figure DE102020209866B3_0038
in wenigstens einem Bereich, insbesondere in wenigstens einem Bereich der Abweichung und/oder der kinetischen Energie T, von einer vorgegebenen Steifigkeitsmatrix und/oder in quadratischer Form von der Abweichung zwischen Trigger- und Ist-Gelenkstellungen ab, in einer Ausführung in der Form: V q * = { 0 wenn  T L m a x 1 2 ( q * q ) 2 K q * ( q * q ) 2 wenn  T > L m a x
Figure DE102020209866B3_0039
In one implementation, the potential depends V q *
Figure DE102020209866B3_0038
in at least one area, in particular in at least one area of the deviation and / or the kinetic energy T, from a predetermined stiffness matrix and / or in quadratic form from the deviation between the trigger and actual joint positions, in one embodiment in the form: V q * = { 0 if T L. m a x 1 2 ( q * - q ) 2 K q * ( q * - q ) 2 if T > L. m a x
Figure DE102020209866B3_0039

Die Trigger-Gelenkstellungen q sind die Gelenkstellungen, bei denen die kinetische Energie T des Roboters zuerst das vorgegebene Energiebudget Lmax übersteigt (T > Lmax). Man erkennt an Gleichung (6), dass das Potential V q *

Figure DE102020209866B3_0040
bei zunehmender Abweichung (q - q) zwischen den Trigger- Gelenkstellungen q bei Überschreiten des vorgegebenen Energiebudgets Lmax des Roboters und den Ist-Gelenkstellungen q zunimmt, solange die kinetische Energie T des Roboters das vorgegebene Energiebudget Lmax weiterhin überschreitet bzw. das vorgegebene Energiebudget Lmax (durch die kinetische Energie T des Roboters) weiterhin überschritten ist.The trigger joint positions q are the joint positions in which the kinetic energy T of the robot first exceeds the specified energy budget L max (T> L max ). It can be seen from equation (6) that the potential V q *
Figure DE102020209866B3_0040
with increasing deviation (q - q) between the trigger joint positions q when the specified energy budget L max of the robot and the actual joint positions q is exceeded, as long as the kinetic energy T of the robot continues to exceed the specified energy budget L max or the predetermined energy budget L max (by the kinetic energy T of the robot) is still exceeded.

Durch das Potential V q *

Figure DE102020209866B3_0041
bzw. den Bremsanteil τ V q *
Figure DE102020209866B3_0042
kann in einer Ausführung vorteilhaft verhindert werden, dass der Roboter sich in unerwünschter bzw. nachteiliger Weise bewegt, falls ein Bediener ihn, insbesondere infolge einer Klemmsituation, wegstößt.Through the potential V q *
Figure DE102020209866B3_0041
or the braking component τ V q *
Figure DE102020209866B3_0042
In one embodiment, the robot can advantageously be prevented from moving in an undesirable or disadvantageous manner if an operator pushes it away, in particular as a result of a jammed situation.

Insbesondere hierzu kann die Skalierungsfunktion ρ in einer Ausführung die Form aufweisen: ρ = { 0 wenn  T L m a x Ω T L m a x V q * wenn  T > L m a x

Figure DE102020209866B3_0043
mit der vorgegebenen Konstanten Ω ≥ 1. Man erkennt an Gleichung (7), dass die Skalierungsfunktion ρ in dem Bereich T > Lmax der kinetischen Energie T bei Zunahme der kinetischen Energie T zu- und bei zunehmender Abweichung zwischen Trigger- und Ist-Gelenkstellungen, d.h. zunehmendem Potential V q *
Figure DE102020209866B3_0044
abnimmt.In particular for this purpose, the scaling function ρ can have the form in one embodiment: ρ = { 0 if T L. m a x Ω T L. m a x - V q * if T > L. m a x
Figure DE102020209866B3_0043
with the given constant Ω ≥ 1. It can be seen from equation (7) that the scaling function ρ increases in the range T> L max of the kinetic energy T with an increase in the kinetic energy T and with an increasing deviation between the trigger and actual joint positions , ie increasing potential V q *
Figure DE102020209866B3_0044
decreases.

Dadurch kann in einer Ausführung besonders vorteilhaft verhindert werden, dass der Roboter sich in unerwünschter bzw. nachteiliger Weise bewegt, falls ein Bediener ihn, insbesondere infolge einer Klemmsituation, wegstößt.In one embodiment, this can particularly advantageously prevent the robot from moving in an undesirable or disadvantageous manner if an operator pushes it away, in particular as a result of a jammed situation.

Durch die Skalierungsfunktion κ kann in einer Ausführung erforderlichenfalls selbsttätig ein Folgeverhalten des Roboters, insbesondere bei Kollision bzw. Klemmsituationen, vorteilhaft reduziert werden.By means of the scaling function κ, in one embodiment, if necessary, a subsequent behavior of the robot, in particular in the event of a collision or jamming, can advantageously be reduced automatically.

Insbesondere hierzu weist die Skalierungsfunktion κ in einer Ausführung in wenigstens einem Bereich, in dem die Energiegröße LC das Energiebudget Lmax nicht übersteigt, einen konstanten Wert auf, kann insbesondere gleich 1 sein.In particular, for this purpose, the scaling function κ has a constant value in one embodiment in at least one area in which the energy quantity L C does not exceed the energy budget L max , in particular it can be equal to 1.

Zusätzlich oder alternativ weist die Skalierungsfunktion κ in einer Ausführung hierzu in wenigstens einem Bereich, in dem die kinetische Energie T das Energiebudget Lmax übersteigt, einen minimalen Wert auf, kann insbesondere gleich 0 sein.Additionally or alternatively, in one embodiment, the scaling function κ has a minimum value in at least one area in which the kinetic energy T exceeds the energy budget L max , in particular it can be equal to 0.

Zusätzlich oder alternativ nimmt die Skalierungsfunktion κ in einer Ausführung hierzu in wenigstens einem Bereich, in dem die Energiegröße LC das Energiebudget Lmax übersteigt, bei Zunahme der kinetischen Energie T, Zunahme des Potential Vx und/oder Zunahme des Potential Vq ab.Additionally or alternatively, the scaling function κ decreases in one embodiment in at least one area in which the energy quantity L C exceeds the energy budget L max , with an increase in the kinetic energy T, an increase in the potential V x and / or an increase in the potential V q .

In einer Ausführung weist die Skalierungsfunktion κ die Form auf: κ = {         1 wenn  L c L m a x   L m a x T V q + V q wenn  L c > L m a x         0 wenn  T > L m a x

Figure DE102020209866B3_0045
In one embodiment, the scaling function κ has the form: κ = { 1 if L. c L. m a x L. m a x - T V q + V q if L. c > L. m a x 0 if T > L. m a x
Figure DE102020209866B3_0045

Dadurch kann in einer Ausführung das Folgeverhalten des Roboters, insbesondere bei Kollision bzw. Klemmsituationen, besonders vorteilhaft angepasst werden.As a result, in one embodiment, the subsequent behavior of the robot, in particular in the event of a collision or jamming situation, can be adapted particularly advantageously.

In einer Ausführung hängt der Potentialanteil τV x und/oder der Dämpfungsanteil τ R x

Figure DE102020209866B3_0046
von der Jacobimatrix J der roboterfesten Referenz ab, in einer Ausführung (jeweils) linear und/oder von der Transponierten JT der Jacobimatrix, insbesondere also linear von der Transponierten JT. Dadurch können diese Anteile vorteilhaft im kartesischen Raum definiert bzw. berechnet und dann in den Gelenkraum transformiert werden.In one embodiment, the potential component τ V depends x and / or the damping component τ R. x
Figure DE102020209866B3_0046
from the Jacobian matrix J of the robot-fixed reference, in one embodiment (in each case) linear and / or from the transpose J T of the Jacobian matrix, in particular therefore linearly from the transposed J T. As a result, these components can advantageously be defined or calculated in Cartesian space and then transformed into the joint space.

Entsprechend werden die Sollkräfte und/oder -momente τc in einer Ausführung in der Form berechnet: τ c = J T ( q ) κ V x x τ V x J T ( q ) κ R x x ˙ τ R x + κ V q q τ V q κ R q q ˙ τ R q + ρ V q * q τ V q *

Figure DE102020209866B3_0047
Correspondingly, the target forces and / or torques τ c are calculated in one version in the form: τ c = J T ( q ) κ V x x τ V x - J T ( q ) κ R. x x ˙ τ R. x + κ V q q τ V q - κ R. q q ˙ τ R. q + ρ V q * q τ V q *
Figure DE102020209866B3_0047

Dabei müssen die Potentiale Vx, Vq, V q *

Figure DE102020209866B3_0048
bzw. Dissipationsfunktionen R x ,
Figure DE102020209866B3_0049
R q
Figure DE102020209866B3_0050
nicht selber berechnet werden, d.h. anstelle von Gleichung (9) kann durch Einsetzen der anderen Gleichungen auch die Gleichung τ c = J T ( q ) ( _ t c p R 0 κ K p ( 0 p 0 p d e s ) 2 E ( t c p η d e s , t c p ε d e s ) t c p R 0 κ K ε 0 R t c p t c p ε d e s ) J T ( q ) ( κ B x x ˙ ) + + κ K q ( q c q ) κ B q q ˙ + ρ K q * ( q * q )
Figure DE102020209866B3_0051
mit E(tcpηdes, tcpεdes) = tcpηdesI - tcpε̃des mit der schiefsymmetrischen Matrixnotation von tcpεdes. Man beachte, dass für T < Lmax (wieder) gilt q = q, d.h. V q * = 0.
Figure DE102020209866B3_0052
The potentials V x , V q , V q *
Figure DE102020209866B3_0048
or dissipation functions R. x ,
Figure DE102020209866B3_0049
R. q
Figure DE102020209866B3_0050
cannot be calculated itself, ie instead of equation (9), the equation τ c = J T ( q ) ( _ t c p R. 0 κ K p ( 0 p - 0 p d e s ) 2 E. ( t c p η d e s , t c p ε d e s ) t c p R. 0 κ K ε 0 R. t c p t c p ε d e s ) - J T ( q ) ( κ B. x x ˙ ) + + κ K q ( q c - q ) - κ B. q q ˙ + ρ K q * ( q * - q )
Figure DE102020209866B3_0051
with E ( tcp η des , tcp ε des ) = tcp η des I - tcp ε̃ des with the asymmetrical matrix notation of tcp ε des . Note that for T <L max (again) we have q = q, ie V q * = 0.
Figure DE102020209866B3_0052

Wie bereits erwähnt, können gegebenenfalls ein oder mehrere dieser Summanden auch entfallen.As already mentioned, one or more of these summands can optionally also be omitted.

Durch die Unterbrechung des Zeitvorschubs bzw. Zeitlaufs (bei) der Soll-Pose xc und/oder (bei den) Soll-Gelenkstellungen qc, solange die Energiegröße LC das vorgegebene Energiebudget Lmax übersteigt, wird in einer Ausführung vorteilhaft ein Einfluss der Skalierungsfunktion κ bei Wegfall bzw. Auflösung einer Kontaktsituation reduziert und so insbesondere ein unerwünschtes, insbesondere unvorhergesehenes, Verhalten des Roboters verhindert. Hierzu werden in einer Ausführung die vorgegebenen Soll-Posen und/oder -gelenkstellungen in Abhängigkeit von einer effektiven Zeit teff vorgegeben, für die gilt: t e f f = { t e f f t e f f + t s wenn  L c L m a x t e f f t e f f s o n s t

Figure DE102020209866B3_0053
mit der Samplezeit tS des Roboterreglers, der die Regelungszeit tC am Ende jedes Regelzyklus bzw. -taktes updated, wobei die Soll-Posen und/oder -gelenkstellungen als Funktionen der Regelzeit tC vorgegeben sind bzw. werden. Dadurch (be)hält der Regler die Soll-Posen bzw. -gelenkstellungen während einer Kontaktsituation (bei).By interrupting the time advance or timing (with) the target pose x c and / or (with the) target joint positions q c , as long as the energy quantity L C exceeds the specified energy budget L max , an influence of the Scaling function κ is reduced when a contact situation is eliminated or resolved and thus in particular prevents undesired, in particular unforeseen, behavior of the robot. For this purpose, in one embodiment, the specified target poses and / or joint positions are specified as a function of an effective time t eff , for which the following applies: t e f f = { t e f f t e f f + t s if L. c L. m a x t e f f t e f f s O n s t
Figure DE102020209866B3_0053
with the sample time t S of the robot controller, which updates the control time t C at the end of each control cycle or cycle, whereby the target poses and / or joint positions are or will be specified as functions of the control time t C. As a result, the controller maintains the target poses or joint positions during a contact situation.

Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist Mittel zum Regeln der Antriebe des Roboters auf Basis von Sollkräften und/oder -momenten τc auf, wobei dieser Sollkräfte und/oder -momente τc wenigstens einen der folgenden Anteile aufweisen:

  • - einen Potentialanteil τV x , der von einer Ableitung eines Potentials Vx nach einer Pose x einer roboterfesten Referenz abhängt, das bei zunehmender Regeldifferenz zwischen einer Soll-Pose xc und einer Ist-Pose x dieser roboterfesten Referenz in wenigstens einem Bereich zunimmt;
  • - einen Dämpfungsanteil τ R x ,
    Figure DE102020209866B3_0054
    der von einer Ableitung einer Dissipationsfunktion R x
    Figure DE102020209866B3_0055
    nach einer Geschwindigkeit ẋ einer roboterfesten Referenz abhängt, die bei zunehmender Geschwindigkeit dieser roboterfesten Referenz in wenigstens einem Bereich zunimmt;
  • - einen Potentialanteil τV q , der von einer Ableitung eines Potentials Vq nach Gelenkstellungen q des Roboters abhängt, das bei zunehmender Regeldifferenz zwischen Soll-Gelenkstellungen qc und Ist-Gelenkstellungen q in wenigstens einem Bereich zunimmt;
  • - einen Dämpfungsanteil τ R q ,
    Figure DE102020209866B3_0056
    der von einer Ableitung einer Dissipationsfunktion R q
    Figure DE102020209866B3_0057
    nach Gelenkgeschwindigkeiten q̇ des Roboters abhängt, die bei zunehmenden Gelenkgeschwindigkeiten in wenigstens einem Bereich zunimmt; und/oder
  • - einen Bremsanteil τ V q * ,
    Figure DE102020209866B3_0058
    der von einer Ableitung eines Potentials V q *
    Figure DE102020209866B3_0059
    nach Gelenkstellungen q des Roboters abhängt, das bei zunehmender Abweichung zwischen Trigger-Gelenkstellungen bei Überschreiten eines vorgegebenen Energiebudgets Lmax durch eine kinetischen Energie T des Roboters und Ist-Gelenkstellungen in wenigstens einem Bereich zunimmt, solange das vorgegebene Energiebudget Lmax weiterhin überschritten ist;
wobei
  • - eine Skalierungsfunktion κ bei einem ersten Wert einer Energiegröße LC, die von der kinetischen Energie T des Roboters und einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters abhängt, einen ersten Wert aufweist, und bei einem größeren zweiten Wert der Energiegröße einen kleineren zweiten Wert aufweist, und der Potentialanteil τV x und/oder τV q mit der Skalierungsfunktion κ skaliert ist, insbesondere die Skalierungsfunktion κ als Linearfaktor aufweist, und/oder der Dämpfungsanteil τ R x
    Figure DE102020209866B3_0060
    und/oder τ R q
    Figure DE102020209866B3_0061
    mit der Wurzel der Skalierungsfunktion κ skaliert ist, insbesondere die Wurzel der Skalierungsfunktion κ als Linearfaktor aufweist;
  • - eine Skalierungsfunktion ρ in wenigstens einem Bereich der kinetischen Energie T bei Zunahme der kinetischen Energie T zu- und/oder bei zunehmender Abweichung zwischen Trigger- und Ist-Gelenkstellungen abnimmt und der Bremsanteil τ V q *
    Figure DE102020209866B3_0062
    mit der Skalierungsfunktion ρ skaliert ist, insbesondere die Skalierungsfunktion ρ als Linearfaktor aufweist; und/oder
  • - ein Zeitvorschub der Soll-Pose xc und/oder Soll-Gelenkstellungen qc unterbrochen ist, solange eine Energiegröße LC, die von der kinetischen Energie T des Roboters und einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters abhängt, ein vorgegebenes Energiebudget Lmax übersteigt.
According to one embodiment of the present invention, a system, in particular hardware and / or software, in particular programming, is set up to carry out a method described here and / or has means for regulating the drives of the robot on the basis of target forces and / or torques τ c , these target forces and / or torques τ c having at least one of the following proportions:
  • - a potential component τ V x which depends on a derivative of a potential V x according to a pose x of a robot-fixed reference, which increases in at least one area with increasing control difference between a target pose x c and an actual pose x of this robot-fixed reference;
  • - a damping component τ R. x ,
    Figure DE102020209866B3_0054
    that of a derivative of a dissipation function R. x
    Figure DE102020209866B3_0055
    depends on a speed ẋ of a robot-fixed reference, which increases with increasing speed of this robot-fixed reference in at least one area;
  • - a potential component τ V q , which depends on a derivative of a potential V q according to joint positions q of the robot, which increases in at least one area with increasing control difference between target joint positions q c and actual joint positions q;
  • - a damping component τ R. q ,
    Figure DE102020209866B3_0056
    that of a derivative of a dissipation function R. q
    Figure DE102020209866B3_0057
    depends on joint speeds q̇ of the robot, which increases with increasing joint speeds in at least one range; and or
  • - a braking component τ V q * ,
    Figure DE102020209866B3_0058
    that of a derivative of a potential V q *
    Figure DE102020209866B3_0059
    depends on the joint positions q of the robot, which increases with increasing deviation between trigger joint positions when a predetermined energy budget L max is exceeded by a kinetic energy T of the robot and actual joint positions in at least one area, as long as the predetermined energy budget L max is still exceeded;
whereby
  • - a scaling function κ has a first value for a first value of an energy quantity L C , which depends on the kinetic energy T of the robot and a control difference between a target and actual quantity of the robot, and a smaller value for a larger second value of the energy quantity has the second value, and the potential component τ V x and / or τ V q is scaled with the scaling function κ, in particular having the scaling function κ as a linear factor, and / or the damping component τ R. x
    Figure DE102020209866B3_0060
    and or τ R. q
    Figure DE102020209866B3_0061
    is scaled with the root of the scaling function κ, in particular has the root of the scaling function κ as a linear factor;
  • A scaling function ρ in at least one range of the kinetic energy T increases with an increase in the kinetic energy T and / or decreases with an increasing deviation between the trigger and actual joint positions and the braking component τ V q *
    Figure DE102020209866B3_0062
    is scaled with the scaling function ρ, in particular has the scaling function ρ as a linear factor; and or
  • - A time advance of the target pose x c and / or target joint positions q c is interrupted as long as an energy quantity L C , which depends on the kinetic energy T of the robot and a control difference between a target and actual value of the robot, is a exceeds the specified energy budget L max.

Wie einleitend erläutert, ist die vorliegende Erfindung insbesondere beim Betrieb eines Roboters vorteilhaft, bei dem eine physische Mensch-Roboter-Interaktion vorgesehen ist.As explained in the introduction, the present invention is particularly advantageous when operating a robot in which a physical human-robot interaction is provided.

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 designed in terms of hardware and / or software, in particular a processing unit, in particular a microprocessor unit (CPU), graphics card (GPU), preferably a data or signal connected to a memory and / or bus system, in particular a digital processing unit ) 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 capable of executing 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, a non-volatile storage medium for storing a program or with a program stored on it, with the execution of this program causing a system or a controller, in particular a computer, to generate a program described here To carry out a process or one or more of its steps.

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 completely or partially in an automated manner, in particular by the system or its means.

In einer Ausführung weist das System den Roboter auf.In one embodiment, the system has the robot.

Ausführungen der vorliegenden Erfindung können einen oder mehrere der folgenden Vorteile aufweisen:

  • - (schnelle) Bewegungen im Nullraum redundanten Roboter werden automatisch reduziert;
  • - Kollisionen können auch ohne externe Sensoren gehandhabt werden;
  • - verschiedene Kontaktsituationen können einheitlich gehandhabt werden;
  • - während eines Kontakts verhält sich der Roboter nachgiebig. Wenn er gestoßen wird, ergeben sich keine übermäßig (schnell)en Bewegungen. Nachdem eine Kontaktsituation beendet bzw. aufgelöst ist, arbeitet der Roboter eine vorgegebene Trajektorie automatisch weiter ab;
  • - im Wesentlichen muss ein Anwender nur das Energiebudget Lmax vorgeben, die anfänglichen Regelparameter adaptieren sich dann selbsttätig („auto-tuning“).
Embodiments of the present invention may have one or more of the following advantages:
  • - (Fast) movements in the null space redundant robots are automatically reduced;
  • - Collisions can also be handled without external sensors;
  • - different contact situations can be handled uniformly;
  • - The robot behaves compliantly during contact. When pushed, there will be no excessive (fast) movements. After a contact situation is ended or resolved, the robot automatically continues to work through a specified trajectory;
  • - Essentially, a user only has to specify the energy budget L max , the initial control parameters then adapt themselves automatically (“auto-tuning”).

In einer Ausführung der vorliegenden Erfindung werden zum Betreiben eines Roboters, der mehrere Antriebe aufweist, diese auf Basis von Sollkräften und/oder -momenten τc geregelt, welche wenigstens einen der folgenden Anteile aufweisen: einen Potentialanteil τV x , der von einer Regeldifferenz zwischen einer Soll-Pose xc und einer Ist-Pose x einer roboterfesten Referenz abhängt; einen Dämpfungsanteil τ R x ,

Figure DE102020209866B3_0063
der von einer Geschwindigkeit ẋ der roboterfesten Referenz abhängt; einen Potentialanteil τV q , der von einer Regeldifferenz zwischen Soll-Gelenkstellungen qc und Ist-Gelenkstellungen q abhängt; einen Dämpfungsanteil τ R q ,
Figure DE102020209866B3_0064
der von Gelenkgeschwindigkeiten q̇ des Roboters abhängt; und/oder einen Bremsanteil τ V q * ,
Figure DE102020209866B3_0065
der von einer Abweichung zwischen Trigger-Gelenkstellungen bei Überschreiten eines vorgegebenen Energiebudgets Lmax und Ist-Gelenkstellungen abhängt; wobei der Potentialanteil τV x und/oder τV q mit einer Skalierungsfunktion κ und/oder der Dämpfungsanteil τ R x
Figure DE102020209866B3_0066
und/oder τ R q
Figure DE102020209866B3_0067
mit der Wurzel der Skalierungsfunktion κ skaliert ist; der Bremsanteil τ V q * ,
Figure DE102020209866B3_0068
mit einer Skalierungsfunktion p skaliert ist und/oder ein Zeitvorschub der Soll-Pose xc und/oder Soll-Gelenkstellungen qc unterbrochen ist, solange eine Energiegröße LC ein vorgegebenes Energiebudget Lmax übersteigt.In one embodiment of the present invention, to operate a robot that has several drives, these are controlled on the basis of target forces and / or torques τ c , which have at least one of the following components: a potential component τ V x which depends on a control difference between a target pose x c and an actual pose x of a robot-fixed reference; a damping component τ R. x ,
Figure DE102020209866B3_0063
which depends on a speed ẋ of the robot-fixed reference; a potential component τ V q , which depends on a control difference between target joint positions q c and actual joint positions q; a damping component τ R. q ,
Figure DE102020209866B3_0064
which depends on joint speeds q̇ of the robot; and / or a braking component τ V q * ,
Figure DE102020209866B3_0065
which depends on a deviation between trigger joint positions when a predetermined energy budget L max and the actual joint positions are exceeded; where the potential component τ V x and / or τ V q with a scaling function κ and / or the damping component τ R. x
Figure DE102020209866B3_0066
and or τ R. q
Figure DE102020209866B3_0067
is scaled with the root of the scaling function κ; the braking portion τ V q * ,
Figure DE102020209866B3_0068
is scaled with a scaling function p and / or a time advance of the target pose x c and / or target joint positions q c is interrupted as long as an energy quantity L C exceeds a predetermined energy budget L max.

Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:

  • 1: ein System beim Betreiben eines Roboters nach einer Ausführung der vorliegenden Erfindung; und
  • 2: ein Verfahren zum Betreiben des Roboters nach einer Ausführung der vorliegenden Erfindung.
Further advantages and features emerge from the subclaims and the exemplary embodiments. For this shows, partly schematically:
  • 1 : a system in operating a robot according to an embodiment of the present invention; and
  • 2 : a method of operating the robot according to an embodiment of the present invention.

1 zeigt ein System beim Betreiben eines Roboters 10 nach einer Ausführung der vorliegenden Erfindung. 1 shows a system operating a robot 10 according to an embodiment of the present invention.

Dabei berechnet eine Robotersteuerung 2 in jedem Regeltakt nach den vorstehend erläuterten Gleichungen Sollmomente τc, auf deren Basis der Roboter bzw. seine Antriebe 11 geregelt werden.A robot controller calculates 2 in each control cycle according to the equations explained above, setpoint torques τ c , on the basis of which the robot or its drives 11th be managed.

Hierzu werden die Ist-Gelenkstellungen q = [q1 ... q7]T erfasst (2: Schritt S10) und daraus mittels Vorwärts-Kinematik die Ist-Posen x des TCPs sowie mittels numerischer Differentiation die entsprechenden Ist-Geschwindigkeiten q̇, ẋ ermittelt (S10).For this purpose, the actual joint positions q = [q 1 ... q 7 ] T are recorded ( 2 : Step S10) and from this by means of forward kinematics the actual poses x of the TCP and by means of numerical differentiation the corresponding actual speeds q̇, ẋ are determined (S10).

Im Schritt S20 werden hieraus die Potentialanteile τV x , τV q , Dämpfungsanteile τ R x ,

Figure DE102020209866B3_0069
τ R q ,
Figure DE102020209866B3_0070
der Bremsanteil τ V q *
Figure DE102020209866B3_0071
sowie die Skalierungsfunktionen κ, ρ ermittelt und dabei gegebenenfalls der Zeitvorschub der Soll-Pose xc und/oder Soll-Gelenkstellungen qc unterbrochen.In step S20, the potential components τ V are derived from this x , τ V q , Attenuation components τ R. x ,
Figure DE102020209866B3_0069
τ R. q ,
Figure DE102020209866B3_0070
the braking portion τ V q *
Figure DE102020209866B3_0071
and the scaling functions κ, ρ are determined and, if necessary, the time advance of the target pose x c and / or target joint positions q c is interrupted.

Im Schritt S30 werden hieraus die Sollmomente τc ermittelt und auf deren Basis der Roboter bzw. seine Antriebe geregelt.In step S30, the target torques τ c are determined from this and the robot or its drives are controlled on the basis of these.

BezugszeichenlisteList of reference symbols

1010
Roboter(arm)Robot (arm)
1111
Antriebdrive
22
(Roboter)Steuerung(Robot) control
TCPTCP
Tool Center pointTool center point

Claims (7)

Verfahren zum Betreiben eines Roboters (10), der mehrere Antriebe (11) zum Verstellen von Achsen des Roboters aufweist, wobei die Antriebe auf Basis von Sollkräften und/oder -momenten τc geregelt werden, welche wenigstens einen der folgenden Anteile aufweisen: - einen Potentialanteil τV x , der von einer Ableitung eines Potentials Vx nach einer Pose x einer roboterfesten Referenz abhängt, das bei zunehmender Regeldifferenz zwischen einer Soll-Pose xc und einer Ist-Pose x dieser roboterfesten Referenz in wenigstens einem Bereich zunimmt; - einen Dämpfungsanteil τ R x ,
Figure DE102020209866B3_0072
der von einer Ableitung einer Dissipationsfunktion R x
Figure DE102020209866B3_0073
nach einer Geschwindigkeit ẋ einer roboterfesten Referenz abhängt, die bei zunehmender Geschwindigkeit dieser roboterfesten Referenz in wenigstens einem Bereich zunimmt; - einen Potentialanteil τV q , der von einer Ableitung eines Potentials Vq nach Gelenkstellungen q des Roboters abhängt, das bei zunehmender Regeldifferenz zwischen Soll-Gelenkstellungen qc und Ist-Gelenkstellungen q in wenigstens einem Bereich zunimmt; - einen Dämpfungsanteil τ R q ,
Figure DE102020209866B3_0074
der von einer Ableitung einer Dissipationsfunktion R q
Figure DE102020209866B3_0075
nach Gelenkgeschwindigkeiten q̇ des Roboters abhängt, die bei zunehmenden Gelenkgeschwindigkeiten in wenigstens einem Bereich zunimmt; und/oder - einen Bremsanteil τ V q * ,
Figure DE102020209866B3_0076
der von einer Ableitung eines Potentials V q *
Figure DE102020209866B3_0077
nach Gelenkstellungen q des Roboters abhängt, das bei zunehmender Abweichung zwischen Trigger-Gelenkstellungen bei Überschreiten eines vorgegebenen Energiebudgets Lmax durch eine kinetischen Energie T des Roboters und Ist-Gelenkstellungen in wenigstens einem Bereich zunimmt, solange das vorgegebene Energiebudget Lmax weiterhin überschritten ist; wobei - eine Skalierungsfunktion κ bei einem ersten Wert einer Energiegröße LC, die von der kinetischen Energie T des Roboters und einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters abhängt, einen ersten Wert aufweist, und bei einem größeren zweiten Wert der Energiegröße einen kleineren zweiten Wert aufweist, und der Potentialanteil τV x und/oder τV q mit der Skalierungsfunktion κ skaliert ist und/oder der Dämpfungsanteil τ R x
Figure DE102020209866B3_0078
und/oder τ R q
Figure DE102020209866B3_0079
mit der Wurzel der Skalierungsfunktion κ skaliert ist; - eine Skalierungsfunktion ρ in wenigstens einem Bereich der kinetischen Energie T bei Zunahme der kinetischen Energie T zu- und/oder bei zunehmender Abweichung zwischen Trigger- und Ist-Gelenkstellungen abnimmt und der Bremsanteil τ V q *
Figure DE102020209866B3_0080
mit der Skalierungsfunktion ρ skaliert ist; und/oder - ein Zeitvorschub der Soll-Pose xc und/oder Soll-Gelenkstellungen qc unterbrochen ist, solange eine Energiegröße LC, die von der kinetischen Energie T des Roboters und einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters abhängt, ein vorgegebenes Energiebudget Lmax übersteigt, wobei bei einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters die Soll-Größe die Soll-Pose und/oder die Soll-Gelenkstellungen und die Ist-Größe die Ist-Pose und/oder die Ist-Gelenkstellungen umfasst.
A method for operating a robot (10) which has several drives (11) for adjusting axes of the robot, the drives being controlled on the basis of target forces and / or torques τ c which have at least one of the following components: Potential component τ V x which depends on a derivative of a potential V x according to a pose x of a robot-fixed reference, which increases in at least one area with increasing control difference between a target pose x c and an actual pose x of this robot-fixed reference; - a damping component τ R. x ,
Figure DE102020209866B3_0072
that of a derivative of a dissipation function R. x
Figure DE102020209866B3_0073
depends on a speed ẋ of a robot-fixed reference, which increases with increasing speed of this robot-fixed reference in at least one area; - a potential component τ V q , which depends on a derivative of a potential V q according to joint positions q of the robot, which increases in at least one area with increasing control difference between target joint positions q c and actual joint positions q; - a damping component τ R. q ,
Figure DE102020209866B3_0074
that of a derivative of a dissipation function R. q
Figure DE102020209866B3_0075
depends on joint speeds q̇ of the robot, which increases with increasing joint speeds in at least one range; and / or - a braking component τ V q * ,
Figure DE102020209866B3_0076
that of a derivative of a potential V q *
Figure DE102020209866B3_0077
depends on the joint positions q of the robot, which increases with increasing deviation between trigger joint positions when a predetermined energy budget L max is exceeded by a kinetic energy T of the robot and actual joint positions in at least one area, as long as the predetermined energy budget L max is still exceeded; where - a scaling function κ has a first value at a first value of an energy quantity L C , which depends on the kinetic energy T of the robot and a control difference between a target and actual quantity of the robot, and at a larger second value of the energy quantity has a smaller second value, and the potential component τ V x and / or τ V q is scaled with the scaling function κ and / or the damping component τ R. x
Figure DE102020209866B3_0078
and or τ R. q
Figure DE102020209866B3_0079
is scaled with the root of the scaling function κ; A scaling function ρ in at least one range of the kinetic energy T increases with an increase in the kinetic energy T and / or decreases with an increasing deviation between the trigger and actual joint positions and the braking component τ V q *
Figure DE102020209866B3_0080
is scaled with the scaling function ρ; and / or - a time advance of the target pose x c and / or target joint positions q c is interrupted as long as an energy quantity L C that is derived from the kinetic energy T of the robot and a control difference between a target and actual value of the robot depends, a predetermined energy budget L max exceeds, with a control difference between a target and actual size of the robot, the target size, the target pose and / or the target joint positions and the actual size, the actual pose and / or includes the actual joint positions.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass - das Potential Vx von einer vorgegebenen Steifigkeitsmatrix und/oder in quadratischer Form von der Regeldifferenz zwischen Soll- und Ist-Pose abhängt; - die Dissipationsfunktion R x
Figure DE102020209866B3_0081
von einer vorgegebenen Widerstandsmatrix und/oder in quadratischer Form von der Geschwindigkeit ẋ abhängt; - das Potential Vq von einer vorgegebenen Steifigkeitsmatrix und/oder in quadratischer Form von der Regeldifferenz zwischen Soll- und Ist-Gelenkstellungen abhängt; - die Dissipationsfunktion R q
Figure DE102020209866B3_0082
von einer vorgegebenen Widerstandsmatrix und/oder in quadratischer Form von den Gelenkgeschwindigkeiten q̇ abhängt; und/oder - der Potentialanteil τV x und/oder der Dämpfungsanteil τ R x
Figure DE102020209866B3_0083
von der Jacobimatrix der roboterfesten Referenz abhängt;
Procedure according to Claim 1 , characterized in that - the potential V x depends on a predetermined stiffness matrix and / or in quadratic form on the control difference between the target and actual pose; - the dissipation function R. x
Figure DE102020209866B3_0081
depends on a given resistance matrix and / or in quadratic form on the speed ẋ; - The potential V q depends on a predetermined rigidity matrix and / or in quadratic form on the control difference between the target and actual joint positions; - the dissipation function R. q
Figure DE102020209866B3_0082
depends on a given resistance matrix and / or in quadratic form on the joint speeds q̇; and / or - the potential component τ V x and / or the damping component τ R. x
Figure DE102020209866B3_0083
depends on the Jacobian matrix of the robot-fixed reference;
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Energiegröße LC von dem Potential Vx und/oder Vq abhängt.Method according to one of the preceding claims, characterized in that the energy quantity L C depends on the potential V x and / or V q. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Skalierungsfunktion κ - in wenigstens einem Bereich, in dem die Energiegröße LC das Energiebudget Lmax nicht übersteigt, einen konstanten Wert aufweist; - in wenigstens einem Bereich, in dem die kinetische Energie T das Energiebudget Lmax übersteigt, einen minimalen Wert aufweist; und/oder - in wenigstens einem Bereich, in dem die Energiegröße LC das Energiebudget Lmax übersteigt, bei Zunahme der kinetischen Energie T, Zunahme des Potential Vx und/oder Zunahme des Potential Vq abnimmt.Method according to one of the preceding claims, characterized in that the scaling function κ - has a constant value in at least one area in which the energy quantity L C does not exceed the energy budget L max; - has a minimum value in at least one area in which the kinetic energy T exceeds the energy budget L max; and / or - in at least one area in which the energy quantity L C exceeds the energy budget L max , decreases with an increase in the kinetic energy T, an increase in the potential V x and / or an increase in the potential V q. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Betreiben eine physische Mensch-Roboter-Interaktion vorgesehen ist.Method according to one of the preceding claims, characterized in that a physical human-robot interaction is provided during operation. System zum Betreiben eines Roboters (10), der mehrere Antriebe (11) zum Verstellen von Achsen des Roboters aufweist, wobei das System zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder Mittel (2) zum Regeln der Antriebe auf Basis von Sollkräften und/oder -momenten τc aufweist, welche wenigstens einen der folgenden Anteile aufweisen: - einen Potentialanteil τV x , der von einer Ableitung eines Potentials Vx nach einer Pose x einer roboterfesten Referenz abhängt, das bei zunehmender Regeldifferenz zwischen einer Soll-Pose xc und einer Ist-Pose x dieser roboterfesten Referenz in wenigstens einem Bereich zunimmt; - einen Dämpfungsanteil τ R x ,
Figure DE102020209866B3_0084
der von einer Ableitung einer Dissipationsfunktion R x
Figure DE102020209866B3_0085
nach einer Geschwindigkeit ẋ einer roboterfesten Referenz abhängt, die bei zunehmender Geschwindigkeit dieser roboterfesten Referenz in wenigstens einem Bereich zunimmt; - einen Potentialanteil τV q , der von einer Ableitung eines Potentials Vq nach Gelenkstellungen q des Roboters abhängt, das bei zunehmender Regeldifferenz zwischen Soll-Gelenkstellungen qc und Ist-Gelenkstellungen q in wenigstens einem Bereich zunimmt; - einen Dämpfungsanteil τ R q ,
Figure DE102020209866B3_0086
der von einer Ableitung einer Dissipationsfunktion R q
Figure DE102020209866B3_0087
nach Gelenkgeschwindigkeiten q̇ des Roboters abhängt, die bei zunehmenden Gelenkgeschwindigkeiten in wenigstens einem Bereich zunimmt; und/oder - einen Bremsanteil τ V q * ,
Figure DE102020209866B3_0088
der von einer Ableitung eines Potentials V q *
Figure DE102020209866B3_0089
nach Gelenkstellungen q des Roboters abhängt, das bei zunehmender Abweichung zwischen Trigger-Gelenkstellungen bei Überschreiten eines vorgegebenen Energiebudgets Lmax durch eine kinetischen Energie T des Roboters und Ist-Gelenkstellungen in wenigstens einem Bereich zunimmt, solange das vorgegebene Energiebudget Lmax weiterhin überschritten ist; wobei - eine Skalierungsfunktion κ bei einem ersten Wert einer Energiegröße LC, die von der kinetischen Energie T des Roboters und einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters abhängt, einen ersten Wert aufweist, und bei einem größeren zweiten Wert der Energiegröße einen kleineren zweiten Wert aufweist, und der Potentialanteil τV x und/oder τV q mit der Skalierungsfunktion κ skaliert ist und/oder der Dämpfungsanteil τ R x
Figure DE102020209866B3_0090
und/oder τ R q
Figure DE102020209866B3_0091
mit der Wurzel der Skalierungsfunktion κ skaliert ist; - eine Skalierungsfunktion ρ in wenigstens einem Bereich der kinetischen Energie T bei Zunahme der kinetischen Energie T zu- und/oder bei zunehmender Abweichung zwischen Trigger- und Ist-Gelenkstellungen abnimmt und der Bremsanteil τ V q *
Figure DE102020209866B3_0092
mit der Skalierungsfunktion ρ skaliert ist; und/oder - ein Zeitvorschub der Soll-Pose xc und/oder Soll-Gelenkstellungen qc unterbrochen ist, solange eine Energiegröße LC, die von der kinetischen Energie T des Roboters und einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters abhängt, ein vorgegebenes Energiebudget Lmax übersteigt, wobei bei einer Regeldifferenz zwischen einer Soll- und Ist-Größe des Roboters die Soll-Größe die Soll-Pose und/oder die Soll-Gelenkstellungen und die Ist-Größe die Ist-Pose und/oder die Ist-Gelenkstellungen umfasst.
System for operating a robot (10) which has several drives (11) for adjusting axes of the robot, the system for carrying out a method according to one of the preceding Claims is set up and / or has means (2) for regulating the drives on the basis of target forces and / or torques τ c , which have at least one of the following components: a potential component τ V x which depends on a derivative of a potential V x according to a pose x of a robot-fixed reference, which increases in at least one area with increasing control difference between a target pose x c and an actual pose x of this robot-fixed reference; - a damping component τ R. x ,
Figure DE102020209866B3_0084
that of a derivative of a dissipation function R. x
Figure DE102020209866B3_0085
depends on a speed ẋ of a robot-fixed reference, which increases with increasing speed of this robot-fixed reference in at least one area; - a potential component τ V q , which depends on a derivative of a potential V q according to joint positions q of the robot, which increases in at least one area with increasing control difference between target joint positions q c and actual joint positions q; - a damping component τ R. q ,
Figure DE102020209866B3_0086
that of a derivative of a dissipation function R. q
Figure DE102020209866B3_0087
depends on joint speeds q̇ of the robot, which increases with increasing joint speeds in at least one range; and / or - a braking component τ V q * ,
Figure DE102020209866B3_0088
that of a derivative of a potential V q *
Figure DE102020209866B3_0089
depends on the joint positions q of the robot, which increases with increasing deviation between trigger joint positions when a predetermined energy budget L max is exceeded by a kinetic energy T of the robot and actual joint positions in at least one area, as long as the predetermined energy budget L max is still exceeded; where - a scaling function κ has a first value at a first value of an energy quantity L C , which depends on the kinetic energy T of the robot and a control difference between a target and actual quantity of the robot, and at a larger second value of the energy quantity has a smaller second value, and the potential component τ V x and / or τ V q is scaled with the scaling function κ and / or the damping component τ R. x
Figure DE102020209866B3_0090
and or τ R. q
Figure DE102020209866B3_0091
is scaled with the root of the scaling function κ; A scaling function ρ in at least one range of the kinetic energy T increases with an increase in the kinetic energy T and / or decreases with an increasing deviation between the trigger and actual joint positions and the braking component τ V q *
Figure DE102020209866B3_0092
is scaled with the scaling function ρ; and / or - a time advance of the target pose x c and / or target joint positions q c is interrupted as long as an energy quantity L C that is derived from the kinetic energy T of the robot and a control difference between a target and actual value of the robot depends, a predetermined energy budget L max exceeds, with a control difference between a target and actual size of the robot, the target size, the target pose and / or the target joint positions and the actual size, the actual pose and / or includes the actual joint positions.
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 5.Computer program product with a program code, which is stored on a medium readable by a computer, for carrying out a method according to one of the preceding Claims 1 until 5 .
DE102020209866.2A 2020-08-05 2020-08-05 Method and system for operating a robot Active DE102020209866B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020209866.2A DE102020209866B3 (en) 2020-08-05 2020-08-05 Method and system for operating a robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020209866.2A DE102020209866B3 (en) 2020-08-05 2020-08-05 Method and system for operating a robot

Publications (1)

Publication Number Publication Date
DE102020209866B3 true DE102020209866B3 (en) 2021-12-02

Family

ID=78509366

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020209866.2A Active DE102020209866B3 (en) 2020-08-05 2020-08-05 Method and system for operating a robot

Country Status (1)

Country Link
DE (1) DE102020209866B3 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114536402A (en) * 2022-02-16 2022-05-27 中国医学科学院北京协和医院 Robot system fault detection processing method based on associated identification and robot system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010033248A1 (en) 2010-08-03 2012-01-19 Kuka Laboratories Gmbh Manipulator e.g. six-axis articulated robot, monitoring method, involves determining driving power size and model energy parameter of manipulator, where determined driving power size and model energy parameter are compared
DE102009040194B4 (en) 2009-09-07 2015-06-18 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for force control
DE102014226936B3 (en) 2014-11-14 2016-03-17 Deutsches Zentrum für Luft- und Raumfahrt e.V. Full-body impedance for mobile robots
DE102015106227B3 (en) 2015-04-22 2016-05-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Controlling and / or regulating motors of a robot
EP3287244A1 (en) 2016-08-26 2018-02-28 Siemens Aktiengesellschaft Detent torque compensation in an industrial robot
DE102018112360B3 (en) 2018-05-23 2019-09-19 Franka Emika Gmbh Area-dependent collision detection for a robot manipulator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009040194B4 (en) 2009-09-07 2015-06-18 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for force control
DE102010033248A1 (en) 2010-08-03 2012-01-19 Kuka Laboratories Gmbh Manipulator e.g. six-axis articulated robot, monitoring method, involves determining driving power size and model energy parameter of manipulator, where determined driving power size and model energy parameter are compared
DE102014226936B3 (en) 2014-11-14 2016-03-17 Deutsches Zentrum für Luft- und Raumfahrt e.V. Full-body impedance for mobile robots
DE102015106227B3 (en) 2015-04-22 2016-05-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Controlling and / or regulating motors of a robot
EP3287244A1 (en) 2016-08-26 2018-02-28 Siemens Aktiengesellschaft Detent torque compensation in an industrial robot
DE102018112360B3 (en) 2018-05-23 2019-09-19 Franka Emika Gmbh Area-dependent collision detection for a robot manipulator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114536402A (en) * 2022-02-16 2022-05-27 中国医学科学院北京协和医院 Robot system fault detection processing method based on associated identification and robot system
CN114536402B (en) * 2022-02-16 2024-04-09 中国医学科学院北京协和医院 Robot system fault detection processing method based on association identification and robot system

Similar Documents

Publication Publication Date Title
EP3323026B1 (en) Ascertaining an input command for a robot, said input command being entered by manually exerting a force onto the robot
DE102015004484B4 (en) Robot controller and robot system for moving a robot in response to a force
DE102015002764B4 (en) ROBOT CONTROL WITH DETECTION OF CONTACT IN EXTERNAL ENVIRONMENT
DE102015010124B4 (en) A robot program generating device that generates a robot program for reducing bumps of the joints of the robot
EP2243602B1 (en) Method and device for controlling a manipulator
EP3285975B1 (en) Controlling and/or regulating motors of a robot
DE102018210864B3 (en) Method and system for controlling a robot
DE102015004481B4 (en) A robot control device for controlling a robot moved in accordance with an applied force
DE102013222456A1 (en) Method for programming the motion sequences of a redundant industrial robot and associated industrial robots
EP3408061A1 (en) Method and system for the path planning of a redundant robot
DE102018214257B3 (en) robot control
EP3170628A1 (en) Control system of a robot with damping drive amount determination
DE102018200864B3 (en) Method and system for controlling a robot
DE102019205651B3 (en) Method and system for carrying out robot applications
DE102017007359B4 (en) Method and system for checking and / or modifying a work process of a robot
EP3328595A2 (en) Method and system for controlling a robot
DE102018209044B3 (en) Force control of a robot
DE102018112370B4 (en) Directional collision detection for a robot manipulator
DE102020209866B3 (en) Method and system for operating a robot
DE102019134665B3 (en) Calibrating a virtual force sensor of a robot manipulator
WO2018083008A1 (en) Calibrating a model of a process robot and operating a process robot
DE102019118260B3 (en) Tactile feedback from an end effector of a robot manipulator over various orientation areas
DE102018207919B3 (en) robot control
EP4084937B1 (en) Moving a reference fixed on a robot
DE102019219930B3 (en) Method and system for controlling a robot

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