-
Die vorliegende Erfindung betrifft Verfahren und ein System zum Betreiben eines Roboters sowie ein Computerprogrammprodukt zur Durchführung von einem der Verfahren.
-
Zum Betreiben von Robotern müssen häufig sogenannte Vorwärts- und/oder Rückwärtstransformationen von bzw. in Bezugssysteme ermittelt werden.
-
So kann beispielsweise durch eine Vorwärtstransformation eine Soll- oder Ist-Pose eines Endeffektors in einem kartesischen Bezugssystem auf Basis von Achskoordinaten bzw. -stellungen des Roboters ermittelt und zum Programmieren, Steuern und/oder Überwachen des Roboters verwendet werden, beispielsweise zum Abspeichern geteachter Posen oder Überwachen kartesischer Arbeitsraumgrenzen und/oder Geschwindigkeitslimits.
-
Gleichermaßen können zum Beispiel durch eine Rückwärtstransformation zu einer Soll- oder Ist-Pose eines Endeffektors in einem kartesischen Bezugssystem Achskoordinaten bzw. -stellungen des Roboters ermittelt und zum Programmieren, Steuern und/oder Überwachen des Roboters verwendet werden, beispielsweise zur offline-Programmierung auf Basis im kartesischen Arbeitsraum vorgegebener Endeffektortrajektorien.
-
Die
DE 10 2015 220 066 A1 betrifft ein Verfahren zum Steuern eines Robotersystems, das einen Manipulator und eine den Manipulator stützende mobile Plattform umfasst, wobei eine Referenzposition der Plattform bezogen auf einen Referenzkörper und eine Referenzkonfiguration des Manipulators bereitgestellt und der Manipulator an den Referenzkörper gekoppelt und das Robotersystem im gekoppelten Zustand derart angesteuert wird, dass die Referenzkonfiguration des Manipulators eingenommen wird.
-
Die
DE 10 2014 119 654 A1 betrifft ein Verfahren zur Kompensation einer Abweichung eines Arbeitspunkts eines Manipulators während der Bearbeitung eines Werkstücks durch einen Endeffektor an dem Manipulator, wobei eine Befehlsabfolge zur Ansteuerung des Manipulators zwecks Bearbeitung des Werkstücks abgearbeitet und basierend auf der Befehlsabfolge eine Soll-Positionsinformation entsprechend einer Soll-Position erzeugt wird.
-
Die
DE 20 2013 101 050 U1 betrifft ein externes Führungssystem für eine Roboteranordnung mit einem mehrachsigen Roboter und einer Robotersteuerung sowie einem am Roboter angeordneten Endeffektor, wobei der Roboter im Prozessbetrieb den Endeffektor entlangeiner programmierten Bahn bewegt und das mit der Robotersteuerung verbindbare Führungssystem eine Messprobe, eine externe Messeinrichtung und einen Führungsrechner aufweist.
-
Die
DE 10 2012 208 095 A1 betrifft einen mobilen Roboter, der eine Trägervorrichtung mit Antrieben zum Bewegen der Trägervorrichtung, wenigstens einen Roboterarm mit mehreren, hintereinander angeordneten, bezüglich Achsen relativ zueinander bewegbaren Gliedern und mit Antrieben zum Bewegen der Glieder, und eine Steuervorrichtung umfasset, welche eingerichtet ist, die Antriebe der Trägervorrichtung und des Roboterarms anzusteuern.
-
Die
DE 10 2009 006 256 A1 betrifft ein Verfahren zur Vermeidung von Kollisionen gesteuert beweglicher Teile einer Anlage.
-
Die
DE 10 2009 005 495 A1 betrifft ein Verfahren zur Kompensation einer kinematischen Abweichung eines Manipulatorsystems, das eine erste Teilkinematik mit wenigstens einem Freiheitsgrad und eine zweite Teilkinematik mit wenigstens einem Freiheitsgrad aufweist.
-
Aufgabe der vorliegenden Erfindung ist es, den Betrieb von Robotern zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 5 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.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Roboter einen Roboterarm mit einem oder mehreren, vorzugsweise wenigstens fünf, insbesondere wenigstens sechs oder mehr, Gelenken, in einer Ausführung einem oder mehreren, vorzugsweise wenigstens fünf, insbesondere wenigstens sechs oder mehr Drehgelenken, auf, der, in einer Ausführung dessen (proximale) Basis, auf einer Plattform angeordnet ist, welche ihrerseits auf bzw. längs einer Bahn, insbesondere verfahrbar bzw. translatorisch, geführt ist. In einer Ausführung ist ein (distaler) Endflansch des Roboterarms über dessen Gelenke mit der (proximalen) Basis verbunden und/oder zur Befestigung eines Werkzeugs eingerichtet bzw. wird hierzu verwendet, kann also insbesondere ein Werkzeug tragen.
-
In einer Ausführung ist die Plattform relativ zur bzw. längs der Bahn form- und/oder kraftschlüssig geführt und/oder weist relativ zur bzw. längs der Bahn einen Freiheitsgrad auf, dessen Wert bzw. Koordinate eine Plattformposition längs der Bahn angibt. In einer Ausführung umfasst die Bahn wenigstens eine, in einer Ausführung wenigstens zwei, Führungen, insbesondere Schienen oder Nuten, an, insbesondere auf oder in, der bzw. denen die Plattform, in einer Ausführung mittels Rollen, Schlitten oder dergleichen, verschiebbar (gelagert) ist. In einer Ausführung ist die Bahn gerade, in einer anderen Ausführung wenigstens abschnittsweise gekrümmt.
-
Durch die bahngeführte Plattform kann in einer Ausführung der Aktionsbereich des Roboterarms vorteilhaft vergrößert werden.
-
Einer Ausführung der vorliegenden Erfindung liegt folgende Idee zugrunde: bei einem Verfahren einer bahngeführten Plattform eines Roboters längs der Bahn können sich, beispielsweise durch Fertigungs- und/oder Montagetoleranzen oder dergleichen, in verschiedenen Plattformpositionen unterschiedliche Abweichungen zwischen einer theoretischen Plattformpose, die (nur) durch die Plattformposition s längs der Bahn bestimmt ist, und einer realen Plattformpose ergeben. So kann insbesondere eine tatsächliche Höhe der Plattform von einer theoretischen bzw. idealen Höhe, insbesondere in verschiedenen Plattformpositionen längs der Bahn unterschiedlich, abweichen und/oder die Plattform gegenüber einer theoretischen bzw. idealen Bahn seitlich, insbesondere in verschiedenen Plattformpositionen längs der Bahn unterschiedlich, abweichen und/oder, insbesondere in verschiedenen Plattformpositionen längs der Bahn unterschiedlich, verkippen.
-
Indem solche Abweichungen bei einer Vorwärts- oder Rückwärtstransformation zum Betreiben des Roboters berücksichtigt, in einer Ausführung wenigstens teilweise kompensiert, werden, kann der Betrieb des Roboters, insbesondere dessen Präzision, verbessert werden.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Betreiben des Roboters die Schritte auf:
- - in verschiedenen Plattformpositionen si längs der Bahn jeweils Ermitteln wenigstens einer Pose desselben, in einer Ausführung distalen, Roboterarmglieds, in einer Ausführung eines Endeffektors, insbesondere eines Kalibrierungswerkzeugs, oder eines Endflanschs, relativ zu einem ersten Bezugssystem A sowie einer dieser Pose zugehörigen Stellung q des Roboterarms;
- - Ermitteln einer Vorwärtstransformation ATTCP aus dem ersten Bezugssystem A, insbesondere in ein erstes roboterarmseitiges, in einer Ausführung distales und/oder roboterarm(end)flanschfestes, Referenzsystem TCP, oder einer Rückwärtstransformation inv(ATTCP) = TCPTA in das erste Bezugssystem A, insbesondere aus dem ersten roboterarmseitigen Referenzsystem TCP, auf Basis einer aktuellen Plattformposition s längs der Bahn und einer ersten kinematischen Transformation, die dieser aktuellen Plattformposition s auf Basis einer Zuordnung zugeordnet ist bzw. wird, wobei diese Zuordnung auf Basis der ermittelten Posen ermittelt ist bzw. wird; und
- - Betreiben des Roboters auf Basis dieser ermittelten Vorwärts- bzw. Rückwärtstransformation
-
Durch das Ermitteln von Posen des Roboterarmglieds und zugehöriger Stellungen des Roboterarms in den verschiedenen Plattformpositionen, die darauf basierend(ermittelt)e Zuordnung zwischen Plattformpositionen und einer ersten kinematischen Transformation und deren Verwendung bei der Vorwärts- bzw. Rückwärtstransformation zum Betreiben des Roboters können in einer Ausführung Abweichungen zwischen einer idealen bzw. theoretischen und der realen Bahn(führung) berücksichtigt bzw. kompensiert und dadurch in einer Ausführung vorteilhaft die Präzision des Roboter(betrieb)s verbessert werden.
-
Eine Pose eines Roboterarmglieds hängt in einer Ausführung von einer ein-, zwei- oder vorzugsweise dreidimensionalen Position relativ zum ersten Bezugssystem und/oder einer ein-, zwei- oder vorzugsweise dreidimensionalen Orientierung relativ zum ersten Bezugssystem ab, kann diese insbesondere angeben bzw. beschreiben.
-
Sie wird in einer Ausführung mittels eines optischen Messsystems, in einer Ausführung mittels eines oder mehrerer Lasertracker und/oder einer oder mehrerer Kameras, und/oder mittels eines an einem Flansch, insbesondere Endflansch, des Roboterarms angeordneten Kalibrierungswerkzeugs vermessen, wobei das optische Messsystem in einer Ausführung ein 3D- oder 6D-Messsystem ist.
-
Hierdurch können die Posen in einer Ausführung präzise, einfach und/oder störungsfrei vermessen werden.
-
Bei einem 6D-Messsystem genügt im Prinzip bereits eine Messung zum Ermitteln einer sechsdimensionalen Pose. Ist das optische Messsystem in einer Ausführung ein 3D-Messsystem, werden in einer Ausführung wenigstens drei Messungen pro Plattformposition durchgeführt.
-
In einer Ausführung werden mit einem 6D-Messsystem in einer oder mehreren der Plattformpositionen jeweils mehr als eine Messung und/oder mit einem 3D-Messsystem in einer oder mehreren der Plattformpositionen jeweils mehr als drei Messungen durchgeführt und diese in einer Ausführung jeweils für die Plattformposition gemittelt, um Messfehler zu kompensieren.
-
Hierdurch können die Posen in einer Ausführung präziser ermittelt werden.
-
Die Stellung q des Roboterarms ist bzw. wird in einer Ausführung auf Basis seiner, in einer Ausführung gemessenen, Achs- bzw. Gelenkstellungen bzw. -koordinaten ermittelt.
-
In einer Ausführung weist das Verfahren die Schritte auf:
- für die verschiedenen Plattformpositionen si längs der Bahn jeweils
- - Ermitteln einer zweiten kinematischen Transformation zwischen einem bzw. dem ersten roboterarmseitigen Referenzsystem TCP und einem zweiten roboterarmseitigen, in einer Ausführung proximalen und/oder roboterarmbasisfesten, Referenzsystem RB auf Basis der Stellung q des Roboterarms, insbesondere also RBTTCP(q) oder inv(RBTTCP) = TCPTRB(q),
- - Ermitteln einer dritten kinematischen Transformation zwischen dem ersten Bezugssystem A und dem ersten Referenzsystem TCP auf Basis der ermittelten, in einer Ausführung vermessenen, Pose(n) des Roboterarmglieds relativ zu dem ersten Bezugssystem A, insbesondere also ATTCP(si) oder inv(ATTCP) = TCPTA(si), und
- - Ermitteln der ersten kinematischen Transformation auf Basis dieser zweiten und dritten kinematischen Transformation, insbesondere also ATRB = ATRB(ATTCP(Si), RBTTCP(q)) oder LWTRB = LWTRB(ATTCP(si), RBTTCP(q)).
-
Entsprechend hängt in einer Ausführung die zweite kinematische Transformation von der Stellung q des Roboterarms ab, die dritte kinematische Transformation von einer sechsdimensionalen Pose des ersten Referenzsystems relativ zum ersten Bezugssystem.
-
Zusätzlich oder alternativ weist das Verfahren in einer Ausführung den Schritt auf:
- - Ermitteln der Zuordnung zwischen Plattformpositionen und den diesen zugeordneten ersten kinematischen Transformationen, wobei die ersten kinematischen Transformationen Transformationen zwischen dem ersten Bezugssystem A und dem zweiten Referenzsystem RB oder zwischen einem zweiten Bezugssystem LW und dem zweiten Referenzsystem RB sind, auf Basis der ermittelten Posen. In einer Ausführung ist dieses zweite Bezugssystem ein plattformseitiges Bezugssystem.
-
Zusätzlich oder alternativ weist das Verfahren in einer Ausführung den Schritt auf:
- - Ermitteln der Vorwärts- bzw. Rückwärtstransformation auf Basis (auch) einer bzw. der zweiten kinematischen Transformation zwischen einem bzw. dem ersten und einem bzw. dem zweiten roboterarmseitigen Referenzsystem auf Basis einer aktuellen Stellung des Roboterarms, insbesondere Ermitteln dieser zweiten kinematischen Transformation auf Basis einer aktuellen Stellung des Roboterarms, in einer Ausführung also ATTCP = ATTCP(RBTTCP(q)) bzw. TCPTA = TCPTA(TCPTRB(q)).
-
Somit werden zum bzw. beim Ermitteln der Vorwärts- bzw. Rückwärtstransformation in einer Ausführung sowohl die (auf Basis der aktuellen Plattformposition längs der Bahn und der entsprechenden Zuordnung ermittelte) erste kinematische Transformation, insbesondere zur Berücksichtigung bzw. Kompensation von Abweichungen der realen von einer idealen bzw. theoretischen Bahn, als auch die (auf Basis der aktuellen Stellung des Roboterarms ermittelte) zweite kinematische Transformation verwendet, in einer Ausführung multiplikativ. In einer Ausführung wird bzw. ist diese beim Ermitteln der Vorwärts- bzw. Rückwärtstransformation verwendete zweite kinematische Transformation vor Montage des Roboterarms auf der Plattform und Ermitteln der Posen des Roboterarmglieds in den verschiedenen Plattformpositionen längs der Bahn vorgegeben, insbesondere die Transformation bzw. ein ihr zugrundeliegendes (mathematisches bzw. Kinematik)Modell parametriert.
-
Hierdurch kann in einer Ausführung vorteilhaft eine bereits vorgegebene bzw. bahnführungsunabhängige zweite kinematische Transformation zwischen roboterarmbasisseitigem und endflansch- bzw. -effektorseitigen Referenzsystem des Roboterarms verwendet und dadurch in einer Ausführung die Präzision erhöht und/oder der Aufwand zum Kalibrieren reduziert werden.
-
Eine, insbesondere homogene, kinematische Transformation
AT
TCP von dem ersten Bezugssystem A zum Betreiben des Roboters, in einer Ausführung einem umgebungsfesten oder mit einem zu bearbeitenden Werkstück mitbewegten Bezugssystem, in das roboterarmgliedseitige erste Bezugssystem TCP kann in einer Ausführung durch die Kette bzw. Verknüpfung
mit den, insbesondere homogenen, kinematischen Transformationen
- AT0:
- Transformation vom ersten Bezugssystem A in ein bahnseitiges Bezugssystem 0;
- 0TLW:
- Transformation von diesem Bezugssystem 0 in ein bzw. das plattformseitige(s) (zweite(s)) Bezugssystem LW;
- LWTRB:
- Transformation von diesem Bezugssystem LW in ein bzw. das roboterarmseitige(s) (zweite) Referenzsystem RB;
- RBTTCP:
- (zweite kinematische) Transformation von diesem (zweiten) Referenzsystem RB in das erste Bezugssystem TCP;
beschrieben bzw. -rechnet werden.
-
Die dritte kinematische Transformation ATTCP kann für die verschiedenen Plattformpositionen si längs der Bahn jeweils auf Basis der ermittelten Pose(n) relativ zum ersten Bezugssystem A ermittelt werden (ATTCP = ATTCP(si)).
-
Die Transformation AT0 ist in einer Ausführung für die verschiedenen Plattformpositionen längs der Bahn gleich und wird entsprechend in einer Ausführung sowohl bei der Ermittlung der Zuordnung als auch der Vorwärts- bzw. Rückwärtstransformation verwendet. Die Transformation 0TLW wird bzw. ist in einer Ausführung als reine bzw. ideale Verschiebung längs der Bahn vorgegeben bzw. angenommen (0TLW = 0TLW(s)) und wird entsprechend in einer Ausführung sowohl bei der Ermittlung der Zuordnung als auch der Vorwärts- bzw. Rückwärtstransformation verwendet.
-
Die zweite kinematische Transformation wird in einer Ausführung auf Basis eines, in einer Ausführung absolutgenauen und/oder kalibrierten, Kinematikmodells des Roboterarms aus der Stellung, insbesondere Achs- bzw. Gelenkstellungen
bzw. -koordinaten, q des Roboterarms ermittelt (RBTTCP = RBTTCP(q)), in einer Ausführung für die verschiedenen Plattformpositionen längs der Bahn bzw. zum Ermitteln der ersten kinematischen Transformation und/oder für die Vorwärts- bzw. Rückwärtstransformation zum Betreiben des Roboters.
-
Durch die Vorwärtstransformation
bzw. die entsprechende Rückwärtstransformation
TCPT
A = inv(
AT
TCP), d.h. die Verwendung der Transformation
LWT
RB bzw. inv(
RBT
LW) als erste kinematische Transformation, kann vorteilhaft die Berücksichtigung bzw. Kompensation von Abweichungen der Bahn von ihrem idealen, durch (
AT
0 ·)
0T
LW beschriebenen Verlauf in einer bzw. der ersten kinematischen Transformation konzentriert, insbesondere die Verschiebung der Plattform längs der Bahn als solche hiervon separiert, und dadurch in einer Ausführung das erste Bezugssystem A leicht(er) modifiziert werden.
-
Durch die Vorwärtstransformation
bzw. die entsprechende Rückwärtstransformation
TCPT
A = inv(
AT
TCP), d.h. die Verwendung der Transformation
AT
RB bzw. inv(
AT
RB) als erste kinematische Transformation, kann vorteilhaft der Berechnungsaufwand reduziert und/oder die Präzision erhöht werden.
-
Das erste Bezugssystem A kann in einer Ausführung mit dem hier genannten bahnfesten Bezugssystem 0 zusammenfallen (AT0 = 1).
-
In einer Ausführung weist die Zuordnung zwischen Plattformposition längs der Bahn und ersten kinematischen Transformationen eine tabellarische Zuordnung auf, kann insbesondere eine solche sein. Zusätzlich oder alternativ wird in einer Ausführung die der aktuellen Plattformposition zugeordnete erste kinematische Transformation mittels Interpolation ermittelt.
-
Hierdurch kann in einer Ausführung vorteilhaft der Speicheraufwand reduziert werden.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Betreiben des Roboters die Schritte auf:
- - Ermitteln, insbesondere Vermessen, einer Position wenigstens eines Punktes der Plattform in verschiedenen Plattformpositionen längs der Bahn mit oder ohne auf der Plattform angeordnetem Roboterarm;
- - Ermitteln einer Vorwärtstransformation aus einem Bezugssystem oder einer Rückwärtstransformation in das Bezugssystem auf Basis einer aktuellen Plattformposition s längs der Bahn und einer Korrektur, die dieser aktuellen Plattformposition s auf Basis einer ermittelten Zuordnung zugeordnet ist bzw. wird, wobei diese Zuordnung auf Basis dieser ermittelten Positionen ermittelt ist bzw. wird; und
- - Betreiben des Roboters auf Basis dieser ermittelten Vorwärts- bzw. Rückwärtstransformation.
-
Durch ein Ermitteln, insbesondere Vermessen, von Positionen eines Plattformpunktes in verschiedenen Plattformpositionen, die darauf basierend(ermittelt)e Zuordnung zwischen Plattformpositionen und einer Korrektur und deren Verwendung bei der Vorwärts- bzw. Rückwärtstransformation zum Betreiben des Roboters können in einer Ausführung Abweichungen zwischen einer idealen bzw. theoretischen und der realen Bahn(führung) berücksichtigt bzw. kompensiert und dadurch in einer Ausführung vorteilhaft die Präzision des Roboter(betrieb)s verbessert werden, in einer Ausführung Abweichungen, die aus unterschiedlichen Höhen von in Querrichtung der Plattform beabstandeten Führungen, insbesondere Schienen oder Nuten, resultieren, und/oder, insbesondere gemittelte, Abweichungen von in Querrichtung der Plattform beabstandeten Führungen in seitlicher bzw. Querrichtung der Plattform.
-
Durch ein Ermitteln, insbesondere Vermessen, von Positionen von Punkten der Plattform, auf der (bereits) der Roboterarm angeordnet ist, kann in einer Ausführung vorteilhaft ein Einfluss des Roboterarms auf Abweichungen der realen gegenüber einer idealen bzw. theoretischen Plattformpose mit berücksichtigt werden.
-
Durch ein Ermitteln von Positionen von Punkten der Plattform, auf der der Roboterarm (noch) nicht angeordnet ist, können in einer Ausführung vorteilhaft Messwerte auch für eine Installation der Bahn verwendet bzw. umgekehrt bei der Installation der Bahn, insbesondere ihrer Überprüfung, gewonnene Messwerte auch für die Ermittlung einer erfindungsgemäßen Korrektur verwendet werden. Zusätzlich oder alternativ kann hierdurch in einer Ausführung das Ermitteln, insbesondere Vermessen, vereinfacht werden.
-
Eine ermittelte Position hängt in einer Ausführung von einer Höhe, insbesondere einer absoluten Höhe oder einer relativen Höhe über einer idealen bzw. theoretischen Bahn zur Führung der Plattform, ab, kann diese insbesondere angeben. Zusätzlich oder alternativ hängt eine bzw. die ermittelte Position in einer Ausführung von einer seitlichen Position, insbesondere einer absoluten seitlichen Position oder einer relativen seitlichen Position neben einer bzw. der idealen bzw. theoretischen Bahn zur Führung der Plattform, ab, kann diese insbesondere angeben.
-
Auf Basis der seitlichen bzw. Höhenpositionen eines Punktes der Plattform in verschiedenen Plattformpositionen längs der Bahn kann ein Quer- bzw. Höhenversatz der Plattform bereits vorteilhaft korrigiert werden.
-
Werden dabei in einer Ausführung die seitlichen bzw. Höhenpositionen von wenigstens zwei in Querrichtung der Plattform beabstandeten Punkten der Plattform verwendet und in einer Ausführung hieraus gemittelt, kann in einer Ausführung die Präzision der Korrektur verbessert werden.
-
Zusätzlich oder alternativ kann in einer Ausführung auf Basis der Höhenpositionen von wenigstens zwei in Querrichtung der Plattform beabstandeten Punkten der Plattform in den verschiedenen Plattformpositionen längs der Bahn vorteilhaft eine Verkippung der Plattform, insbesondere um eine Bahntangente, bzw. eine entsprechende Korrektur ermittelt werden.
-
Zusätzlich oder alternativ kann in einer Ausführung auf Basis der seitlichen und/oder Höhenpositionen von wenigstens zwei in Querrichtung der Plattform beabstandeten Punkten der Plattform in den verschiedenen Plattformpositionen längs der Bahn vorteilhaft ein Quer- und/oder Höhenversatz der Plattform aufgrund von Abweichungen von in Querrichtung der Plattform beabstandeten Führungen in seitlicher bzw. Querrichtung bzw. aufgrund unterschiedlicher Höhen von in Querrichtung der Plattform beabstandeten Führungen, insbesondere Schienen oder Nuten, bzw. eine entsprechende Korrektur ermittelt werden.
-
Entsprechend werden in einer Ausführung in den verschiedenen Plattformpositionen längs der Bahn jeweils die Positionen von wenigstens zwei voneinander in Querrichtung der Plattform beabstandeten Punkten der Plattform ermittelt und die auf Basis dieser Positionen ermittelte Korrektur umfasst eine Korrektur einer Verkippung der Plattform, insbesondere um eine Bahntangente, und/oder eines Quer- und/oder Höhenversatzes der Plattform in der jeweiligen Plattformposition.
-
In einer Ausführung werden die Positionen mittels eines optischen Messsystems, insbesondere mittels wenigstens eines Lasers, in einer Ausführung desselben Lasers, ermittelt. Hierdurch können die Positionen in einer Ausführung präzise, einfach und/oder störungsfrei vermessen werden.
-
In einer Ausführung weist die Zuordnung der Korrektur eine tabellarische Zuordnung auf, kann insbesondere eine solche sein. Zusätzlich oder alternativ wird in einer Ausführung die der aktuellen Plattformposition zugeordnete Korrektur mittels Interpolation ermittelt.
-
Hierdurch kann in einer Ausführung vorteilhaft der Speicheraufwand reduziert werden.
-
Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet.
-
In einer Ausführung weist das System auf:
- - Mittel zum Ermitteln wenigstens einer Pose eines, insbesondere distalen, Roboterarmglieds, insbesondere eines Endeffektors oder -flanschs, relativ zu einem ersten Bezugssystem sowie einer zugehörigen Stellung des Roboterarms in verschiedenen Plattformpositionen längs der Bahn;
- - Mittel zum Ermitteln einer Vorwärtstransformation aus dem ersten Bezugssystem oder einer Rückwärtstransformation in das erste Bezugssystem auf Basis einer aktuellen Plattformposition längs der Bahn und einer dieser auf Basis einer ermittelten Zuordnung, welche auf Basis dieser ermittelten Posen ermittelt ist, zugeordneten ersten kinematischen Transformation; und
- - Mittel zum Betreiben des Roboters auf Basis dieser ermittelten Vorwärts- bzw. Rückwärtstransformation.
-
In einer Ausführung weist das System auf:
- - Mittel zum Ermitteln
einer zweiten kinematischen Transformation zwischen einem ersten und einem zweiten roboterarmseitigen Referenzsystem auf Basis der Stellung des Roboterarms und einer dritten kinematischen Transformation zwischen dem ersten Bezugssystem und dem ersten Referenzsystem auf Basis der ermittelten Pose(n) des Roboterarmglieds relativ zu dem ersten Bezugssystem und der ersten kinematischen Transformation auf Basis dieser zweiten und dritten kinematischen Transformation für die verschiedenen Plattformpositionen längs der Bahn; und/oder
- - Mittel zum Ermitteln der Zuordnung zwischen Plattformpositionen und den diesen zugeordneten ersten kinematischen Transformationen zwischen dem ersten oder einem zweiten Bezugssystem und dem zweiten Referenzsystem auf Basis der ermittelten Posen; und/oder
- - Mittel zum Ermitteln der Vorwärts- bzw. Rückwärtstransformation auf Basis einer zweiten kinematischen Transformation zwischen einem bzw. dem ersten und einem bzw. dem zweiten roboterarmseitigen Referenzsystem auf Basis einer aktuellen Stellung des Roboterarms.
-
In einer Ausführung weist das System auf:
- - Mittel zum Ermitteln einer Position wenigstens eines Punktes der Plattform, insbesondere von wenigstens zwei voneinander in Querrichtung der Plattform beabstandeten Punkten der Plattform, in verschiedenen Plattformpositionen längs der Bahn mit oder ohne auf der Plattform angeordnetem Roboterarm;
- - Mittel zum Ermitteln einer Vorwärtstransformation aus einem Bezugssystem oder einer Rückwärtstransformation in das Bezugssystem auf Basis einer aktuellen Plattformposition längs der Bahn und einer dieser auf Basis einer ermittelten Zuordnung zugeordneten Korrektur, wobei diese Zuordnung auf Basis dieser ermittelten Positionen ermittelt ist; und
- - Mittel zum Betreiben des Roboters auf Basis dieser ermittelten Vorwärts- bzw. Rückwärtstransformation.
-
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere den Roboter betreiben kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nichtflüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
-
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 einer Ausführung weist das System den Roboter auf. In einer Ausführung ist der Roboter ein Medizinroboter, besonders bevorzugt ein Patienten- oder Medizingerätpositionierer, insbesondere Strahlungsquellen- oder Detektor- oder Instrumentenpositionierer oder dergleichen, insbesondere, um einen Patienten gegenüber einem, in einer Ausführung stationären, Medizingerät, insbesondere einer Strahlungsquelle wie einem Linearbeschleuniger oder dergleichen, einem Detektor wie einem Magnetresonanztomographen oder dergleichen, oder einem, insbesondere minimalinvasiven und/oder durch einen anderen Roboter geführten, Instrument wie einem Trokar oder dergleichen, oder das Medizingerät gegenüber dem, in einer Ausführung ruhenden, Patienten zu bewegen, insbesondere bevor der Mensch mit der Strahlungsquelle bzw. dem Instrument behandelt wird und/oder nachdem eine Behandlung beendet worden ist. Vorzugsweise ist das erste Bezugssystem in einem solchen Fall ein ISO-Zentrum von Strahlungsquelle bzw. Detektor. Hierfür ist die vorliegende Erfindung aufgrund der erforderlichen Sicherheit und/oder Präzision besonders geeignet.
-
Das Betreiben des Roboters umfasst in einer Ausführung ein Programmieren, Steuern und/oder Überwachen des Roboters, wobei ein Steuern auch ein Regeln umfasst.
-
„Seitig“ im Sinne der vorliegenden Erfindung bezeichnet insbesondere eine vorgegebene, in einer Ausführung konstante bzw. feste, Zuordnung. Somit ist beispielsweise ein roboterarmseitiges Referenzsystem bzw. plattformseitiges Bezugssystem in einer Ausführung ein roboterarmfestes Referenzsystem bzw. plattformfestes Bezugssystem.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: ein System mit einem Roboter nach einer Ausführung der vorliegenden Erfindung;
- 2: ein Verfahren zum Betreiben des Roboters nach einer Ausführung der vorliegenden Erfindung;
- 3: ein System mit dem Roboter nach einer weiteren Ausführung der vorliegenden Erfindung; und
- 4: ein Verfahren zum Betreiben des Roboters nach einer weiteren Ausführung der vorliegenden Erfindung.
-
1 zeigt einen Roboter mit einem sechsachsigen Roboterarm 10, der auf einer Plattform 11 angeordnet ist, welche an einer Schiene 20 geführt ist.
-
Zunächst wird in verschiedenen Plattformpositionen längs der Bahn bzw. Schiene 20 jeweils eine Pose eines distalen Roboterarmglieds in Form eines Kalibrierungswerkzeugs 31 relativ zu einem ersten Bezugssystem A mittels eines Messsystems 30 sowie eine zugehörige Stellung q = [q1,...q6]T des Roboterarms 10 ermittelt (2: Schritt S10).
-
Aus der Pose kann jeweils eine dritte kinematische Transformation ATTCP ermittelt werden, aus der Stellung q jeweils eine zweite kinematische Transformation RBTTCP.
-
Hieraus kann aufgrund der in
1 angedeuteten Kette bzw. Verknüpfung
jeweils eine erste kinematische Transformation
oder
ermittelt und in einer Lookup-Tabelle abgespeichert werden.
-
Im Betrieb kann dann für eine aktuelle Plattformposition s aus dieser Tabelle die entsprechende erste kinematische Transformation interpoliert und damit sowie der zweiten kinematischen Transformation
RBT
TCP für die aktuelle Roboterarmstellung die Vorwärtstransformation
bzw. analog eine entsprechende Rückwärtstransformation ermittelt (
2: Schritt S20) und beispielsweise zum Teachen, Abfahren von Trajektorien oder Überwachen auf Arbeitsraumbereichs- und/oder -geschwindigkeitslimits verwendet werden (
2: Schritt S30).
-
3, 4 zeigen in 1, 2 entsprechender Weise ein System bzw. Verfahren zum Betreiben des Roboters 10, 11 nach einer weiteren Ausführung der vorliegenden Erfindung, wobei hier die Plattform 11 an zwei parallelen Schienen 20 geführt ist.
-
Hier wird zunächst, vorzugsweise bereits bei einer Installation der Schienen 20, mit der Plattform 11, in einer Ausführung alleine mit der Plattform 11, d.h. noch ohne darauf angeordneten Roboterarm 10, die Bahn wenigstens zweimal abgefahren. Beim ersten Abfahren wird mittels eines an der (in Fahrtrichtung gesehen) linken Schiene ausgerichteten Messstrahls eines Lasers 32 in verschiedenen Plattformpositionen jeweils eine Höhe lz (vertikal in 3) und eine seitliche Position ly (senkrecht zur Zeichenebene der 3) eines Punktes auf der linken Seite der Plattform erfasst und abgespeichert, bei einem weiteren Abfahren mittels eines an der (in Fahrtrichtung gesehen) rechten Schiene ausgerichteten Messstrahls des Lasers 32, der hierzu in einer Ausführung auf die rechte Schiene umgesetzt worden ist, in denselben Plattformpositionen jeweils eine Höhe rz und eine seitliche Position ry eines Punktes auf der rechten Seite der Plattform (3: Schritt S100). Die Höhen lz, rz werden dabei in einer Ausführung bezogen auf dieselbe Referenzhöhe erfasst, die seitlichen Positionen ly, ry in einer Ausführung jeweils bezogen auf eine (theoretische) Mitte der jeweiligen Schiene, wobei beide seitlichen Positionen ly, ry jeweils in derselben lateralen Richtung positiv gezählt werden.
-
Aus den beiden Werten lz, rz wird dann für jede der Plattformpositionen eine Verschiebung, in einer Ausführung Δz = (lz - rz)/2, in Höhenrichtung und/oder eine Verschiebung, in einer Ausführung Δy = (ly + ry)/2, in Querrichtung ermittelt.
-
Zusätzlich wird aus den beiden Werten l
z, r
z für jede der Plattformpositionen eine Rotation α um die Bahntangente ermittelt, in einer Ausführung aus
mit dem halben Höhenunterschied Δϑ = (l
z - r
z)/2 zwischen der Höhe des linken und des rechten Plattformpunktes und dem Abstand w zwischen linkem und rechtem Plattformpunkt in Querrichtung. Für kleine Rotationen α kann die Approximation
verwendet werden.
-
Damit kann für jede der Plattformpositionen eine Korrektur in Form einer homogenen Matrix
ermittelt und beispielsweise tabellarisch abgespeichert werden.
-
Im Betrieb kann dann für eine aktuelle Plattformposition aus der Tabelle die entsprechende Korrektur T
c interpoliert und damit die Vorwärtstransformation
AT
TCP (vgl.
1) auf Basis einer theoretischen bzw. idealen Vorwärtstransformation
AT
TCP,th, wie sie sich für eine ideale Bahn zum Beispiel mit
ergibt, die (korrigierte) Vorwärtstransformation
AT
TCP unter Berücksichtigung bzw. Korrektur der Verkippung α und des Höhen- und Querversatzes
ermittelt (
4: Schritt S200) und zum Beispiel zum Programmieren, Steuerung und/oder Überwachen (
4: Schritt S300) verwendet werden. Für eine Rückwärtstransformation gelten obige Ausführungen analog.
-
Bezugszeichenliste
-
- 10
- Roboterarm
- 11
- Plattform
- 20
- Schiene (Bahn)
- 30
- Messsystem
- 31
- Kalibrierungswerkzeug
- 32
- Laser