Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR THE ORIENTATION OF AN INDUSTRIAL ROBOT, AND INDUSTRIAL ROBOT
Document Type and Number:
WIPO Patent Application WO/2017/207312
Kind Code:
A1
Abstract:
Characteristics (31, 32, 33, 34) of surroundings are extracted from signals of sensors (21, 22, 23, 24) mounted on different axes (11, 12, 13, 14) of a stationary industrial robot (1) and an absolute co-ordinate system (2) and a map of the surroundings are determined simultaneously using a SLAM-algorithm for simultaneous localization and mapping, the map of the surroundings depicting the extracted characteristics and an absolute pose of a mobile part of the industrial robot being determined in the absolute co-ordinate system. The method transfers the technique of simultaneous localization (i.e. determining the position and orientation) and of establishing a map of characteristics of the surroundings, from the field of mobile robotics to the orientation of a stationary industrial robot. The method is based on the measurements of sensors attached to the mobile parts. Advantageously, sensors which calculate the positions of the joints are also taken into consideration. The advantage of the method is that an absolute position and orientation is calculated even for imprecise or flexible industrial robots and for different loads. In addition, parameters can be determined in a model of the industrial robot and thus the accuracy of the measurement of the position and orientation and the control of the industrial robot can optionally be improved. There is no longer a requirement for external calibration devices and special calibration processes.

Inventors:
VON WICHERT GEORG (DE)
FEITEN WENDELIN (DE)
WURM KAI (DE)
Application Number:
PCT/EP2017/062215
Publication Date:
December 07, 2017
Filing Date:
May 22, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
B25J9/16
Foreign References:
DE102011052386A12012-02-09
Other References:
MATTHEW KLINGENSMITH ET AL: "Articulated Robot Motion for Simultaneous Localization and Mapping (ARM-SLAM)", IEEE ROBOTICS AND AUTOMATION LETTERS, vol. 1, no. 2, 14 January 2016 (2016-01-14), pages 1156 - 1163, XP055399687, DOI: 10.1109/LRA.2016.2518242
MATTHEW KLINGENSMITH ET AL: "Articulated Robot Motion for Simultaneous Localization and Mapping (ARM-SLAM)", IEEE ROBOTICS AND AUTOMATION LETTERS, vol. 1, no. 2, 14 January 2016 (2016-01-14), pages 1156 - 1163, XP055399693, DOI: 10.1109/LRA.2016.2518242
LU MA ET AL: "Simultaneous localization, mapping, and manipulation for unsupervised object discovery", 2015 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), 26 May 2015 (2015-05-26), pages 1344 - 1351, XP055399463, ISBN: 978-1-4799-6923-4, DOI: 10.1109/ICRA.2015.7139365
S. HUTCHINSON; G. D. HAGER; P. I. CORKE: "A tutorial on visual servo control", IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, vol. 12, no. 5, 1996, pages 651 - 670, XP000640600, DOI: doi:10.1109/70.538972
"Factor Graphs and GTSAM: A Hands-on Introduction", CP R TECHNICAL REPORT, 2012, Retrieved from the Internet
S. THRUN; W. BURGARD; D. FOX: "Probabilistic Robotics", 2005, MIT-PRESS, pages: 65 - 71,96-10
DENAVIT-HARTENBERG-TRANSFORMATION, 6 July 2016 (2016-07-06), Retrieved from the Internet
SCALE-INVARIANT FEATURE TRANSFORM, 7 June 2016 (2016-06-07), Retrieved from the Internet
Download PDF:
Claims:
Patentansprüche

1. Verfahren zur Orientierung eines Industrieroboters,

bei dem mindestens ein Merkmal (31, 32, 33, 34) einer Um¬ gebung aus Signalen mindestens eines bildgebenden Sensors (21, 22, 23, 24), welcher an einem beweglichen Teil des Industrieroboters (1) montiert ist, extrahiert wird, be¬ vor, während oder nachdem der Industrieroboter (1) Bewegungen ausführt, und

bei dem mittels eines SLAM-Algorithmus zur simultanen Lo¬ kalisierung und Kartenerstellung zugleich

ein absolutes Koordinatensystem und eine Karte der Umgebung bestimmt wird, wobei die Karte der Umgebung das mindestens eine extrahierte Merkmal (31, 32, 33, 34) abbildet, und

eine absolute Pose des beweglichen Teils des Industrie roboters (1) bestimmt wird, wobei die absolute Pose ei ne Pose in dem absoluten Koordinatensystem ist.

2. Verfahren nach Anspruch 1,

bei dem die Bestimmung der Karte der Umgebung eine statis tische Schätzung ist, und

bei dem die absolute Pose als Wahrscheinlichkeitsdichte¬ funktion modelliert wird.

3. Verfahren nach Anspruch 2,

bei dem der SLAM-Algorithmus iterativ einen Kaimanfilter- Algorithmus, Extended-Kalmanfilter-Algorithmus , Unscented Kalmanfilter-Algorithmus oder Particle-Filter-Algorithmus ausführt .

4. Verfahren nach Anspruch 1 oder 2,

bei dem der SLAM-Algorithmus auf einem Faktorgraph- Algorithmus, insbesondere einem GTSAM-Algorithmus beruht.

5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Industrieroboter (1) definierte Bewegungen, insbesondere Translationen oder Rotationen eines Glieds, wiederholt ausführt, und

bei dem die Merkmale (31, 32, 33, 34) der Umgebung während und/oder nach jeder Bewegung aus den Signalen des mindestens einen bildgebenden Sensors (21, 22, 23, 24) extrahiert werden.

Verfahren nach einem der vorhergehenden Ansprüche,

bei dem der Industrieroboter das absolute Koordinatensys¬ tem ausgibt.

Verfahren nach einem der vorhergehenden Ansprüche,

bei dem der mindestens eine bildgebende Sensor (21, 22,

23, 24) an einem Trägerglied montiert ist, und

bei dem die absolute Pose für das Trägerglied bestimmt wird .

Verfahren nach Anspruch 7,

bei dem die Merkmale (31, 32, 33, 34) der Umgebung aus Signalen von mehreren bildgebenden Sensoren (21, 22, 23, 24) extrahiert werden, welche an dem Trägerglied montiert sind, wobei die bildgebenden Sensoren (21, 22, 23, 24) in unterschiedlichen Richtungen ausgerichtet sind.

Verfahren nach Anspruch 7 oder 8,

bei dem das Trägerglied eines von mehreren Gliedern (11, 12, 13, 14) des Industrieroboters (1) ist, wobei die Glie¬ der (11, 12, 13, 14) gemäß einer Kinematik beweglich sind.

10. Verfahren nach Anspruch 9,

bei dem Antriebe der Glieder (11, 12, 13, 14) zur Einstel¬ lung einer in einem absoluten Koordinatensystem vorgegebenen Pose einer Werkzeugschnittstelle des Industrieroboters (1) angesteuert werden.

11. Verfahren nach Anspruch 10, bei dem die ermittelte absolute Pose bei der Einstellung der vorgegebenen Pose berücksichtigt wird.

12. Verfahren nach Anspruch 10 oder 11,

bei dem Signale einer internen Sensorik des Industrierobo¬ ters (1) bei der Einstellung der vorgegebenen Pose berücksichtigt werden.

13. Verfahren nach einem der vorhergehenden Ansprüche,

bei dem Parameter eines Bewegungsmodells, welches auf ei¬ ner Kinematik des Industrieroboters (1) basiert, in Abhän¬ gigkeit von der absoluten Pose und/oder Signalen einer internen Sensorik des Industrieroboters (1) berechnet wer¬ den .

14. Verfahren nach einem der Ansprüche 10 bis 12 in Verbindung mit Anspruch 13,

bei dem die vorgegebene Pose anhand des Bewegungsmodells eingestellt wird.

15. Verfahren nach einem der vorhergehenden Ansprüche,

bei dem die Merkmale (31, 32, 33, 34) der Umgebung aus Signalen von mehreren bildgebenden Sensoren (21, 22, 23, 24) extrahiert werden, welche an mehreren, insbesondere allen, Gliedern (11, 12, 13, 14) des Industrieroboters (1) montiert sind,

bei dem absolute Posen für die jeweiligen Glieder (11, 12, 13, 14) anhand der extrahierten Merkmale (31, 32, 33, 34) bestimmt werden, wobei die absoluten Posen Posen in dem absoluten Koordinatensystem sind, und

bei dem die absoluten Posen für die Berechnung von Parametern eines Bewegungsmodells und/oder die Einstellung einer vorgegebenen Pose einer Werkzeugschnittstelle des Indust¬ rieroboters (1) in dem absoluten Koordinatensystem verwendet werden.

16. Computerlesbarer Datenträger, auf dem ein Computerprogramm gespeichert ist, welches das Verfahren nach einem der Ansprüche 1 bis 15 ausführt, wenn es in einem Prozessor abgearbeitet wird.

17. Computerprogramm,

welches in einem Prozessor abgearbeitet wird und dabei das Verfahren nach einem der Ansprüche 1 bis 15 ausführt.

18. Industrieroboter (1),

mit mindestens einem bildgebenden Sensor (21, 22, 23, 24), welcher an einem beweglichen Teil des Industrieroboters (1) montiert ist, und

mit einer Steuerung, welche eingerichtet ist, um das Ver¬ fahren nach einem der Ansprüche 1 bis 15 mit dem Indust¬ rieroboter auszuführen.

Description:
Beschreibung

Verfahren zur Orientierung eines Industrieroboters und Industrieroboter

Laut VDI-Richtlinie 2860 handelt es sich bei Industrierobo ¬ tern um universell einsetzbare Bewegungsautomaten mit mehre ¬ ren Achsen, deren Bewegungen frei programmierbar und gegebenenfalls sensorgeführt sind. Derartige Roboter lassen sich beispielsweise mit Greifern oder anderen Werkzeugen als Effektor ausrüsten und können hierdurch Handhabungs- oder Fertigungsaufgaben ausführen. Industrieroboter bestehen folglich aus mehreren Gliedern bzw. Achsen, welche eine Basis mit einem Effektor verbinden und gemäß einer Kinematik beweglich sind.

Aus dem Stand der Technik ist bekannt, einen Industrieroboter als Roboterarm mit einer seriellen Kinematik zu konstruieren, welche aus mehreren Hauptachsen und Handachsen besteht. Die Hauptachsen dienen vorrangig dem Zweck, eine Position des Effektors einzustellen, welcher an einem Flansch am Ende des Roboterarms montiert ist. Demgegenüber haben die Handachsen die Aufgabe, eine Orientierung des Effektors einzustellen. Während die Hauptachsen je nach Konstruktionsart und Anwen- dungszweck des Industrieroboters wahlweise als Rotationsach ¬ sen oder Translationsachsen oder als Kombination dieser beiden Arten gewählt werden, handelt es sich bei den Handachsen stets um Rotationsachsen. Ein weiteres Beispiel für Industrieroboter sind Deltaroboter. Diese bestehen aus mehreren kinematischen Ketten, welche eine Basis mit einem Effektor bzw. einer Arbeitsplattform verbinden. Beispielsweise besteht ein Deltaroboter aus drei Armen, die gemeinsam eine Arbeitsplattform mit einer Basis verbin- den. Die mathematische Beschreibung der Bewegungsmöglichkei ¬ ten eines Deltaroboters ist hier eine geschlossene Kinematik, beispielsweise eine Parallelkinematik. Bei derartigen Industrierobotern kann das Problem auftreten, dass die absolute Position und Orientierung des Effektors in Bezug auf eine Umgebung nicht hinreichend genau bekannt ist. Dies kann auch dann der Fall sein, wenn in die Gelenke bzw. Achsen des Industrieroboters Sensoren eingebaut sind, welche deren Stellung genau bestimmen können.

Dafür kann es verschiedene Gründe geben: Die Getriebe in den Gelenken oder die mechanischen Teile können elastisch sein, oder die Auslenkung kann unbekannt sein, etwa weil sie von einer unbekannten Last abhängt. Weiterhin können die kinematischen Modelle, aufgrund derer die Position und Orientierung errechnet wird, fehlerhaft sein. Dem wird bei herkömmlichen Industrierobotern dadurch begegnet, diese so massiv auszulegen, dass möglichst auch bei ho ¬ her Last keine Elastizitäten auftreten. Dies führt zunächst zu hoher Wiederholgenauigkeit. Um hohe absolute Genauigkeit zu erzielen, wird der Industrieroboter von Hand in verschie- dene Stellungen verfahren. Für jede dieser Stellungen wird die Position einer Achse von außen exakt mit einem Entfernungssensor ausgemessen, wie dies beispielsweise in der

DE 10 2011 052 386 AI offenbart ist. Im Rahmen einer solchen Kalibrierung wird ein Zusammenhang zwischen den Gelenkstel- lungen und der Position und Orientierung des Endeffektors ermittelt und gespeichert.

Beispielsweise aus S. Hutchinson, G. D. Hager, and P. I.

Corke, "A tutorial on visual servo control", IEEE Transacti- ons on Robotics and Automation, vol. 12, no . 5, pp . 651-670, 1996, ist der Ansatz bekannt, eine Kamera auf den Endeffektor zu montieren. Mittels der Kamera wird die relative Position und Orientierung zwischen einem Greifer und einem Werkstück oder zwischen zwei Werkstücken bestimmt.

Die Position und Orientierung, beispielsweise eines beliebi ¬ gen Glieds, Merkmals oder Objekts, wird im Folgenden auch un ¬ ter dem Begriff "Pose" zusammengefasst . Durch die vorliegende Erfindung soll ein Verfahren zur Orientierung eines Industrieroboters und ein Industrieroboter ge ¬ schaffen werden, welche eine Alternative zum Stand der Tech- nik bereitstellen.

Die Aufgabe wird durch ein Verfahren zur Orientierung eines Industrieroboters gelöst,

bei dem mindestens ein Merkmal einer Umgebung aus Signalen mindestens eines bildgebenden Sensors, welcher an einem beweglichen Teil eines stationären Industrieroboters mon ¬ tiert ist, extrahiert wird, bevor, während oder nachdem der Industrieroboter Bewegungen ausführt, und

bei dem mittels eines SLAM-Algorithmus zur simultanen Lo- kalisierung und Kartenerstellung zugleich

ein absolutes Koordinatensystem und eine Karte der Umgebung bestimmt wird, wobei die Karte der Umgebung das mindestens eine extrahierte Merkmal abbildet, und eine absolute Pose des beweglichen Teils des Industrie- roboters bestimmt wird, wobei die absolute Pose eine

Pose in dem absoluten Koordinatensystem ist.

Diese Aufgabe wird weiterhin durch einen Industrieroboter gelöst,

- mit mindestens einem bildgebenden Sensor, welcher an einem beweglichen Teil des Industrieroboters montiert ist, und mit einer Steuerung, welche eingerichtet ist, um das Ver ¬ fahren mit dem Industrieroboter auszuführen. Die im Folgenden genannten Vorteile müssen nicht notwendigerweise durch die Gegenstände der unabhängigen Patentansprüche erzielt werden. Vielmehr kann es sich hierbei auch um Vorteile handeln, welche lediglich durch einzelne Ausführungsformen, Varianten oder Weiterbildungen erzielt werden.

Beispielsweise werden auf den Gliedern des Industrieroboters bildgebende Sensoren angebracht, die in der Umgebung vorhandene Merkmale erfassen können und deren Messwerte geeignet sind, die Pose des bildgebenden Sensors und damit des den bildgebenden Sensor tragenden Roboterglieds in Bezug auf die Umgebung absolut zu bestimmen. Die Umgebung weist hierzu Merkmale auf, die von den Sensoren erkannt werden können, und deren Position und Orientierung relativ zu den Sensoren zumindest teilweise ermittelt werden kann. Dies können sowohl speziell zum Zweck der Bestimmung von Position und Orientierung des Roboters angebrachte Merk- male sein, als auch solche, die ohnehin in der Umgebung vorhanden sind. Die Bestimmung der Position und Orientierung der Merkmale geschieht durch den Industrieroboter mit seinen Sensoren selbst. Die ermittelte absolute Pose ist eine Pose in einem absoluten, festen Koordinatensystem.

Das Verfahren überträgt die Technik der gleichzeitigen Lokalisierung (d.h. Bestimmung der Position und Orientierung) und des Aufbaus einer Karte von Merkmalen der Umgebung von der mobilen Robotik auf die Orientierung eines stationären In- dustrieroboters . Dabei wird vorzugsweise gleichzeitig das ab ¬ solute Koordinatensystem ermittelt, die Position und Orientierung von Merkmalen der Umgebung bezüglich des absoluten Koordinatensystems bestimmt und die Position und Orientierung von beweglichen Teilen des Industrieroboters bezüglich des absoluten Koordinatensystems berechnet. Dies beruht auf Mes ¬ sungen von Sensoren, die auf den beweglichen Teilen angebracht sind. Vorteilhafterweise werden zusätzlich auch Senso ¬ ren berücksichtigt, die die Stellungen der Gelenke ermitteln. Ausführungsformen oder Weiterbildung des Verfahrens können den Vorteil bieten, dass eine absolute Position und Orientie ¬ rung auch bei ungenauen oder elastischen Industrierobotern und bei unterschiedlichen Lasten ermittelt wird. Weiterhin können Parameter in einem Modell des Industrieroboters be- stimmt und so die Genauigkeit der Messung von Position und Orientierung sowie die Steuerung des Industrieroboters ggf. verbessert werden. Durch die Verwendung von ohnehin in der Umgebung vorhandenen Merkmalen können Kosten und Rüstzeiten reduziert werden. Die Bestimmung der Position und Orientierung der Merkmale geschieht durch den Industrieroboter mit den bildgebenden Sensoren selbst, externe Kalibriervorrichtungen und spezielle Kalibriervorgänge werden nicht mehr zwingend benötigt. Weil absolute Position und Orientierung zu dem absoluten Koordinatensystem verwendet werden, können Werkstücke von einem weiteren Agenten (Mensch oder Maschine) relativ zu dem absoluten Koordinatensystem platziert werden. Dazu kann die Information über Position und Orientierung ei- niger Merkmale der Umgebung verwendet werden.

Die Glieder des Industrieroboters können beispielsweise Line ¬ arachsen und/oder Rotationsachsen sein. Das letzte Glied in der Kinematik eines Gelenkarmroboters mit einer seriellen Ki- nematik ist beispielsweise ein Glied, welches einen Flansch als Werkzeugschnittstelle aufweist. Bei einem Deltaroboter mit einer Parallelkinematik ist das letzte Glied beispiels ¬ weise eine Arbeitsplattform. Die bildgebenden Sensoren können beispielsweise auf den jeweiligen Gliedern montiert oder in diese eingelassen sein.

Das absolute Koordinatensystem besteht beispielsweise aus rechtwinkligen Koordinatenachsen, die fest und absolut im Raum stehen. Sein Ursprung ist vorzugsweise an einem einzigen Punkt im Raum fixiert. Das absolute Koordinatensystem verändert oder bewegt sich nicht im Verhältnis zum Industrierobo ¬ ter, aber die Glieder des Industrieroboters können entspre ¬ chend der Kinematik innerhalb des absoluten Koordinatensys- tems bewegt werden.

Dem Industrieroboter können für die Kartenerstellung bei Bedarf Vorgaben gegeben werden, nach welchen Kriterien er sein absolutes Koordinatensystem wählen soll, z.B. in Übereinstim- mung mit einer Raumecke oder dem Fußboden.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen bei dem die Bestimmung der Karte der Umgebung eine statistische Schätzung ist, und

bei dem die absolute Pose als Wahrscheinlichkeitsdichte ¬ funktion modelliert wird.

Die absolute Pose muss nicht in allen Koordinaten bestimmt werden. Sie kann auch eine Unscharfe aufweisen und probabi- listisch beschrieben sein, beispielsweise wie in dieser Ausführungsform als Wahrscheinlichkeitsdichtefunktion.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem der SLAM-Algorithmus iterativ einen Kaimanfilter- Algorithmus, Extended-Kalmanfilter-Algorithmus , Unscented- Kalmanfilter-Algorithmus oder Particle-Filter-Algorithmus ausführt.

Iterative Verfahren beruhen auf iterativer Prädiktion und Korrektur . Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem der SLAM-Algorithmus auf einem Faktorgraph- Algorithmus, insbesondere einem GTSAM-Algorithmus beruht.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen - bei dem der Industrieroboter definierte Bewegungen, insbesondere Translationen oder Rotationen eines Glieds, wiederholt ausführt, und

bei dem die Merkmale der Umgebung während und/oder nach jeder Bewegung aus den Signalen des mindestens einen bild- gebenden Sensors extrahiert werden.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem der Industrieroboter das absolute Koordinatensys ¬ tem ausgibt.

Hierzu kann der Industrieroboter beispielsweise Punkte im ab ¬ soluten Koordinatensystem anfahren und parallel deren Koordinaten ausgeben. Dies erlaubt es eine Transformation festzule- gen zwischen dem durch den Industrieroboter bestimmten absoluten Koordinatensystem und einem Anwendungs-Koordinatensystem. Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem der mindestens eine bildgebende Sensor an einem Trägerglied montiert ist, und

bei dem die absolute Pose für das Trägerglied bestimmt wird .

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem die Merkmale der Umgebung aus Signalen von mehreren bildgebenden Sensoren extrahiert werden, welche an dem Trägerglied montiert sind, wobei die bildgebenden Sensoren in unterschiedlichen Richtungen ausgerichtet sind.

Die unterschiedlichen Richtungen sind vorteilhaft, da Kameras einen seitlichen Versatz eines Merkmals besser als eine Entfernung oder Rotation des Merkmals bestimmen können.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem das Trägerglied eines von mehreren Gliedern des Industrieroboters ist, wobei die Glieder gemäß einer Kine ¬ matik beweglich sind.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem Antriebe der Glieder zur Einstellung einer in einem absoluten Koordinatensystem vorgegebenen Pose einer Werkzeugschnittstelle des Industrieroboters angesteuert werden.

Hierdurch wird eine Absolutpositionierung der Werkzeugschnittstelle in dem absoluten Koordinatensystem bereitgestellt. Die Einstellung der vorgegebenen Pose kann auch immer die gleiche Orientierung beinhalten, oder z.B. nur in zwei oder einer Dimension erfolgen, beispielsweise wenn die jeweilige Kinematik konstruktionsbedingt nur dies erlaubt und da ¬ her die Einstellmöglichkeiten beschränkt. Die fortlaufend ermittelte absolute Pose wird so dazu ge ¬ nutzt, die Werkzeugschnittstelle des Industrieroboters in die vorgegebene Pose zu bringen. Diese ist mit einer gewünschten Pose für einen Effektor, welcher an der Werkzeugschnittstelle montiert ist, identisch oder lässt sich mit einer einfachen Transformation aus dieser berechnen.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen - bei dem die ermittelte absolute Pose bei der Einstellung der vorgegebenen Pose berücksichtigt wird.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem Signale einer internen Sensorik des Industrierobo- ters bei der Einstellung der vorgegebenen Pose berücksichtigt werden.

Bei der internen Sensorik handelt es sich vorzugsweise um Sensoren, die die Stellungen von Gelenken oder Achsen des In- dustrieroboters ermitteln.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem Parameter eines Bewegungsmodells, welches auf ei ¬ ner Kinematik des Industrieroboters basiert, in Abhängig- keit von der absoluten Pose und/oder Signalen einer internen Sensorik des Industrieroboters berechnet werden.

Hierbei werden die Parameter im Bewegungsmodell des Indust ¬ rieroboters bestimmt, was einer laufenden Kalibrierung gleichkommt.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem die vorgegebene Pose anhand des Bewegungsmodells eingestellt wird.

Gemäß einer Ausführungsform wird ein Verfahren geschaffen

bei dem die Merkmale der Umgebung aus Signalen von mehreren bildgebenden Sensoren extrahiert werden, welche an mehreren, insbesondere allen, Gliedern des Industrierobo ¬ ters montiert sind,

bei dem absolute Posen für die jeweiligen Glieder anhand der extrahierten Merkmale bestimmt werden, wobei die abso ¬ luten Posen Posen in dem absoluten Koordinatensystem sind, und

bei dem die absoluten Posen für die Berechnung von Parametern eines Bewegungsmodells und/oder die Einstellung einer vorgegebenen Pose einer Werkzeugschnittstelle des Indust ¬ rieroboters in dem absoluten Koordinatensystem verwendet werden .

Das letzte Glied in der Kinematik des Industrieroboters kann ggf. ausgenommen sein und keinen bildgebenden Sensor tragen, um den Effektor bzw. Einsatz des Industrieroboters nicht zu behindern .

Auf dem computerlesbarer Datenträger ist ein Computerprogramm gespeichert welches das Verfahren ausführt, wenn es in einem Prozessor abgearbeitet wird. Das Computerprogramm wird in ei ¬ nem Prozessor abgearbeitet und führt dabei das Verfahren aus.

Im Folgenden werden Ausführungsbeispiele der Erfindung anhand von Figuren näher erläutert. In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen verse ¬ hen, sofern nichts anderes angegeben ist. Es zeigen:

Figur 1 einen Industrieroboter 1 mit vier Kameras,

Figur 2 einen Industrieroboter 1 mit einer Kamera an einem letzten Glied 14, und

Figur 3 einen Industrieroboter 1 mit einer Kamera an einem dritten Glied 13.

Figur 1 zeigt einen Industrieroboter 1, welcher als Gelenkarmroboter mit vier Gliedern ausgeführt ist. Ein erstes Glied 11 ist auf einer stationären Basis 10 montiert. Darauf folgt in einer seriellen Kinematik des Industrieroboters 1 ein zweites Glied 12, an dem eine erste Kamera 21 montiert ist, ein drittes Glied 13, an dem eine zweite Kamera 22 montiert ist, und ein letztes Glied 14, an dem eine dritte Kamera 23 und vierte Kamera 24 montiert sind, welche in unterschiedli ¬ chen Richtungen ausgerichtet sind. Am letzten Glied 14 ist auch ein Effektor 15, hier ein Greifer, montiert, welcher ein erstes Werkstück 51 in ein zweites Werkstück 52 einsetzen soll. Beispielsweise weist das letzte Glied 14 eine Flansch- platte mit einem Mittelpunkt 3 auf, an der der Effektor 15 montiert ist. Die Flanschplatte bildet hierbei eine Werkzeug ¬ schnittstelle, an der auch eine Wechselaufnahme für unter ¬ schiedliche Werkzeuge montiert sein kann. Grundsätzlich können die Kameras 21, 22, 23, 24 beliebig auf einem oder mehreren, insbesondere auch allen, Gliedern verteilt sein. Mehrere Kameras, die auf ein und demselben Trä ¬ gerglied montiert sind, sind vorzugsweise in unterschiedli ¬ chen Richtungen ausgerichtet.

Die Kameras 21, 22, 23, 24 zeichnen, je nach Sichtbereich, ein erstes Merkmal 31, ein zweites Merkmal 32, ein drittes Merkmal 33 und ein viertes Merkmal 34 einer Umgebung auf. Bei den Merkmalen handelt es sich beispielsweise um rotationsin- Variante ARToolkit-Marker, QR-Codes oder Schachbrettmuster. Die Merkmale können jedoch auch in der Umgebung ohnehin vorhandene Strukturen sein, welche sich als SIFT- oder SURF- Merkmale mit geeigneten Algorithmen extrahieren lassen. Unter dem Begriff „Absolutpositionierung" soll im Folgenden verstanden werden, einen definierten Punkt am Industrieroboter 1 an eine in einem absoluten Koordinatensystem 2 gegebene Position zu verfahren. Der definierte Punkt am Industrierobo ¬ ter 1 ist im in Figur 1 gezeigten Beispiel beispielsweise der Mittelpunkt 3 einer Flanschplatte bzw. der äußerste Punkt auf einer Rotationsachse des letzten Glieds 14, in der Regel also die Werkzeugschnittstelle, oder ein Punkt an dem Effektor 15 selbst . Die Absolutpositionierung kann hierbei auch die Einstellung einer Orientierung beinhalten. In diesem Fall wird also eine absolute Pose, d.h. eine Position und Orientierung der Werk- zeugschnittstelle oder des Effektors 15, in dem absoluten Ko ¬ ordinatensystem 2 eingestellt. Die einzustellende Pose kann hierbei als vorgegebene Pose vorgegeben sein und beispiels ¬ weise aus CAD-Daten des zweiten Werkstücks 52 für eine Reihe von Arbeitsschritten berechnet werden, wenn die Position des zweiten Werkstücks 52 im absoluten Koordinatensystem bekannt ist .

Das absolute Koordinatensystem 2 ist als ortsfestes Koordina ¬ tensystem beispielsweise auf die stationäre Basis 10 des In- dustrieroboters 1 oder auf eine Umgebung, z.B. einen Arbeits ¬ bereich, einen Käfig um den Industrieroboter 1, Magazine, Regale etc., bezogen.

Wenn das absolute Koordinatensystem 2 auf den Industrierobo- ter 1 bezogen ist, hängt es beispielsweise wie in Figur 1 ge ¬ zeigt von der Kinematik des Industrieroboters 1 ab. Im in Fi ¬ gur 1 gezeigten Ausführungsbeispiel ist der erste Bewe ¬ gungsfreiheitsgrad des ersten Glieds 11 eine im Wesentlichen vertikale Rotationsachse 4. Hier kann diese Rotationsachse 4 z.B. als z-Achse des absoluten Koordinatensystems 2 verwendet werden, welche so eingestellt wird, dass der Winkelgeber die ¬ ser Achse 0° angibt. Die x-Achse des absoluten Koordinaten ¬ systems 2 wird orthogonal zum zweiten Glied 12, d.h. zur Ro ¬ tationsachse des zweiten Freiheitsgrades, und zur z-Achse ge- wählt. Wenn wir diese Rotationsachse des zweiten Freiheits ¬ grades u nennen, dann ist die x-Achse das normalisierte

Kreuzprodukt x = (u x z) / | | u x z | |. Die y-Achse ist dann das Kreuzprodukt von z und x, also z x x. Als Ursprung des absoluten Koordinatensystems 2 wird beispielsweise der

Schnitt der z-Achse mit einem Arbeitstisch 5 gewählt. Damit dieser sichtbar ist, werden das dritte Merkmal 33 und das vierte Merkmal 34 auf dem Arbeitstisch 5 angebracht, welche in den Kameras des Industrieroboters 1 gesehen werden. Dies ist ein Ausführungsbeispiel für ein Roboter-zentriertes absolutes Koordinatensystem 2, d.h. die wesentlichen Merkmale zur Bestimmung des absoluten Koordinatensystems 2 finden sich in der Roboterkinematik. Die wesentlichen Merkmale zur Bestimmung des absoluten Koordinatensystems 2 können sich wie in Figur 2 gezeigt aber auch in der Umgebung befinden, und sie können dort auf natürliche Weise vorkommen oder speziell installiert sein, d.h. sie können dort aus anderen Gründen als zum Zwecke der Ermittlung des absoluten Koordinatensys ¬ tems 2 angebracht worden sein (als Arbeitstisch, Magazin, Schutzgatter etc.), oder es sind Gegenstände bzw. Strukturen oder Muster, die besonders gut von den Kameras erfasst werden können und deshalb in der Umgebung angebracht wurden. In letzterem Sinne kann man zum Beispiel den Arbeitstisch 5 mit einem Schachbrettmuster versehen, das besonders gut von Kameras erfasst wird. Dann wird dieser Arbeitstisch 5 die x-y- Ebene, und der Ursprung wird mit einem weiteren Muster festgelegt, beispielsweise mit einem Pfeil, der auf eine Ecke im Schachbrett zeigt.

In einer Variante gibt der Industrieroboter 1 das absolute Koordinatensystem 2 an einen Benutzer oder weitere Maschinen aus. Hierzu fährt der Industrieroboter 1 beispielsweise be- stimmte Punkte im absoluten Koordinatensystem 2 an, z.B.

(1,1,0), (1,-1,0), (-1,1,0), (-1,-1,0), (1,1,1), (1,-1,1), (- 1,1,1), (-1,-1,1). Alternativ kann ein Benutzer manuell cha ¬ rakteristische Positionen mit dem Industrieroboter 1 anfahren (beispielsweise einen Punkt an einem Regal) und sich hierzu die absoluten Koordinaten als Sprachausgabe, digitalen Datensatz o.ä. ausgeben lassen. Der Industrieroboter 1 teilt hierbei richtige absolute Koordinaten mit, welche die Regeln der Geometrie in 3D einhalten. Wenn zwei Punkte A und B angegeben werden und im Arbeitsraum physikalisch angefahren werden, dann muss der euklidische Abstand zwischen den Punkten in Be ¬ rechnung, I I A - B I I, und Messung übereinstimmen. Entsprechendes gilt auch für Winkel. Gemäß einem Anwendungsszenario montiert der Industrieroboter 1 einen Motor, für den es eine große Variantenvielfalt gibt. Ggf. ist auch die Konstruktion des Motors angepasst worden, und der Industrieroboter 1 sieht diesen Motor zum ersten Mal, kennt aber die CAD-Pläne. Die Positionen, die zur Montage se ¬ quentiell angefahren werden müssen, wurden zuvor nicht angefahren, weshalb keine relative Positionierung mit hoher Wie ¬ derholgenauigkeit genutzt werden kann. Stattdessen ist eine Absolutpositionierung mit ausreichender Genauigkeit erforder- lieh. Bezogen auf Figur 1 ist der Motor beispielsweise das zweite Werkstück 52, in welches das erste Werkstück 51 einge ¬ setzt werden soll. Dazu ist es erforderlich, dass die Positi ¬ on des zweiten Werkstücks 52 im absoluten Koordinatensystem 2 des Industrieroboters 1 genau bekannt ist. Vorzugsweise wird das zweite Werkstück 52 hierzu in eine Halterung mittels

Zentrierstiften genau definiert eingesetzt, woraufhin in der Folge alle Teile an den wachsenden Motor montiert werden. Aus geeigneten CAD-Daten und der anfänglichen Position des zweiten Werkstücks 52 folgt dann die Position der Punkte im abso- luten Koordinatensystem 2, an die der Industrieroboter 1 neue Werkstücke verfahren muss. Ebenso folgt die erforderliche Orientierung des Industrieroboters 1.

Der Industrieroboter 1 muss also mit dem Effektor 15 die je- weils notwendige genaue Position und Orientierung einnehmen können, und dazu bewegt er seine Motoren. Seine sogenannte interne Sensorik erfasst üblicherweise die Stellung seiner Gelenke. Aus dem Stand der Technik, beispielsweise aus dem Dokument „Roboterkalibrierung", erhältlich im Internet am 05.07.2016 unter https://de.wikipedia.org/wiki/Roboter- kalibrierung, sind mathematische Grundlagen bekannt, um die Position und Orientierung aus diesen Sensormessungen zu berechnen. In Anlehnung an die Notation aus diesem Dokument kann die Position und Orientierung y als eine Funktion f der Gelenkstellungen x und etlicher weiterer Parameter p, welche die Funktion f näher bestimmen, beschrieben werden: f: (x, p) -> y. Dabei wird x über Sensoren der internen Sensorik gemessen und ist folglich fehlerbehaftet. Die auf diese Weise ermittelte Absolutpositionierung ist für zahlreiche Anwendungsfälle nicht genau genug. Zum einen sind die Parameter p nicht genau bekannt. Dies soll eine Kalibrierung verbessern, bei der die Parameter so verändert werden, dass für eine Anzahl von physikalisch gemessenen Punkten in absoluten Koordinaten die Summe der quadratischen Abweichungen von modelliertem Punkt und gemessenem Punkt minimiert wird.

Eine derartige Kalibrierung stößt jedoch an Grenzen. Erstens ist es schwierig, die physikalisch anzufahrenden Punkte zu vermessen. Zweitens ist das Modell des Industrieroboters 1 oft nicht vollständig, da es nicht alle Eigenschaften abbil ¬ det, von denen die Position und Orientierung des Industrieroboters 1 (beispielsweise des Mittelpunkts 3 seiner Flansch ¬ platte) abhängt. Hierzu zählen Eigenschaften der Getriebe, ihre Elastizitäten oder ihr Hysterese-Verhalten, oder Elasti- zitäten der Glieder, Temperatureffekte, Ungenauigkeit der in ¬ ternen Sensorik etc. Mit entsprechendem Aufwand können genauere, d.h. vollständigere Modelle aufgestellt und kalibriert werden . Zur Erzielung einer hohen Absolutgenauigkeit kann die Positi ¬ on und Orientierung des Industrieroboters 1 einerseits aus Messungen der Gelenkstellungen modellbasiert abgeleitet werden. Andererseits kann die Position und Orientierung auch am Effektor 15 oder am Mittelpunkt 3 der Flanschplatte direkt gemessen werden. Beispielsweise kann hierzu ein Messkörper zwischen dem Flansch und dem Effektor 15 angebracht werden, welcher durch einen externen Sensor in der Umgebung erfasst wird. Die genaue Position wird hierbei sowohl aus den Messun ¬ gen der Gelenkstellungen als auch der Lokalisierung des Mess- körpers ermittelt und der Industrieroboter 1 entsprechend in diese Position geregelt. Allerdings sind derartige Messkörper voluminös und können bei einigen Aufgaben im Weg sein. Die auf den unterschiedlichen Gliedern des Industrieroboters 1 in Figur 1 verteilte erste Kamera 21, zweite Kamera 22, dritte Kamera 23 und vierte Kamera 24 sind kleiner und kos ¬ tengünstiger als derartige Messkörper und liefern weitere Messungen, aus denen die genaue Position des Effektors 15 be ¬ stimmt werden kann.

Die dritte Kamera 23 und die vierte Kamera 24 sind hierbei direkt in der Nähe des Effektors 15 am letzten Glied 14 mon- tiert, also in einer ähnlichen Position wie der zuvor erläuterte Messkörper. Anstatt von außen auf einen solchen Messkörper zu blicken, zeichnen die dritte Kamera 23 und vierte Kamera 24 vom Industrieroboter 1 aus das dritte Merkmal 33 und das vierte Merkmal 34 der Umgebung auf.

Im Folgenden werden mehrere Beispiele erläutert, wie mittels einer simultanen Lokalisierung und Kartenerstellung zugleich das absolute Koordinatensystem 2, eine Karte der Umgebung und eine absolute Pose des Industrieroboters 1 bestimmt werden kann. Hierbei wird Bezug auf Figur 2 und die bisherigen Aus ¬ führungen genommen. Bei der Karte der Umgebung handelt es sich beispielsweise um eine statistische Schätzung, während die absolute Pose gut als Wahrscheinlichkeitsdichtefunktion modellierbar ist.

Figur 2 zeigt erneut einen Industrieroboter 1, welcher als Gelenkarmroboter mit vier Gliedern ausgeführt ist. Selbstverständlich kann der Industrieroboter 1 in diesem wie in sämtlichen anderen Ausführungsbeispielen auch mit mehr oder weni- ger als vier Gliedern ausgeführt sein. Grundsätzlich kommt jede beliebige Kinematik für den Industrieroboter 1 in Frage, beispielsweise eine serielle Kinematik bestehend aus Rotati ¬ onsachsen (R) , Translationsachsen (T) oder einer Kombination dieser beiden Arten. Bei der seriellen Kinematik kann es sich beispielsweise um eine RRR/RRR-, RTR/RRR-, TRR/RRR-, RRT/RRR- , RTT/RRR-, RT/RRR- oder TR/RRR-Kinematik eines Roboters mit zwei oder drei Hauptachsen und drei Handachsen handeln. Wei- terhin kann die Kinematik des Industrieroboters 1 auch eine Parallelkinematik sein.

Im in Figur 2 gezeigten Einzelfall ist ein erstes Glied 11 des Industrieroboters 1 auf einer stationären Basis 10 mon ¬ tiert. Darauf folgt in einer seriellen Kinematik des Indust ¬ rieroboters 1 ein zweites Glied 12, ein drittes Glied 13 und ein letztes Glied 14, an dem eine erste Kamera 21 montiert ist. Das letzte Glied 14 weist eine Flanschplatte mit einem Mittelpunkt 3 auf, an der ein Effektor 15, hier ein Greifer, montiert ist, welcher ein erstes Werkstück 51 in ein zweites Werkstück 52 einsetzen soll.

Im vorliegenden Ausführungsbeispiel gilt es, eine absolute Pose eines beweglichen Teils des Industrieroboters 1 zu be ¬ stimmen, wobei die absolute Pose eine Pose in einem absoluten Koordinatensystem 2 ist, welches zuvor bereits erläutert wur ¬ de und in einer neuen Variante in Figur 2 eingezeichnet ist. Das bewegliche Teil ist beispielsweise das letzte Glied 14, die erste Kamera 21 oder der Effektor 15. Entsprechende Koor ¬ dinaten lassen sich leicht ineinander umrechnen, da die entsprechenden Komponenten starr zueinander am letzten Glied 14 montiert sind. Figur 2 zeigt zwar den Fall, dass die absolute Pose für das letzte Glied 14, die erste Kamera 21 oder den Effektor 15 be ¬ rechnet wird, da die erste Kamera 21 am letzten Glied 14 mon ¬ tiert ist. Grundsätzlich könnte die erste Kamera 21 in Bezug auf die folgenden Ausführungen jedoch auch - und wie in Figur 1 gezeigt - am zweiten Glied 12 oder am dritten Glied 13 montiert sein. In diesem Fall würde die absolute Pose für das zweite Glied 12 bzw. für das dritte Glied 13 berechnet, was ebenfalls vorteilhaft ist, um die Genauigkeit der Berechnun ¬ gen des Industrieroboters 1 für die Absolutpositionierung zu verbessern.

In Figur 2 ist die Basis 10 des Industrieroboters 1 erneut auf einem Arbeitstisch 5 montiert, welcher als erstes Merkmal 31 mit einem Schachbrett bemalt ist, welches im Sichtbereich der ersten Kamera 21 liegt. Die Kantenlänge der Felder des Schachbretts ist bekannt und die erste Kamera 21 kalibriert. Weiterhin liegt ein kinematisches Modell des Industrierobo- ters 1 vor. Sensoren einer internen Sensorik des Industrieroboters 1 zeichnen seine Gelenkstellungen auf, sind aber hierbei nicht genau genug für eine Absolutpositionierung.

In diesem Fall enthält die Karte der Umgebung lediglich das Referenzmuster „Schachbrett" mit seinen intrinsischen Eigenschaften (rechtwinklig, Kantenlänge der Felder) und seiner Position und Orientierung in 3D. Im vorliegenden Szenario wird die Karte in 3D aufgebaut, weil der Industrieroboter 1 sich frei in 3D bewegen kann. In Abhängigkeit von den Frei- heitsgraden des Industrieroboters 1 kann jedoch auch eine Karte in 2D ausreichend sein.

Entsprechend Figur 2 gibt der Arbeitstisch 5 eine x-y-Ebene eines absoluten Koordinatensystems 2 vor, da dies die Kommu- nikation des absoluten Koordinatensystems 2 mit der Außenwelt vereinfacht. Hierzu definiert das Schachbrettmuster des ers ¬ ten Merkmals 31 die x-y-Ebene des absoluten Koordinatensys ¬ tems. Falls die x-Achse und y-Achse im Schachbrett aufgemalt sind, ist das komplette Mapping bereits abgeschlossen.

Die Lokalisierung des Effektors 15 wird nun mittels der ers ¬ ten Kamera 21 durchgeführt. In dem in Figur 1 gezeigten Aufbau lassen sich Position und Orientierung des ersten Merkmals 31 relativ zur ersten Kamera 21 aus dem Kamerabild ermitteln. Beispielsweise wird hierzu unter Annahmen über Position und Orientierung das Kamerabild vorhersagt und diese Prädiktion mit dem tatsächlichen Kamerabild verglichen. Dann werden Position und Orientierung so lange verändert, bis beides über ¬ einstimmt. Da die Pose hierbei relativ zum Schachbrett des ersten Merkmals 1 ermittelt wird, welches auch das absolute

Koordinatensystem 2 definiert, liegt sie in absoluten Koordinaten vor. Im Rahmen der Bildverarbeitung lassen sich insbesondere der Abstand zum ersten Merkmal 31 und die Orientierung ggf. nur ungenau bestimmen. Um diese Genauigkeit zu verbessern, wird als zweites Merkmal 32 ein weiteres Schachbrett in etwa senk- recht zum ersten Merkmal 31 an eine Wand montiert. Im nächs ¬ ten Schritt wird die Position und Orientierung des zweiten Merkmals 32 bestimmt. Beispielsweise wird hierzu das letzte Glied 14 gedreht, bis das zweite Merkmal 32 im Kamerabild der ersten Kamera 21 sichtbar wird. Eine Drehung um einen festen Winkelbereich (z.B. 60° oder 90°) kann mit herkömmlichen Industrierobotern sehr genau wiederholt werden, da die Wiederholgenauigkeit die absolute Genauigkeit übersteigt.

Die Position und Orientierung des zweiten Merkmals 32 wird wie folgt bestimmt. Zuerst wird die Position und Orientierung der ersten Kamera 21 relativ zum ersten Merkmal 31 ermittelt. Anschließend wird das letzte Glied 14 gedreht. In einem drit ¬ ten Schritt wird die Position und Orientierung der ersten Kamera 21 nach der Drehung berechnet. Abschließend wird die Po- sition und Orientierung des zweiten Merkmals 32 in Bezug auf die erste Kamera 21 in einem vierten Schritt bestimmt. Als Ergebnis wird die Position und Orientierung des zweiten Merkmals 32 im absoluten Koordinatensystem 2, also in Bezug auf das erste Merkmal 31 ermittelt.

Dies kann für viele verschiedene Positionen und Orientierungen des Industrieroboters 1 wiederholt werden, wobei jedes Mal eine andere Position und Orientierung des zweiten Merkmals 32 berechnet wird, obwohl diese konstant sein muss. Da- her werden die Parameter der Kamerabewegung und die Position und Orientierung so eingestellt, dass die Schwankung von Po ¬ sition und Orientierung des zweiten Merkmals 32 minimiert wird, d.h. die Karte wird verbessert. Gleichzeitig wird damit auch die Schätzung der absoluten Pose des Industrieroboters 1 (hier der ersten Kamera 21) verbessert. Aus der absoluten Pose der ersten Kamera 21 kann auch unmittelbar die absolute Pose des Effektors 15 berechnet werden, da beide am letzten Glied 14 montiert sind. In dem zuvor erläuterten Ausführungsbeispiel wird die Lage des absoluten Koordinatensystems 2 durch das erste Merkmal 31 vorgegeben. Das erste Merkmal 31 ist hierbei a priori be- kannt . Das erste Merkmal 31 und ggf. das zweite Merkmal 32 können hierzu auch mit geeigneten Sensoren a priori genau vermessen werden.

Figur 3 zeigt einen weiteren Industrieroboter 1, welcher als Gelenkarmroboter mit vier Gliedern ausgeführt ist. Wie zuvor erläutert sind auch beliebige andere Kinematiken möglich, beispielsweise die eines sechs- oder siebenachsigen Gelenk ¬ armroboters. Im Ausführungsbeispiel der Figur 3 wird das ab ¬ solute Koordinatensystem 2 erneut wie in Figur 1 gezeigt ge- wählt, wobei aus dem ersten Glied 11, also der erste Rotati ¬ onsachse des Industrieroboters 1, die z-Achse des absoluten Koordinatensystems 2 abgeleitet wird, wie dies im Kontext der Figur 1 erläutert wurde. Im Sichtbereich des Industrierobo ¬ ters 1 befinden sich ein erstes Merkmal 31, ein zweites Merk- mal 32, ein drittes Merkmal 33 und ein viertes Merkmal 34, welche dem Industrieroboter 1 a priori bekannt sind. Der Sichtbereich des Industrieroboters 1 bezeichnet hierbei die Überdeckung der Sichtbereiche einer ersten Kamera 21 für alle möglichen Kamerapositionen. Bei den Merkmalen handelt es sich beispielsweise um rotationsinvariante ARToolkit-Marker, QR-

Codes oder Schachbrettmuster. Die Merkmale können jedoch auch in der Umgebung ohnehin vorhandene Strukturen sein, welche sich als SIFT- oder SURF-Merkmale mit geeigneten Algorithmen extrahieren lassen.

Die erste Kamera 21 ist in Figur 3 am dritten Glied 13 mon ¬ tiert. Dies dient lediglich der Veranschaulichung der Vielfalt möglicher Ausführungsformen. Selbstverständlich kann die Kamera 21 auch an einem anderen der Glieder 11, 12 oder 14 montiert sein.

Zum Aufbau der Karte und zur gleichzeitigen Lokalisierung wird die erste Kamera 21 auf dem dritten Glied 13 umher- bewegt, wodurch die Merkmale 31, 32, 33, 34 erfasst werden. Es handelt sich hierbei um definierte Bewegungen, insbesonde ¬ re Translationen oder Rotationen eines Glieds. Anhand der Roboterkinematik lässt sich hierbei eine Information über die Position und Orientierung der ersten Kamera 21 berechnen.

Wenn eines der Merkmale 31, 32, 33, 34 im Kamerabild sichtbar ist, erhalten wir somit eine Schätzung der Position und Orientierung des Merkmals im Kamera-Koordinatensystem und über die Kinematik auch in absoluten Koordinaten. Mit dem Wissen, dass die Position und Orientierung der Merkmale 31, 32, 33, 34 in absoluten Koordinaten konstant ist, kann die Unsicherheit über diese Position und Orientierung minimiert werden. Gleichzeitig können dabei auch die Schätzungen der Parameter der Kinematik optimiert werden. Wenn schließlich Position und Orientierung der Merkmale 31, 32, 33, 34 über viele Messungen hinweg genau bestimmt wurden, kann auch die Position und Orientierung der ersten Kamera 21 aus den Bildern der Merkmale 31, 32, 33, 34 genau bestimmt werden (und zwar viel genauer als allein aus der Stellung der Gelenke und dem kinematischen Modell) . Man muss mit der Verwendung der besseren Schätzung von Position und Orientierung der Merkmale 31, 32, 33, 34 zum Lokalisieren der dritten Kamera 23 jedoch nicht bis zu einem Abschluss der Einrichtung des Industrieroboters 1 warten - man kann die Schätzung auch gleich verwenden.

Der hierzu verwendete SLAM-Algorithmus ist aus dem Stand der Technik hinreichend bekannt. Im Folgenden wird ein geeignetes Ausführungsbeispiel des SLAM-Algorithmus - weiterhin mit Be ¬ zug auf Figur 3 - erläutert.

Nennen wir cam(k) die Position und Orientierung der ersten Kamera 21 im absoluten Koordinatensystem 2 zu einem Zeitpunkt k, weiter nennen wir mi die Position und Orientierung des i- ten Merkmals 31, 32, 33, 34 im absoluten Koordinatensystem 2. Diese Größen sollen geschätzt werden und bilden insgesamt den Zustandsvektor des gesamten Systems,

(cam(l), cam(2), cam(K), mi , m M ) . Dazu liegen als Messungen Gelenkstellungen xi , x K und Sichtungen der Merkmale 31, 32, 33, 34 vor. Aus einer Gelenkstellung xi folgt eine Messung der Kameraposition cam(i) mit einer gewissen Zuverlässigkeit. Das wird als Wahrscheinlichkeitsdichteverteilung für Position und Orientierung modelliert. Wir nehmen dabei an, dass der mittlere Fehler 0 ist, dass die Kinematik also kalibriert ist. Falls keine hochqua ¬ litative Kalibrierung vorliegt, funktioniert die Berechnung dennoch, da lediglich die Kovarianz für cam(i) entsprechend vergrößert wird.

Unter der Voraussetzung, dass das Merkmal i von der ersten Kamera 21 zum Zeitpunkt k gesehen wird, bezeichnen wir die Position und Orientierung des Merkmals i in Kamerakoordinaten s(k, i) . Weil die Merkmale 31, 32, 33, 34 konstante Position und Orientierung haben, muss die Komposition der Position und Orientierung der ersten Kamera 21 in absoluten Koordinaten und der Position und Orientierung des jeweiligen Merkmals 31, 32, 33, 34 in Kamerakoordinaten konstant sein. Dies wird erreicht, indem ein eventuell auftretender Fehler ausgeglichen wird. Hierzu wird cam(k) + errorc(k) als erster Teil der Komposition und s (k, i) + errors (k, i) als zweiter Teil der Komposition verwendet. Diese Fehler ergeben sich, wenn man für cam(k) und mi einen Wert (als Optimierungsvariable) einsetzt. Sie hängen von der Größe der Distanz zwischen dem Wert der Optimierungsvariablen und dem Messwert sowie von den für die Messungen angenommenen Kovarianzen ab. Die Kamerapositionen und Merkmalspositionen werden so gewählt, dass der gesamte Fehler minimal ist. Dabei werden andere Kamerapositionen berechnet als die aus der Kinematik allein bestimmten, das heißt, die Merkmale haben einen deutlichen Einfluss. Die Merkmalspositionen werden auch genauer bestimmt als aus einer einzelnen Sichtung heraus.

Hierbei wird zugleich die Karte verbessert und die Position bestimmt, wie dies bei Algorithmen zur simultanen Lokalisie ¬ rung und Kartenerstellung (engl. „Simultanous Localization and Mapping", SLAM) aus dem Stand der Technik bereits für andere Anwendungen bekannt ist. Eine günstige Implementierung dieses Ansatzes stellen Faktorgraph-Algorithmen wie der

GTSAM-Algorithmus bereit, letzterer ist ausführlich erläutert in dem Dokument „Factor Graphs and GTSAM: A Hands-on Intro- duction", Georgia Institute of Technology, Center for Robo- tics and Intelligent Machines, CP&R Technical Report, 2012, erhältlich im Internet am 06.07.2016 unter

http: //hdl .handle.net/1853/45226.

Eine ähnliche Genauigkeit lässt sich für den SLAM-Algorithmus auch erreichen, wenn nicht gleichzeitig über alle Messungen optimiert wird, sondern jede Messung berücksichtigt wird, so ¬ bald sie durchgeführt wird. Die zuvor beschriebene Optimie- rung des Systemzustands (Lokalisierung und Kartographierung) wird also iterativ durchgeführt. Dazu geeignete Algorithmen sind beispielsweise als Kaimanfilter, Extended-Kalmanfilter , Unscented-Kalmanfilter oder Particle-Filter bekannt aus S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics, MIT- Press, 2005, S. 65-71, 96-102, 309-317.

In den letzten Ausführungsbeispielen wurde die Verwendung einer einzigen Kamera erläutert. Dies lässt sich verallgemei ¬ nern. Mit erneutem Bezug auf Figur 1 wird im Folgenden ein Ausführungsbeispiel für die Verwendung von mehreren Kameras 21, 22, 23, 24 auf verschiedenen Gliedern 11, 12, 13, 14 des Industrieroboters 1 erläutert. Für dieses Ausführungsbeispiel wird der Industrieroboter 1 gegenüber der Darstellung in Figur 1 verallgemeinert und als Roboter mit sechs bewegten Gliedern gi, qe in größerem Detail modelliert.

Anstatt nur der Position und Orientierung eines der Glieder, beispielsweise des letzten Gliedes qe, wird nun die Position und Orientierung jedes Gliedes, auf dem eine Kamera montiert ist, in das Zustandsmodell aufgenommen. Die Pose des jeweili ¬ gen Gliedes kann durch eine Transformation eines Koordinatensystems des jeweiligen Gliedes in eine Pose der jeweiligen Kamera umgerechnet werden. Dies sind weitere Parameter, die ebenfalls durch Kalibrierung genauer bestimmen müssen. Das Koordinatensystem des jeweiligen Gliedes wird entsprechend dem Standardmodell von Denavit und Hartenberg gewählt, vgl. das Dokument „Denavit-Hartenberg-Transformation" , erhältlich im Internet am 06.07.2016 unter

https : //de . wikipedia . org/wiki/Denavit-Hartenberg- rans ¬ formation .

Die Gelenkstellungen gehen nun nicht mehr insgesamt in die Berechnung ein, sondern wir berechnen die relative Position und Orientierung zwischen zwei Robotergliedern, die Kameras tragen, während dazwischen liegende Glieder keine Kameras tragen. Ansonsten entspricht die Berechnung den vorangegangenen Ausführungsbeispielen: die Fehler der Messungen werden genauso modelliert und minimiert wie im vorigen Fall, alle

Roboterglieder werden gleichzeitig lokalisiert, und es können auch durchaus mehrere Glieder bzw. Kameras die gleichen Merkmale sehen. Auch hier kann die Optimierung sowohl gleichzeitig über alle Beobachtungen als auch iterativ durchgeführt werden.

In den letzten Ausführungsbeispielen wurde die Verwendung von a priori bekannten Merkmalen in der Umgebung erläutert. Hierzu eignen sich spezielle optische Marker, bei denen die mög- liehen Positionen und Orientierungen der Kamera relativ zum

Marker am besten ermittelt werden können. Dies entspricht einer konzentrierten Wahrscheinlichkeitsdichteverteilung. Im Folgenden wird erläutert, wie in den bereits beschriebenen Ausführungsbeispielen jedoch auch andere Merkmale verwendet werden können.

Beispielsweise könnte als Merkmal statt eines Schachbrettes ein Plakat in der Umgebung vorhanden sein, auf dem durch Bildverarbeitungsmethoden ein Punkt genau bestimmt und auch wiedererkannt werden kann. Solche Bildmerkmale sind z.B. als SIFT-Feature oder SURF-Feature bekannt, vgl. das Dokument „Scale-invariant feature transform", erhältlich im Internet am 06.07.2016 unter https://en.wikipedia.org/wiki/Scale- invariant_feature_transform.

In einem solchen Fall ist die Bestimmung der Entfernung sehr ungenau, und auch zwei der drei Rotationsparameter sind sehr ungenau. Aber diese Unsicherheit lässt sich wiederum als Wahrscheinlichkeitsdichteverteilung modellieren, und die Genauigkeit der Gesamtschätzung lässt sich wie im vorigen Beispiel ermitteln. Es liegen also schlechtere Informationen aus Einzelmessungen vor, welche aber durch mehr unabhängige Messungen kompensiert werden können.

In den bisherigen Ausführungsbeispielen wurden Kameras als bildgebende Sensoren erläutert, weil hier eine Tendenz zur Miniaturisierung und Kostensenkung bei gleichzeitig steigender Leistungsfähigkeit besteht. Anstelle der Kameras können in den jeweiligen Ausführungsbeispielen jedoch auch andere bildgebende Sensoren verwendet werden, da die beschriebenen Prinzipien auch für andere Sensoren gültig sind. So eignen sich neben 2D-Kameras auch 3D-Kameras, Infrarotkameras,

Streifenprojektionssensoren, Ultraschallsensoren und Laserscanner als bildgebende Sensoren.

Weiterhin können als bildgebende Sensoren anstelle der in der vorangegangenen Ausführungsbeispielen genannten Kameras auch Mehr-Ebenen-Laserscanner eingesetzt werden, die eine dichte Punktwolke erzeugen. Eine solche Punktwolke enthält in der Regel charakteristische Strukturen, die als Merkmale für eine Lokalisierung und Kartographierung verwendet werden können. Auch ein Laserscanner mit einer Scanebene kann hier verwendet werden, wenn die Umgebung hinreichend viele charakteristische Strukturen aufweist. In diesem Fall kann es erforderlich werden, zum Zwecke der besseren Lokalisierung und Kartographierung spezifische Bewegungen auszuführen.

Weiterhin können auch aktive Merkmale z.B. in Form von Lichtquellen in der Umgebung angebracht werden. Wie zuvor erläutert ist es hilfreich, die absolute Position dieser Marker als a priori Information bereitzustellen, aber nicht unbedingt erforderlich. Auch hier kann durch simultane Lokalisierung und Kartographierung eine hohe Absolutgenauigkeit des Industrieroboters erreicht werden.

Eine mögliche Implementierung eines oder mehrerer der zuvor beschriebenen Ausführungsbeispiele besteht in einem Indust ¬ rieroboter mit einer Steuerung, welche die entsprechenden Berechnungen ausführt. Die Steuerung kann hierzu einen elektro- nischen Speicher aufweisen, Signale einer internen Sensorik des Industrieroboters sowie der bildgebenden Sensoren auswerten und Motoren des Industrieroboters ansteuern. Die Steue ¬ rung kann hierbei auch eine Regelung durchführen, indem sie fortwährend aus den Kamerabildern und der internen Sensorik eine aktuelle absolute Pose ermittelt und diese so lange an- passt, bis eine vorgegebene Pose mit einer vorgegebenen Ge ¬ nauigkeit eingestellt ist.

Obwohl die Erfindung durch die Ausführungsbeispiele im Detail illustriert und beschrieben wurde, ist sie nicht durch die offenbarten Beispiele eingeschränkt. Andere Variationen kön ¬ nen vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Die beschriebenen Ausführungsbeispiele, Varianten, Ausführungsformen und Weiterbil- düngen können auch frei miteinander kombiniert werden.