DE102019127887B3 - Controlling a robot - Google Patents
Controlling a robot Download PDFInfo
- Publication number
- DE102019127887B3 DE102019127887B3 DE102019127887.2A DE102019127887A DE102019127887B3 DE 102019127887 B3 DE102019127887 B3 DE 102019127887B3 DE 102019127887 A DE102019127887 A DE 102019127887A DE 102019127887 B3 DE102019127887 B3 DE 102019127887B3
- Authority
- DE
- Germany
- Prior art keywords
- friction compensation
- load
- robot
- axis
- drive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39181—Compensation of coulomb friction in joint
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41158—Use of pwm signal against friction
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Control Of Position Or Direction (AREA)
- Manipulator (AREA)
Abstract
Ein erfindungsgemäßes Verfahren zum Steuern eines Roboters (10-15) umfasst den Schritt: Berechnen (S10) einer Soll-Last (Fd) wenigstens eines Antriebs (14, 15) einer Achse des Roboters, insbesondere auf Basis eines mathematischen Modells der Achse, wobei der Anrieb in einem ersten Reibungskompensations-Modus auf die Achse eine Reibungskompensations-Last (Fc), insbesondere eine oszillierende Reibungskompensations-Last in alternierenden Richtungen, auf Basis der berechneten Soll-Last ausübt (S60).A method according to the invention for controlling a robot (10-15) comprises the step: calculating (S10) a target load (Fd) of at least one drive (14, 15) of an axis of the robot, in particular on the basis of a mathematical model of the axis, wherein the drive in a first friction compensation mode exerts a friction compensation load (Fc) on the axle, in particular an oscillating friction compensation load in alternating directions, on the basis of the calculated target load (S60).
Description
Die vorliegende Erfindung betrifft ein Verfahren und System zum Steuern eines Roboters sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.The present invention relates to a method and system for controlling a robot and a computer program product for carrying out the method.
In Roboterachsen tritt Reibung auf, die insbesondere handgeführte und modellbasiert geregelte Bewegung des Roboters erschwert.Friction occurs in robot axes, which in particular makes hand-guided and model-based controlled movement of the robot more difficult.
Reibung wirkt stets der tatsächlichen Bewegungsrichtung bzw. der Bewegungsrichtung, in die ausgeübte Lasten ein ruhendes System antreiben, entgegengerichtet.Friction always works in the opposite direction to the actual direction of movement or the direction of movement in which exerted loads drive a system at rest.
Misst man daher eine Ist-Geschwindigkeit, um die Richtung der Reibung zu bestimmen und diese entsprechend kompensieren zu können, kann ein Rauschen im Ist-Geschwindigkeitssignal, insbesondere bei kleinen Geschwindigkeiten, zu einer fehlerhaften Reibungskompensation führen.Therefore, if an actual speed is measured in order to determine the direction of the friction and to be able to compensate it accordingly, noise in the actual speed signal, especially at low speeds, can lead to incorrect friction compensation.
Aus der
Hierdurch soll ein Handführen insbesondere im Bereich kleiner Geschwindigkeiten [-v1, +v1], insbesondere bei vmeas ≈ 0, verbessert werden.This is intended to improve manual guidance, in particular in the range of low speeds [-v 1 , + v 1 ], in particular at v meas ≈ 0.
Dieses Verfahren zeigt in der Praxis, insbesondere für schwer(gängige)(re) Roboter(achsen), Nachteile.In practice, this method shows disadvantages, especially for difficult (common) (re) robots (axes).
Die
Die
Die
Die
Nach der
Aufgabe der vorliegenden Erfindung ist es, das Steuern von Robotern zu verbessern.The object of the present invention is to improve the control of robots.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8, 9 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.This object is achieved by a method with the features of claim 1. Claims 8, 9 represent a system or computer program product for carrying out one of the tasks described here Procedure under protection. The subclaims relate to advantageous developments.
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Steuern eines Roboters den, vorzugsweise zyklisch, in einer Ausführung im Regeltakt, wiederholten, Schritt:
- - Berechnen einer Soll-Last wenigstens eines Achsantriebs des Roboters.
- - Calculating a target load of at least one axle drive of the robot.
Der Roboter kann insbesondere ein mobiler und/oder redundanter Roboter sein und/oder einen Roboterarm mit mehreren (Bewegungs)Achsen bzw. Gelenken, insbesondere Drehachsen bzw. -gelenken, aufweisen.The robot can in particular be a mobile and / or redundant robot and / or have a robot arm with several (movement) axes or joints, in particular axes of rotation or joints.
Hierfür ist die vorliegende Erfindung, insbesondere aufgrund der meist autonomen Energie-, insbesondere Batterieversorgung mobiler Roboter und/oder dem Aufbau und/oder Einsatz solcher Roboter(arme) besonders geeignet, ohne jedoch hierauf beschränkt zu sein.The present invention is particularly suitable for this, in particular due to the mostly autonomous energy, in particular battery, supply of mobile robots and / or the construction and / or use of such (poor) robots, but without being restricted to this.
Eine Soll-Last kann insbesondere eine Soll-Kraft und/oder ein Soll-(Dreh)Moment aufweisen, insbesondere sein.A target load can in particular have, in particular be, a target force and / or a target (rotational) torque.
Durch die Berechnung von Soll-Lasten können Roboter in einer Ausführung besonders vorteilhaft gesteuert werden, wobei unter einem Steuern vorliegend zur kompakteren Darstellung insbesondere auch ein Regeln verstanden wird. So können Roboter auf Basis berechneter Soll-Lasten vorteilhafterweise mittels Operational Space Control gesteuert, impedanz- bzw. admittanzgereglt oder auch Nullraumbewegungen redundanter Roboter kommandiert werden. Allgemein wird der Roboter in einer Ausführung auf Basis der berechneten Soll-Last(en) gesteuert, insbesondere in dem nachfolgend erläuterten ersten, zweiten und/oder dritten Reibungskompensations-Modus und/oder wenigstens einem hiervon verschiedenen (Betriebs)Modus, bzw. ist/sind die berechneten Soll-Last(en) hierzu vorgesehen bzw. werden (auch) hierzu berechnet bzw. verwendet.By calculating setpoint loads, robots can be controlled particularly advantageously in one embodiment, with control being understood in the present case for more compact representation in particular also to mean regulating. Robots can be controlled, impedance- or admittance-regulated, or zero-space movements of redundant robots can be commanded on the basis of calculated target loads, advantageously by means of operational space control. In general, one embodiment of the robot is controlled on the basis of the calculated target load (s), in particular in the first, second and / or third friction compensation mode explained below and / or at least one (operating) mode different therefrom, or is / are the calculated target load (s) intended for this purpose or are (also) calculated or used for this purpose.
In einer Ausführung wird/werden die Soll-Last(en) auf Basis eines mathematischen, insbesondere numerischen, Modelles der Achse, insbesondere des Roboters, berechnet, insbesondere eines von einer Getriebeübersetzung und/oder Masse, insbesondere Massenverteilung abhängigen Modells. In einer Ausführung wird das Modell und/oder die berechnete Soll-Last für bzw. in eine(r) modellbasierte(n) Regelung, insbesondere Operational Space Control, Nachgiebigkeits-, insbesondere Impedanz- oder Admittanz-, und/oder Nullraumregelung verwendet bzw. ist hierzu geeignet, insbesondere vorgesehen.In one embodiment, the target load (s) is / are calculated on the basis of a mathematical, in particular numerical, model of the axis, in particular of the robot, in particular a model dependent on a gear ratio and / or mass, in particular mass distribution. In one embodiment, the model and / or the calculated target load is used or in a model-based control, in particular operational space control, compliance, in particular impedance or admittance, and / or zero space control. is suitable for this purpose, in particular intended.
Nach einer Ausführung der vorliegenden Erfindung umfasst das Verfahren einen ersten Reibungskompensations-(Betriebs)Modus, in dem der Anrieb auf die Achse eine Reibungskompensations-Last auf Basis bzw. in Abhängigkeit von der berechneten Soll-Last ausübt.According to one embodiment of the present invention, the method comprises a first friction compensation (operating) mode in which the drive exerts a friction compensation load on the axle based on or as a function of the calculated target load.
Entsprechend umfasst das Verfahren in einer Ausführung die Schritte:
- - Ermitteln einer Reibungskompensations-Last auf Basis bzw. in Abhängigkeit von der berechneten Soll-Last des Achsantriebs; und
- - Ausüben dieser Reibungskompensations-Last auf die Achse mithilfe des, insbesondere durch den, (Achs)Antrieb.
- - Determination of a friction compensation load on the basis of or as a function of the calculated target load of the axle drive; and
- - This friction compensation load is exerted on the axle with the aid of, in particular, the (axle) drive.
Wie einleitend erläutert, kann insbesondere ein Rauschen in einem Ist- Geschwindigkeitssignal bei kleiner oder verschwindender Geschwindigkeit zu einer fehlerhaften Reibungskompensation führen.As explained in the introduction, in particular noise in an actual speed signal at low or zero speed can lead to incorrect friction compensation.
Eine Ausführung der vorliegenden Erfindung basiert auf der Erkenntnis, dass berechnete Soll-Last in der Regel exakt(er) sind und die Bewegungsrichtung, in der eine ruhende Achse losbricht, (mit)bestimmen. Auf diese Weise kann insbesondere im Bereich kleiner oder verschwindender Geschwindigkeiten eine Reibungskompensation gegenüber der eingangs genannten
In einer Ausführung ist die in dem ersten Reibungskompensations-Modus von dem Antrieb auf die Achse ausgeübte Reibungskompensations-Last eine oszillierende Last in alternierenden Richtungen.In one embodiment, the friction compensation load exerted by the drive on the axle in the first friction compensation mode is an oscillating load in alternating directions.
Hierdurch kann in einer Ausführung vorteilhaft ein Haft-Gleit-Übergang in der Achse verbessert oder vermieden werden.In this way, in one embodiment, an adhesion-sliding transition in the axis can advantageously be improved or avoided.
In einer Ausführung umfasst das Verfahren einen zweiten Reibungskompensations-Modus, in dem der Antrieb auf die Achse eine Reibungskompensations-Last auf Basis einer erfassten Ist-Geschwindigkeit, insbesondere in deren Richtung, dieser Achse ausübt, wobei in einer Ausführung dieser zweite Reibungskompensations-Modus durchgeführt, insbesondere in diesen (um)geschaltet, wird, falls diese Geschwindigkeit innerhalb eines vorgegebenen Geschwindigkeitsbereichs liegt, in einer Ausführung, falls ihr Betrag einen vorgegebenen Geschwindigkeitsgrenzwert übersteigt.In one embodiment, the method includes a second friction compensation mode in which the drive exerts a friction compensation load on the axle based on a detected actual speed, in particular in its direction, of this axis, this second friction compensation mode being carried out in one embodiment , in particular in this (um) switched, if this speed is within of a predetermined speed range, in one embodiment, if its amount exceeds a predetermined speed limit value.
Entsprechend umfasst das Verfahren in einer Ausführung die Schritte:
- - Erfassen einer Ist-Geschwindigkeit der Achse; und
- - Durchführen des, insbesondere (Um)Schalten in den, zweiten Reibungskompensations-Modus, falls diese Geschwindigkeit innerhalb eines vorgegebenen Geschwindigkeitsbereichs liegt, in einer Ausführung, falls ihr Betrag einen vorgegebenen Geschwindigkeitsgrenzwert übersteigt; wobei der zweite Reibungskompensations-Modus die Schritte umfasst:
- - Ermitteln einer Reibungskompensations-Last auf Basis bzw. in Abhängigkeit von der erfassten Ist-Geschwindigkeit; und
- - Ausüben dieser Reibungskompensations-Last auf die Achse mithilfe des, insbesondere durch den, (Achs)Antrieb.
- - Detecting an actual speed of the axis; and
- - Carrying out the, in particular (over) switching to the second friction compensation mode, if this speed is within a predetermined speed range, in one embodiment, if its amount exceeds a predetermined speed limit value; wherein the second friction compensation mode comprises the steps of:
- - Determination of a friction compensation load on the basis of or as a function of the detected actual speed; and
- - This friction compensation load is exerted on the axle with the aid of, in particular, the (axle) drive.
Dem liegt die Idee zugrunde, dass bei höheren Ist-Geschwindigkeiten die Reibung, insbesondere deren Richtung, zuverlässig auf Basis dieser Ist-Geschwindigkeiten ermittelt bzw. kompensiert werden kann.This is based on the idea that at higher actual speeds the friction, in particular its direction, can be reliably determined or compensated on the basis of these actual speeds.
Die Reibungskompensations-Last des zweiten Reibungskompensations-Modus ist in einer Ausführung eine konstante, in einer Weiterbildung von der berechneten Soll-Last unabhängige, Reibungskompensations-Last, in einer anderen Ausführung eine, insbesondere linear, mit der Ist-Geschwindigkeiten zunehmende Reibungskompensations-Last oder eine anderweit von der Ist-Geschwindigkeiten abhängige Reibungskompensations-Last.In one embodiment, the friction compensation load of the second friction compensation mode is a constant friction compensation load that is independent of the calculated target load in one development, and in another embodiment a friction compensation load that increases, in particular linearly, with the actual speeds or a friction compensation load that is otherwise dependent on the actual speeds.
In einer Ausführung umfasst das Verfahren einen Reibungskompensations-Modus, in dem der Anrieb keine oszillierende Reibungskompensations-Last in alternierenden Richtungen auf diese Achse ausübt, wobei in einer Ausführung dieser Reibungskompensations-Modus durchgeführt, insbesondere in diesen (um)geschaltet, wird, falls sowohl ein Betrag der berechneten Soll-Last innerhalb eines vorgegebenen ersten Bereichs liegt, insbesondere gleich Null ist, als auch eine, insbesondere die, erfasste Ist-Geschwindigkeit außerhalb eines, insbesondere des, vorgegebenen Geschwindigkeitsbereichs liegt, insbesondere falls ihr Betrag einen, insbesondere den, vorgegebenen Geschwindigkeitsgrenzwert unterschreitet. Dieser Reibungskompensations-Modus wird ohne Beschränkung der Allgemeinheit als dritter Reibungskompensations-Modus bezeichnet, insbesondere ohne einen bzw. den zweiten Reibungskompensations-Modus zu erfordern.In one embodiment, the method comprises a friction compensation mode in which the drive does not exert an oscillating friction compensation load in alternating directions on this axis; in one embodiment, this friction compensation mode is carried out, in particular switched to, if both an amount of the calculated target load lies within a predefined first range, in particular is equal to zero, and an, in particular the, detected actual speed is outside a, in particular the, predefined speed range, in particular if its amount is a, in particular the predefined Speed limit falls below. Without loss of generality, this friction compensation mode is referred to as the third friction compensation mode, in particular without requiring a or the second friction compensation mode.
Hierdurch kann in einer Ausführung vorteilhaft bei (gewünschtem bzw. aufrechtzuerhaltenden) Stillstand der Achse eine Belastung von Achse und/oder Antrieb und/oder ein Energieverbrauch reduziert werden, was insbesondere bei mobilen Robotern mit autonomer Energie-, insbesondere Batterieversorgung von besonderer Bedeutung ist.In one embodiment, this can advantageously reduce the load on the axis and / or drive and / or energy consumption when the axis is at a (desired or maintained) standstill, which is particularly important in mobile robots with autonomous energy, in particular battery, supply.
In einer Ausführung steigt in dem ersten Reibungskompensations-Modus ein Betrag der Reibungskompensations-Last, in einer Ausführung eine Amplitude einer oszillierenden Reibungskompensations-Last in alternierenden Richtungen, mit der Zeit wenigstens abschnittsweise, insbesondere linear und/oder über wenigstens 25% der Dauer des ersten Reibungskompensations-Modus und/oder in einer, insbesondere vorab und/oder durch einen vorgegebenen ein- oder mehrdimensionalen Anstiegsparameter, vorgegebenen Weise an. In einer Ausführung steigt die Amplitude der oszillierenden, insbesondere pulsweitenmodulierten, Reibungskompensations-Last innerhalb wenigstens einer, insbesondere jeder, Schwingung, insbesondere wenigstens eines, insbesondere jedes, Impulses innerhalb einer P(ulsweitenp)eriode, mit der Zeit an, in einer Ausführung linear und/oder in einer, insbesondere vorab und/oder durch einen vorgegebenen ein- oder mehrdimensionalen Anstiegsparameter, vorgegebenen Weise.In one embodiment, an amount of the friction compensation load increases in the first friction compensation mode, in one embodiment an amplitude of an oscillating friction compensation load in alternating directions, over time at least in sections, in particular linearly and / or over at least 25% of the duration of the first Friction compensation mode and / or in a predetermined manner, in particular in advance and / or by a predetermined one-dimensional or multi-dimensional increase parameter. In one embodiment, the amplitude of the oscillating, in particular pulse width modulated, friction compensation load increases over time within at least one, in particular each, oscillation, in particular at least one, in particular each, pulse within a P (pulse width period), in one embodiment linearly and / or in a predetermined manner, in particular in advance and / or by a predetermined one-dimensional or multi-dimensional increase parameter.
Hierdurch kann in einer Ausführung eine Bewegung(seinleitung) verbessert und so insbesondere vorteilhaft in den zweiten Reibungskompensations-Modus übergegangen werden.In this way, in one embodiment, a movement (its guidance) can be improved and, in particular, advantageously a transition can be made to the second friction compensation mode.
In einer Ausführung steigt die Reibungskompensations-Last in dem ersten Reibungskompensations-Modus mit in einer (ersten) Bewegungsrichtung der Achse wachsender berechneter Soll-Last in dieser (ersten) Bewegungsrichtung an, in einer Weiterbildung mit in der entgegengesetzten (zweiten) Bewegungsrichtung der Achse wachsender berechneter Soll-Last in dieser entgegengesetzten (zweiten) Bewegungsrichtung an. Dieser Anstieg kann insbesondere durch eine entsprechende Pulsweitenmodulation implementiert sein.In one embodiment, the friction compensation load increases in the first friction compensation mode with the calculated target load increasing in a (first) direction of movement of the axis in this (first) direction of movement, in a further development with increasing in the opposite (second) direction of movement of the axis calculated target load in this opposite (second) direction of movement. This increase can in particular be implemented by a corresponding pulse width modulation.
Dem liegt insbesondere die Idee zugrunde, dass die Richtung und der Betrag der berechneten Soll-Last die Bewegung, in der eine ruhende Achse losbricht, (mit)bestimmen. Auf diese Weise kann insbesondere im Bereich kleiner oder verschwindender Geschwindigkeiten eine Reibungskompensation gegenüber der eingangs genannten
In einer Ausführung wird die Reibungskompensations-Last in dem ersten Reibungskompensations-Modus mit einem Tast- bzw. Aussteuergrad (duty cycle) auf Basis bzw. in Abhängigkeit von der berechneten Soll-Last pulsweitenmoduliert.In one embodiment, the friction compensation load is pulse-width modulated in the first friction compensation mode with a duty cycle based on or as a function of the calculated target load.
Entsprechend umfasst das Verfahren in einer Ausführung die Schritte:
- - Ermitteln eines Tastgrads auf Basis bzw. in Abhängigkeit von der berechneten Soll-Last des Achsantriebs; und
- - Pulsweitenmodulation der Reibungskompensations-Last mit diesem Tastgrad.
- - Determination of a duty cycle based on or as a function of the calculated target load of the axle drive; and
- - Pulse width modulation of the friction compensation load with this duty cycle.
Unter einem Tastgrad wird vorliegend insbesondere in fachüblicher Form das Verhältnis von Impulsdauern innerhalb einer Periode relativ zu der Periodendauer verstanden. Entsprechend entspricht in einer Ausführung ein Tastgrad von x% (0 ≤ x ≤ 100) einer Impulsdauer bzw. Pulsweite, insbesondere theoretischen bzw. Soll-Impulsdauer, einer Reibungskompensations-Last in einer ersten Richtung von x·T und einer (theoretischen bzw. Soll-)Impulsdauer bzw. Pulsweite einer Reibungskompensations-Last in einer entgegengesetzten zweiten Richtung von (100%-x).T, wobei T die Periodendauer der oszillierenden Reibungskompensations-Last ist. Der Tastgrad kann vorzugsweise innerhalb eines vorgegebenen Bereichs zwischen zwei Grenzwerten der Reibungskompensations-Last mit der Reibungskompensations-Last, insbesondere linear, von 0% auf 100% steigen, unterhalb des einen der Grenzwerte bei konstant 0% und/oder oberhalb des anderen der Grenzwerte bei konstant 100% liegen, insbesondere analog zu dem Ist-Geschwindigkeits-abhängigen Tastgrad der
Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Steuern eines bzw. des Roboters, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- - Mittel zum Berechnen einer Soll-Last wenigstens eines Antriebs einer Achse des Roboters; und
- - einen ersten Reibungskompensations-Modus, in dem der Anrieb auf die Achse eine Reibungskompensations-Last, insbesondere eine oszillierende Reibungskompensations-Last in alternierenden Richtungen, auf Basis der berechneten Soll-Last ausübt.
- - Means for calculating a target load of at least one drive of an axis of the robot; and
- a first friction compensation mode in which the drive exerts a friction compensation load on the axle, in particular an oscillating friction compensation load in alternating directions, on the basis of the calculated target load.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- - einen zweiten Reibungskompensations-Modus, in dem der Anrieb auf die Achse eine Reibungskompensations-Last auf Basis einer erfassten Ist-Geschwindigkeit dieser Achse ausübt, falls diese Geschwindigkeit innerhalb eines vorgegebenen Geschwindigkeitsbereichs liegt, insbesondere ihr Betrag einen vorgegebenen Geschwindigkeitsgrenzwert übersteigt; und/oder
- - einen dritten Reibungskompensations-Modus, in dem der Anrieb keine oszillierende Reibungskompensations-Last in alternierenden Richtungen auf diese Achse ausübt, falls ein Betrag der berechneten Soll-Last in einem vorgegebenen ersten Bereich liegt, insbesondere gleich Null ist, und eine, insbesondere die, erfasste Ist-Geschwindigkeit außerhalb eines, insbesondere des, vorgegebenen Geschwindigkeitsbereichs liegt, insbesondere ihr Betrag einen, insbesondere den, vorgegebenen Geschwindigkeitsgrenzwert unterschreitet; und/oder
- - Mittel zum Erhöhen eines Betrags der Reibungskompensations-Last, insbesondere einer Amplitude einer oszillierenden Reibungskompensations-Last in alternierenden Richtungen, in dem ersten Reibungskompensations-Modus mit der Zeit wenigstens abschnittsweise, insbesondere linear und/oder über wenigstens 25% der Dauer des ersten Reibungskompensations-Modus und/oder in einer vorgegebenen Weise; und/oder
- - Mittel zum Erhöhen der Reibungskompensations-Last in dem ersten Reibungskompensations Modus mit in einer Bewegungsrichtung der Achse wachsender berechneter Soll-Last in dieser Bewegungsrichtung; und/oder
- - Mittel zur Pulsweitenmodulation der Reibungskompensations-Last in dem ersten Reibungskompensations-Modus mit einem Tastgrad auf Basis der berechneten Soll-Last.
- - A second friction compensation mode in which the drive exerts a friction compensation load on the axle on the basis of a detected actual speed of this axle if this speed is within a predetermined speed range, in particular if its amount exceeds a predetermined speed limit value; and or
- - A third friction compensation mode, in which the drive does not exert an oscillating friction compensation load in alternating directions on this axis if an amount of the calculated target load is in a predetermined first range, in particular equal to zero, and one, in particular, the detected actual speed is outside a, in particular the, predetermined speed range, in particular its amount falls below a, in particular, the predetermined speed limit value; and or
- - Means for increasing an amount of the friction compensation load, in particular an amplitude of an oscillating friction compensation load in alternating directions, in the first friction compensation mode over time, at least in sections, in particular linearly and / or over at least 25% of the duration of the first friction compensation Mode and / or in a predetermined manner; and or
- - Means for increasing the friction compensation load in the first friction compensation mode with the calculated target load increasing in a direction of movement of the axis in this direction of movement; and or
- - Means for pulse width modulation of the friction compensation load in the first friction compensation mode with a duty cycle based on the calculated target load.
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 steuern 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 data or signal-connected, in particular digital, processing, in particular microprocessor unit (CPU), graphics card (GPU), preferably with a memory and / or bus system ) 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 can thus in particular control 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 procedure 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 carried out fully or partially automatically, in particular by the system or its means.
In einer Ausführung weist das System den Roboter auf.In one embodiment, the system has the robot.
Weist der Roboter mehrere Achsen auch, kann das hier beschriebene Verfahren in einer Ausführung achsweise für eine oder mehrere dieser Achsen durchgeführt werden.If the robot also has several axes, the method described here can be carried out in one embodiment for one or more of these axes.
Eine Ausüben einer Reibungskompensations-Last auf eine Achse durch deren (Achs)Antrieb umfasst in einer Ausführung in dem ersten und/oder zweiten Reibungskompensations-Modus ein Kommandieren der entsprechenden Last, in einer Ausführung zusätzlich zu der ebenfalls kommandierten Soll-Last bzw. als (zusätzlicher) Anteil oder anstelle der Soll-Last, an den Antrieb. Entsprechend übt in einer Ausführung der Antrieb die Reibungskompensations-Last zusätzlich zu oder anstelle der berechneten Soll-Last auf die Achse aus.The exertion of a friction compensation load on an axle by its (axle) drive includes, in one embodiment in the first and / or second friction compensation mode, commanding the corresponding load, in one embodiment in addition to the likewise commanded target load or as ( additional) portion or instead of the target load, to the drive. Correspondingly, in one embodiment, the drive exerts the friction compensation load on the axle in addition to or instead of the calculated target load.
Hierdurch kann in einer Ausführung die Reibung bei der, vorzugsweise (roboter)modellgestützten bzw. -basierten, Berechnung der Soll-Last außer Acht gelassen werden, da sie in einer Ausführung durch die (superponierte) Reibungskompensations-Last, wenigstens näherungsweise bzw. im Wesentlichen, kompensiert wird bzw. ist.As a result, in one embodiment, the friction in the, preferably (robot) model-assisted or -based calculation of the target load can be disregarded, since in one embodiment it is at least approximately or substantially due to the (superimposed) friction compensation load , is or is compensated.
In einer Ausführung wird der erste Reibungskompensations-Modus durchgeführt, insbesondere in diesen (um)geschaltet, falls ein Betrag der berechneten Soll-Last außerhalb eines vorgegebenen, insbesondere des ersten, Bereichs liegt, insbesondere falls der Betrag ungleich Null ist, und/oder die erfasste Ist-Geschwindigkeit außerhalb eines, insbesondere des, vorgegebenen Geschwindigkeitsbereichs liegt, insbesondere falls ihr Betrag einen, insbesondere den, vorgegebenen Geschwindigkeitsgrenzwert unterschreitet, insbesondere also falls sowohl ein Betrag der berechneten Soll-Last außerhalb eines vorgegebenen, insbesondere des ersten, Bereichs liegt, insbesondere falls der Betrag ungleich Null ist, als auch die erfasste Ist-Geschwindigkeit außerhalb eines, insbesondere des, vorgegebenen Geschwindigkeitsbereichs liegt, insbesondere falls ihr Betrag einen, insbesondere den, vorgegebenen Geschwindigkeitsgrenzwert unterschreitet.In one embodiment, the first friction compensation mode is carried out, in particular switched to this, if an amount of the calculated target load is outside a predetermined, in particular the first, range, in particular if the amount is not equal to zero, and / or the The detected actual speed is outside a, in particular the, predetermined speed range, in particular if its amount falls below a, in particular, the predetermined speed limit value, in particular if both an amount of the calculated target load is outside a predetermined, in particular the first, range, in particular if the amount is not equal to zero and the detected actual speed is outside a, in particular the, predetermined speed range, in particular if its amount falls below a, in particular, the predetermined speed limit value.
Wie bereits erläutert, kann der erste Reibungskompensations-Modus somit in einer Ausführung vorzugsweise bei (noch) stillstehender Achse und einer von Null (ausreichend) verschiedenen Soll-Last verwendet und dadurch vorteilhafterweise ein Haft-Gleit-Übergang bzw. ein Losfahren der Achse verbessert werden.As already explained, the first friction compensation mode can thus be used in one embodiment with the axis (still) at a standstill and a target load different from zero (sufficiently), thereby advantageously improving a stick-to-slide transition or starting the axis .
In einer Ausführung ist bzw. dient die Reibungskompensations-Last, vorzugsweise nur bzw. ausschließlich, zur Kompensation einer Reibung in dem Gelenk vorgesehen bzw. wird, vorzugsweise nur bzw. ausschließlich, hierzu verwendet.In one embodiment, the friction compensation load is or is used, preferably only or exclusively, to compensate for friction in the joint or is used, preferably only or exclusively, for this purpose.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1 : ein System nach einer Ausführung der vorliegenden Erfindung; -
2 : ein Verfahren nach einer Ausführung der vorliegenden Erfindung; -
3 : einen Verlauf einer Reibungskompensations-Last nach dem Stand der Technik; -
4 einen Verlauf eines Tastgrads einer pulsweitenmodulierten Reibungskompensations-Last nach der vorliegenden Erfindung; und -
5A ,5B : einen Verlauf der Reibungskompensations-Last über der Zeit für verschiedene Tastgrade.
-
1 : a system according to an embodiment of the present invention; -
2 : a method according to an embodiment of the present invention; -
3 : a history of a friction compensation load according to the prior art; -
4th a profile of a duty cycle of a pulse width modulated friction compensation load according to the present invention; and -
5A ,5B : a curve of the friction compensation load over time for different duty cycles.
In einem Schritt S10 werden jeweils achsweise eine aktuelle Ist-Geschwindigkeit erfasst und eine Soll-Kraft bzw. ein Soll-Drehmoment
In einem Schritt S20 wird geprüft, ob die erfasst Ist-Geschwindigkeit einen vorgegebenen Geschwindigkeitsgrenzwert (betragsmäßig) übersteigt.In a step S20 it is checked whether the detected actual speed exceeds a predetermined speed limit value (in terms of amount).
Ist dies der Fall (S20: „Y“), wird ein zweiter Reibungskompensations-Modus durchgeführt, in dem der jeweilige Antrieb eine Reibungskompensations-Last auf die Achse ausübt (S30), die dieser Geschwindigkeit entgegengerichtet ist und in einer Ausführung konstant ist, in einer anderen Ausführung beispielsweise linear mit der Geschwindigkeit ansteigt. Dann kehrt das Verfahren bzw. die Steuerung zu Schritt S10 zurück.If this is the case (S20: “Y”), a second friction compensation mode is carried out in which the respective drive exerts a friction compensation load on the axle (S30) that is opposite to this speed and is constant in one embodiment in another embodiment, for example, increases linearly with the speed. Then the method or the control returns to step S10.
Andernfalls (S20: „N“) wird geprüft, ob der Betrag der in Schritt S10 berechneten Soll-Last gleich Null ist (S40).Otherwise (S20: “N”) it is checked whether the amount of the target load calculated in step S10 is equal to zero (S40).
Ist dies der Fall (S40: „Y“), wird ein dritter Reibungskompensations-Modus durchgeführt, in dem der jeweilige Antrieb keine Reibungskompensations-Last auf die Achse ausübt (S50). Dann kehrt das Verfahren bzw. die Steuerung zu Schritt S10 zurück.If this is the case (S40: “Y”), a third friction compensation mode is carried out in which the respective drive does not exert any friction compensation load on the axle (S50). Then the method or the control returns to step S10.
Andernfalls (S40: „N“) wird ein erster Reibungskompensations-Modus durchgeführt, in dem der jeweilige Antrieb eine oszillierende Reibungskompensations-Last in alternierenden Richtungen auf Basis der berechneten Soll-Last auf die Achse ausübt (S60). Dann kehrt das Verfahren bzw. die Steuerung zu Schritt S10 zurück.Otherwise (S40: “N”), a first friction compensation mode is carried out in which the respective drive exerts an oscillating friction compensation load in alternating directions on the basis of the calculated target load on the axle (S60). Then the method or the control returns to step S10.
Dabei kann die oszillierende Reibungskompensations-Last analog zu dem in
Wie in
Man erkennt in
Eine Ausführung der vorliegenden Erfindung lässt sich auch anhand eines Klotzes mit der Masse m veranschaulichen, der auf einem horizontalen Tisch mit dem Reibbeiwert µ liegt.An embodiment of the present invention can also be illustrated using a block with the mass m, which lies on a horizontal table with the coefficient of friction μ.
Für eine Soll-Bewegung xd(t) dieses Klotzes mithilfe einer horizontalen Antriebskraft F(t) und dem Modell m·d2x/dt2 = F kann eine Soll-Last
- - bei Stillstand und ohne Soll-Last (S40: „Y“) keine Reibungskompensations-Last auf den Klotz ausübt,
- - ab einer gewissen erfassten Ist-Geschwindigkeit des Klotzes (S20: „Y“) zusätzlich zu der berechneten Soll-Last
Fd eine dieser Geschwindigkeit entgegengerichtete Reibungskompensations-Last µ·m·g, und - - bei ruhendem Klotz und einer berechneten Soll-Last
Fd in einer ersten Richtung, z.B. = 0,6.Fd, eine entsprechende Reibungskompensations-Last in dieser Richtung, beispielsweise durch einen entsprechenden Tastgrad wie in5B angedeutet, kann vorteilhaft ein Energiebedarf und/oder eine Belastung reduziert und/oder der Klotz vorteilhaft bewegt, insbesondere aus dem Stillstand beschleunigt, werden.
- - at standstill and without a target load (S40: "Y") no friction compensation load is exerted on the block,
- - from a certain recorded actual speed of the block (S20: "Y") in addition to the calculated target load
F d a friction compensation load µ · m · g opposing this speed, and - - with a stationary block and a calculated target load
F d in a first direction, for example = 0.6.F d , a corresponding friction compensation load in this direction, for example by a corresponding duty cycle as in FIG5B indicated, an energy requirement and / or a load can advantageously be reduced and / or the block can advantageously be moved, in particular accelerated from a standstill.
BezugszeichenlisteList of reference symbols
- 1010
- mobile Basismobile base
- 1111
- HubsäuleLifting column
- 1212th
- Portalportal
- 1313th
- RoboterarmRobotic arm
- 1414th
- Drehantrieb HubsäuleRotary drive lifting column
- 1515th
- Linearantrieb PortalLinear drive portal
- 2020th
- Rechner computer
- dc; dc'dc; dc '
- Tastgrad (duty cycle)Duty cycle
- Fc F c
- Reibungskompensations-LastFriction compensation load
- Fd F d
- berechnete Soll-Lastcalculated target load
- F1 F 1
- Soll-Last-(Grenz)WertTarget load (limit) value
- F2 F 2
- Reibungskompensations-Last-WertFriction compensation load value
- q1-q8 q 1 -q 8
- Roboterachs(stellung)enRobot axis (position) s
- tt
- Zeittime
- TT
- PeriodendauerPeriod duration
- vmeas v meas
- erfasste Geschwindigkeitdetected speed
- v1 v 1
- Geschwindigkeits-(Grenz)Wert Speed (limit) value
- αα
- AnstiegsparameterRise parameters
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019127887.2A DE102019127887B3 (en) | 2019-10-16 | 2019-10-16 | Controlling a robot |
PCT/EP2020/074556 WO2021073800A1 (en) | 2019-10-16 | 2020-09-03 | Control of a robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019127887.2A DE102019127887B3 (en) | 2019-10-16 | 2019-10-16 | Controlling a robot |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019127887B3 true DE102019127887B3 (en) | 2021-03-11 |
Family
ID=72355987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019127887.2A Active DE102019127887B3 (en) | 2019-10-16 | 2019-10-16 | Controlling a robot |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102019127887B3 (en) |
WO (1) | WO2021073800A1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4435289C1 (en) * | 1994-10-01 | 1996-03-21 | Karlsruhe Forschzent | Active friction compensator for a manual operated control |
DE102007060680A1 (en) * | 2007-12-17 | 2009-06-18 | Kuka Roboter Gmbh | Method and device for controlling a manipulator |
US7713263B2 (en) * | 1999-04-07 | 2010-05-11 | Intuitive Surgical Operations, Inc. | Friction compensation in a minimally invasive surgical apparatus |
DE102017220936A1 (en) * | 2017-11-23 | 2019-05-23 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Handexoskeleton and robotic arm with such a hand exoskeleton |
DE102018207354B3 (en) * | 2018-05-11 | 2019-05-29 | Kuka Deutschland Gmbh | Method and system for controlling a robot |
DE112018001058T5 (en) * | 2017-02-28 | 2019-11-07 | Sony Corporation | MEDICAL CARRIER SYSTEM AND CONTROL DEVICE |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04343690A (en) * | 1991-05-22 | 1992-11-30 | Nippon Telegr & Teleph Corp <Ntt> | Joint friction compensating method for multi-joint manipulator |
-
2019
- 2019-10-16 DE DE102019127887.2A patent/DE102019127887B3/en active Active
-
2020
- 2020-09-03 WO PCT/EP2020/074556 patent/WO2021073800A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4435289C1 (en) * | 1994-10-01 | 1996-03-21 | Karlsruhe Forschzent | Active friction compensator for a manual operated control |
US7713263B2 (en) * | 1999-04-07 | 2010-05-11 | Intuitive Surgical Operations, Inc. | Friction compensation in a minimally invasive surgical apparatus |
DE102007060680A1 (en) * | 2007-12-17 | 2009-06-18 | Kuka Roboter Gmbh | Method and device for controlling a manipulator |
DE112018001058T5 (en) * | 2017-02-28 | 2019-11-07 | Sony Corporation | MEDICAL CARRIER SYSTEM AND CONTROL DEVICE |
DE102017220936A1 (en) * | 2017-11-23 | 2019-05-23 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Handexoskeleton and robotic arm with such a hand exoskeleton |
DE102018207354B3 (en) * | 2018-05-11 | 2019-05-29 | Kuka Deutschland Gmbh | Method and system for controlling a robot |
Also Published As
Publication number | Publication date |
---|---|
WO2021073800A1 (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2905111B1 (en) | Method for programming an industrial robot and associated industrial robot | |
DE102018001026B4 (en) | Robot system with a learning control function and a learning control method | |
DE102008027008B4 (en) | Method and device for controlling a manipulator | |
EP2272637B1 (en) | Method and device for operating a manipulator | |
DE102011110902B4 (en) | Safe operation of a force or impedance controlled robot in the workspace | |
DE102015114013B4 (en) | Method and device for controlling the operation of a robot | |
DE102007026299A1 (en) | Industrial robots and method for programming an industrial robot | |
DE102017003993B4 (en) | Calibration of a robot | |
DE102017120221B4 (en) | control unit | |
DE102019205651B3 (en) | Method and system for carrying out robot applications | |
DE102020115658A1 (en) | Adjustment assistance device | |
DE202019105752U1 (en) | Robotic system with worktable and expense of a control program | |
EP3840920A1 (en) | Robot control | |
DE102020126209A1 (en) | ROBOT | |
DE102018207354B3 (en) | Method and system for controlling a robot | |
EP3946827A1 (en) | Determining a parameter of a force acting on a robot | |
DE102012022190B4 (en) | Inverse kinematics | |
DE102019127887B3 (en) | Controlling a robot | |
EP3535097B1 (en) | Calibrating a model of a process robot and operating a process robot | |
DE102016009436B4 (en) | Robot control that prevents shaking of a tool tip in a robot equipped with a travel axis | |
WO2019219790A1 (en) | Robot controller | |
WO2023072630A2 (en) | Method and system for controlling a load-carrying robot and for determining a parameter of the load of the robot | |
DE102020206568B4 (en) | Programming system for manually programming a movement of an industrial robot, industrial robot with such a programming system and method for manually programming a movement of an industrial robot | |
DE102019108241B3 (en) | Intuitive setting of force control for robot manipulators | |
WO2019224224A1 (en) | Method and controller for controlling a robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |