-
TECHNISCHES
GEBIET
-
Die
Erfindung bezieht sich auf ein Verfahren zur Überwachung der Bewegungssteuerung
eines Manipulators. Der Manipulator umfasst einen beweglichen Teil,
der bezüglich
eines stationären
Teils oder eines anderen beweglichen Teils transferiert werden kann,
mindestens eine Bewegungsachse zum Positionieren des beweglichen
Teils, mindestens einen Motor, welcher die Achse und so den beweglichen
Teil antreibt, eine Servoeinrichtung zum Steuern der Achse in Übereinstimmung
mit gelieferten Referenzwerten und einen Positionssensor, der angepasst
ist, ein Ausgangssignal zu erzeugen, welches die gegenwärtige Position
der Achse festlegt.
-
STAND DER
TECHNIK
-
Mit
Manipulator ist ein industrieller Roboter oder externe Achsen gemeint,
die mit dem industriellen Roboter verbunden sind, beispielsweise
zur Ausrichtung und Bewegung eines Arbeitsgegenstandes oder zur
Bewegung des Roboters selbst. Ein Manipulator umfasst einen oder
mehrere Arme, die gegeneinander beweglich sind und ein Handhabungs-Element,
welches mit einer Befestigung bereitgestellt wird und welches bezüglich des
Arms, welcher es trägt,
beweglich ist. Das Handhabungs-Element kann beispielsweise eine
einfache Plattform oder eine Roboterhand sein, die in einen oder
mehreren Freiheitsgraden beweglich ist. Der Manipulator wird mit
einem Steuersystem bereitgestellt, welches die Position und Ausrichtung
des Handhabungs-Elements steuert. Für jede der Bewegungsachsen
des Manipulators wird eine Servoausstattung mit einem Antriebsmotor
bereitgestellt. Das Servosystem jeder Achse wird mit einem Referenzwert
für den
Drehwinkel der Achse versorgt und der Antriebsmotor der Achse bringt
den Manipulator dazu, sich in der besagten Achse zu bewegen bis
die Achsenposition dem Referenzwert entspricht, der dem Servosystem
geliefert wird. Unter einer Achse sind Achsenübertragungen gemeint, die beides,
Drehung und Translation der beweglichen Arme und des Handhabungs-Elements
des Manipulators verursachen.
-
Wenn
industrielle Roboter mit zugehörigen
externen Achsen verwendet werden, ist es von großer Wichtigkeit, die Bewegungssteuerung
zu überwachen,
so dass keine unerwünschten
Bewegungen auf irgendwelche Achsen in dem System übertragen
werden oder dass keine Achsen abnormalen Stördrehmomenten unterworfen sind.
Eine Vielzahl unterschiedlicher Fehler können auftreten und, unabhängig welcher
Fehler aufgetreten ist, muss der Fehler schnell und sicher erfasst
werden und die Bewegungssteuerung muss dem Roboter und externen
Achsen solche Bewegungen geben, dass die Folgen des Fehlers minimiert
werden. Die Fehler können
auftreten in Robotern, externen Achsen oder in der Prozessausstattung,
welche in der Roboterinstallation verwendet wird. Beispiele von
Komponenten, die plötzliche
Fehlersituationen ergeben können, sind
Kabel, Antriebsvorrichtungen, Motoren, Sensoren, Messelektronik
und Steuerelektronik.
-
Fehler
können
auch in dem Prozess auftreten, der mit der Bewegung des Roboters
koordiniert ist, beispielsweise eine Punktschweißkanone oder ein Greifer kann
in der falschen Position blockiert werden. Zusätzlich können Fehler auftreten, weil
der Bediener einen Fehler macht, beispielsweise den Roboter gegen
ein Hindernis fährt,
eine externe Achse zu spät
startet, oder einen I/O-Ausgang zu setzten vergißt, welcher dazu dient, eine
Tür zu
steuern, durch welche der Roboter hindurchgehen soll. Falls diese
Fehlersituationen nicht erfasst werden und darauf nicht rasch reagiert
wird, besteht ein beträchtliches
Verletzungsrisiko für
Personen und Beschädigung
der Ausstattung. Der Roboter und/oder externe Achsen, können starke
Kollisionen verursachen oder die Ausstattung, die blockiert wurde,
kann aufgerissen werden. Diese Fehlersituationen können falsche Position,
falsche Geschwindigkeit, falsche Beschleunigung oder falsches Drehmoment
von einer oder mehrerer Achsen, die in dem System beinhaltet sind,
verursachen.
-
Zur Überwachung
der Bewegung des Roboters, werden gegenwärtig normalerweise existierende
Signale der Servoeinrichtung verwendet, und eine Fehlersituation
wird durch irgendeines dieser Signale festgelegt, das einen Alarmgrenzwert überschritten
hat. Um einen Fehlalarm zu vermeiden, wird eine Filterung der Signale
manchmal benötigt,
und zusätzlich
zu der Tatsache, dass die Signale einen Alarmgrenzwert überschreiten,
kann es auch notwendig sein, dass das Signal über/unter dem Alarmgrenzwert
für eine
vorherbestimmte Zeitdauer liegt. Es gibt auch Lösungen, wo der Alarmgrenzwert
von irgendeinem Signal der Servoeinrichtung abhängt, beispielsweise der gemessenen
Achsengeschwindigkeit. Als Filter werden normalerweise Tiefpassfilter
verwendet, um einen Fehlalarm aufgrund kurzer „harmloser" Signaleinschwingvorgänge zu vermeiden.
Eine spezielle Art von Filtern, die auch vorkommt, sind sogenannte
Beobachtungsfilter. Beispielsweise beschreibt die
US 5 304 906 einen Beobachtungsfilter,
der zum Erhalten eines Signals verwendet wird, welches zum Überwachen
von Stördrehmomenten
auf der Achse, die mit der Servoeinrichtung verbunden ist, verwendet
wird. Stördrehmomente
sind Drehmomente, welche normalerweise nicht die Achsen des Roboters
beeinflussen und beispielsweise durch zu hohe Werkzeuglast, Werkzeuge,
die blockiert werden oder durch Kollisionen gebildet werden können. Diese
Stördrehmomente
sind normalerweise nicht messbar, müssen aber rekonstruiert werden,
um erfasst werden zu können.
Ein Beobachter ist eigentlich ein Feedback-Filter, der im Zeitplan
mit der Hilfe eines dynamischen Models des Systems, in welchem der
Filter verwendet werden soll, konstruiert wird. Diese Art von Filter
ist insbesondere interessant zur dynamischen Rekonstruktion nicht-messbarer
Signale. Im Falle der Überwachung,
kann ein rekonstruiertes Signal als das zu überwachende Signal verwendet
werden.
-
Ein
Nachteil von Beobachtungsfiltern ist jedoch, dass sie nicht optimal
für einen
allgemeinen Beobachtungszweck werden und dass sie nur eine Funktion
erfüllen,
wenn ein Signal, welches rekonstruiert werden kann, überwacht
werden soll. So kann ein Beobachter zur Überwachung unbegründeter Stördrehmomente
auf der Achse entworfen sein, aber er kann nicht unmittelbar entworfen
sein, um beispielsweise eine falsche Position, falsche Geschwindigkeit
und falsche Beschleunigung zu erfassen. Er kann beispielsweise nicht
mit genügender
Unterscheidungskraft erfassen, ob eine unerwartet hohe oder geringe
Geschwindigkeit einer Achse verliehen wird, wie es bei einer Ausreißer-Situation
(runaway situation) der Fall ist. Zusätzlich ist ein Beobachter relativ
langsam und ist schwer stabil zu bekommen, da mechanische Resonanzen
die Steuerung stören, was
der Fall bei elastischen Robotern ist. Mit einem elastischen Roboter
ist ein Roboter mit einer geringen Eigenfrequenz gemeint. Ein zusätzliches
Problem ist es, den dynamischen Einfluss der Mechanik auf Interferenzsignale
und Steuersignale zu kompensieren.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Das
Ziel der Erfindung ist es, ein Verfahren zur Überwachung der Bewegungssteuerung
eines Manipulators zu erreichen, durch das eine falsche Position,
falsche Geschwindigkeit, falsche Beschleunigung, falsche Last, falsches
Achsendrehmoment und falsche Stördrehmomente
erfasst werden können.
-
Was
ein Verfahren gemäß der Erfindung
charakterisiert, wird aus den angehängten Ansprüchen klar.
-
Das
Verfahren weist die folgenden Vorteile auf
- -
eine sehr hohe Sensitivität
- - eine sehr schnelle Erfassung,
- - geringe Wahrscheinlichkeit von Fehlalarmen,
- - erfasst alle Fehlersituationen, die auftreten können,
- - kann auch in elastischen Achsen verwendet werden, das heißt Achsen,
die elastisch sind.
-
Die
vorherstehend erwähnten
Vorteile werden durch Bilden einer Alarmbedingung erreicht, die
einen Alarmwert und einen Alarmgrenzwert umfasst. Auf dem Model
basierend, berücksichtigt
der Alarmwert beides, Starrkörper-Eigenschaften
und Elastizitäts-Eigenschaften des
Manipulators. Der Einfluss der Elastizitäten, wie normale Situationen
und Fehler dynamisch die gesteuerten Manipulatorachsen beeinflussen,
ist in der Alarmbedingung mit Signalfiltern modelliert, welche im
Wesentlichen die gleichen Übertragungsfunktionen
wie kritische Übertragungsfunktionen
zwischen einer verschiedenen Anzahl im Manipulator aufweisen, beispielsweise Drehmoment
und Achsenbewegung. Um eine optimale Alarmbedingung zu erreichen,
wird dies in Übereinstimmung
mit bekannten Starrkörper-Modellen
und Elastizitätsmodellen
für den
Manipulator abgeleitet, beginnend bei einer Signalkombination, welche
ein Ausgabesignal direkt abhängig
von der An des zu überwachenden
Fehlers ergibt.
-
Die
Alarmbedingung weist die Eigenschaft auf, dass sie sehr sensitiv
auf falsche Stördrehmomente, Lasten,
Beschleunigungen, etc. ist, während
sie zur gleichen Zeit nicht für
normale Betriebsfälle
freigegeben ist. Das liegt daran, weil die Alarmbedingung auf Signalkombinationen
beruht, welche direkt die Fehler beschreiben, welche erfasst werden
sollen, und dass die Alarmbedingung modell-basiert ist, beide mit
Bezug auf ein dynamisches Starrkörper-Modell
und ein dynamisches Elastizitäts-Modell
des Manipulators.
-
In
einer Ausführungsform
der Erfindung, kann der Alarmgrenzwert aus einer Konstanten bestehen.
In einer bevorzugten Ausführungsform
der Erfindung, wird stattdessen ein modellbasierter Alarmgrenzwert
verwendet, welcher, mit Kenntnis der Modellierungs-Fehler, ein minimales
Alarmniveau bei allen Bewegungsarten ergibt. Der Alarmgrenzwert
basiert auf einem Modell der Fehler der dynamischen Modelle und
wird automatisch erhöht,
wenn beispielsweise Beschleunigung und Geschwindigkeit zunehmen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNG
-
1 zeigt
schematisch einen industriellen Roboter.
-
2 zeigt
eine Vorwärtsregelungs-Servoeinrichtung
(feedforward servo).
-
3 zeigt
ein einfaches Modell eines Motors und einer Achse mit einer einfachen
Elastizität.
-
4 zeigt
ein dynamisches Modell des Motors und der Achse mit einer einfachen
Elastizität.
-
5 zeigt
ein Blockdiagramm zur Erzeugung eines Alarmwertes und eines Alarmgrenzwertes
gemäß einer
ersten Ausführungsform.
-
6 zeigt
ein Blockdiagramm zur Erzeugung eines Alarmwertes und eines Alarmgrenzwertes
gemäß einer
zusätzlichen
Ausführungsform.
-
7 zeigt
ein Blockdiagramm zur Überwachung
der Bewegungssteuerung eines Manipulators gemäß der Erfindung.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 zeigt
schematisch einen industriellen Roboter. Der Fuß 1 des Roboters ist
fixiert auf einer Basis montiert. Der Roboter weist einen Basisständer 2 auf,
welcher bezüglich
des Fußes 1 um
eine vertikale Achse A1 drehbar ist. Im oberen Ende des Basisständers, ist
ein erster Roboterarm 3 gelagert und drehbar bezüglich des
Basisständers
um eine zweite Achse A2. Im äußeren Ende
des Arms ist ein zweiter Arm 4 gelagert und bezüglich dem
ersten Arm um eine Achse A3 drehbar. Der Roboterarm 4 umfasst
zwei Teile 4a und 4b, wobei der äußere Teil 4b drehbar
bezüglich
dem inneren Teil 4a um eine Drehachse A4 ist, die mit der
longitudinalen Achse des Arms sich überschneidet. Der zweite Arm 4 trägt an seinem äußeren Ende
eine sogenannte Roboterhand 5, welche drehbar um eine Drehachse
A5 ist, welche senkrecht zu der longitudinalen Achse des Arms ist.
Der äußere Teil
der Roboterhand ist bezüglich
seines inneren Teils um eine Drehachse A6 drehbar. Jede Achse wird
von einem Motor angetrieben.
-
Ein
Verfahren gemäß der Erfindung
beruht auf den folgenden technischen Lösungen:
- – Verwenden
einer Signalkombination zum Bilden eines model-basierten Alarmwertes
und eines model-basierten Alarmgrenzwertes.
- – Erzeugen
eines Alarmsignals in Abhängigkeit
eines Vergleichs zwischen dem Alarmwert und dem Alarmgrenzwert.
- – Verwenden
von beidem, einem Starrkörper-Modell
und einem Modell, welches die Dynamik bezüglich der Elastizitäten des
Roboters beschreibt, wenn die Ausdrücke für den Alarmgrenzwert und den
Alarmwert erzeugt werden.
- – Eine
Ergänzungsmöglichkeit
des Verfahrens mit sogenannter Lernsteuerung.
- – Eine
Verwendungsmöglichkeit
von Drehmoments-Vorwärtsregelung
in der Servoeinrichtung.
-
Ein
Verwenden von Drehmoments-Vorwärtsregelung
in der Servoeinrichtung setzt voraus, dass modellierte Achsendrehmomente
gemäß 2 vorwärtsgeregelt
sind. Ein Bewegungsablaufs-Generator 6 (trajectory generator)
berechnet Referenzwerte für
die Position φbg der Achse, Geschwindigkeit φ .bg und
Beschleunigung φ ..bg. Ein dynamisches Modell 7,
welches die statischen und dynamischen Eigenschaften des Roboters beschreibt,
berechnet dynamische Parameter. Auf der Basis der Referenzwerte
des Bewegungsablaufs-Generators
für Position,
Geschwindigkeit und Beschleunigung berechnet das dynamische Modell
die dynamischen Parameter, welche für die Vorwärtsregelungs-Steuerung benötigt werden.
Die dynamischen Parameter sind Massenträgheit J * / i, gekoppelte Massenträgheit J * / ji,
Moment der Gravitationskraft τ * / gi,
Drehmomente, die durch Zentrifugalkräfte während Bewegungen τ * / centri anderer
Achsen verursacht werden, Drehmomente, die durch Coriolis-Kräfte in Verbindung
mit den Bewegungen τ * / cori anderer
Achsen verursacht werden und Drehmomente, die durch statische und
dynamische Reibung τ * / fricti verursacht
werden.
-
Ein
Vorwärtsregelungs-Generator
8 berechnet
Referenzwerte für
Position und Geschwindigkeit φ
ref,
ref und ein Vorwärtsregelungs-Drehmoment τ
ffw für die Servoeinrichtung
9,
welche den Motor und die Übertragung
und die Welle
11, die auf dem Motor montiert ist, steuert.
Das Vorwärtsregelungs-Drehmoment τ
ffw wird auf
der Basis von dynamischen Parametern und den Referenzwerten für die Position
der Achse berechnet. Von der Servoeinrichtung, werden der Motor
und somit die Achse in Übereinstimmung
mit den Referenzwerten gesteuert. Ein Positionssensor mit einem
verbundenen Mess-System
10 erzeugt ein Ausgabesignal, welches die
gegenwärtige
Position φ
m und Geschwindigkeit φ .
m der
Motorwelle festlegt, die für
die Servoeinrichtung geliefert werden.
-
Um
einen Alarmwert abzuleiten, wird eine optimale modell-basierte Signalkombination eingesetzt.
Wie das bewerkstelligt wird, wird nachfolgend für ein einfaches Modell des
Motors und der Achse gemäß
3 gezeigt.
In diesem Modell, besteht der Rotor des Motors aus einem kleineren
Zylinder
12 und der Manipulatorarm aus einem größeren Zylinder
13.
Der Rotor weist die Massenträgheit
J
m auf, und der Arm weist die Massenträgheit J
a auf. Auf den Rotor wirkt ein Stördrehmoment τ
distm und
auf den Arm wirkt ein Stördrehmoment τ
dista.
Zwischen dem Rotor und dem Arm befindet sich eine elastische Welle
14,
mit der Federkonstante k und der Dämpfung c. Wenn die Elastizität gespannt
wird, wird der Achsenwinkel φ
m des Rotors vom Achsenwinkel des Arms φ
a abweichen. Der Achsenwinkel des Rotors
wird mit einer Winkelmessungs-Vorrichtung gemessen und wird zu der
Servoeinrichtung
9 zusammen mit der Achsgeschwindigkeit φ .
m des Motors geliefert. In der Servoeinrichtung
9,
ist G
pos(s) eine Übertragungsfunktion für die Positionssteuerung,
G
vel(s) ist eine Übertragungsfunktion für die Geschwindigkeitssteuerung, τ
err ist
das Steuerdrehmoment, welches von den Steuerfehlern in den Geschwindigkeitssteuerungen
(φ .
ref – φ .
m) und in den Positionssteuerungen (φ
ref – φ
m) abhängt, τ
mr ist
das Gesamt-Motorreferenzdrehmoment und ist die Summe von τ
err und
des Vorwärtsregelungs-Drehmoments τ
ffw.
k
T ist
die Drehmomentskonstante des Antriebs und des Motors.
-
Ableitung
einer Alarmbedingung wird beispielhaft mittels des Falls des Ausreißens dargestellt.
Ausreißen
impliziert, dass der Achse eine Bewegung verliehen wird, eine Bewegung,
welche keine Übereinstimmung in
den Signalen aufweist, die für
die Servoeinrichtung vom Vorwärtsregelungs-Generator
erzeugt wurden. Um maximale Sensitivität und minimale Antwortzeit
zu erreichen, wird die Beschleunigung der Achse als eine Basis zum
Erhalten der Alarmbedingung verwendet. Es ist von größter Wichtigkeit
eine Signalkombination zu finden, welche so unempfindlich wie möglich zu
normalen Bewegungen ist, und welche anhand des Bekanntseins der
Dynamik des Motors und der Achse ausgeführt werden kann.
-
Beginnend
mit
3, können
die folgenden Ausdrücke
für die
Beschleunigung des Motors eingesetzt werden:
wobei
s der Laplace-Operator
in der Frequenz-Ebene ist,
φ ..
m: die Beschleunigung
des Motors,
τ
m: Drehmoment, das durch den Motor zu der
Motorachse gebildet wird,
τ
distm: Drehmomentstörung auf die Motorachse,
τ
dista:
Drehmomentstörung
auf dem Arm,
G
1(s): die Übertragungsfunktion
zwischen geliefertem Drehmoment auf der Motorachse und der Beschleunigung
der Motorachse,
G
2(s): die Übertragungsfunktion
zwischen geliefertem Drehmoment auf der Armseite und der Beschleunigung der
Motorachse.
-
G1(s) und G2(s) beinhalten
die folgenden Parameter:
Jm: Massenträgheit des
Motors
Ja: Massenträgheit des Arms
K: Federkonstante
zwischen Motor und Arm
c: Dämpfung
zwischen Motor und Arm
-
Normalerweise
wird ein Getriebegehäuse
mit einem festgelegten Getriebeverhältnis zwischen der Motorseite
und der Armseite verwendet. Alle Parameter und Signale werden jedoch
zu der Motorseite konvertiert, was beispielsweise impliziert, dass
Drehmomente um den Faktor 1/n reduziert werden, wo n das Getriebeverhältnis ist,
und Massenträgheiten
um den Faktor 1/n2.
-
Die
4 zeigt
ein dynamisches Modell für
den Motor und die Armmechanik gemäß
3. Mit der Hilfe
dieses Modells, können
die Übertragungsfunktionen
G
1(s) und G
2(s)
abgeleitet werden:
wobei
-
-
Das
ergibt
-
-
In
der Beziehung 1 muss man jetzt Ausdrücke für τ
m, τ
distm und τ
dista erhalten.
Mit Vorwärtsregelungs-Steuerung
gemäß
2 und
3 werden
die folgenden Ausdrücke
für τ
m erhalten:
-
Weiter
gelten die folgenden Beziehungen:
-
Hier
bedeutet ein *, dass der dynamische Parameter modelliert ist und
somit unter einem Modellfehler leidet. Für beide, modellierte und gegenwärtige dynamische
Parameter, gelten die folgenden Definitionen:
k
T:
die Drehmomentkonstante des Motor beinhaltet Antriebsschaltkreise
(drive circuits). Die Drehmomentkonstante ist das Verhältnis zwischen
dem gegenwärtigen
Motordrehmoment und dem Referenzdrehmoment.
τ
err:
Drehmomentreferenz, die durch die Geschwindigkeits- und Positionssteuerungen
in Abhängigkeit
von Steuerungsfehlern gebildet wird.
τ
statfrict·sign(φ .
m) : eine einfache Beschreibung der statischen
Reibung als ein Drehmoment multipliziert mit dem Vorzeichen (Signum,
sign) der Geschwindigkeit.
f
dynfrict·(φ .
m)
P : die dynamische
Reibung, welche proportional zu der Geschwindigkeit, erhoben zum
Exponenten p ist.
τ
rippel: Drehmomentstörung, die durch Rotor- und
Stator-Welligkeit (rotor and stator ripple) im Motor verursacht wird.
τ
gravity:
das Drehmoment der Gravitationskraft auf den Arm.
Drehmoment auf der Armseite,
das durch Zentrifugalkräfte
von den Achsen mit Index j verursacht wird.
Drehmoment auf der Armseite,
das durch Coriolis-Kräfte
von zusammenwirkenden Achsenpaaren i und j verursacht wird.
Drehmoment auf der Armseite,
das durch gekoppelte Massenträgheit
von den Achsen j verursacht wird.
-
Die
Reibung auf der Armseite ist weggelassen worden, da die Reibungsdrehmomente
durch das Getriebeverhältnis
dividiert werden, wenn Anpassung zu der Motorseite stattfindet.
Alle Beziehungen werden zu der Motorseite angepasst.
-
Wir
haben jetzt eine vollständige
Beschreibung aller Komponenten, die in der Beziehung 1 beinhaltet sind,
und wir können
jetzt eine Signalkombination ρrus bilden, welche zum Erzeugen einer Alarmbedingung
verwendet werden kann.
-
-
Grus(s) ist ein Filter, welcher im Wesentlichen
zur Reduzierung von Rauschen der Beschleunigungssignale verwendet
wird. φ * / m(s)
ist nicht bekannt und muss abgeleitet werden, um eine brauchbare
Signalkombination zu erhalten. Weiter müssen die Alarmbedingungen und
Alarmgrenzwerte, welche implementiert werden sollen, abgeleitet
werden. Wie das bewerkstelligt wird, wird im Fall von Ausreißen erläutert, wobei
der Ausdruck für ρrus(s)
direkt verwendet werden kann.
-
Mit
Gleichung 1 in Gleichung 9 wird Folgendes erhalten:
-
Gemäß den Gleichungen
6, 7 und 8:
-
Die
Gleichung 11 in 10 ergibt:
gesetzt
J
a = J * / a, J
m = J * / m,
c = c
*, k = k
*,
k
T = k * / T,
wobei τ * / dev die geschätzte maximale Abweichung zwischen
gegenwärtigem
Stördrehmoment
und modelliertem Stördrehmoment
ist. Für
den Fall einfacher Elastizität
gemäß dem Modell
in
4 und mit G
rus(s) = 1
ergibt das:
-
Im
Falle perfekter Steuerung und im Fall eines starren Körpers, k → ∞ und τ
err(s)
= 0 und wobei die Alarmbedingung dann die erwartete wird:
wobei AMPL( ) die Amplitude
des Frequenzspektrums innerhalb des untersuchten Frequenzbereichs
ist, und wobei EPS eine kleine Zahl ist.
-
Falls
die Steuerung nicht perfekt ist, ist im Starrkörperfall die Bedingung stattdessen
folgendermaßen:
τ
err(s)
hängt vom
Modellfehler während
Normalbetrieb ab. Es kann angenommen werden, dass J * / a so langsam variiert,
dass es als konstant in dem für
die Überwachung
interessierenden Frequenzbereich angesehen werden kann.
-
Der
Ausdruck 13 kann in eine Alarmbedingung durch Einführen der
folgenden Definitionen übergeführt werden:
G * / 1(s)
ist ein Modell der Übertragungsfunktion
zwischen bereitgestelltem Drehmoment auf der Motorseite und der
Beschleunigung der Motorachse.
G * / 2(s) ist ein Modell der Übertragungsfunktion
zwischen bereitgestelltem Drehmoment auf der Armseite und der Beschleunigung
der Motorachse.
-
Der
Ausdruck 13 kann jetzt mit der Hilfe von 14 und 15 modifiziert werden,
was die folgende Alarmbedingung ergibt, wenn G
rus in
G
rus1 und G
rus2 geteilt
wird:
-
Hier
wurden die folgenden Definitionen eingeführt:
G * / 3MAX(s) entspricht G3(s) mit maximaler Abweichung von J * / m, J * / a, c*, k*, wo diese maximale
Abweichung eine maximale Amplitude von G3(s)
in dem besagten Frequenzbereich ergibt.
k * / Tdev, ist die maximale
positive Abweichung von dem Wert 1 von k * / T.
J * / dev ist die maximale
Abweichung von J * / m + J * / a.
G * / 4MAX(s) ist genau so definiert wie G * / 3MAX(s).
G * / 3,
G * / 3max(s), G * / 4, G * / 4max sind modell-gesteuerte Filter, während Grus1 und
Grus2 Tiefpassfilter sind.
-
Die
dynamischen Modellfehlerparameter τ * / devm und τ * / deva werden auf der Basis vom Bekanntsein
der Fehler der modellierten Parameter gebildet. Aus den Ausdrücken 6,
7 und 8 wird Folgendes erhalten:
-
Die
d*-Parameter zeigen den maximalen Fehlerfaktor
der entsprechenden dynamischen Parameter an. Falls der Fehler groß ist, wird
d* groß sein
(aber < 1) und
falls der modellierte Parameter gut mit der Realität übereinstimmt,
wird d* nahe bei 0 liegen.
-
Der
modell-basierte Alarmgrenzwert wird automatisch mit der Position,
Geschwindigkeit und Beschleunigung der Manipulatorachsen geändert. Falls
beispielsweise die Geschwindigkeit bei allen Achsen reduziert wird,
werden die Fehlerterme von dynamischer Reibung, Zentrifugalkräften und
Coriolis-Kräften
abnehmen und der Alarmgrenzwert wird automatisch reduziert.
-
Zwei
Filter G
A und G
B werden
eingeführt.
Sie werden jetzt in Übereinstimmung
mit 14 und 15 gesetzt:
-
Wir
erhalten jetzt die allgemeine Alarmbedingung:
LV
1: Alarmbedingung
LV
2:
Alarmgrenzwert
-
GA und GB sind Filter
vom Tiefpass-Typ oder vom Bandpass-Typ, und wobei es der Zweck des
Verwendens dieser Filter ist, den Einfluss unerwünschter Störungen der Alarmbedingung zu
verringern.
-
Im
Normalfall ist LV1 < LG1. Falls
LV1 > LG1 wird ein Alarm ausgelöst. 5 zeigt
ein Blockdiagramm einer Überwachung,
welche Gleichung 19 implementiert. Die Signale, welche zur Berechnung
des Alarmwertes LV verwendet werden, sind φ ..ref, τerr, φ ..m. Der Alarmgrenzwert LG wird mit Hilfe der
Signale φref und τerr berechnet. Die folgenden Parameter werden
durch das dynamische Modell: J * / tot, J * / totMAX, k * / Tdev, τ * / devm, τ * / distm, τ * / dista, τ * / deva, und den Parametern, die in
G * / 1, G * / 1max, G * / 2max beinhaltet sind, berechnet.
-
Der
Alarmgrenzwert bestimmt die Sensitivität der Erfassung unterschiedlicher
Fehlerbedingungen, wie falsche Position, falsche Geschwindigkeit
(Ausreißen),
falsche Beschleunigung, falsche Last, falsches0 Achsendrehmoment
und falsches Stördrehmoment
(z. B. Stauung). Der Alarmgrenzwert LG1 in
Gleichung 19 ist besonders empfindlich bezüglich der Erfassung von Ausreißen, aber
er kann auch für
andere Fehlerbedingungen verwendet werden, falls eine unmodellierte
Alarmgrenzwertkomponente hinzugefügt wird. Im einfachsten Fall
kann der Alarmgrenzwert konstant sein. Der konstante Alarmgrenzwert
muss einen Wert haben, der größer als
der maximale Alarmwert für
Normalbetriebssituationen des Roboters ist.
-
Eine
gewisse Logik wird verlangt, um das Vorzeichen (sign, Signum) von
k * / Tdev zu erzeugen, so dass die Alarmbedingung bezüglich des Vorzeichens (sign,
Signum) von k * / Tdev maximiert wird. Um die Fälle zu erklären, wo τmr durch
einen Drehmomentgrenzwert beschränkt
ist, was τmr,lim it anstatt von τerr ergibt,
wird der Unterschied zwischen τmr,lim it und τffw verwendet,
das heißt τmr,lim
it – τffw.
-
Für einen
starren Manipulator, k
* → ∞ , ergibt sich Folgendes:
-
In
der Ableitung von G * / 1 und G * / 2 wird ein einfaches Motor-/Arm-Modell verwendet,
mit einer Elastizität zwischen
der Motorseite und der Armseite der Achse. In komplizierteren, flexiblen
Armsystemen mit gekoppelten Oszillationen zwischen verschiedenen
Armen, welche mehrere Oszillationsmoden verursachen, sind G * / 1 und
G * / 2 von einer höheren
Ordnung, wobei aber die Alarmbedingung 19 die gleiche sein wird.
-
Eine
Analyse, die der einen entspricht, die für die Überwachung von Ausreißen gemacht
wurde, kann auch für
andere Fehlerbedingungen gemacht werden. Falls beispielsweise nicht-modulierte Stördrehmomente überwacht
werden sollen, können
die folgenden Signalkombination ausgehen von:
-
Jetzt
ist τdista(s) nicht direkt messbar wie φ ..m(s) im Fall von Ausreißen, wobei φm,
als ein Mess-Signal verwendet wird. Eine Beziehung muss deshalb
erhalten werden zwischen τdista(s) und φm(s)
-
Aus
Gleichung 1 wird Folgendes erhalten:
-
Der
Ausdruck für τm(s)
wird aus 11 erhalten und kann in 22 eingefügt werden.
-
Die
Alarmbedingung für
den flexiblen Fall wird jetzt sein:
-
Der
Unterschied zwischen der Alarmbedingung zum Ausreißen, Gleichung
19, und der Alarmbedingung für
Stördrehmoment,
Gleichung 23a, befindet sich somit in dem Ausdruck für den modell-basierten Alarmgrenzwert.
-
Das
Verfahren kann auch zum Erfassen während eines Not-Stops (emergency
stop) verwendet werden, wenn die mechanischen Bremsen zu arbeiten
beginnen. Das gibt eine Möglichkeit
genauer Steuerung auch während
einem Not-Stopprozess.
-
Um
die Alarmbedingung für
Lastfehler abzuleiten, ist es passend, eine Signalkombination für den Fehler
in der Massenträgheit
zu finden. Da alle Bewegungen mindestens eine Beschleunigungsdauer
und eine Verzögerungsdauer
benötigen,
werden alle Bewegungen deshalb durch Fehler in der Massenträgheit beeinflusst.
Somit, kann die folgende Signalkombination zum Startpunkt aufgestellt
werden:
-
Um
diese Signalkombination in Verbindung zu messbaren Signalen zu bringen,
wird die folgende Approximation gemacht:
-
Mit
Hilfe der Beziehungen 1 und 11, kann auch in diesem Fall gezeigt
werden, dass die Alarmbedingung gemäß 19 mit ein paar kleinen Modifikationen
des Alarmgrenzwerts erhalten wird.
-
Die
allgemeine Alarmbedingung 19 kann geändert werden, um Formen zu
erhalten, die leichter implementiert werden können. Bei Verwenden von Beziehung
11, kann somit die folgende Alarmbedingung erhalten werden:
-
Durch
Multiplikation mit G –1* / 2 und G –1 / 2max wird die folgende Alarmbedingung erhalten:
-
6 zeigt
ein Blockdiagramm zum Erzeugen der Alarmbedingung gemäß Gleichung
23c. Das dynamische Modell, Block 7, berechnet die folgenden Parameter:
-
Für eine einfache
Elastizität
gilt Folgendes:
-
Das
ergibt die Alarmbedingung:
-
Die
Alarmbedingungen 23a–23d
weisen die Eigenschaft auf, dass sie sehr empfindlich auf falsche Stördrehmomente,
Lasten, Beschleunigungen, etc. sind, während sie zur gleichen Zeit
bei Normalbetriebsfällen
nicht auslösen.
Das ist aufgrund der folgenden Fakten so:
- – Die Alarmbedingungen
beruhen auf Signalkombinationen, die direkt die Fehler beschreiben,
die erfasst werden sollen.
- – Die
Alarmbedingungen sind beide modell-basiert bezüglich einem dynamischen Starrkörper-Modell
und einem dynamischen Elastizitäts-Modell
des Manipulators.
- – Der
Alarmgrenzwert beruht auf einem Modell des Fehlers der dynamischen
Modelle und wird automatisch erhöht,
wenn beispielsweise die Beschleunigung und die Geschwindigkeit zunehmen.
-
Die
Alarmbedingungen liefern eine sehr rasche Erfassung und können auch
bei sehr elastischen Achsen verwendet werden, wobei die Effekte
der Elastizitäten
und die Achsdämpfungsfaktoren
durch Filter modelliert werden, welche die Übertragungsfunktionen implementieren:
-
Zusätzlich zeigt
die Ableitung unterschiedlicher Signalkombinationen, dass die Alarmbedingung
allgemein anwendbar ist.
-
Falls
die Lernsteuerung verwendet wird, wird der Ausdruck 11 ergänzt:
wobei τ
LC.
das Vorwärtsregelungs-Drehmoment
von der Lernsteuer-Schleife ist. τ
LC wird τ
err reduzieren und τ
ffw + τ
LC wird
eine Drehmoment-Vorwärtsregelung
mit einem kleinen Fehler liefern. Das ermöglicht, den Alarmgrenzwert
zu verringern. Um wie viel der Alarmgrenzwert verringert werden
kann, hängt
davon ab, wie viele Lernzyklen durchlaufen wurden und wie effizient
das Lernen ist.
-
Lernsteuerung
bedeutet, dass Signale von der Servoeinrichtung während der
Programmausführung weggespeichert
werden und dass diese Signale in einer späteren Programmausführung zur
Verbesserung der Steuerungsausführung
verwendet werden. Lernsteuerung wird beispielsweise in einem Artikel „Learning
Control of Robot Manipulators" von
Robert Horowitz in Journal of Dynamic Systems, Measurement and Control, June
1993, Vol. 115, Seiten 402–411
beschrieben.
-
Lernsteuerung
kann auch direkt an die Alarmbedingung angepasst werden. Auf diese
Art, wird der Wert des linksseitigen Terms in beispielsweise (23a)
von Durchlauf zu Durchlauf gespeichert, und die gespeicherten Werte
werden als Alarmgrenzwerte verwendet:
-
Ein
Alarm wird dann durch die Alarmbedingung ausgelöst:
k ist
der gegenwärtige
Programmdurchlauf
t ist die Zeit (oder Position) innerhalb
des Durchlauf.
v
LC(k,t) ist der erlernte
Wert des linksseitigen Terms in 23a.
Δv
LC(k,t)
ist die Abweichung bei v
LC zwischen unterschiedlichen
Durchläufen.
-
Der
modell-basierte Grenzwert gemäß 23a wird
passend verwendet, wenn das Lernen beginnt oder falls vLC zu
groß ist.
-
Auf
den Punkt gebracht sind die Alarmbedingungen 23a–23d im Allgemeinen sehr nützlich und
können mit
kleinen Modifikationen zur Erfassung von Ausreißen, falscher Last, Stauung,
Reibungsabweichung, Kollision, Mess-Systemfehlern, Steuerelektronik-Fehlern,
Antriebs-Systemfehlern,
Konfigurationsparameter-Fehlern, Bremsanwendung, etc. verwendet
werden.
-
Wenn
die Alarmbedingungen eine Alarmsituation erfasst haben, kann das
zum Ändern
der Steuerungsstrategie verwendet werden, was eine Notbremsung,
etc. auslöst.
Was ausgeführt
werden soll, wird durch ein logisches Modul bestimmt, welches die
Geschwindigkeiten, Positionen, Drehmomente, etc. der Achsen überprüft.
-
Die
vorherstehenden Ausführungsformen
zeigen eine Servoeinrichtung mit Drehmoments-Vorwärtsregelungssteuerung,
aber die Erfindung ist auch anwendbar auf eine Servoeinrichtung,
welche keine Vorwärtsregelungssteuerung
aufweist. In einer solchen Ausführungsform
erzeugen die Ausgabesignale des Bewegungsablauf-Generators Referenzsignale
zu der Servoeinrichtung (φref = φbg, φ .ref = φ .bg).
-
7 zeigt
ein allgemeines Blockdiagramm zur Überwachung der Bewegungssteuerung
eines Manipulators gemäß der Erfindung.
Das dynamische Modell berechnet eine Vielzahl dynamischer Parameter,
Block 7, basierend auf berechnete Referenzwerte für die Position
der Roboterachse. Der Referenzwert für die Position φref der Achse und die gegenwärtige Position φm der Achse wird zu der Servoeinrichtung
geliefert, welche die Motordrehmomente τmr und τerr berechnet,
welche Drehmomente sind, die von Steuerfehlern in der Positions-
und Geschwindigkeitssteuerung, Block 9, abhängig sind.
Falls die Servoeinrichtung keine Vorwärtsregelungssteuerung aufweist,
dann gilt τmr =τerr. Ein Alarmwert LV wird berechnet, Block 20,
in Abhängigkeit
von der gegenwärtigen
Beschleunigung φ ..m der Achse, dynamische Parameter
und mindestens irgendeines der Signale φ ..ref (Alarmbedingung
23a), τerr (Alarmbedingung 23a), und τmr (Alarmbedingungen
23b–23d).
Ein Alarmgrenzwert LG wird berechnet, Block 21, in Abhängigkeit
von einer Kombination dynamischer Parameter und mindestens irgendeinem
der Signale φ ..ref (Alarmbedingung 23a), τerr (Alarmbedingung
23a), τmr (Alarmbedingung 23b–23d) und φ ..m (Alarmbedingung
23d). Der Alarmwert wird mit dem Alarmgrenzwert verglichen und ein Alarmsignal
ALARM wird in Abhängigkeit
von dem Vergleich erzeugt.