[0001] Die vorliegende Erfindung betrifft ein Verfahren zum Kalibrieren eines Roboterarmes,
bei dem durch Nullraumbewegungen entstehende Trajektorien verwendet werden, um ein
dem Roboterarm zugrundeliegendes kinematisches Modell zu kalibrieren.
[0002] Zur Kalibrierung von Roboterarmen sind verschiedene Verfahren bekannt. Mit Hilfe
eines Fadenmesssystems wird die Position eines Endeffektors, der sogenannte "Tool
Center Point" (TCP), durch die Längen dreier Fäden gemessen, die zwischen dem TCP
und einer Vorrichtung eingespannt sind. Der Roboterarm wird an vorgegebene Positionen
verfahren und die mittels der Fäden ermittelten Positionen des TCP's und die entsprechenden
durch eine Modellberechnung ermittelten Positionen werden verglichen. Ein Nachteil
dieses Verfahrens besteht in dem hohen Raumbedarf bei der Kalibrierung. Ferner können
bei diesem Verfahren ausschliesslich kartesische Positionen für den TCP ermittelt
werden, wobei mögliche Orientierungsabweichungen bezüglich des TCP's nicht erfasst
werden.
[0003] Ferner sind optische Kalibrierverfahren bekannt, bei denen beispielsweise unter Verwendung
reflektierender Markierungen an dem TCP unterschiedliche Positionen desselben erfasst
werden. Für eine optische Kalibrierung können auch Interferenzen bei Reflexionen eines
Lichtstrahls, beispielsweise eines Lasers, an einem speziellen an dem TCP angeordneten
Werkzeug analysiert werden. Optische Kalibriermethoden haben den Nachteil, dass der
Arbeitsraum des Roboterarmes bei der Kalibrierung keine optischen Hindernisse aufweisen
darf. Ausserdem ist bei einer optischen Kalibrierung darauf zu achten, dass bei der
Erfassung unterschiedlicher Positionen des TCP's der Roboterarm selbst kein optisches
Hindernis darstellt. Ein weiterer Nachteil besteht darin, dass optische Kalibrierverfahren
zeitaufwendige Berechnungsmethoden erfordern, um die bei industriellen Anwendungen
erforderlichen Genauigkeiten zu liefern.
[0004] Bei sogenannten oberflächenbasierten Kalibrierverfahren, werden in den Arbeitsraum
eines Roboterarmes mehrere, beispielsweise drei planare Oberflächen eingebracht. Der
Roboterarm wird an eine bestimmte Anzahl von Positionen auf den Oberflächen verfahren.
Die für die angefahrenen Positionen berechneten Positionen des TCP's werden mit den
realen Positionen auf den Oberflächen verglichen. Ein Nachteil dieser Kalibrierverfahren
besteht darin, dass der TCP in ständigem Kontakt mit den Messoberflächen bewegt werden
muss, wodurch abhängig von der Lage der Messoberflächen unterschiedliche Messfehler
auftreten können.
[0005] In dem Artikel "Improving the Absolute positioning Accuracy of Robot Manipulators"
von S. Hayati und M. Mirmirani, Journal of robotic Systems, Band 2, Dezember 1985,
Seiten 307 bis 413 ist ein Roboterkalibrierverfahren beschrieben, bei dem eine Messspitze
in die Werkzeugaufnahme am TCP eingespannt wird. Die Spitze wird in einem von einer
Vielzahl von Trichtern positioniert, die in einer planen Messoberfläche angeordnet
sind. Die so positioniert Spitze dient als Gelenk, um den Roboterarm um die von dem
Trichter vorgegebene Position zu verfahren. Der TCP des Roboters ist durch die Messspitze
in seinen translatorischen Freiheitsgraden eingespannt. Dadurch ermöglicht dieses
Verfahren eine Positionskalibrierung des Roboters. Um eine hohe Genauigkeit im Arbeitsraum
zu erreichen, erfordert dieses Verfahren die Positionierung der Messspitze in vielen
Trichtern.
[0006] Ein gemeinsamer Nachteil bekannter Kalibrierverfahren besteht darin, dass umfangreiche
Messaufbauten erforderlich sind, die ein Nachkalibrieren eines beispielsweise in der
industriellen Fertigung verwendeten Roboterarmes verhindern oder zumindest erschweren.
Ferner sind die Messbereiche beschränkt, so dass Messungen im gesamten Arbeitsraum
eines Roboters nicht mit vertretbarem Aufwand durchgeführt werden können oder Messungen
nicht für eine für den gesamten Arbeitsraum eines Roboters gültige Kalibrierung sorgen.
[0007] Aufgabe der vorliegenden Erfindung ist es, ein Verfahren bereitzustellen, das eine
Kalibrierung von Roboterarmen auf einfache Weise ermöglicht, die auch ein Kalibrieren
von Robotern im industriellen Einsatz ermöglicht.
[0008] Die vorliegende Erfindung stellt ein Verfahren zum Kalibrieren eines Roboterarmes
bereit, bei dem Parameter definiert werden, die die Lage und Orientierung von Gelenken
eines Roboterarmes charakterisieren. Hierfür kann ein Modell definiert werden, das
die Kinematik des Roboterarmes beschreibt, z.B. ein Modell gemäss der Denavit-Hartenberg-Notation.
[0009] Der so genannte Tool-Center-Point (TCP), der als Referenzpunkt für den Endeffektor
des Rotorarmes dient, wird an einer Referenzposition positioniert. Danach werden eine
erste sogenannte Nullraumbewegung durchgeführt und die entsprechenden Gelenkwinkel
für die Gelenke des Roboterarmes ermittelt. Unter Nullraumbewegungen sind Bewegungen
eines Roboterarmes zu verstehen, bei denen die Position des Tool-Center-Points beibehalten
wird.
[0010] Dies ist aber auch bei Robotern mit nicht redundanten Roboterarmen möglich, wenn
diese durch Hinzufügen passiver oder aktiver Gelenke zu einem redundanten System erweitert
werden. Zum Ermitteln der Gelenkwinkel ist es vorgesehen, wenigstens in einem Teilbereich
des Arbeitsraumes des Roboters eine Nullraumbewegung auszuführen. Der Bereich des
Arbeitsraumes des Roboters, der zur Kalibrierung verwendet wird, kann beispielsweise
unter Berücksichtigung der Symmetrie der Gelenkwinkelgrenzen des Roboterarmes definiert
werden.
[0011] Zur Kalibrierung des Roboterarmes, d.h. das Anpassen der Parameter an die reale Situation,
werden die Parameter in Abhängigkeit der ermittelten Gelenkwinkel in erste aktuelle
Werte geändert, d.h. erste aktuelle Parameterwerte geschätzt.
[0012] Zur Beurteilung des Kalibriervorganges auf der Grundlage der ersten Nullraumbewegung,
wird für die ersten aktuellen Parameterwerte ein erster sogenannter Konditionsindex
berechnet. Der Konditionsindex gibt die Schätzbarkeit der aktuellen Parameter an,
d.h. welche der Parameter auf Grundlage der ersten Nullraumbewegung nicht oder nur
schlecht schätzbar sind. Zur Bewertung der aufgrund der Schätzung der Parameterwerte
erreichbaren Kalibriergenauigkeit kann beispielsweise die Maschinengenauigkeit des
Roboters zugrunde gelegt werden.
[0013] Wenn sich aufgrund des ersten Konditionsindex ergibt, dass die ersten aktuellen Parameterwerte
nicht zu einer Genauigkeit des Kalibriervorganges führen, der für einen Betrieb des
Roboterarmes gewünscht wird, werden eine zweite Nullraumbewegung durchgeführt, zweite
Gelenkwinkel bei dieser ermittelt und zweite aktuelle Parameterwerte in Abhängigkeit
der zweiten Gelenkwinkel geschätzt.
[0014] Hierbei ist es vorgesehen, die zweite Nullraumbewegung bezüglich der ersten Referenzposition
oder einer zweiten Referenzposition durchzuführen.
[0015] Vergleichbar zu dem ersten aktuellen Parameterwerten, wird für die zweiten aktuellen
Parameterwerte ein zweiter Konditionsindex berechnet, der die Schätzbarkeit der zweiten
aktuellen Parameterwerte angibt.
[0016] So können für die Kalibrierung des Roboterarmes die aktuellen Parameterwerte verwendet
werden, die gemäß dem entsprechenden Konditionsindex eine bessere Schätzbarkeit aufweisen.
[0017] Ferner ist es möglich, auf Grundlage der ersten und der zweiten Nullraumbewegung,
insbesondere auf der Grundlage der ersten und der zweiten Gelenkwinkel, dritte aktuelle
Parameterwerte zu schätzen und zur Kalibrierung zu verwenden, wenn die zuvor genannten
Konditionsindizes angegeben, dass sowohl die Schätzbarkeit der ersten als auch der
zweiten aktuellen Parameterwerte jeweils für sich betrachtet ein gewünschtes Kalibrierergebnis
liefern.
[0018] Insbesondere bei der Durchführung von Nullraumbewegungen, bei denen der Tool-Center-Point
an einer Position festgelegt ist, kann es zu Beschädigungen des Roboterarmes kommen.
Dies wird dadurch vermieden, dass die Nullraumbewegung(en) so durchgeführt wird (werden),
dass an den Gelenken wirkende Kräfte und/oder Momente nicht so groß werden, dass Beschädigungen
des Roboterarmes auftreten können. Ferner können auf diese Weise die an den Gelenken
wirkenden Kräfte und/oder Momente so begrenzt werden, dass der Kalibriervorgang nicht
durch bei der Nullraumbewegung(en) auftretenden, noch tolerierbaren Verformungen des
Roboterarmes verfälscht wird. Derartige Verformungen ergeben sich beispielsweise aus
der Elastizität der einzelnen Roboterarmsegmente und der Gelenke.
[0019] Die Durchführung der Nullraumbewegung(en) kann von einem Benutzer manuell, d.h. Führung
des Roboterarmes entlang einer durch den Benutzer vorgegebenen Nullraumtrajektorie,
oder durch den Roboter gesteuert durchgeführt werden.
[0020] Vorzugsweise wird bei einer manuell durchgeführten Nullraumbewegung ein sogenanntes
Gravitationskompensationsverfahren verwendet, bei dem sogenannte rücktreibbare Gelenke
zum Einsatz kommen. Bei der Gravitationskompensations werden an den Gelenken des Roboterarmes
Momente erzeugt, die es einem Benutzer erlauben, diesen im Wesentlichen kraftfrei
durch den Nullraum zu bewegen. Hierfür können mittels geeigneter Sensoren an den Gelenken
Momente erfasst werden, die aufgrund der Masse und/oder Nullraumbewegung selbst an
den Gelenken wirken, um Momente an den Gelenken zu erzeugen, die die erfassten Momente
kompensieren. Alternativ ist es möglich, unter Verwendung eines geeigneten Modells
Momente zu berechnen, die (voraussichtlich) aufgrund der Masse des Roboterarmes und/oder
einer Nullraumbewegung an den Gelenken auftreten, um dann Momente an den Gelenken
zu erzeugen, die die berechneten Momente kompensieren.
[0021] Bei einer gesteuerten Durchführung der Nullraumbewegung(en) werden Kräfte und/oder
Momente an den Gelenken ermittelt, um die Nullraumbewegung(en) so zu steuern, dass
es zu keiner Beschädigung der Gelenke kommt. Hierbei ist es beispielsweise möglich,
an dem Tool-Center-Point einen Kraft- und/oder Momentensensor anzuordnen, um aus den
von diesem erfassten Kräften und/oder Momenten Gelenkkräfte und/oder -momente zu ermitteln.
[0022] Für die Parameter können Anfangswerte festgelegt werden, die als Startwerte für die
Kalibrierung dienen und mit den Gelenkwinkeln zur Schätzung der aktuellen Parameterwerte
verwendet werden. Als Anfangswerte können beispielsweise Werte verwendet werden, die
sich aus den konstruktiven Vorgaben für die Herstellung des Roboterarmes ergeben (z.B.
Längen der Verbindungselemente).
[0023] Ferner können in Abhängigkeit der ermittelten Gelenkwinkel und der Parameteranfangswerte
eine Position für den Tool-Center-Point berechnet und mit der Referenzposition verglichen
werden, um eine Abweichung zwischen der Referenzposition und der berechneten TCP-Position
zu ermitteln. Dann ist es möglich, die aktuellen Parameterwerte in Abhängigkeit der
ermittelten Abweichung zu schätzen.
[0024] Unter Verwendung der Abweichung ist es möglich, Änderungswerte für die Parameter
zu berechnen, und in Abhängigkeit der Änderungswerte die aktuellen Parameterwerte
zu schätzen.
[0025] Es ist auch vorgesehen, weitere Gelenkwinkel bei der Nullraumbewegung zu ermitteln
und jeweils eine entsprechende Position für den Tool-Center-Point zu berechnen, um
für jede TCP-Position die jeweilige Abweichung von der Referenzposition zu berechnen.
[0026] Zur Anpassung der genannten Parameter kann für jede der Abweichungen ein Änderungswert
berechnet werden. In Abhängigkeit eines ersten der Änderungswerte können dann die
Anfangswerte für die Parameter in aktuelle Parameterwerte und nachfolgend neue aktuelle
Parameterwerte in Abhängigkeit von jeweils einem anderen der Änderungswerte durch
Ändern eines vorherigen aktuellen Parameterwertes geschätzt werden.
[0027] Es ist auch vorgesehen, aus den für die TCP-Positionen ermittelten Abweichungen eine
Gesamtabweichung zu ermitteln, um die Anfangswerte in Abhängigkeit der Gesamtabweichung
in aktuelle Parameterwerte zu ändern.
[0028] Eine weitere Grösse, die die Kalibrierqualität beeinflusst, ist die Wahl der Referenzposition.
Um eine geeignete Referenzposition zu ermitteln, werden mehrere unterschiedliche Positionen
festgelegt, für die (zu erwartende) Abweichungen basierend auf einer entsprechenden
Schätzung der Parameterwerte berechnet werden. Die Abweichungen ermöglichen Aussagen
darüber, welche Positionen als Referenzpositionen geeignet sind. So wird die Positionen
mit der geringsten Abweichung als Referenzposition definiert.
[0029] Zur Bewertung unterschiedlicher Positionen, die als Referenzposition in Frage kommen,
kann für jede dieser Positionen eine als Beobachtbarkeitsindex bezeichnete Grösse
ermittelt werden, die die Beobachtbarkeit des Einflusses von Änderungen der Parameterwerte
auf die Abweichungen berechneter TCPPositionen von entsprechenden Referenzpositionen
angibt. Dabei ist es vorgesehen, die Position als Referenzposition zu verwenden, für
die im Bereich des Maximums des entsprechenden Beobachtbarkeitsindexes die Anzahl
möglicher Gelenkkonfigurationen am grössten ist.
[0030] Ergeben sich aufgrund des Beobachtbarkeitsindex mehrere geeignete Referenzpositionen,
ist es vorgesehen, für den Beobachtbarkeitsindex eine Untergrenze festzulegen. Zur
Auswahl von Referenzpositionen werden dann Positionen berücksichtigt, deren Beobachtbarkeitsindex
oberhalb dieser Grenze liegt.
[0031] Das Verfahren kann so durchgeführt werden, dass die räumliche Lage und Orientierung
einer Referenzposition relativ zu dem Roboterarm, insbesondere zu dessen Basis vorgegeben
ist.
[0032] Alternativ ist es möglich, mehrere Referenzpositionen, vorzugsweise vier Referenzpositionen
zu verwenden, deren räumliche Lage und Orientierung relativ zueinander bekannt ist.
Hierbei ist es nicht erforderlich, deren räumliche Lage und Orientierung relativ zu
dem Roboterarm zu kennen. Vielmehr wird die räumliche Lage und Orientierung der Referenzpositionen
relativ zu dem Roboterarm unter Verwendung der für die Referenzpositionen ermittelten
Gelenkwinkel berechnet.
[0033] Wie oben ausgeführt kann das erfindungsgemässe Verfahren auch bei nicht redundanten
Roboterarmen verwendet werden kann, wenn beispielsweise zur Durchführung der Nullraumbewegung
ein passives Gelenk zwischen dem Tool-Center-Point und der Referenzposition angebracht
wird.
[0034] Vorzugsweise wird bei der Durchführung der Nullraumbewegung
die Lage und Orientierung des Tool-Center-Points zu der Referenzposition beibehalten.
[0035] Bei der folgenden Beschreibung bevorzugter Ausführungsformen wird auf die folgenden
Figuren Bezug genommen, von denen zeigen:
- Fig. 1
- eine schematische Darstellung von Koordinatensystemen für Gelenke eines Roboterarmes
gemäss der DenavitHartenberg-Notation,
- Fig. 2
- eine schematische Darstellung eines Rotorarmes,
- Fig. 3
- eine schematische Darstellung von Koordinatensystemen des Roboterarmes von Fig. 2
gemäss der DenavitHartenberg-Notation,
- Fig. 4
- eine schematische Darstellung für eine Nullraumbewegung des Roboterarmes von Fig.
2,
- Fig. 5a-c
- Kennlinien für den Beobachtbarkeitsindex O4, bei Gelenkkonfigurationen des Roboterarmes von Fig. 2,
- Fig. 6
- eine schematische Darstellung eines Kalibrierkörpers,
- Fig. 7
- eine schematische räumliche Darstellung des Kalibrierkörpers von Fig. 6,
- Fig. 8
- eine schematische Darstellung von Beziehungen zwischen variablen Positionen eines
Kalibrierkörpers und der Basis des Roboterarmes von Fig. 2,
- Fig. 9
- eine schematische räumliche Darstellung eines weiteren Kalibrierkörpers, und
- Fig. 10
- eine Kennlinie des Beobachtbarkeitsindex O4 für Nullraumbewegungen des Roboterarmes von Fig. 2 bei Verwendung des Kalibrierkörpers
von Fig. 8.
Grundlagen
[0036] Bei den in folgenden exemplarisch beschriebenen Kalibrierverfahren wird die sogenannte
Denavit-Hartenberg-Notation (im folgenden kurz DH-Notation) zugrundegelegt, die unter
Bezugnahme auf Fig. 1 erläutert wird. Für die Festlegung von Bewegungen eines Koordinatensystemes
eines Verbindungselementes i relativ zu dem Koordinatensystem eines vorhergehenden
Verbindungselementes i-1 werden entlang der Gelenksachse des Gelenkes i+l eine z
i-Achse und entlang der Gelenksachse des Gelenkes i eine z
i-1-Achse gelegt. Der Ursprung O
i des Koordinatensystemes des Gelenkes i+l wird auf den Schnittpunkt der z
i-Achse mit der gemeinsamen Normalen der z
i-1-Achse und der z
i-Achse gelegt. Der Ursprung O
i' des Koordinatensystemes des Gelenkes i wird ebenfalls an dem Schnittpunkt zwischen
der gemeinsamen Normalen der z
i-1-Achse und der z
i-Achse gelegt. Eine x
i-Achse wird entlang der gemeinsamen Normalen zwischen der z
i-1-Achse und der z
i-Achse in Richtung von dem Gelenk i zu dem Gelenk i+l gelegt. Danach wird eine y
i-Achse so gewählt, dass ein rechtshändiges Koordinatensystem entsteht. Dies wird für
alle Gelenke eines Roboterarmes durchgeführt. Für das raumfeste, sogenannte nullte
Koordinatensystem eines Roboterarmes (i.e. das Koordinatensystem für das Gelenk an
der Basis des Roboterarmes) wird nur die Richtung der z
0-Achse festgelegt. Der Ursprung O
0 und die x
0-Achse des nullten Koordinatensystemes können frei gewählt werden, sofern die x
0-Achse senkrecht auf der z
0-Achse steht.
[0037] Sind die Koordinatensysteme für die Gelenke eines Roboterarmes definiert, geben folgende
Parameter die Position und die Orientierung des Verbindungselementes i relativ zu
dem vorherigen Verbindungselement i-1 an:
- ai:= Abstand zwischen den Koordinatensystemursprüngen Oi und 0i',
- di:= Abstand zwischen den Koordinatensystemursprüngen Oi' und 0i-1 entlang der zi-1Achse,
- αi:= Winkel zwischen der zi-Achse und der zi-1-Achse um die xi-Achse (αi > 0 für Drehungen im Uhrzeigersinn), und
- θi:= Winkel zwischen der xi-1-Achse und der zi-1-Achse um die zi-1Achse (θi > 0 für Drehungen im Uhrzeigersinn).
[0038] Zur Transformation von Koordinaten des Koordinatensystemes für das Verbindungselement
i in Koordinaten des Koordinatensystemes für das Verbindungselement i-1 wird folgende
homogene Transformationsmatrix
A
verwendet:

[0039] Hierbei gibt
Rot(g,γ) eine Rotation um eine g-Achse über einen
Winkel γ an.
Trans (g,l) beschreibt eine Translation entlang der g-Achse über einen Weg I.
[0040] Die Position des TCP's eines Roboterarmes wird mittels einer Multiplikation der einzelnen
Transformationsmatrizen berechnet:

[0041] Die Matrix
T
beschreibt das kinematische Modell des Roboterarmes.
[0042] Zur Berechnung von Positionen und Orientierungen
x des TCP's aus vorgegebenen Gelenkwinkeln
q wird eine sogenannte Vorwärtskinematik als Berechnungsmodell verwendet:

[0043] Um in Abhängigkeit von Positionen und Orientierungen des TCP's Gelenkkonfigurationen
zu ermitteln, die die Gleichung [3] für die Vorwärtskinematik erfüllen, wird eine
Umkehrabbildung der Vorwärtskinematik, die sogenannte Inverskinematik, verwendet:

[0044] Bei der Kalibrierung eines Roboterarmes werden für Abbildungen von dem kartesischen
Parameterraum, in dem Positionen des TCP's angegeben werden, in den Gelenkwinkelraum
eine Jacobimatrix
J verwendet.
[0045] Die Jacobimatrix J bildet den Raum der Winkelgeschwindigkeiten der Gelenke in den
Raum der kartesischen Geschwindigkeiten ab, d.h. die Jacobimatrix
J gibt eine Ableitung der Gleichungen [3] und [4] nach der Zeit an:


[0046] Für Positionen und Orientierungen
x des TCP's und Gelenkwinkeln
q ergibt sich für die Jacobimatrix
J:

[0047] Bei der Kalibrierung, d.h. einer Anpassung des Berechnungsmodells an die realen Verhältnisse
eines Roboterarmes, werden Abweichungen der im Modell berechneten Positionen des TCP's
von der realen Position des TCP's ermittelt. Um ein Modell zu erhalten, bei dem Unterschiede
zwischen berechneten und realen Positionen für den TCP eine definierte Genauigkeitsschranke
unterschreiten, werden die DH-Parameter in geeigneter Weise verändert. Hierbei ist
es vorteilhaft, Gelenkkonfigurationen zu finden, bei denen Auswirkungen von Veränderungen
der DH-Parameter auf zu berechnende Positionen des TCP's, genauer auf Fehler zwischen
berechneten und realen Positionen des TCP's, möglichst gross sind.
[0048] Zur Kalibrierung eines Roboterarmes auf der Grundlage der DHNotation ist es notwendig,
die Vorwärtsabbildung nach den DH-Parametern abzuleiten. Dies führt zu einem speziellen
Typ der Jacobimatrix, einer sogenannten Identifikationsmatrix.
[0049] Da es sich hierbei um ein nicht lineares Problem handelt, werden zur Lösung Anfangsschätzwerte
für die DH-Parameter verwendet, um mittels der Identifikationsmatrix eine Linearisierung
zu erreichen. Zur Aufstellung der Identifikationsmatrix wird ein Roboterarm als sogenannte
geschlossene kinematische Kette, d.h. mit festgelegter Position für den TCP, mit mindestens
einem Freiheitsgrad betrachtet.
[0050] Als Ausgangsschätzwerte für die DH-Parameter werden für eine vorgegebene Position
für den TCP die DH-Parameter verwendet, die sich auf der Grundlage des nicht kalibrierten
Modells für eine Gelenkposition ergeben.
[0051] Unter Verwendung der Gleichung [2] wird eine Position

für den TCP berechnet und mit der realen TCP
xrk verglichen:

[0052] Hierbei gibt D
Xk die Abweichung der berechneten Position

von der realen Position
Xrk an, wobei der Index k unterschiedliche Gelenkkonfigurationen bezeichnet.
[0053] Zur Kalibrierung werden die DH-Parameter so verändert, dass die Abweichung D
xk minimiert wird. Eventuell dabei auftretende nicht kompensierbare Fehler, werden in
einem Fehlervektor
efk zusammengefasst:

[0054] Unter Verwendung der Gleichung

wird für eine Gelenkkonfiguration k mit Gelenkwinkelpositionen mit einem Anfangsschätzwert
ϕ0 = (
dT,
θToff,
aT,
αT)
T die Abweichung D
xk berechnet:

[0055] Mit dem Parametervektor
ϕ für die DH-Parameter und den Vektor
der Parameterveränderungen D
ϕ =
ϕneu -
ϕalt wird eine Identifikationsmatrix berechnet. Hier besteht die Identifikationsmatrix
aus vier verbundenen Jacobimatrizen. Die Identifikationsmatrix bildet den Vektorraum
der Veränderungen der DH-Parameter in den Raum der kartesischen Positionsveränderungen
ab:

[0056] Unter Verwendung der Gleichungen [11] und [12] werden die durch die Abweichung D
xk angegebenen Positions- und Orientierungsfehler in Abhängigkeit der jeweiligen Parameteränderung
D
ϕ berechnet:

[0057] Die Dimension der Matrix
Ck hängt von den Freiheitsgraden (DOF = Degrees of Freedom) des verwendeten Roboterarmes
und von der Anzahl der zu bestimmenden Parameter ab.
[0058] Bei einem redundanten Roboterarm mit sieben Gelenken und der vier DH-Parameter pro
Gelenk ergibt sich eine Anzahl von 28 Parametern, die für die Matrix
Ck zu bestimmen sind. Ausgehend von Gleichung [13] kann die Identifikationsmatrix (siehe
Gleichung [12]) für eine Betrachtung der Empfindlichkeit der Positions- und Orientierungsfehler
in Abhängigkeit von Parameterveränderungen und zur Berechnung von Parameterveränderungen
verwendet werden.
[0059] Hierfür kann z.B. eine Singulärwertzerlegung (SVD; Englisch: Singular Value Decomposition)
der Identifikationsmatrix
Ck verwendet werden:


wobei die Matrix
Σk eine Singulärwertmatrix ist und die Matrizen
Uk und
Vk zwei orthogonale Matrizen wiedergeben.
[0060] Für die pseudoinverse Matrix der Identifikationsmatrix
Ck gilt:

[0061] Parameterveränderungen für die DH-Parameter lassen sich dann wie folgt berechnen:

[0062] Um für eine vorgegebene Position des TCP's Gelenkkonfigurationen zu ermitteln, für
die eine Schätzung der DH-Parameter optimiert durchgeführt werden kann, wird aus der
Singulärmatrix ein sogenannter Beobachtungsindex O
4 berechnet (siehe: "The calibration index and taxonomy for robot kinematic calibration
methods", J. M. Hollerbach und Ch. W. Wrampler, International Journal of Robotics
Research, 15, 573-591, 1996). Der Beobachtungsindex O
4, charakterisiert die Beobachtbarkeit des Einflusses von Veränderungen der DH-Parameter
auf den während des Kalibriervorganges ermittelten Fehler zwischen der realen Position
und berechneten Positionen für den TCP's. Je grösser der Beobachtungsindex O
4, ist, desto besser ist die Beobachtbarkeit. Der Beobachtungsindex O
4, wird auch als "RauschVerstärkungs-Index" bezeichnet, der die Verstärkung der Fehler
angibt. Durch dieses Bewertungskriterium für eine Schätzung der
[0063] DH-Parameter werden Gelenkkonfigurationen, für die Parameterveränderungen schlecht
zu schätzen sind, hervorgehoben, während Gelenkkonfigurationen mit einer besseren
Schätzmöglichkeit ermittelt werden können.
Roboterkinematik
[0064] Der in Fig. 2 dargestellte Roboterarm ist ein kinematisch redundanter Roboterarm
mit sieben rotatorischen Gelenken, die jeweils antriebsseitig und abtriebsseitig eine
hochauflösende Positionssensorik zur Bestimmung der Stellungen der einzelnen Gelenke
aufweisen.
[0065] Die für die DH-Notation benötigten Koordinatensysteme des verwendeten Roboterarmes
sind in Fig. 3 dargestellt. Hierbei entspricht die z-Achse des Basiskoordinatensystems
der Drehachse des ersten Gelenkes des Roboterarmes. Nach der Festlegung der Koordinatensysteme
für die Gelenke werden die Transformationsmatrizen für zwei aufeinanderfolgende Koordinatensysteme
berechnet (siehe Gleichung [1]). Wie durch Gleichung [2] angegeben, ergibt sich die
Transformationsmatrix
T
.für Transformationen aus dem raumfesten Basiskoordinatensystem des Roboterarmes in
das Koordinatensystem für den TCP aus dem Produkt der Transformationsmatrizen aller
Koordinatensysteme der Gelenke.
[0066] Für die in Fig. 3 gezeigten Koordinationssysteme ergeben sich folgende DH-Parameter
für den Roboterarm:
Gelenk i |
di[mm] |
θi[rad] |
ai[mm] |
αi[rad] |
1 |
d1 |
q1 |
0 |
-π/2 |
2 |
0 |
π/2+q2 |
a2 |
-π/2 |
3 |
0 |
q3 |
a3 |
-π/2 |
4 |
0 |
-π/2+q4 |
0 |
π/2 |
5 |
d5 |
q5 |
0 |
-π/2 |
6 |
0 |
q6 |
0 |
π/2 |
7 |
d7 |
q7 |
0 |
π |
[0067] Ferner wurden für eine vollständige Beschreibung des kinematischen Modells Begrenzungen
für die Gelenkwinkelbereiche der Gelenke definiert:
Gelenk i |
Winkelbereichsgrenzen |
1 |
±170° =±2.9671rad |
2 |
±100°=±2.2689rad |
3 |
±120°=±2.0944rad |
4 |
±130°=±2.2689rad |
5 |
±170°=±2.9671rad |
6 |
±130°=±2.2689rad |
7 |
±170°=±2.9671rad |
[0068] Wie oben ausgeführt, werden beim Kalibrieren die DH-Parameter verändert. Hierfür
werden die DH-Parameter jeweils mit einem variablen Parameteranteil versehen:
Gelenk i |
di[mm] |
θi[rad] |
ai[mm] |
ai[rad] |
1 |
d1 + Δd1 |
q1+ Δθ1 |
0 + Δa1 |
-π/2 + Δα1 |
2 |
0 + Δd2 |
π/2 + q2 + Δθ2 |
a2 + Δa2 |
-π/2 + Δα2 |
3 |
0 + Δd3 |
q3 + Δθ3 |
a3 + Δa3 |
-π/2 + Δα3 |
4 |
0 + Δd4 |
-π/2 + q4 + Δθ4 |
0 + Δa4 |
π/2 + Δα4 |
5 |
d5 + Δd5 |
q5 + Δθ5 |
0 + Δa5 |
-π/2 + Δα5 |
6 |
0 + Δd6 |
q6 + Δθ6 |
0 + Δa6 |
π/2 + Δα6 |
7 |
d7 + Δd7 |
q7 + Δθ7 |
0 + Δa7 |
π + Δα7 |
[0069] Um von mehreren Positionen für den TCP die zu ermitteln, die eine optimierte Beobachtbarkeit
des Einflusses von Veränderungen der DH-Parameter auf den während des Kalibriervorganges
ermittelten Fehler ermöglichen, werden für verschiedene Positionen für den TCP sogenannte
Nullraumbewegungen des Roboterarmes vorab untersucht.
[0070] Aufgrund der Redundanz des Roboterarmes kann eine Position des TCP's durch unterschiedliche
Gelenkkonfigurationen erreicht werden. Daher ist es möglich, für eine vorgegebene
Position für den TCP den Roboterarm zu bewegen, d.h. Nullraumbewegungen durchzuführen,
ohne dabei die Position des TCP's zu verändern (siehe Fig. 4).
[0071] Für unterschiedliche Positionen für den TCP werden für die entsprechenden Gelenkkonfigurationen
die Beobachtbarkeitsindices 0gberechnet, die, wie in Fig. 5a-c dargestellt, als Kennlinien
wiedergegeben werden können. Für Gelenkkonfigurationen mit einem hohen Beobachtbarkeitsindex
O
4 ist eine gute Identifikation der DH-Parameter gewährleistet. Bei einer vergleichsweise
geringen Anzahl von Gelenkkonfigurationen im Bereich eines Maximums eines Beobachtungsindexes
O
4, wie beispielsweise bei der in Fig. 5c dargestellten Kennlinie, steht nur ein geringer
Bereich an Nullraumbewegungen zur Verfügung. Dementsprechend sind für eine Beschreibung
der entsprechenden Position des TCP's vergleichsweise weniger Gelenkkonfigurationen
möglich, wodurch der Kalibriervorgang verschlechtert werden kann.
[0072] Wie in Fig. 4 schematisch dargestellt werden zur Kalibrierung Nullraumbewegungen
durchgeführt. Dies kann durch eine manuelle Betätigung des Roboterarmes oder eine
Positionskommandierung des Roboterarmes vorgenommen werden.
[0073] Um, wie eingangs ausgeführt, die Verspannungskräfte des Roboters gering zu halten,
kann die als Gravitationskompensation bezeichnete Momentenregelung oder eine Positionsregelung
verwendet werden.
[0074] Bei der Gravitationskompensation wird der Roboterarm manuell durch den Nullraum bewegt,
wobei an den Gelenken wirkende Masse- und/oder bewegungsabhängige Momente, oder alternativ
modellbasiert berechnete, zu erwartende Momente, erfasst werden, um in Abhängigkeit
von diesen an den Gelenken Momente aktiv zu erzeugen, die die erfassten (berechneten)
Momente kompensieren, um so eine manuelle Bewegung des Roboterarmes zuzulassen.
[0075] Bei der Positionsregelung wird eine kommandierte Bewegung vorgegeben, wobei mittels
Kraftsensoren an einzelnen/mehreren/allen Gelenken und/oder am TCP wirkende Kräfte
und/oder Momente ermittelt oder erfasst werden, um die Bewegung des Roboterarmes so
durchzuführen, dass die zulässigen Kräfte und/oder Momente an den Gelenken nicht überschritten
werden.
[0076] Aufgrund der Symmetrie der Gelenkwinkelgrenzen ist es vorgesehen, eine Hälfte des
Arbeitsraumes des Roboters zur Kalibrierung zu verwenden. Während der Nullraumbewegungen
für eine vorgegebene reale Position für den TCP werden über die Vorwärtskinematik
berechnete Werte für diese Position sowie entsprechende Gelenkkonfigurationen ermittelt.
[0077] Zur Vorgabe einer Position für den TCP wird ein in Fig. 6 und 7 schematisch dargestellter
Kalibrierkörper verwendet, der drei verschiedene Positionen für den TCP definiert.
Es ist festgestellt worden, dass die Beobachtbarkeit verbessert werden kann, je näher
eine vorgegebene Position für den TCP dem Inertialsystem des Roboterarmes liegt. Ferner
wirken sich Positionen für den TCP mit windschiefer Orientierung zum Inertialsystem
des Roboterarmes positiv auf die Schätzbarkeit der DH-Parameter aus. Eine weitere
Verbesserung kann erreicht werden, wenn sich die Position des Kalibrierkörpers nicht
in der Nähe der Hauptachsen des Inertialsystems des Roboterarmes befindet.
[0078] In Abhängigkeit von vorgegebenen realen Position für den TCP kann es bei dem Kalibrierverfahren
zu numerischen Instabilitäten kommen. Falls erforderlich, kann dies vermieden werden,
indem zur Kalibrierung Gelenkkonfigurationen für eine oder mehrerer weitere vorgegebene
reale Positionen für den TCP ermittelt werden. Hierbei werden Gelenkkkonfigurationen
der weiteren vorgegebenen realen Positionen für den TCP verwendet, um Gelenkkonfigurationen
der vorherigen vorgegebenen realen Position für den TCP so zu ergänzen, dass alle
DH-Parameter geschätzt werden können.
[0079] Für eine Bewertung einer solchen Ergänzung wird mittels der obigen orthogonalen Matrix
V (siehe Gleichung [14]) ein als Konditionsindex K
i bezeichneter Index erstellt. Die Matrix
V besteht aus orthogonalen Zeilenvektoren mit einem Betrag von 1. Aus der Matrix
V werden die Vektoren aus beiden Nullraumbewegungen berücksichtigt, deren Singulärwerte
in der Matrix
Σk zu Null gesetzt sind. Aus der Summe der kreuzweise auf die Vektoren angewendeten
Skalarprodukte kann der Konditionsindex K
i berechnet werden:

[0080] Der Konditionsindex K
i liegt im Bereich zwischen 0 und 2, wobei der Index i die Zeilennummer der Matrix
V angibt. Je kleiner der Konditionsindex K
i ist, desto besser können die DH-Parameter geschätzt werden.
[0081] Sind die Gelenkkonfigurationen mit den höchsten Empfindlichkeiten ermittelt, werden
die Veränderungen der DH-Parameter identifiziert, wobei folgende Werte als Anfangsschätzwerte
verwendet werden:
Parameter |
Wert [mm] |
d1 |
-213 |
a2 |
250 |
a3 |
260 |
d5 |
-338.5 |
d7 |
-175.5 |
[0082] Für jede Gelenkkonfiguration wird eine numerisch bestimmte Identifikationsmatrix
Ck berechnet, wobei mittels der Vorwärtskinematik durch Einsetzen der Gelenkwinkel die
Position für den TCP aus Genauigkeitsgründen ein weiteres mal berechnet werden kann.
Der Fehler zwischen der realen und der berechneten Position für den TCP sowie die
Identifikationsmatrix
Ck werden berechnet. Danach werden die einzelnen Identifikationsmatrizen
Ck zu einer Matrix
G und die einzelnen Positionsfehlervektoren zu einem Gesamtfehler
X zusammengefasst. Wie oben ausgeführt, können hierfür 1, 2, 3 oder mehr Nullraumbewegungen
zugrundegelegt werden.
[0083] Die oftmals grosse Matrix
G kann mathematisch singulär sein. Um eine numerische Stabilität des Kalibrierverfahrens
zu erreichen, werden Singulärwerte ausgewählt. Sind durch eine schlechte Konditionierung
der Identifikationsmatrix einige Singulärwerte wesentlich kleiner als der Kehrwert
des grössten Singulärwertes, werden die kleinen Singulärwerte zu Null gesetzt:

[0084] Aus den Positionsänderungen D
X ergibt sich die zu lösende Gleichung für die Parameterveränderungen bezüglich einer
Positionsdifferenz:

[0085] Die Ausführung der genannten Schritte und die Addition der Berechnungen der Veränderungen
der DH-Parameter werden solange wiederholt, bis die Abweichungen aller DH-Parameter
die gewünschte Genauigkeit zur Berechnung von Positionen des TCP's ermöglichen. Die
so iterativ ermittelten DH-Parameter werden dem kinematischen Modell des Roboterarmes
zugrundegelegt.
[0086] Bei den bisher beschriebenen Kalibrierverfahren war die Position des Kalibrierkörpers
und die vorgegebenen Positionen für den TCP im Arbeitsraum des Roboterarmes bekannt.
Das Kalibrierverfahren wird verbessert, wenn der Kalibrierkörper im Arbeitsraum flexibel
positionierbar ist. Bezugnehmend auf Fig. 8, die Beziehungen zwischen unterschiedlichen
Positionen des Kalibrierkörpers und der Basis des Roboterarmes schematisch darstellt,
wird das dahingehend erweiterte Kalibrierverfahren erläutert.
[0087] Der Ursprung des Systems aus Kalibrierkörper und Roboterarm wird zunächst in eine
durch den Kalibrierkörper vorgegebene TCP-Position gelegt, z.B. in den Punkt P
1 in Fig. B. Eine Transformation mittels der Transformationsmatrix
T
ergibt die Position der Basis des Roboterarmes bezüglich dieses Ursprungs, den Punkt
P
1 an.
[0088] Sind die Transformationen zwischen unterschiedlichen vorgegebenen Positionen für
den TCP am Kalibrierkörper bekannt, berechnet sich die Differenz zwischen der Position
der Basis des Roboterarmes bezüglich der unterschiedlichen Positionen für den TCP
am Kalibrierkörper wie folgt:

[0089] Hierbei bezeichnet
XKBi die über die Vorwärtskinematik berechnete Transformation vom Inertialsystem des Roboterarmes
in den Ursprung des Kalibrierkörpers. Die Unterschiede zwischen den Positionen P
1, P
2, P
3 und P
4 (siehe Fig. 7) für den TCP werden von
xcl wiedergegeben. Der Ergebnisvektor D
xBasis l,k ist ein Vektor der den relativen Positionsfehler der Basis des Roboterarmes bezüglich
des Ursprungs des Kalibrierkörpers wiedergibt.
[0090] Mit einer erweiterten Identifikationsmatrix
GE und einem erweiterten Parametervektor D
ζ wird die Position der Basis des Roboterarmes bezüglich des Ursprunges des Kalibrierkörpers
geschätzt. Der Vektor D
ρ gibt Veränderungen der DH-Parameter und Veränderungen der Transformationsparameter
vom Ursprung des Kalibrierkörpers in die Basis des Roboterarmes, i.e. (D
ρ =
Dj, Dw, Dξ, Dη)
T wieder. Damit ergibt sich folgende Transformation:


[0091] Darauf basierend kann die Differenz der Position des Roboterarmes bezüglich der Basis
der Veränderungen der DH-Parameter berechnet werden:
mit
[0092] Für den Vektor D
ζ, der Veränderungen der DH-Parameter und Kalibrierkörpers in die Basis des Roboterarmes
für eine vorgegebene Position für den TCP und entsprechende Gelenkkonfigurationen
bei einer Nullraumbewegung angibt, gilt dann:

[0093] Zur Durchführung des Kalibrierverfahrens mit flexibler Positionierbarkeit des Kalibrierkörpers
werden vier auf dem Kalibrierkörper vorgegebene Positionen für den TCP verwendet.
Ein solcher Kalibrierkörper ist in Fig. 9 schematisch dargestellt. Aufgrund der vorgegebenen
Positionen für den TCP kann die Anzahl geeigneter Gelenkkonfigurationen so hoch werden,
dass der Kalibriervorgang zeitaufwendige Berechnungen erfordert. In diesem Fall ist
es möglich, für den Beobachtungsindex 0, eine Untergrenze zu definieren und nur Gelenkkonfigurationen
zu berücksichtigen, deren Beobachtungsindex O
4 oberhalb dieser Untergrenze liegt. Dies ist für einen Kalibriervorgang beispielhaft
in Fig. 10 dargestellt. In diesem Fall wurde die Anzahl von mehr als 7000 gewählter
Gelenkkkonfigurationen auf etwa 600 bis 800 zu berücksichtigende Gelenkkonfigurationen
reduziert. Die beschriebenen Kalibrierverfahren wurden am Beispiel eines redundanten
Roboterarmes erläutert, können aber auch bei nicht redundanten Roboterarmen eingesetzt
werden. Hierfür wird ein nicht redundanten Roboterarm durch Hinzufügen passiver oder
aktiver Gelenke zu einem redundanten Roboterarm erweitert.
1. Verfahren zum Kalibrieren eines Roboterarmes, mit folgenden Schritten:
- Definieren von Parametern (ϕ), die die Lage und Orientierung von Gelenken (i) eines Roboterarmes angeben,
- Positionieren des Tool-Center-Points (TCP) des Rotorarmes an einer ersten Referenzposition
(xrk),
- Durchführen einer ersten Nullraumbewegung mit dem Roboterarm,
- Ermitteln von ersten Gelenkwinkeln (qk) für die Gelenke (i) des Roboterarmes bei der ersten Nullraumbewegung,
- Schätzen erster aktueller Werte (ϕk) für die Parameter (ϕ) in Abhängigkeit der ersten Gelenkwinkel (qk).
2. Verfahren gemäß Anspruch 1, bei dem
für die ersten aktuellen Parameterwerte (ϕk) ein erster Konditionsindex (Ki) berechnet wird, der die Schätzbarkeit der ersten aktuellen Parameterwerte (ϕk) angibt.
3. Verfahren gemäß Anspruch 2, mit folgenden Schritten:
- Durchführen einer zweiten Nullraumbewegung mit dem Roboterarm,
- Ermitteln von zweiten Gelenkwinkeln (qk) für die Gelenke (i) des Roboterarmes bei der zweiten Nullraumbewegung, und
- Schätzen zweiter aktueller Parameterwerte (ϕk) in Abhängigkeit der zweiten Gelenkwinkel (qk),
- wenn der erster Konditionsindex (Ki) angibt, dass die Schätzbarkeit der ersten aktuellen Parameterwerte (ϕk) zu einer Kalibiergenauigkeit unter einer vorgegebenen Genauigkeit führt.
4. Verfahren gemäß Anspruch 3, bei dem
vor der Durchführung der zweiten Nullraumbewegung der Tool-Center-Point (TCP) an einer
zweiten Referenzposition (xrk) positioniert wird.
5. Verfahren gemäß Anspruch 3 oder 4, bei dem
für die zweiten aktuellen Parameterwerte (ϕk) ein zweiter Konditionsindex (Ki) berechnet wird, der die Schätzbarkeit der zweiten aktuellen Parameterwerte (ϕk) angibt.
6. Verfahren gemäß Anspruch 5, bei dem
die aktuellen Parameterwerte (ϕk) zur Kalibrierung gewählt werden, für die der entsprechende Konditionsindex (Ki) eine bessere Schätzbarkeit angibt.
7. Verfahren gemäß Anspruch 5 oder 6, bei dem
dritte aktuelle Parameterwerte (ϕk) in Abhängigkeit der ersten und der zweiten Gelenkwinkel (qk) geschätzt und zur Kalibrierung gewählt werden, wenn der erster und der zweite Konditionsindex
(Ki) angeben, dass die Schätzbarkeit der ersten und der zweiten aktuellen Parameterwerte
(ϕk) jeweils zu einer Kalibriergenauigkeit unter einer vorgegebenen Genauigkeit führen.
8. Verfahren gemäß einem der Ansprüche 1 bis 7, bei dem
die Nullraumbewegung des Roboterarmes so durchgeführt wird, dass an den Gelenken (i)
wirkenden Kräfte und/oder Momente vorbestimmte Grenzwerte nicht überschreiten.
9. Verfahren gemäß einem der Ansprüche 1 bis 8, bei dem
die Nullraumbewegung von einem Benutzer manuell durchgeführt wird.
10. Verfahren gemäß Anspruch 9, bei dem
bei der Durchführung der Nullraumbewegung
- Momente erfasst werden, die aufgrund der Masse des Roboterarmes und/oder der Nullraumbewegung
an den Gelenken (i) wirken, und
- Momente an den Gelenken (i) erzeugt werden, die die erfassten Momente kompensieren.
11. Verfahren gemäß Anspruch 9, bei dem
bei der Durchführung der Nullraumbewegung
- aufgrund der Masse des Roboterarmes und/oder der Nullraumbewegung an den Gelenken
(i) zu erwartende Momente berechnet werden, und
- Momente an den Gelenken (i) erzeugt werden, die die berechneten Momente kompensieren.
12. Verfahren gemäß einem der Ansprüche 1 bis 8, bei dem
die Nullraumbewegung gesteuert durchgeführt wird, wobei Kräfte und/oder Momente ermittelt
werden, die an den Gelenken (i) wirken, um die Nullraumbewegung so zu steuern, dass
die Kräfte und/oder Momente an den Gelenken (i) die vorbestimmten Grenzwerte nicht
überschreiten.
13. Verfahren gemäß Anspruch 12, bei dem
zum Ermitteln der an den Gelenken (i) wirkenden Kräfte und/oder Momente Kräfte und/oder
Momente erfasst werden, die an dem Tool-Center-Point (TCP) wirken.
14. Verfahren gemäß einem der Ansprüche 1 bis 13, bei dem
- Anfangswerte (ϕ0) für die Parameter (ϕ) festgelegt werden, und
- die aktuellen Parameterwerte (ϕk) in Abhängigkeit der ermittelten Gelenkwinkel (qk) und der Anfangswerte (ϕ0) geschätzt werden.
15. Verfahren nach Anspruch 14, mit den Schritten:
- Berechnen einer Position (xk) für den Tool-Center-Point (TCP) in Abhängigkeit der entsprechenden ermittelten Gelenkwinkel
(qk) und der Anfangswerte (ϕ0),
- Berechnen einer Abweichung (Dxk) zwischen der Referenzposition (Dxk) und der berechneten TCP-Position (xk),
- Schätzen der aktuellen Parameterwerte (ϕk) in Abhängigkeit der Abweichung (Dxk).
16. Verfahren nach Anspruch 15, mit den Schritten:
- Berechnen von Änderungswerten (Dϕk) für die Parameter (ϕ) in Abhängigkeit der Abweichung (Dxk), und
- Schätzen der aktuellen Werte (ϕk) für die Parameter (ϕ) in Abhängigkeit der Änderungswerte (Dϕk).
17. Verfahren gemäß Ansprüche 1 bis 16, bei dem
- weitere Gelenkwinkel (qk) bei der Nullraumbewegung ermittelt werden,
- TCP-Positionen (xk) für die weiteren Gelenkwinkel (qk) berechnet werden, und
- für die TCP-Positionen (xk) die Abweichungen (Dxk) von der Referenzposition (xrk) berechnet werden.
18. Verfahren gemäß Anspruch 17, bei dem
- für jede der Abweichungen (Dxk,) ein Änderungswert (Dϕk) berechnet wird, und
- in Abhängigkeit von einem ersten (Dϕ1) der Änderungswerte (Dϕk) anfängliche aktuelle Parameterwerte (ϕ1) geschätzt und nachfolgende aktuelle Parameterwerte (ϕ2, ..., ϕk) in Abhängigkeit von jeweils einem anderen der Änderungswerte (Dϕk) durch Ändern eines vorherigen aktuellen Parameterwertes (ϕ1, ..., ϕk-1) geschätzt werden.
19. Verfahren gemäß Anspruch 17, bei dem
- aus den Abweichungen (Dxk) eine Gesamtabweichung (X) berechnet wird, und
- die aktuellen Parameterwerte (ϕk) in Abhängigkeit der Gesamtabweichung (X) geschätzt werden.
20. Verfahren gemäß einem der Ansprüche 1 bis 19, bei
dem für eine Definition einer Referenzposition (
xrk)
- mehrere Positionen gewählt werden, und
- die Position als Referenzposition definiert wird, für die eine Schätzung der aktuellen
Parameterwerte (ϕk) zu der kleinsten Abweichung von der entsprechenden Position führt.
21. Verfahren gemäß Anspruch 20, bei dem
- für jede der gewählten Positionen eine Größe (O4) ermittelt wird, die die Beobachtbarkeit des Einflusses von Änderungen der Parameterwerte
(ϕk) auf die Abweichung (Dxk; X) angibt, und
- die Position als Referenzposition definiert wird, für die die maximale Beobachtbarkeitsgröße
(O4) ermittelt wurde.
22. Verfahren gemäß Anspruch 20, bei dem
- für jede der gewählten Positionen eine Größe (O4) ermittelt wird, die die Beobachtbarkeit des Einflusses von Änderungen der Parameterwerte
(ϕk) auf die Abweichung (Dxk; X) angibt, und
- die Position als Referenzposition definiert wird, für die in einem vorgegebenen
Bereich um das Maximums der entsprechenden Beobachtbarkeitsgröße (O4) die Anzahl von Gelenkkonfigurationen am größten ist.
23. Verfahren gemäß einem der Ansprüche 1 bis 22, bei dem
die räumliche Lage und Orientierung der Referenzposition (xrk) relativ zu dem Roboterarm vorgegeben werden.
24. Verfahren gemäß einem der Ansprüche 1 bis 22, bei dem
- mehrere Referenzpositionen (xr1 ..., xrk) definiert werden, deren räumliche Lage und Orientierung relativ zueinander bekannt
sind,
- die räumliche Lage und Orientierung der Referenzpositionen (xr1..., xrk) relativ zu dem Roboterarm in Abhängigkeit der entsprechenden ermittelten Gelenkwinkel
(ϕk) berechnet werden, und
- das Schätzen der aktuellen Parameterwerte (ϕk) bezüglich der Referenzpositionen (xr1..., xrk) durchgeführt wird.
25. Verfahren gemäß einem der Ansprüche 1 bis 24, bei dem
zur Durchführung der Nullraumbewegung ein passives Gelenk zwischen dem Tool-Center-Point
(TCP) und der Referenzposition (xrk) angebracht wird.
26. Verfahren gemäß einem der Ansprüche 1 bis 25, bei dem
die Lage und Orientierung des Tool-Center-Points (TCP) zu der Referenzposition (xrk) bei der Durchführung der Nullraumbewegung beibehalten wird.