Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
INDUSTRIAL ROBOT
Document Type and Number:
WIPO Patent Application WO/2017/207436
Kind Code:
A1
Abstract:
An industrial robot (1) comprising multiple links (11, 12, 13, 14) is equipped with at least one imaging sensor (21, 22, 23, 24) mounted on a support link (11, 12, 13) that is not the last link (14) in the kinematics of the robot. The cameras are therefore not mounted on the mechanical interface or effector of the robot, but on one of the main axes or secondary axes higher up the kinematic chain. The cameras detect characteristics (31, 32, 33, 34) in the surroundings, from which characteristics the open-loop control of the robot can determine the pose of the imaging sensor and thus the robot link bearing the imaging sensor, in an absolute, fixed co-ordinate system (2), relative to the surroundings. 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. Since an absolute position and orientation to the absolute co-ordinate system are used, workpieces can be positioned by another agent (man or machine), relative to the absolute co-ordinate system.

Inventors:
VON WICHERT, Georg (Lechelstraße 36, München, 80997, DE)
FEITEN, Wendelin (Max-Löw-Str. 47, Neubiberg, 85579, DE)
WURM, Kai (Klara-Ziegler-Bogen 89, München, 81739, DE)
Application Number:
EP2017/062764
Publication Date:
December 07, 2017
Filing Date:
May 26, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AKTIENGESELLSCHAFT (Werner-von-Siemens-Straße 1, München, 80333, DE)
International Classes:
B25J9/16
Foreign References:
US20110280472A12011-11-17
US20110320042A12011-12-29
US4753569A1988-06-28
DE102011052386A12012-02-09
Other References:
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, 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, 6 July 2016 (2016-07-06), Retrieved from the Internet
Download PDF:
Claims:
Patentansprüche

1. Industrieroboter (1),

mit mehreren Gliedern (11, 12, 13, 14), welche gemäß einer Kinematik beweglich sind, wobei ein letztes Glied (14) zur Aufnahme oder Montage eines Effektors (15) eingerichtet ist,

dadurch gekennzeichnet, dass

mindestens ein bildgebender Sensor (21, 22, 23, 24) an einem Trägerglied montiert ist, welches eines der Glieder (11, 12, 13), aber nicht das letzte Glied (14) ist.

2. Industrieroboter nach Anspruch 1,

bei dem die Glieder (11, 12, 13, 14) auf einer stationären Basis (10) montiert sind,

bei dem das letzte Glied (14) eine Werkzeugschnittstelle, insbesondere einen Flansch mit einem Mittelpunkt (3) , auf¬ weist, an der der Effektor (15) oder eine Wechselaufnahme für den Effektor (15) montierbar ist, und

eingerichtet zur Ansteuerung von Antrieben der Glieder (11, 12, 13, 14) zur Einstellung einer in einem absoluten Koordinatensystem vorgegebenen Pose der Werkzeugschnittstelle.

3. Industrieroboter nach Anspruch 2,

eingerichtet zur Extraktion von Merkmalen (31, 32, 33, 34) einer Umgebung aus Signalen des mindestens einen bildgebenden Sensors (21, 22, 23, 24) sowie zur Bestimmung einer absoluten Pose des Trägerglieds anhand der extrahierten Merkmale (31, 32, 33, 34), wobei die absolute Pose eine Pose in dem absoluten Koordinatensystem ist, und

eingerichtet zur Berücksichtigung der absoluten Pose bei der Einstellung der vorgegebenen Pose der Werkzeugschnittstelle.

4. Industrieroboter nach Anspruch 2 oder 3, eingerichtet zur Berücksichtigung von Signalen einer internen Sensorik bei der Einstellung der vorgegebenen Pose der Werkzeugschnittstelle. 5. Industrieroboter nach Anspruch 3, mit einer Steuerung, die einen elektronischen Speicher aufweist, in dem ein Bewegungsmodell, welches auf der Kinematik basiert, als Pro¬ grammcode und/oder Datenstruktur abgelegt ist,

zur Berechnung von Parametern des Bewegungsmodells in Ab- hängigkeit von der absoluten Pose und/oder Signalen einer internen Sensorik eingerichtet ist, und

zur Nutzung des Bewegungsmodells zur Einstellung der vorgegebenen Pose der Werkzeugschnittstelle eingerichtet ist. 6. Industrieroboter nach Anspruch 5, bei dem die Steuerung eingerichtet ist zur simultanen Lokalisierung und Kartenerstellung mittels eines SLAM-Algorithmus , wobei 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

die absolute Pose des Trägerglieds bestimmt wird.

7. Industrieroboter nach einem der vorhergehenden Ansprüche, - mit zwei, drei oder mehr bildgebenden Sensoren (21, 22, 23, 24), welche an dem Trägerglied montiert sind, wobei die bildgebenden Sensoren (21, 22, 23, 24) in unterschiedlichen Richtungen ausgerichtet sind. 8. Industrieroboter nach Anspruch 3 und 7,

eingerichtet zur Extraktion der Merkmale (31, 32, 33, 34) der Umgebung aus Signalen von mehreren der bildgebenden Sensoren (21, 22, 23, 24) . 9. Industrieroboter nach einem der vorhergehenden Ansprüche, bei dem an mehreren, insbesondere allen, Gliedern (11, 12, 13, 14) jeweils mindestens ein bildgebender Sensor (21, 22, 23, 24) montiert ist.

10. Industrieroboter nach Anspruch 9,

bei dem an einem oder mehreren, insbesondere allen, Gliedern (11, 12, 13, 14) jeweils zwei, drei oder mehr bildge¬ bende Sensoren (21, 22, 23, 24) montiert sind, wobei die bildgebenden Sensoren (21, 22, 23, 24) in unterschiedlichen Richtungen ausgerichtet sind.

11. Industrieroboter nach Anspruch 3 und 9 oder 3 und 10, eingerichtet zur Extraktion der Merkmale (31, 32, 33, 34) der Umgebung aus Signalen der bildgebenden Sensoren (21, 22, 23, 24) sowie zur Bestimmung absoluter Posen für die jeweiligen Glieder (11, 12, 13, 14) anhand der extrahierten Merkmale (31, 32, 33, 34), und

zur Berücksichtigung der absoluten Posen der Glieder (11, 12, 13, 14) bei der Einstellung der vorgegebenen Pose der Werkzeugschnittstelle .

12. Industrieroboter nach einem der vorhergehenden Ansprüche, bei dem der oder die bildgebenden Sensoren (21, 22, 23, 24) 2D-Kameras, 3D-Kameras, Infrarot-Kameras, Streifenpro¬ jektionssensoren, Ultraschallsensoren und/oder Laserscanner sind.

Description:
Beschreibung

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 Ef- fektor 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 Ef- fektors 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 verbinden. 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 Industrieroboter geschaffen werden, welcher eine Alternative zum Stand der Technik bereitstellt.

Diese Aufgabe wird durch einen Industrieroboter gelöst,

mit mehreren Gliedern, welche gemäß einer Kinematik beweglich sind, wobei ein letztes Glied zur Aufnahme oder Mon ¬ tage eines Effektors eingerichtet ist,

dadurch gekennzeichnet, dass

mindestens ein bildgebender Sensor an einem Trägerglied montiert ist, welches eines der Glieder, aber nicht das letzte Glied ist. Grundsätzlich kann es sich hierbei sowohl um einen mobilen als auch um einen stationären Industrieroboter handeln.

Die im Folgenden genannten Vorteile müssen nicht notwendigerweise durch den Gegenstand des unabhängigen Patentanspruchs 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 Merkmale 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 Sen- soren selbst. Die ermittelte absolute Pose ist eine Pose in einem absoluten, festen Koordinatensystem.

Ausführungsformen oder Weiterbildung des Industrieroboters können den Vorteil bieten, dass eine absolute Position und

Orientierung auch bei ungenauen oder elastischen Industrierobotern und bei unterschiedlichen Lasten ermittelt wird. Weiterhin können Parameter in einem Modell des Industrieroboters bestimmt 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 einiger 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 Kinematik 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än- dert 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.

Gemäß einer Ausführungsform wird ein Industrieroboter geschaffen,

bei dem die Glieder auf einer stationären Basis montiert sind,

- bei dem das letzte Glied eine Werkzeugschnittstelle, ins ¬ besondere einen Flansch, aufweist, an der der Effektor oder eine Wechselaufnahme für den Effektor montierbar ist, und

eingerichtet zur Ansteuerung von Antrieben der Glieder zur Einstellung einer in einem absoluten Koordinatensystem vorgegebenen Pose der Werkzeugschnittstelle.

Die vorgegebene Pose der Werkzeugschnittstelle ist mit einer gewünschten Pose für einen Effektor, welcher an der Werkzeug- schnittsteile montiert ist, identisch oder lässt sich mit ei ¬ ner einfachen Transformation aus dieser berechnen.

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 daher die Einstellmöglichkeiten beschränkt .

Gemäß einer Ausführungsform wird ein Industrieroboter ge- schaffen,

eingerichtet zur Extraktion von Merkmalen einer Umgebung aus Signalen des mindestens einen bildgebenden Sensors so ¬ wie zur Bestimmung einer absoluten Pose des Trägerglieds anhand der extrahierten Merkmale, wobei die absolute Pose eine Pose in dem absoluten Koordinatensystem ist, und eingerichtet zur Berücksichtigung der absoluten Pose bei der Einstellung der vorgegebenen Pose der Werkzeugschnittstelle. Die Umgebung kann hierbei ein oder mehrere Merkmale aufwei ¬ sen, welche von einem oder mehreren bildgebenden Sensoren er- fasst werden.

Die absolute Pose muss nicht in allen Koordinaten bestimmt werden. Sie kann auch eine Unscharfe aufweisen und probabi- listisch beschrieben sein, beispielsweise als Wahrscheinlich- keitsdichtefunktion .

Gemäß einer Ausführungsform wird ein Industrieroboter geschaffen,

eingerichtet zur Berücksichtigung von Signalen einer internen Sensorik bei der Einstellung der vorgegebenen Pose der Werkzeugschnittstelle.

Bei den internen Sensoren handelt es sich vorzugsweise um Sensoren, die die Stellungen von Gelenken oder Achsen des Industrieroboters ermitteln.

Gemäß einer Ausführungsform wird ein Industrieroboter mit einer Steuerung geschaffen, die

einen elektronischen Speicher aufweist, in dem ein Bewegungsmodell, welches auf der Kinematik basiert, als Pro ¬ grammcode und/oder Datenstruktur abgelegt ist,

zur Berechnung von Parametern des Bewegungsmodells in Abhängigkeit von der absoluten Pose und/oder Signalen einer internen Sensorik eingerichtet ist, und

zur Nutzung des Bewegungsmodells zur Einstellung der vorgegebenen Pose der Werkzeugschnittstelle eingerichtet ist.

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

Gemäß einer Ausführungsform wird ein Industrieroboter geschaffen, bei dem die Steuerung eingerichtet ist zur simulta- nen Lokalisierung und Kartenerstellung mittels eines SLAM- Algorithmus, wobei zugleich

ein absolutes Koordinatensystem und eine Karte der Umgebung bestimmt wird, wobei die Karte der Umgebung das mindestens eine extrahierte Merkmal abbildet, und die absolute Pose des Trägerglieds bestimmt wird.

Dabei wird gleichzeitig das absolute Koordinatensystem ermit ¬ telt, die Pose der Merkmale in der Umgebung bezüglich des ab- soluten Koordinatensystems bestimmt und die Pose der Glieder bezüglich des absoluten Koordinatensystems berechnet.

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 Übereinstimmung mit einer Raumecke oder dem Fußboden.

Diese Ausführungsform überträgt die Technik der gleichzeiti ¬ gen Lokalisierung (d.h. Bestimmung der Position und Orientie- rung) und des Aufbaus einer Karte von Merkmalen der Umgebung von der mobilen Robotik auf die Orientierung eines stationären Industrieroboters. Dabei wird gleichzeitig das absolute Koordinatensystem ermittelt, die Position und Orientierung von Merkmalen der Umgebung bezüglich des absoluten Koordina- tensystems bestimmt und die Position und Orientierung von be ¬ weglichen Teilen des Industrieroboters bezüglich des absolu ¬ ten Koordinatensystems berechnet. Dies beruht auf Messungen von Sensoren, die auf den beweglichen Teilen angebracht sind. Vorteilhafterweise werden zusätzlich auch Sensoren berück- sichtigt, die die Stellungen der Gelenke ermitteln.

Gemäß einer Ausführungsform wird ein Industrieroboter geschaffen,

mit zwei, drei oder mehr bildgebenden Sensoren, welche an dem Trägerglied montiert sind, wobei die bildgebenden Sen ¬ soren 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 Industrieroboter geschaffen,

eingerichtet zur Extraktion der Merkmale der Umgebung aus Signalen von mehreren der bildgebenden Sensoren.

Gemäß einer Ausführungsform wird ein Industrieroboter geschaffen,

bei dem an mehreren, insbesondere allen, Gliedern jeweils mindestens ein bildgebender Sensor montiert ist.

Das letzte Glied kann hiervon ggf. ausgenommen sein, um den Effektor bzw. Einsatz des Industrieroboters nicht zu behin ¬ dern .

Gemäß einer Ausführungsform wird ein Industrieroboter ge- schaffen,

bei dem an einem oder mehreren, insbesondere allen, Gliedern jeweils zwei, drei oder mehr bildgebende Sensoren montiert sind, wobei die bildgebenden Sensoren in unterschiedlichen Richtungen ausgerichtet sind.

Gemäß einer Ausführungsform wird ein Industrieroboter geschaffen,

eingerichtet zur Extraktion der Merkmale der Umgebung aus Signalen der bildgebenden Sensoren sowie zur Bestimmung absoluter Posen für die jeweiligen Glieder anhand der extrahierten Merkmale, und

zur Berücksichtigung der absoluten Posen der Glieder bei der Einstellung der vorgegebenen Pose der Werkzeugschnittstelle.

Gemäß einer Ausführungsform wird ein Industrieroboter geschaffen, bei dem der oder die bildgebenden Sensoren 2D-Kameras, 3D- Kameras, Infrarot-Kameras, Streifenprojektionssensoren, Ultraschallsensoren und/oder Laserscanner sind. 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 rotationsinvariante ARToolkit-Marker, QR-Codes oder Schachbrettmuster. Die Merkmale können jedoch auch in der Umgebung ohnehin vor- handene Strukturen sein, welche sich als SIFT- oder SURF- Merkmale mit geeigneten Algorithmen extrahieren lassen.

Zwar ist in den Figuren jeweils ein stationärer Industrieroboter gezeigt, und auch die folgenden Ausführungsbeispiele nehmen teilweise Bezug auf einen Industrieroboter, dessen Basis stationär montiert ist. Grundsätzlich kann der Industrieroboter, abweichend von den Figuren, jedoch in mindestens einem Ausführungsbeispiel auch mobil sein, und hierzu bei ¬ spielsweise auf einer verfahrbaren Plattform montiert sein oder selbst über ein Fahrwerk verfügen.

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 Bewegungs- freiheitsgrad des ersten Glieds 11 eine im Wesentlichen ver ¬ tikale 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 Berechnung, 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 erforderlich. 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 jeweils 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/Roboterkalibrierung, sind mathematische Grundlagen bekannt, um die Position und Orientie- rung 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 phy- sikalisch 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 Industriero- boters 1 (beispielsweise des Mittelpunkts 3 seiner Flansch ¬ platte) abhängt. Hierzu zählen Eigenschaften der Getriebe, ihre Elastizitäten oder ihr Hysterese-Verhalten, oder Elastizitäten der Glieder, Temperatureffekte, Ungenauigkeit der in ¬ ternen Sensorik etc. Mit entsprechendem Aufwand können genau- ere, 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 Messkö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 Mess- kö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 weniger 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. Weiterhin 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 Freiheitsgraden 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 Auf- bau 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 Po- sition 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 Merk- mals 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 gewä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 Viel- falt 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 Wahrscheinlich ¬ keitsdichteverteilung 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 Kom- position 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 Optimierungsvariable 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: / /hell .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 Koordinaten- Systems 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-Transforma ¬ tion . 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 ¬ lichen Positionen und Orientierungen der Kamera relativ zum Marker am besten ermittelt werden können. Dies entspricht ei- ner 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 Bei- spiel 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 wer- den, 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äu- tert 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 Be- rechnungen ausführt. Die Steuerung kann hierzu einen elektronischen 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 Schutz- umfang der Erfindung zu verlassen. Die beschriebenen Ausführungsbeispiele, Varianten, Ausführungsformen und Weiterbil ¬ dungen können auch frei miteinander kombiniert werden.