DE102016212694A1 - Verfahren zur Orientierung eines Industrieroboters und Industrieroboter - Google Patents

Verfahren zur Orientierung eines Industrieroboters und Industrieroboter Download PDF

Info

Publication number
DE102016212694A1
DE102016212694A1 DE102016212694.6A DE102016212694A DE102016212694A1 DE 102016212694 A1 DE102016212694 A1 DE 102016212694A1 DE 102016212694 A DE102016212694 A DE 102016212694A DE 102016212694 A1 DE102016212694 A1 DE 102016212694A1
Authority
DE
Germany
Prior art keywords
industrial robot
absolute
pose
coordinate system
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102016212694.6A
Other languages
English (en)
Inventor
Georg von Wichert
Wendelin Feiten
Kai Wurm
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to CN201780034042.9A priority Critical patent/CN109153125B/zh
Priority to US16/305,641 priority patent/US20200298411A1/en
Priority to PCT/EP2017/062215 priority patent/WO2017207312A1/de
Priority to EP17727136.8A priority patent/EP3463766A1/de
Publication of DE102016212694A1 publication Critical patent/DE102016212694A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39027Calibrate only some links, part of dofs, lock some links, ref pins on links
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39057Hand eye calibration, eye, camera on hand, end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

Merkmale (31, 32, 33, 34) einer Umgebung werden aus Signalen von Sensoren (21, 22, 23, 24), welche an unterschiedlichen Achsen (11, 12, 13, 14) eines stationären Industrieroboters (1) montiert sind, extrahiert, wobei mittels eines SLAM-Algorithmus zur simultanen Lokalisierung und Kartenerstellung zugleich ein absolutes Koordinatensystem (2) und eine Karte der Umgebung bestimmt wird, wobei die Karte der Umgebung die extrahierten Merkmale abbildet und eine absolute Pose eines beweglichen Teils des Industrieroboters in dem absoluten Koordinatensystem bestimmt wird. 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 Industrieroboters. Dies beruht auf Messungen von Sensoren, die auf den beweglichen Teilen angebracht sind. Vorteilhafterweise werden zusätzlich auch Sensoren berücksichtigt, die die Stellungen der Gelenke ermitteln. Das Verfahren bietet den Vorteil, 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. Externe Kalibriervorrichtungen und spezielle Kalibriervorgänge werden nicht mehr zwingend benötigt.

Description

  • Laut VDI-Richtlinie 2860 handelt es sich bei Industrierobotern um universell einsetzbare Bewegungsautomaten mit mehreren 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 Anwendungszweck des Industrieroboters wahlweise als Rotationsachsen 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öglichkeiten 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 hoher 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 verschiedene 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 A1 offenbart ist. Im Rahmen einer solchen Kalibrierung wird ein Zusammenhang zwischen den Gelenkstellungen 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 Transactions 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 beliebigen Glieds, Merkmals oder Objekts, wird im Folgenden auch unter dem Begriff "Pose" zusammengefasst.
  • Durch die vorliegende Erfindung soll ein Verfahren zur Orientierung eines Industrieroboters und ein Industrieroboter geschaffen werden, welche eine Alternative zum Stand der Technik 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 montiert ist, extrahiert wird, bevor, während oder nachdem der Industrieroboter Bewegungen ausführt, und
    • – bei dem mittels eines SLAM-Algorithmus zur simultanen Lokalisierung 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 Industrieroboters 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 Verfahren 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 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 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 Industrieroboters. Dabei wird vorzugsweise gleichzeitig das absolute 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 Messungen von Sensoren, die auf den beweglichen Teilen angebracht sind. Vorteilhafterweise werden zusätzlich auch Sensoren berücksichtigt, die die Stellungen der Gelenke ermitteln.
  • Ausführungsformen oder Weiterbildung des Verfahrens 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 Linearachsen 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 beispielsweise 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 Industrieroboter, aber die Glieder des Industrieroboters können entsprechend der Kinematik innerhalb des absoluten Koordinatensystems 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 Übereinstimmung 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 Wahrscheinlichkeitsdichtefunktion modelliert wird.
  • Die absolute Pose muss nicht in allen Koordinaten bestimmt werden. Sie kann auch eine Unschärfe aufweisen und probabilistisch 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 Kalmanfilter-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 bildgebenden Sensors extrahiert werden.
  • Gemäß einer Ausführungsform wird ein Verfahren geschaffen
    • – bei dem der Industrieroboter das absolute Koordinatensystem ausgibt.
  • Hierzu kann der Industrieroboter beispielsweise Punkte im absoluten Koordinatensystem anfahren und parallel deren Koordinaten ausgeben. Dies erlaubt es eine Transformation festzulegen 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 Kinematik 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 daher die Einstellmöglichkeiten beschränkt.
  • Die fortlaufend ermittelte absolute Pose wird so dazu genutzt, 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 Industrieroboters 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 Industrieroboters ermitteln.
  • Gemäß einer Ausführungsform wird ein Verfahren geschaffen
    • – bei dem Parameter eines Bewegungsmodells, welches auf einer Kinematik des Industrieroboters basiert, in Abhängigkeit von der absoluten Pose und/oder Signalen einer internen Sensorik des Industrieroboters berechnet werden.
  • Hierbei werden die Parameter im Bewegungsmodell des Industrieroboters 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 Industrieroboters montiert sind,
    • – bei dem absolute Posen für die jeweiligen Glieder anhand der extrahierten Merkmale 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 Industrieroboters 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 einem 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 versehen, sofern nichts anderes angegeben ist. Es zeigen:
  • 1 einen Industrieroboter 1 mit vier Kameras,
  • 2 einen Industrieroboter 1 mit einer Kamera an einem letzten Glied 14, und
  • 3 einen Industrieroboter 1 mit einer Kamera an einem dritten Glied 13.
  • 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 unterschiedlichen 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 Flanschplatte mit einem Mittelpunkt 3 auf, an der der Effektor 15 montiert ist. Die Flanschplatte bildet hierbei eine Werkzeugschnittstelle, an der auch eine Wechselaufnahme für unterschiedliche 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 unterschiedlichen 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 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 Industrieroboter 1 ist im in 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 Werkzeugschnittstelle oder des Effektors 15, in dem absoluten Koordinatensystem 2 eingestellt. Die einzustellende Pose kann hierbei als vorgegebene Pose vorgegeben sein und beispielsweise 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 Koordinatensystem beispielsweise auf die stationäre Basis 10 des Industrieroboters 1 oder auf eine Umgebung, z.B. einen Arbeitsbereich, einen Käfig um den Industrieroboter 1, Magazine, Regale etc., bezogen.
  • Wenn das absolute Koordinatensystem 2 auf den Industrieroboter 1 bezogen ist, hängt es beispielsweise wie in 1 gezeigt von der Kinematik des Industrieroboters 1 ab. Im in 1 gezeigten Ausführungsbeispiel ist der erste Bewegungsfreiheitsgrad 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 dieser Achse 0° angibt. Die x-Achse des absoluten Koordinatensystems 2 wird orthogonal zum zweiten Glied 12, d.h. zur Rotationsachse des zweiten Freiheitsgrades, und zur z-Achse gewählt. Wenn wir diese Rotationsachse des zweiten Freiheitsgrades u nennen, dann ist die x-Achse das normalisierte Kreuzprodukt x = (u × z/||u × z||. Die y-Achse ist dann das Kreuzprodukt von z und x, also z × 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 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 Koordinatensystems 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 bestimmte 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 charakteristische 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, ||A–B||, 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 sequentiell angefahren werden müssen, wurden zuvor nicht angefahren, weshalb keine relative Positionierung mit hoher Wiederholgenauigkeit genutzt werden kann. Stattdessen ist eine Absolutpositionierung mit ausreichender Genauigkeit erforderlich. Bezogen auf 1 ist der Motor beispielsweise das zweite Werkstück 52, in welches das erste Werkstück 51 eingesetzt werden soll. Dazu ist es erforderlich, dass die Position 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 absoluten 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 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 abbildet, von denen die Position und Orientierung des Industrieroboters 1 (beispielsweise des Mittelpunkts 3 seiner Flanschplatte) abhängt. Hierzu zählen Eigenschaften der Getriebe, ihre Elastizitäten oder ihr Hysterese-Verhalten, oder Elastizitäten der Glieder, Temperatureffekte, Ungenauigkeit der internen Sensorik etc. Mit entsprechendem Aufwand können genauere, d.h. vollständigere Modelle aufgestellt und kalibriert werden.
  • Zur Erzielung einer hohen Absolutgenauigkeit kann die Position 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 Messungen 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 1 verteilte erste Kamera 21, zweite Kamera 22, dritte Kamera 23 und vierte Kamera 24 sind kleiner und kostengünstiger als derartige Messkörper und liefern weitere Messungen, aus denen die genaue Position des Effektors 15 bestimmt 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 montiert, 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 2 und die bisherigen Ausfü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.
  • 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 Rotationsachsen (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 2 gezeigten Einzelfall ist ein erstes Glied 11 des Industrieroboters 1 auf einer stationären Basis 10 montiert. Darauf folgt in einer seriellen Kinematik des Industrieroboters 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 bestimmen, wobei die absolute Pose eine Pose in einem absoluten Koordinatensystem 2 ist, welches zuvor bereits erläutert wurde und in einer neuen Variante in 2 eingezeichnet ist. Das bewegliche Teil ist beispielsweise das letzte Glied 14, die erste Kamera 21 oder der Effektor 15. Entsprechende Koordinaten lassen sich leicht ineinander umrechnen, da die entsprechenden Komponenten starr zueinander am letzten Glied 14 montiert sind.
  • 2 zeigt zwar den Fall, dass die absolute Pose für das letzte Glied 14, die erste Kamera 21 oder den Effektor 15 berechnet wird, da die erste Kamera 21 am letzten Glied 14 montiert ist. Grundsätzlich könnte die erste Kamera 21 in Bezug auf die folgenden Ausführungen jedoch auch – und wie in 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 Berechnungen des Industrieroboters 1 für die Absolutpositionierung zu verbessern.
  • In 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 Industrieroboters 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 2 gibt der Arbeitstisch 5 eine x-y-Ebene eines absoluten Koordinatensystems 2 vor, da dies die Kommunikation des absoluten Koordinatensystems 2 mit der Außenwelt vereinfacht. Hierzu definiert das Schachbrettmuster des ersten Merkmals 31 die x-y-Ebene des absoluten Koordinatensystems. 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 ersten Kamera 21 durchgeführt. In dem in 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 übereinstimmt. 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 senkrecht zum ersten Merkmal 31 an eine Wand montiert. Im nächsten 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 dritten Schritt wird die Position und Orientierung der ersten Kamera 21 nach der Drehung berechnet. Abschließend wird die Position 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. Daher werden die Parameter der Kamerabewegung und die Position und Orientierung so eingestellt, dass die Schwankung von Position 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 bekannt. Das erste Merkmal 31 und ggf. das zweite Merkmal 32 können hierzu auch mit geeigneten Sensoren a priori genau vermessen werden.
  • 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 Gelenkarmroboters. Im Ausführungsbeispiel der 3 wird das absolute Koordinatensystem 2 erneut wie in 1 gezeigt gewählt, wobei aus dem ersten Glied 11, also der erste Rotationsachse des Industrieroboters 1, die z-Achse des absoluten Koordinatensystems 2 abgeleitet wird, wie dies im Kontext der 1 erläutert wurde. Im Sichtbereich des Industrieroboters 1 befinden sich ein erstes Merkmal 31, ein zweites Merkmal 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 3 am dritten Glied 13 montiert. 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 umherbewegt, wodurch die Merkmale 31, 32, 33, 34 erfasst werden. Es handelt sich hierbei um definierte Bewegungen, insbesondere 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 Bezug auf 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 iten 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(1), cam(2), ..., cam(K), m1, ..., mM).
  • Dazu liegen als Messungen Gelenkstellungen x1, ..., xK 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 hochqualitative 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 Lokalisierung 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 Introduction", Georgia Institute of Technology, Center for Robotics 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, sobald sie durchgeführt wird. Die zuvor beschriebene Optimierung des Systemzustands (Lokalisierung und Kartographierung) wird also iterativ durchgeführt. Dazu geeignete Algorithmen sind beispielsweise als Kalmanfilter, 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 verallgemeinern. Mit erneutem Bezug auf 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 1 verallgemeinert und als Roboter mit sechs bewegten Gliedern g1, ..., g6 in größerem Detail modelliert.
  • Anstatt nur der Position und Orientierung eines der Glieder, beispielsweise des letzten Gliedes g6, wird nun die Position und Orientierung jedes Gliedes, auf dem eine Kamera montiert ist, in das Zustandsmodell aufgenommen. Die Pose des jeweiligen 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-Transformation.
  • 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öglichen 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/Scaleinvariant_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 Industrieroboter mit einer Steuerung, welche die entsprechenden Berechnungen 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 Steuerung 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 anpasst, bis eine vorgegebene Pose mit einer vorgegebenen Genauigkeit 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önnen vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Die beschriebenen Ausführungsbeispiele, Varianten, Ausführungsformen und Weiterbildungen können auch frei miteinander kombiniert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102011052386 A1 [0006]
  • Zitierte Nicht-Patentliteratur
    • VDI-Richtlinie 2860 [0001]
    • S. Hutchinson, G. D. Hager, and P. I. Corke, “A tutorial on visual servo control”, IEEE Transactions on Robotics and Automation, vol. 12, no. 5, pp. 651–670, 1996 [0007]
    • Dokument „Roboterkalibrierung“, erhältlich im Internet am 05.07.2016 unter https://de.wikipedia.org/wiki/Roboterkalibrierung [0059]
    • Dokument „Factor Graphs and GTSAM: A Hands-on Introduction“, Georgia Institute of Technology, Center for Robotics and Intelligent Machines, CP&R Technical Report, 2012, erhältlich im Internet am 06.07.2016 unter http://hdl.handle.net/1853/45226 [0085]
    • S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics, MIT-Press, 2005, S. 65–71, 96–102, 309–317 [0086]
    • Dokument „Denavit-Hartenberg-Transformation“, erhältlich im Internet am 06.07.2016 unter https://de.wikipedia.org/wiki/Denavit-Hartenberg-Transformation [0088]
    • Dokument „Scale-invariant feature transform“, erhältlich im Internet am 06.07.2016 unter https://en.wikipedia.org/wiki/Scaleinvariant_feature_transform [0091]

Claims (18)

  1. Verfahren zur Orientierung eines Industrieroboters, – bei dem mindestens ein Merkmal (31, 32, 33, 34) einer Umgebung aus Signalen mindestens eines bildgebenden Sensors (21, 22, 23, 24), welcher an einem beweglichen Teil des Industrieroboters (1) montiert ist, extrahiert wird, bevor, während oder nachdem der Industrieroboter (1) Bewegungen ausführt, und – bei dem mittels eines SLAM-Algorithmus zur simultanen Lokalisierung 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 Industrieroboters (1) bestimmt wird, wobei die absolute Pose eine Pose in dem absoluten Koordinatensystem ist.
  2. Verfahren nach Anspruch 1, – bei dem die Bestimmung der Karte der Umgebung eine statistische Schätzung ist, und – bei dem die absolute Pose als Wahrscheinlichkeitsdichtefunktion modelliert wird.
  3. Verfahren nach Anspruch 2, – bei dem der SLAM-Algorithmus iterativ einen Kalmanfilter-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.
  6. Verfahren nach einem der vorhergehenden Ansprüche, – bei dem der Industrieroboter das absolute Koordinatensystem ausgibt.
  7. 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.
  8. 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.
  9. 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 Glieder (11, 12, 13, 14) gemäß einer Kinematik beweglich sind.
  10. Verfahren nach Anspruch 9, – bei dem Antriebe der Glieder (11, 12, 13, 14) zur Einstellung 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 Industrieroboters (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 einer Kinematik des Industrieroboters (1) basiert, in Abhängigkeit von der absoluten Pose und/oder Signalen einer internen Sensorik des Industrieroboters (1) berechnet werden.
  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 Industrieroboters (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 Verfahren nach einem der Ansprüche 1 bis 15 mit dem Industrieroboter auszuführen.
DE102016212694.6A 2016-05-31 2016-07-12 Verfahren zur Orientierung eines Industrieroboters und Industrieroboter Withdrawn DE102016212694A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201780034042.9A CN109153125B (zh) 2016-05-31 2017-05-22 用于定向工业机器人的方法和工业机器人
US16/305,641 US20200298411A1 (en) 2016-05-31 2017-05-22 Method for the orientation of an industrial robot, and industrial robot
PCT/EP2017/062215 WO2017207312A1 (de) 2016-05-31 2017-05-22 Verfahren zur orientierung eines industrieroboters und industrieroboter
EP17727136.8A EP3463766A1 (de) 2016-05-31 2017-05-22 Verfahren zur orientierung eines industrieroboters und industrieroboter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016209462.9 2016-05-31
DE102016209462 2016-05-31

Publications (1)

Publication Number Publication Date
DE102016212694A1 true DE102016212694A1 (de) 2017-11-30

Family

ID=60269298

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102016212695.4A Expired - Fee Related DE102016212695B4 (de) 2016-05-31 2016-07-12 Industrieroboter
DE102016212694.6A Withdrawn DE102016212694A1 (de) 2016-05-31 2016-07-12 Verfahren zur Orientierung eines Industrieroboters und Industrieroboter

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102016212695.4A Expired - Fee Related DE102016212695B4 (de) 2016-05-31 2016-07-12 Industrieroboter

Country Status (5)

Country Link
US (1) US20200298411A1 (de)
EP (1) EP3463766A1 (de)
CN (1) CN109153125B (de)
DE (2) DE102016212695B4 (de)
WO (2) WO2017207312A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110625597A (zh) * 2019-09-27 2019-12-31 陈小龙 一种基于slam的机器人系统及其示教方法
CN111872931A (zh) * 2020-07-31 2020-11-03 安徽巨一科技股份有限公司 一种机器人自动标定检测位置机构
EP4108390A1 (de) * 2021-06-25 2022-12-28 Sick Ag Verfahren zum sicheren betrieb eines beweglichen maschinenteils

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11518051B2 (en) 2017-02-07 2022-12-06 Veo Robotics, Inc. Dynamic, interactive signaling of safety-related conditions in a monitored environment
US11820025B2 (en) 2017-02-07 2023-11-21 Veo Robotics, Inc. Safe motion planning for machinery operation
CA3052961A1 (en) 2017-02-07 2018-08-16 Veo Robotics, Inc. Workspace safety monitoring and equipment control
US11541543B2 (en) 2017-02-07 2023-01-03 Veo Robotics, Inc. Dynamic, interactive signaling of safety-related conditions in a monitored environment
DE102018109329B4 (de) * 2018-04-19 2019-12-05 Gottfried Wilhelm Leibniz Universität Hannover Mehrgliedrige aktuierte Kinematik, vorzugsweise Roboter, besonders vorzugsweise Knickarmroboter
DE102018118265B4 (de) * 2018-07-27 2020-11-12 Sick Ag Verfahren und Überwachungssystem zum Absichern einer Maschine
GB2576322B (en) * 2018-08-13 2022-11-09 Imperial College Innovations Ltd Mapping object instances using video data
US11325252B2 (en) * 2018-09-15 2022-05-10 X Development Llc Action prediction networks for robotic grasping
US10990104B2 (en) 2019-01-10 2021-04-27 General Electric Company Systems and methods including motorized apparatus for calibrating sensors
DE102019105466B3 (de) 2019-03-04 2020-08-06 Forward Ttc Gmbh Verfahren zum Betrieb eines Antriebssystems sowie Antriebssystem
US11254019B2 (en) * 2019-03-05 2022-02-22 The Boeing Company Automatic calibration for a robot optical sensor
GB2582139B (en) * 2019-03-11 2021-07-21 Arrival Ltd A method for determining positional error within a robotic cell environment
US20220250248A1 (en) * 2019-07-19 2022-08-11 Siemens Ltd., China Robot hand-eye calibration method and apparatus, computing device, medium and product
US11679508B2 (en) * 2019-08-01 2023-06-20 Fanuc Corporation Robot device controller for controlling position of robot
JP7306937B2 (ja) * 2019-09-25 2023-07-11 ファナック株式会社 ロボットに支持された部材の位置を調整するロボット装置の制御装置
CN110861081B (zh) * 2019-10-14 2021-10-26 北京航空航天大学 一种欠约束索并联机器人末端执行器的自主定位方法
CN110936378B (zh) * 2019-12-04 2021-09-03 中科新松有限公司 一种基于增量补偿的机器人手眼关系自动标定方法
CN113878586B (zh) * 2021-11-04 2023-07-18 杭州景吾智能科技有限公司 机器人运动学标定装置、方法及系统
CN113927599B (zh) * 2021-11-05 2023-12-19 上海新时达电气股份有限公司 绝对精度补偿方法及系统、设备和计算机可读存储介质
DE102021213358A1 (de) 2021-11-26 2023-06-01 Physik Instrumente (PI) GmbH & Co KG Posenbestimmung bei Parallelkinematiken mit Referenzmarkern
CN115008476B (zh) * 2022-08-09 2022-12-13 广州数控设备有限公司 基于等效运动学模型的机器人标定方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011052386A1 (de) 2010-08-03 2012-02-09 Denso Wave Inc. Verfahren und Vorrichtung zum Kalibrieren einer Ursprungsposition eines Gelenkarmroboters
DE102013207899A1 (de) * 2013-04-30 2014-10-30 Kuka Laboratories Gmbh Fahrerloses Transportfahrzeug, System mit einem Rechner und einem fahrerlosen Transportfahrzeug, Verfahren zum Planen einer virtuellen Spur und Verfahren zum Betreiben eines fahrerlosen Transportfahrzeugs

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4753569A (en) * 1982-12-28 1988-06-28 Diffracto, Ltd. Robot calibration
US5297238A (en) * 1991-08-30 1994-03-22 Cimetrix Incorporated Robot end-effector terminal control frame (TCF) calibration method and device
FR2896441B1 (fr) * 2006-01-23 2009-07-03 Jerome Grosbois Procede et systeme permettant la prehension automatisee de piece(s)
DE102006048166A1 (de) * 2006-08-02 2008-02-07 Daimler Ag Verfahren zur Beobachtung einer Person in einem industriellen Umfeld
AT506865B1 (de) * 2008-05-20 2010-02-15 Siemens Vai Metals Tech Gmbh Vorrichtung zum verbessern von genauigkeitseigenschaften von handhabungsgeräten
US9393694B2 (en) * 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
US8744215B2 (en) * 2010-06-25 2014-06-03 American Android Corp. Methods and processes to aggregate multiple image feeds and dynamically select command reference frames
KR101913332B1 (ko) * 2011-12-23 2018-10-31 삼성전자주식회사 이동 장치 및 이동 장치의 위치 인식 방법
JP6415190B2 (ja) * 2014-09-03 2018-10-31 キヤノン株式会社 ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法
US9630319B2 (en) * 2015-03-18 2017-04-25 Irobot Corporation Localization and mapping using physical features
US10173324B2 (en) * 2015-11-16 2019-01-08 Abb Schweiz Ag Facilitating robot positioning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011052386A1 (de) 2010-08-03 2012-02-09 Denso Wave Inc. Verfahren und Vorrichtung zum Kalibrieren einer Ursprungsposition eines Gelenkarmroboters
DE102013207899A1 (de) * 2013-04-30 2014-10-30 Kuka Laboratories Gmbh Fahrerloses Transportfahrzeug, System mit einem Rechner und einem fahrerlosen Transportfahrzeug, Verfahren zum Planen einer virtuellen Spur und Verfahren zum Betreiben eines fahrerlosen Transportfahrzeugs

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Dokument „Denavit-Hartenberg-Transformation", erhältlich im Internet am 06.07.2016 unter https://de.wikipedia.org/wiki/Denavit-Hartenberg-Transformation
Dokument „Factor Graphs and GTSAM: A Hands-on Introduction", Georgia Institute of Technology, Center for Robotics and Intelligent Machines, CP&R Technical Report, 2012, erhältlich im Internet am 06.07.2016 unter http://hdl.handle.net/1853/45226
Dokument „Roboterkalibrierung", erhältlich im Internet am 05.07.2016 unter https://de.wikipedia.org/wiki/Roboterkalibrierung
Dokument „Scale-invariant feature transform", erhältlich im Internet am 06.07.2016 unter https://en.wikipedia.org/wiki/Scaleinvariant_feature_transform
S. Hutchinson, G. D. Hager, and P. I. Corke, "A tutorial on visual servo control", IEEE Transactions on Robotics and Automation, vol. 12, no. 5, pp. 651–670, 1996
S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics, MIT-Press, 2005, S. 65–71, 96–102, 309–317
VDI-Richtlinie 2860

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110625597A (zh) * 2019-09-27 2019-12-31 陈小龙 一种基于slam的机器人系统及其示教方法
CN110625597B (zh) * 2019-09-27 2021-01-01 陈小龙 一种基于slam的机器人系统及其示教方法
CN111872931A (zh) * 2020-07-31 2020-11-03 安徽巨一科技股份有限公司 一种机器人自动标定检测位置机构
CN111872931B (zh) * 2020-07-31 2021-08-13 安徽巨一科技股份有限公司 一种机器人自动标定检测位置机构
EP4108390A1 (de) * 2021-06-25 2022-12-28 Sick Ag Verfahren zum sicheren betrieb eines beweglichen maschinenteils

Also Published As

Publication number Publication date
WO2017207436A1 (de) 2017-12-07
DE102016212695A1 (de) 2017-11-30
WO2017207312A1 (de) 2017-12-07
EP3463766A1 (de) 2019-04-10
DE102016212695B4 (de) 2019-02-21
CN109153125A (zh) 2019-01-04
US20200298411A1 (en) 2020-09-24
CN109153125B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
DE102016212695B4 (de) Industrieroboter
DE102016011653B4 (de) Robotersystem mit Kamera zum Aufnehmen eines Bildes einer Zielmarke
DE112011101730B4 (de) System und Verfahren zur robusten Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE102013021917B4 (de) Robotersystemanzeigevorrichtung
DE19854011A1 (de) Einrichtung und Verfahren zum Vermessen von Mechanismen und ihrer Stellung
DE102016114337A1 (de) System und verfahren zum verknüpfen von koordinatenräumen maschinellen sehens in einer umgebung angeleiteten zusammenbaus
DE102005007536A1 (de) Verfahren zur Kalibrierung eines Messsystems
EP2983869A1 (de) Verfahren und anordnung zur korrektur von posenfehlern einer kinematik sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
DE112019000097B4 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102011014299A1 (de) Verfahren und Mittel zum Steuern einer Automatisierungseinrichtung, insbesodere eines Roboters
DE102019212452A1 (de) Interferenzvermeidungsvorrichtung und Robotersystem
DE102021109332B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle
DE102018113336A1 (de) Verfahren zum Verwenden mit einer Maschine zum Einstellen einer Erweiterte-Realität-Anzeigeumgebung
DE102013017007A1 (de) Roboter mit einem Endmanipulatorarm mit Endeffektor sowie Verfahren zur Bestimmung eines Kraft- und Drehmomenteintrages auf einen Endeffektor eines Roboters
WO2003035333A2 (de) 3d-koordinatenmesssystem
DE102021209178A1 (de) Verfahren und Vorrichtung zum Bestimmen von Relativposen und zur Kalibrierung bei einem Koordinatenmessgerät oder Roboter
EP4094897B1 (de) Hand-auge-kalibrierung von kamerageführten apparaturen
DE102019102927B4 (de) Verfahren und Vorrichtung zum Bestimmen von dimensionalen und/oder geometrischen Eigenschaften eines Messobjekts
DE102012022190A1 (de) Inverse Kinematik
EP3542233A1 (de) Vermessen einer bewegungsachse eines roboters
DE102020214300A1 (de) Vorrichtung und verfahren zum trainieren eines maschinellen lernmodells zum erkennen einer objekttopologie eines objekts aus einem bild des objekts
EP1915239B1 (de) Verfahren zum erzeugen eines umgebungsbildes
DE10118514B4 (de) Verfahren zur Arbeitspunktstabilisierung bei berührungsloser 3D- Positionserkennung eines zu vermessenden Objektes mittels Digitalkameras
DE102019131401B3 (de) Kalibrierung einer Impedanzregelung eines Robotermanipulators

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee