DE102007009851B3 - Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt - Google Patents

Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt Download PDF

Info

Publication number
DE102007009851B3
DE102007009851B3 DE102007009851A DE102007009851A DE102007009851B3 DE 102007009851 B3 DE102007009851 B3 DE 102007009851B3 DE 102007009851 A DE102007009851 A DE 102007009851A DE 102007009851 A DE102007009851 A DE 102007009851A DE 102007009851 B3 DE102007009851 B3 DE 102007009851B3
Authority
DE
Germany
Prior art keywords
model
industrial robot
relative
camera
images
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.)
Expired - Fee Related
Application number
DE102007009851A
Other languages
English (en)
Inventor
Johannes Kurth
Andreas Sedlmayr
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter GmbH
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 KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Priority to DE102007009851A priority Critical patent/DE102007009851B3/de
Priority to EP08708188A priority patent/EP2122424A2/de
Priority to US12/528,549 priority patent/US20110037839A1/en
Priority to PCT/EP2008/050849 priority patent/WO2008104426A2/de
Application granted granted Critical
Publication of DE102007009851B3 publication Critical patent/DE102007009851B3/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35506Camera images overlayed with graphics, model
    • 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/37Measurements
    • G05B2219/37572Camera, tv, vision
    • 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/39393Camera detects projected image, compare with reference image, position end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Die Erfindung betrifft Verfahren zum Bestimmen der Lage eines Industrieroboters (1, 81) relativ zu einem Objekt (M, 82) und entsprechend eingerichtete Industrieroboter (1, 81). Im Rahmen eines dieser Verfahren wird eine am Industrieroboter (1) befestigte 2-D-Kamera (17) in wenigstens zwei unterschiedliche Positionen bewegt, in jeder der Positionen ein Bild (20, 30) von einem bezüglich der Umgebung des Industrieroboters (1) unbeweglichen Objekt (M) erzeugt, die Bilder (20, 30) angezeigt, in die Bilder (20, 30) ein grafisches Modell (16) des Objekts (M) eingeblendet, Punkte (21A, 22A, 31A, 32A) des grafischen Modells (16) zu entsprechenden Punkten (21A, 21B, 31A, 31B) in den beiden Bildern (20, 30) manuell zugeordnet und die Lage des Industrieroboters (1) relativ zum Objekt (M) aufgrund der zugeordneten Punkte (21A, 22A, 31A, 32A) des Modells (16) zu den entsprechenden Punkten (21B, 22B, 31B, 32B) ermittelt.

Description

  • Die Erfindung betrifft Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt.
  • Die DE 102 49 786 A1 offenbart ein Verfahren zur Referenzierung eines Roboters zu einem Patienten, von dem zumindest aus zwei Positionen mit zumindest einer am Roboter befestigten Kamera jeweils ein Bild erstellt wird. Im Rahmen dieses Verfahrens wird ein Referenzpunkt des Patienten in einem der Bilder ausgewählt, eine Relation des ausgewählten Referenzpunktes im dreidimensionalen Raum über Positionsdaten des Referenzpunktes beider Bilder hergestellt und die Position des Roboters zum Patienten korreliert.
  • Um die Lage eines Industrieroboters relativ zu einem Objekt zu bestimmen, offenbart die WO 2004/071717 A1 eine Mehrzahl von Messpunkten auf der Oberfläche des Objekts zu registrieren und zu speichern, die Orientierung und die Position eines CAD-Modells des Objekts relativ zu einem Koordinatensystem des Industrieroboters durch Korrelation der Messpunkte in Bezug zum Modell zu bestimmen und für zumindest einige der Messpunkte und den entsprechenden Punkten im Modell eine sich ergebende Abweichung zu ermitteln. Für die Registrierung der Messpunkte fährt der Industrieroboter die Messpunkte mit einer Messspitze, die z.B. einen kontaktlosen Sensor umfasst, an.
  • Die DE 103 51 669 A1 offenbart für ein Verfahren zum Steuern eines Industrieroboters relativ zu einem Objekt ein zu erwartendes Bild des Objekts mit einem realen Bild des Objekts zu vergleichen.
  • Die EP 1 043 126 A2 offenbart eine an einem Roboter befestigte Kamera, die Bilder von einem Werkstück erstellt. Aufgrund der Bilder wird ein Modell des Werkstücks erzeugt.
  • Die US 2004/0199288 A1 offenbart ein Modell eines Werkstücks und ein Robotermodell, die mittels 2D-Bilddatensätze erzeugt wurden.
  • Eine Bestimmung der Lage eines Industrieroboters relativ zu einem Objekt basierend auf dem Registrieren der Messpunkte auf der Oberfläche des Objekts kann jedoch relativ schwierig sein, wenn z.B. benötigte Messpunkte relativ schwer oder eventuell auch gar nicht mit dem Industrieroboter erreicht werden können.
  • Die Aufgabe der vorliegenden Erfindung ist es daher, ein einfacheres Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt und einen entsprechenden Industrieroboter anzugeben.
  • Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt, aufweisend folgende Verfahrensschritte:
    • – Bewegen einer an einem Industrieroboter befestigten 2D Kamera mittels des Industrieroboters in wenigstens zwei unterschiedliche Positionen,
    • – in jeder der Positionen, Erzeugen eines einem Bild von einem Objekt zugeordneten zweidimensionalen Bilddatensatzes mittels der Kamera, wobei das Objekt bezüglich der Umgebung des Industrieroboters unbeweglich ist,
    • – Anzeigen der Bilder mittels einer Anzeigevorrichtung und Einblenden eines grafischen Modells in die angezeigten Bilder, wobei das grafische Modell zumindest ein Teilmo dell des Objekts ist und in Koordinaten relativ zu Koordinaten des Industrieroboters beschrieben ist,
    • – manuelles Zuordnen von Modellpunkten des grafischen Modells zu entsprechenden Bildpunkten in den Bildern und
    • – Ermitteln der Lage des Industrieroboters relativ zum Objekt aufgrund der zugeordneten Modellpunkte des Modells zu den entsprechenden Bildpunkten in den Bildern, der den Bildern zugeordneten Positionen der Kamera und der Position der Kamera relativ zum Industrieroboter.
  • Bei der Bearbeitung des Objekts, z.B. eines Werkstücks, mit dem Industrieroboter ist die Kenntnis der Lage des Objekts bezüglich des Industrieroboters, z.B. bezüglich dessen Fusspunktes notwendig. Die Lage des Industrieroboters relativ zum Objekt ist insbesondere dessen Position und Orientierung zum Industrieroboter.
  • Um diese Lage zu ermitteln, werden erfindungsgemäß jeweils Bilder des Objekts aus wenigstens zwei unterschiedlichen Positionen des Industrieroboters erzeugt, d.h. es werden wenigstens zwei unterschiedliche dem Objekt zugeordnete Bilddatensätze mittels der 2D-Kamera erzeugt. Die Bilder können das Objekt nur teilweise oder auch komplett abbilden. Des Weiteren können auch mehr als zwei Bilder vom Objekt mit der Kamera aus verschiedenen Positionen erzeugt werden. Durch die Verwendung lediglich einer 2D-Kamera, die z.B. ein CCD-Sensor oder eine digitale Kamera sein kann, kann das erfindungsgemäße Verfahren relativ preisgünstig durchgeführt werden.
  • Die 2D-Kamera ist am Industrieroboter, z.B. am Flansch oder einer Achse des Industrieroboters befestigt und wird demnach durch Bewegen des Industrieroboters, d.h. durch Bewegen seiner Achsen, in die wenigstens zwei Positionen gebracht.
  • Die Platzierung der Kamera am Industrieroboter ist bekannt, sodass aufgrund der Achsenstellungen der Achsen des Industrieroboters bei den Positionen die Koordinaten der Kamera bezüglich des Industrieroboters ebenfalls bekannt sind oder berechnet werden können.
  • Sind die Bilddatensätze erzeugt, werden die entsprechenden Bilder mit der Anzeigevorrichtung angezeigt und das grafische Modell vom Objekt in die Bilder eingeblendet. Dabei ist es möglich, dass zunächst lediglich eines der Bilder angezeigt und in dieses Bild das Modell eingeblendet wird. Es ist aber auch möglich, alle Bilder gleichzeitig anzuzeigen und in alle Bilder das Modell einzublenden.
  • Das grafische Modell kann, muss jedoch nicht notwendigerweise ein komplettes Modell des Objekts sein. Das Modell kann auch nur ein Teilmodell des Objekts sein.
  • Das Modell kann ferner ein sogenanntes grafisches Drahtgittermodell oder ein grafisches Teil-Drahtgittermodell des Objekts sein. Ein Drahtgittermodell, das im Englischen als "Wireframe" Modell bezeichnet wird, modelliert im CAD insbesondere dreidimensionale Objekte, wobei Oberflächen des Objekts im Drahtgittermodell als Linien dargestellt werden und es auch möglich ist, insbesondere nur Kanten zu visualisieren. Handelt es sich bei dem Drahtgittermodell lediglich um ein Teil-Drahtgittermodell, dann umfasst dieses z.B. lediglich einige dieser Linien und insbesondere besonders markante Linien, wie beispielsweise markante Kanten oder Ecken des Objekts.
  • Anschließend werden erfindungsgemäß manuell Modellpunkte des Modells zu entsprechenden Bildpunkten in den Bildern zugeordnet.
  • Des Weiteren brauchen nicht dieselben Modellpunkte des Modells in beiden Bildern entsprechenden Bildpunkten zugeordnet werden.
  • Die Zuordnung der Modell- und Bildpunkte kann z.B. mittels eines Zeigegerätes erfolgen, mit dem beispielsweise ein Eckpunkt des Draht- oder Teil-Drahtgittermodells ausgewählt wird. Die Auswahl erfolgt beispielsweise mittels der bei CAD Techniken bekannten "Objektfang" Methode. Das Zeigegerät ist beispielsweise eine Rechnermaus.
  • Ist der Modellpunkt im Modell ausgewählt, dann kann dieser mit dem Zeigegerät auf den korrespondierenden Bildpunkt in einem der Bilder manuell gezogen werden. Ein manuelles Betätigen hat den Vorteil, dass ein Mensch insbesondere in den Bildern abgebildete Eckpunkte beispielsweise anhand zulaufender Kanten oder Schattierungen relativ einfach erkennen kann. Die Möglichkeit der Vergrößerung eines den relevanten Bildpunkt umfassenden Bildausschnitts oder einer Hervorhebung von Bildkanten können die Genauigkeit der Zuordnung unterstützen, wodurch ein eventuell entstehender Fehler bei der Zuordnung verkleinert werden kann.
  • Die Zuordnung der Modell- und Bildpunkte kann auch mit einer sogenannten sechsdimensionalen Maus (Spacemouse) erfolgen. Eine Spacemouse ist ein Eingabegerät, mit dem sechs Freiheitsgrade gleichzeitig verändert werden können. Sie kann bei der Zuordnung der Modell- und Bildpunkte eingesetzt werden, um beispielsweise die Lage des eingeblendeten Modells relativ zum Bild des Objekts zu verschieben, bis eine gewünschte Überdeckung erzielt ist.
  • Für die Ermittlung der Lage des Objekts relativ zum Industrieroboter sind wenigstens vier verschiedene Bildpunkte notwendig, wenn der Industrieroboter sechs Freiheitsgrade hat und die Entfernungen zwischen der Kamera und dem Objekt an den beiden Positionen nicht bekannt sind, was in der Regel der Fall sein wird. Es ist jedoch notwendig, wenigstens zwei verschiedene Bildpunkte in wenigstens zwei Bildern dem Modell zuzuordnen, wobei es bevorzugt wird, eine gleiche Anzahl Bildpunkte pro Bild zu verwenden. Es können mehr als die mathematisch mindestens notwendige Anzahl von Punktezuordnungen vorgenommen werden. Teilt eine Bedienperson die geforderte Genauigkeit der zu ermittelnden relativen Lage des Objekts mit, so kann bei jeder weiteren Punktezuordnung überprüft und gemeldet werden, bis die geforderte Genauigkeit erfüllt werden kann.
  • Sind genügend Modell- und Bildpunkte zugeordnet, dann kann die Lage des Industrieroboters relativ zum Objekt ermittelt werden, da zudem die Positionen der Kamera und die Position der Kamera relativ zum Industrieroboter bekannt sind.
  • Bei einem Industrieroboter mit sechs Freiheitsgraden und bei Unkenntnis der Entfernung zwischen dem Objekt und der Kamera benötigt man, wie bereits erwähnt, zumindest vier zugeordnete Bildpunkte, die sich über die wenigstens zwei Bilder verteilen.
  • Die Lage des Objekts relativ zum Industrieroboter kann dann z.B. durch Lösen eines regulären oder überbestimmten Gleichungssystems mit vollem Rang erfolgen, mittels dessen eine so genannte 6 DOF ("6 degrees of freedom", sechs Freiheitsgrade) Transformation durchgeführt werden kann. Dann kann das Modell in den Bildern auch entsprechend der gelösten Transformation angezeigt werden.
  • Ist die Anzahl zugeordneter Punkte noch nicht ausreichend, dann kann das Modell derart in den Bildern positioniert werden, dass es zur Überdeckung an den zugeordneten Punkten kommt.
  • Die Transformation kann beispielsweise wie folgt erfolgen:
    Ein ausgewählter Bildpunkt Bi kann im zweidimensionalen Koordinatensystem der Kamera in homogener Koordinatenschreibweise wie folgt dargestellt werden:
    Figure 00080001
  • Der dazu korrespondierende Modellpunkt Pi im dreidimensionalen Koordinatensystem des Modells kann in homogener Koordinatenschreibweise wie folgt dargestellt werden:
    Figure 00080002
  • Die Transformationsmatrix für eine Transformation vom Koordinatensystem des Objekts zum Koordinatensystem des Bildes in der i-ten Position der Kamera lautet:
    Ti
  • Werden z.B. Bilder aus zwei Positionen aufgenommen, dann lautet die Transformationsmatrix für die Transformation vom Koordinatensystem des Objekts zum Koordinatensystem des Bildes in der 1. Position
    T1
    und die Transformationsmatrix für die Transformation vom Koordinatensystem des Objekts zum Koordinatensystem des Bildes in der 2. Position
    T2
  • Die Projektionsmatrix für die Projektion der Koordinaten des i-ten Bildpunkts auf die Koordinaten des Modells lautet z.B. wie folgt:
    Figure 00090001
    wobei di ein kamerapositionsabhängige Distanzparameter der Position der Kamera bei der i-ten Position ist. Der Distanzparameter di entspricht beispielsweise der Distanz zwischen dem Brennpunkt der Kamera und der Projektionsebene (Bildebene) der perspektivischen Projektion, wie es z.B. in James D. Foley et. al., "Computer Graphics Principles and Practice", Addison-Wesley Publishing Company, Reading, Massachusetts, 1992, S. 255 beschrieben ist.
  • Für die weitere Berechnung der Lage des Objekts zum Industrieroboter kann eine Normierung der homogenen Koordinate erfolgen, sodass der Distanzparameter di der Projektionsmatrix Proji den Wert "1" erhält. Dies lässt sich mathematisch wie folgt ausdrücken:
    Figure 00090002
    wobei k → der Vektor der vierten Zeile der Projektionsmatrix Proji ist und k4 dem Distanzparameter di entspricht.
  • Die Lage des Objekts zum Industrieroboter kann schließlich mittels Optimierung, insbesondere nichtlinearer Optimierung, wie beispielsweise Gauss Newton oder Levenberg Marquardt durchgeführt werden. Für die nichtlineare Optimierung kann z.B. folgende Zielfunktion f(x) aufgestellt werden:
    Figure 00100001
    mit dem Parametervektor x
  • Figure 00100002
  • Zusätzliche unbekannte Parameter sind die Distanzparameter di.
  • Nach einer Variante des erfindungsgemäßen Verfahrens weist dieses zusätzlich folgende Verfahrensschritte auf:
    • – manuelles Zuordnen eines ersten Modellpunktes der Modellpunkte des Modells zu einem entsprechenden ersten Bildpunkt eines der beiden Bilder,
    • – Verschieben des in den Bildern eingeblendeten Modells, sodass der erste Modellpunkt und der erste Bildpunkt sich decken,
    • – Verriegeln der beiden sich deckenden ersten Modell- und Bildpunkte,
    • – manuelles Zuordnen eines zweiten Modellpunktes der Modellpunkte des Modells zu einem entsprechenden zweiten Bildpunkt eines der beiden Bilder,
    • – Verschieben des in den Bildern eingeblendeten Modells, sodass der zweite Modellpunkt und der zweite Bildpunkt sich ebenfalls decken,
    • – Verriegeln der beiden sich deckenden zweiten Modell- und Bildpunkte und
    • – manuelles Zuordnen weiterer einzelner Modellpunkte des Modells zu entsprechenden Bildpunkten in den Bildern, bis die Lage des Industrieroboters relativ zum Objekt ermittelbar ist.
  • Gemäß dieser Variante des erfindungsgemäßen Verfahrens werden zunächst die beiden ersten Punkte zugeordnet und anschließend das im Bild angezeigte Modell insbesondere derart automatisch verschoben, dass sich die beiden ersten Punkte decken. Eine Verschiebung ist insbesondere eine translatorische Verschiebung, ein Kippen oder eine Drehung des eingeblendeten Modells. Auch wenn die manuelle Zuordnung nur in einem der Bilder erfolgt, kann eine insbesondere automatische Verschiebung des eingeblendeten Modells in allen Bildern erfolgen. Durch die Verschiebung kann auch eine Teillagebestimmung des Models erfolgen z.B. durch eine Teilberechnung der oben beschriebenen Transformation.
  • Nach dem Verschieben des Modells in dem Bild bzw. den Bildern werden die beiden sich deckenden Punkte verriegelt. Durch die Verriegelung wird insbesondere erreicht, dass das eingeblendete Modell im Bild höchstens noch um die verriegelten Punkte gedreht oder gekippt werden kann.
  • Anschließend wird das nächste Punktepaar, also ein Modellpunkt des angezeigten Modells und des entsprechenden Bildpunktes in einem der Bilder, ausgewählt und das eingeblendete Modell derart verschoben, dass sich auch dieses Punktepaar deckt. Dieses Punktepaar wird wiederum verriegelt. Auch hier kann es vorgesehen sein, das eingeblendete Modell in allen Bildern zu verschieben.
  • Das Zuordnen von Punktepaaren wird dann solange fortgesetzt, bis die Lage des Industrieroboters relativ zum Objekt ermittelbar ist. Dies ist z.B. dann möglich, wenn sich das eingeblendete Modell in allen Bildern des Objekts deckt.
  • Nach einer Ausführungsform des erfindungsgemäßen Verfahrens wird eine automatische Größenanpassung des eingeblendeten Modells aufgrund einer manuellen Zuordnung eines der Bildpunkte durchgeführt. Dies ist dann nötig, wenn sich die Größen des eingeblendeten Modells von den Größen des abgebildeten Objekts unterscheiden, was in der Regel der Fall sein wird.
  • Zusätzlich zur Zuordnung von Punkten können auch manuell Linien und/oder Flächen des Modells zu entsprechenden Linien bzw. Flächen in wenigstens einem der Bilder zugeordnet werden. Alternativ ist es auch möglich, anstelle von Punkten manuell Linien und/oder Flächen des Modells zu entsprechenden Linien bzw. Flächen in den Bildern zuzuordnen.
  • Im Gegensatz zur Punktezuordnung werden bei der Linienzuordnung andere Freiheitsgrade festgelegt (Rotation in Bildebene, Translation entlang Verschiebungsvektor). Bei der Punktezuordnung hingegen werden zwei Freiheitsgrade festgelegt (Translation in x und y der Bildkoordinaten)
  • Bei der Linienzuordnung können zwar nicht mehr Freiheitsgrade festgelegt werden, jedoch ist es je nach Form und Bild des Objekts, z.B. des Werkstücks manchmal günstiger, Linien zur Überdeckung zu bringen als einzelne Punkte.
  • Eine Line, z.B. eine Kante, kann z.B. im Modell, insbesondere im Drahtgittermodell oder im Teil-Drahtgittermodell, mit dem Zeigegerät unter Verwendung der aus der CAD Welt bekannten "Objektfang"-Methode ausgewählt werden. Die ausgewählte Kante kann dann auf die korrespondierende Kante im Bild gezogen werden. Die Kanten im Bild werden z.B. mit der Bilddatenverarbeitenden Methode "Kantenextraktion" identifiziert. Wird der Zeiger des Zeigegerätes in die Nähe einer solchen Kante gebracht, kann die aus der CAD-Welt bekannte "Snap-to-line" Funktion den Bediener unterstützen.
  • Gemäß einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens ist nicht die 2D-Kamera am Industrieroboter, sondern das Objekt am Industrieroboter befestigt. Die 2D-Kamera ist dann bezüglich eines Basiskoordinatensystems des Industrieroboters unbeweglich und das Objekt wird mittels des Industrieroboters in wenigstens zwei voneinander unterschiedliche Positionen bewegt. Die Lage des Industrieroboters relativ zum Objekt kann dann aufgrund der zugeordneten Modellpunkte des Modells zu den entsprechenden Bildpunkten in den Bildern, der den Bildern zugeordneten Positionen des Objekts und der Position der Kamera relativ zum Basiskoordinatensystem des Industrieroboters ermittelt werden. Alternativ kann auch die Lage des Flansches des Industrieroboters relativ zum Objekt ermittelt werden. Da die Lage des Flansches relativ zum Basiskoordinatensystem des Industrieroboters bekannt ist, kann über die relative Lage des Flansches zum Objekt die Lage des Industrieroboters relativ zum Objekt ermittelt werden.
  • Gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens ist das Objekt auf einer Tischplatte angeordnet, die bezüglich eines bezüglich der Umgebung des Industrieroboters unbeweglichen Bezugspunkt bewegbar ist. Die Kamera ist am Industrieroboter befestigt oder bezüglich eines Basiskoordinatensystems des Industrieroboters unbeweglich aufgestellt. Durch Bewegen des Industrieroboters oder der Tischplatte ergeben sich die beiden Positionen, für die die beiden zweidimensionalen Bilddatensätze erzeugt werden. Um die Lage des Objekts relativ zum Industrieroboter zu ermitteln, wird zunächst die Lage des Objekts relativ zur Tischplatte aufgrund der zugeordneten Modellpunkte des Modells zu den entsprechenden Bildpunkten in den Bildern, der den Bildern zugeordneten Positionen der Tischplatte relativ zum Industrieroboter und der Position der Kamera relativ zum Industrieroboter ermittelt.
  • Vorteile des erfindungsgemäßen Verfahrens können u.A. folgende sein:
    Intuitives, interaktives, flexibles, von der Form des Objekts relativ unabhängiges, halbautomatisches Einmessverfahren zur Lagebestimmung unter Verwendung einer einfachen 2D Kamera.
  • Das erfindungsgemäße Verfahren benötigt kein Einlernen von Objektfeatures, wie es bei konventionellen Bildverarbeitungslösungen notwendig ist. Dies ist vor allem bei der Kleinserienproduktion vieler unterschiedlicher Teile mit unverhältnismäßig großem Zeitaufwand verbunden.
  • Das erfindungsgemäße Verfahren nutzt das menschliche räumliche Vorstellungsvermögen über das einzumessende Objekt. Mit Hilfe einer graphischen Oberfläche zur Benutzerinteraktion kann der Bediener sein Wissen über die 3D-Geometrie des Objekts dem Algorithmus zur Berechnung der Transformation mitteilen.
  • Die Aufgabe der Erfindung wird auch gelöst durch einen Industrieroboter, aufweisend
    • – mehrere mittels Antriebe bewegbarer Achsen,
    • – eine Steuerungsvorrichtung zum Ansteuern der Antriebe,
    • – eine 2D-Kamera zum Erzeugen eines zweidimensionalen Bilddatensatz, wobei die Kamera am Industrieroboter derart befestigt ist, dass sie vom Industrieroboter bewegbar ist,
    • – ein in der Steuerungsvorrichtung gespeichertes grafisches Modell, das zumindest ein Teilmodell eines Objekts und in Koordinaten relativ zu Koordinaten des Industrieroboters beschrieben ist,
    • – eine Anzeigevorrichtung zum Anzeigen von mit der Kamera erzeugten Bilddatensätzen zugeordneten Bildern und zum Einblenden des Modells in die angezeigten Bilder und
    • – ein Eingabegerät zum manuellen Zuordnen von Punkten des grafischen Modells zu Punkten in den Bildern,
    wobei der Industrieroboter derart eingerichtet ist, dass mit ihm das erfindungsgemäße Verfahren durchführbar ist, um die Lage des Objekts relativ zum Industrieroboter zu bestimmen, wenn das Objekt bezüglich der Umgebung des Industrieroboters unbeweglich oder auf einer Tischplatte angeordnet ist, die bezüglich eines bezüglich der Umgebung des Industrieroboters unbeweglichen Bezugspunkts bewegbar ist.
  • Die Aufgabe der Erfindung wird auch gelöst durch einen Industrieroboter, aufweisend
    • – mehrere mittels Antriebe bewegbarer Achsen,
    • – eine Steuerungsvorrichtung zum Ansteuern der Antriebe,
    • – eine 2D-Kamera zum Erzeugen eines zweidimensionalen Bilddatensatz, wobei die Kamera bezüglich eines Basiskoordinatensystems des Industrieroboters unbeweglich ist;
    • – ein in der Steuerungsvorrichtung gespeichertes grafisches Modell, das zumindest ein Teilmodell eines Objekts und in Koordinaten relativ zu Koordinaten des Industrieroboters beschrieben ist,
    • – eine Anzeigevorrichtung zum Anzeigen von mit der Kamera erzeugten Bilddatensätzen zugeordneten Bildern und zum Einblenden des Modells in die angezeigten Bilder und
    • – ein Eingabegerät zum manuellen Zuordnen von Punkten des grafischen Modells zu Punkten in den Bildern,
    wobei der Industrieroboter derart eingerichtet ist, dass mit ihm das erfindungsgemäße Verfahren durchführbar ist, um die Lage des physikalischen Objekts relativ zum Industrieroboter zu bestimmen, wenn das physikalische Objekt am Industrieroboter befestigt und mittels diesem bewegbar ist.
  • Die Eingabevorrichtung ist beispielsweise ein Zeigegerät oder eine Spacemouse.
  • Ausführungsbeispiele der Erfindung sind exemplarisch in den beigefügten schematischen Zeichnungen dargestellt. Es zeigen:
  • 1 einen Industrieroboter und einen Motorblock,
  • 2, 3 Bilder des Motorblocks der 1
  • 4 ein Flussdiagramm,
  • 57 weitere Bilder des Motorblocks der 1 und
  • 810 weitere Industrieroboter.
  • Die 1 zeigt einen 6-Achs Industrieroboter 1 mit einer Kinematik für Bewegungen der sechs Freiheitsgrade und ein bezüglich der Umgebung des Industrieroboters 1 unbewegliches Objekt, das im Falle des vorliegenden Ausführungsbeispieles ein Motorblock M ist.
  • Der Industrieroboter 1 weist in allgemein bekannter Weise Gelenke 24, Hebel 56, sechs Bewegungsachsen A1–A6 und einen Flansch F auf. Jeder der Achsen A1–A6 wird von einem Antrieb bewegt.
  • Im Falle des vorliegenden Ausführungsbeispiels sind die Antriebe elektrische Antriebe, die jeweils einen elektrischen Motor 712 aufweisen. Dabei bewegt der Motor 7 die Achse A1, der Motor 8 die Achse A2, der Motor 9 die Achse A3 und die Motoren 1012 die Achsen A4–A6 über in der 1 nicht näher, dem Fachmann jedoch allgemein bekannte Getriebe.
  • Die elektrischen Antriebe bzw. die elektrischen Motoren 712 sind in nicht näher dargestellter Weise mit einem Steuerrechner 15 verbunden, auf dem ein geeignetes und dem Fachmann im Grundsatz bekanntes Rechnerprogramm läuft, das die Bewegungen des Industrieroboters 1 steuert. Der Begriff "Steuern" soll in diesem Zusammenhang auch eine Regelung umfassen.
  • Im Falle des vorliegenden Ausführungsbeispiels ist im Steuerrechner 15 ein in den 2 und 3 dargestelltes CAD (Computer Aided Design) Modell 16 des Motorblocks M gespeichert. Das Modell 16 wurde im Falle des vorliegenden Ausführungsbeispiels in allgemein bekannter Weise mittels eines CAD-Programms erstellt und kann von einer in den Figuren nicht näher dargestellten Person mittels eines mit dem Steuerrechner 15 verbundenen Monitors 14 betrachtet werden.
  • Im Falle des vorliegenden Ausführungsbeispieles handelt es sich bei dem Modell 16 um ein Teilmodell des Motorblocks M und speziell um ein Teil-Drahtgittermodell. Ein Drahtgittermodell, das im Englischen als "Wireframe"-Modell bezeichnet wird, modelliert im CAD insbesondere dreidimensionale Objek te, wie im Falle des vorliegenden Ausführungsbeispiels den Motorblock M. Dabei werden Oberflächen des Objekts im Drahtgittermodell als Linien dargestellt, wobei im vorliegenden Ausführungsbeispiel nur einige Ecken und Kanten des Motorblocks M mittels des Modells 16 modelliert sind.
  • Für die Bearbeitung des Motorblocks M mittels des Industrieroboters 1 muss der Industrieroboter 1 bezüglich des Motorblocks M eingemessen werden, so dass das Koordinatensystem des Modells 16 in Bezug auf das Koordinatensystem des Motorblocks M übereinstimmt, d.h. dass die Lage des Motorblocks M relativ zum Industrieroboter 1 ermittelt wird.
  • Die Bestimmung der Lage des Motorblocks M bezüglich des Industrieroboters 1 wird mittels eines in der 4 dargestellten Flussdiagramms veranschaulicht.
  • Im Falle des vorliegenden Ausführungsbeispieles ist am Flansch F des Industrieroboters 1 eine in nicht dargestellter Weise mit dem Steuerrechner 15 verbundene 2D-Kamera 17 befestigt. Die 2D-Kamera 17 ist beispielsweise ein CCD-Sensor oder eine allgemein bekannte digitale Kamera. Die Position der Kamera 17 am Industrieroboter 1 ist bekannt.
  • Zweck der Kamera 17 ist es, wenigstens zwei 2D-Bilder des Motorblocks M aus zwei verschiedenen Positionen zu erzeugen. Die wenigstens zwei Positionen werden dadurch realisiert, dass der Industrieroboter 1 die Kamera 17 in die beiden unterschiedlichen Positionen bewegt, in dem dessen Achsen A1–A6 in allgemein bekannter Weise bewegt werden, Schritt S1 des Flussdiagramms der 4.
  • Befindet sich die Kamera 17 in der jeweiligen Position, dann erzeugt sie jeweils einen Bilddatensatz, deren zugeordnete Bilder 20, 30 in den 2 und 3 dargestellt sind, Schritt S2 des Flussdiagramms. Die Bilder 20, 30 sind Bilder des Motorblocks M, wobei im Falle des vorliegenden Ausführungsbeispiels im Wesentlichen der gesamte Motorblock M in jedem der Bilder 20, 30 abgebildet ist. Dies ist jedoch nicht zwingend notwendig; in wenigstens einem der Bilder kann auch nur ein Teil des Motorblocks M abgebildet sein.
  • Nachdem die Bilder 20, 30 erzeugt sind, werden sie im Falle des vorliegenden Ausführungsbeispiels gleichzeitig am Monitor 14 angezeigt. Gleichzeitig wird in jedes der Bilder 20, 30 das Modell 16 eingeblendet, Schritt S3 des Flussdiagramms.
  • Anschließend wählt eine in den Figuren nicht dargestellte Person mittels einer Eingabevorrichtung des Steuerrechners 15 einen Punkt 21A des Modells 16 aus, Schritt S4 des Flussdiagramms.
  • Im Falle des vorliegenden Ausführungsbeispieles handelt es sich bei der Eingabevorrichtung um ein Zeigegerät in Form einer Rechnermaus 13 und der Punkt 21A des Modells 16 stellt eine Kante des Motorblocks M dar. Im Falle des vorliegenden Ausführungsbeispiels wird der Punkt 21A mit der aus der Computergrafik bekannten so genannten "Objektfang"-Methode ausgewählt. Anschließend wählt die Person den zum Punkt 21A korrespondierenden Punkt 21B im ersten Bild 20 des Motorblocks M aus.
  • Im Falle des vorliegenden Ausführungsbeispieles bewegt nach der Zuordnung des die Punkte 21A, 21B umfassenden Punktepaares ein auf dem Steuerrechner 15 laufendes Rechnerprogramm automatisch das in die Bilder 20, 30 eingeblendete Modell 16 derart, dass sich die Punkte 21A, 21B in beiden Bildern 20, 30 überdecken, was mit einem Pfeil A angedeutet ist. An schließend werden die sich überdeckenden Punkte 21A, 21B verriegelt, Schritt S5 des Flussdiagramms.
  • Aufgrund der Zuordnung des die Punkte 21A, 21B umfassenden Punktepaars und der Bewegung des Modells 16 in den Bildern 20, 30 derart, dass sich die beiden Punkte 21A, 21B überdecken, ergibt sich bereits eine Teilberechnung zur Bestimmung der Lage des Motorblocks M relativ zum Industrieroboter 1.
  • Anschließend wählt die Person einen weiteren Punkt 22A des Modells 16 und ein dem ausgewählten Punkt 22A des Modells 16 korrespondierenden Punkt 22A im ersten Bild 20 aus. Daraufhin bewegt wieder automatisch das auf dem Steuerrechner 15 laufende Rechnerprogramm das in die Bilder 20, 30 eingeblendete Modell 16 derart, dass sich die Punkte 22A, 22B in beiden Bildern 20, 30 überdecken, was mit einem Pfeil B angedeutet ist. Somit ist nun das in die Bilder 20, 30 eingeblendete Modell 16 derart verschoben, dass sich die Punkte 21A und 21B und die Punkte 22A und 22B überdecken und auch verriegelt sind, Schritt S6 des Flussdiagramms.
  • Anschließend wählt die Person im zweiten Bild 30 weitere korrespondierende Punkte 31A, 31B und 32A, 32B aus. Daraufhin bewegt wieder das auf dem Steuerrechner 15 laufende Rechnerprogramm das in die Figuren 20, 30 eingeblendete Modell 16 derart, dass sich auch das die Punkten 31A und 31B umfassende Punktepaare und das die Punkte 32A und 32B umfassendes Punktepaar überdecken, was mit Pfeilen C, D angedeutet ist.
  • Des Weiteren ist im Falle des vorliegenden Ausführungsbeispiels das auf dem Steuerrechner 15 laufende Rechnerprogramm derart ausgelegt, dass es automatisch die Größe des in die Bilder 20, 30 eingeblendeten Modells 16 anpasst, wenn dies aufgrund einer Zuordnung eines Punktepaares not wendig ist, damit die ausgewählten Punktepaare sich überdecken können.
  • Wenn genügend Punktepaare zugeordnet sind, sodass das Modell 16 deckungsgleich mit den Bildern 20, 30 des Motorblocks M ist, ist es möglich, die Lage des Motorblocks M bezüglich des Industrieroboters 1 zu bestimmen, Schritt S7 des Flussdiagramms.
  • Die Berechnung der Lage erfolgt im Falle des vorliegenden Ausführungsbeispieles wie folgt:
    Im Falle des vorliegenden Ausführungsbeispiels hat der Industrieroboter 1 sechs Freiheitsgrade. Außerdem sind die jeweiligen Entfernungen zwischen der Kamera 17 und dem Motorblock M bei den beiden Positionen unbekannt. Demnach müssen für die Berechnung der Lage des Motorblocks M relativ zum Industrieroboter 1 wenigstens vier verschiedene Punktepaare in den beiden Bildern 20, 30 zugeordnet werden.
  • Die Lage kann dann z.B. durch Lösen eines regulären, wenn genau vier unterschiedliche (Bild-)Punktepaare vorliegen, oder überbestimmten Gleichungssystems, wenn mehr als vier unterschiedliche Punktepaare vorliegen, mit vollem Rang erfolgen, mittels dessen eine so genannte 6 DOF ("6 degrees of freedom", sechs Freiheitsgrade) Transformation durchgeführt werden kann.
  • Die Transformation kann beispielsweise wie folgt erfolgen:
    Ein ausgewählter Bildpunkt Bi kann im zweidimensionalen Koordinatensystem der Kamera 17 in homogener Koordinatenschreibweise wie folgt dargestellt werden:
    Figure 00220001
  • Der dazu korrespondierende Modellpunkt Pi im dreidimensionalen Koordinatensystem des Modells 16 kann in homogener Koordinatenschreibweise wie folgt dargestellt werden:
    Figure 00220002
  • Die Transformationsmatrix für eine Transformation vom Koordinatensystem des Motorblocks M zum Koordinatensystem des ersten Bildes 20 in der ersten Position der Kamera 17 lautet:
    T1
    und des zweiten Bildes 30 in der zweiten Position der Kamera 17 lautet:
    T2
  • Die Projektionsmatrix für die Projektion der Koordinaten des i-ten Bildpunkts auf die Koordinaten des Modells 16 lautet z.B. wie folgt:
    Figure 00220003
    wobei di ein Kamerapositionsabhängige Distanzparameter der Position der Kamera 17 bei der i-ten Position ist, d.h. d1 ist der der Entfernung zwischen der Kamera 17 und dem Motorblock M zugeordnete Distanzparameter in der ersten Position und d2 ist der der Entfernung zwischen der Kamera 17 und dem Motorblock M zugeordnete Distanzparameter in der zweiten Position. Der Distanzparameter di entspricht beispielsweise der Distanz zwischen dem Brennpunkt der Kamera 17 und der Projektionsebene (Bildebene) der perspektivischen Projektion.
  • Für die weitere Berechnung der Lage des Motorblocks M relativ zum Industrieroboter 1 erfolgt im Falle des vorliegenden Ausführungsbeispiels eine Normierung der homogenen Koordinate, sodass der Distanzparameter di der Projektionsmatrix Pro- ji den Wert "1" erhält. Dies lässt sich mathematisch wie folgt ausdrücken:
    Figure 00230001
    wobei k → der Vektor der vierten Zeile der Projektionsmatrix Proji ist und k4 dem Distanzparameter di entspricht.
  • Die Lage des Motorblocks M relativ zum Industrieroboter 1 wird im Falle des vorliegenden Ausführungsbeispiels schließlich mittels Optimierung, insbesondere nichtlinearer Optimierung, wie beispielsweise Gauss Newton oder Levenberg Marquardt durchgeführt. Für die nichtlineare Optimierung wird z.B. folgende Zielfunktion f(x) aufgestellt:
    Figure 00230002
    mit dem Parametervektor x
    Figure 00240001
  • Zusätzliche unbekannte Parameter sind die Distanzparameter di.
  • Im beschrieben Ausführungsbeispiel wurden genau zwei Bilder 20, 30 vom Motorblock M, also von einem Objekt erzeugt. Dies ist nicht unbedingt nötig; es können auch mehr als zwei Bilder vom Objekt erzeugt werden.
  • Als Eingabegerät wurde ein Zeigegerät in Form der Rechnermaus 13 verwendet. Für das Zuordnen der Punkte 21A, 21B, der Punkte 22A, 22B, der Punkte 31A, 31B und der Punkte 32A, 32B können auch andere Eingabevorrichtungen verwendet werden, wie beispielsweise eine Spacemouse.
  • Anstelle oder zusätzlich einer Zuordnung von Punkten können Linien oder Flächen des Modells 16 zu entsprechenden Linien bzw. Flächen in den Bildern vom Objekt zugeordnet werden.
  • Die 5 und 6 zeigen als Beispiel zwei mittels der Kamera 17 aus den beiden Positionen aufgenommene Bilder 50, 60, in die wiederum ein Modell 16a des Motorblocks M eingeblendet ist. Das Bild 50 entspricht dabei dem Bild 20 und das Bild 60 entspricht dabei dem Bild 30. Das Modell 16a ist ebenfalls ein Teil-Drahtgittermodell des Motorblocks M und unterscheidet sich im Falle des vorliegenden Ausführungsbeispiels geringfügig vom Modell 16 der 2 und 3.
  • Im Falle des vorliegenden Ausführungsbeispiels wählt die Person mit der Rechnermaus 13 im Modell 16a nicht individuelle Punkte 21A, 22A, 31A, 31A, sondern Linien 51A und 52A im ersten Bild 50 und eine Linie 61A im zweiten Bild 60 aus. Die Linien 51A, 52B und 61A entsprechen im Falle des vorliegenden Ausführungsbeispiels Kanten 51B, 52B und 61B des Motorblocks M, die die Person in den Bildern 50, 60 auswählt.
  • Um die Kanten 51B, 52B und 61B in den Bildern 50, 60 verbessert sichtbar zu machen, ist es im Falle des vorliegenden Ausführungsbeispiels vorgesehen, in den Bildern 50, 60 abgebildete Kanten mittels eines Bildverarbeitungs-Algorithmus hervorzuheben. Geeignete Bildverarbeitungs-Algorithmen sind z.B. Kantenextraktion oder Sobel Operator. Erkannte Kanten können auch in geradlinige Abschnitte unterteilt werden.
  • Im Falle des vorliegenden Ausführungsbeispiel wird eine relevante Line 51A, 52B und 61A im Modell 16a mit der Rechnermaus 13 unter Verwendung der aus der CAD Welt bekannten "Objektfang"-Methode ausgewählt. Die ausgewählte Line 51A, 52B, 61A, 62A und 63A wird dann auf die korrespondierende Kanten 51B, 52B und 61B in den Bildern 50, 60 gezogen. Die Kante 51B, 52B und 61B in den Bildern 50, 60 werden z.B. mit der Bilddatenverarbeitenden Methode "Kantenextraktion" identifiziert. Wird ein mittels der Rechnermaus 13 bewegter Zeiger in die Nähe einer solchen Kante gebracht, dann kann die aus der CAD-Welt bekannte "Snap-to-line" Funktion die Person unterstützen.
  • Im Gegensatz zur Punktezuordnung werden bei der Linienzuordnung andere Freiheitsgrade festgelegt (Rotation in Bildebene, Translation entlang Verschiebungsvektor).
  • Bei der Linienzuordnung können zwar nicht mehr Freiheitsgrade festgelegt werden, jedoch ist es je nach Form und Bild des Objekts manchmal günstiger, Linien zur Überdeckung zu bringen als einzelne Punkte.
  • Die 7 zeigt ein weiteres Bild 70 vom Motorblock M und ein Modell 16b vom Motorblock M. Im Falle des vorliegenden Ausführungsbeispiels ist das Modell 16b ein Teilmodell des Motorblocks M und zeigt insbesondere Flächen 71A, 72A, die Flächen 71B und 72B des Motorblocks M zugeordnet sind. Bei den Flächen 71B und 72B des Motorblocks M handelt es sich im Falle des vorliegenden Ausführungsbeispiels um Aussparungen des Motorblocks M.
  • Für das in der 7 gezeigte Ausführungsbeispiel werden für die Berechnung der Lage des Motorblocks M relativ zum Industrieroboter 1 die Flächen 71A, 72A in Deckung mit den entsprechenden im Bild 70 gezeigten Flächen 71B und 72B gebracht.
  • In den bis jetzt beschriebenen Ausführungsbeispielen ist die Kamera 17 am Flansch F des Industrieroboters 1 befestigt. Die Kamera 17 kann aber auch an einer der Achsen A1–A6 befestigt sein, solange sie durch den Industrieroboter 1 bewegt wird.
  • Die 8 zeigt einen weiteren Industrieroboter 81. Wenn nicht ausdrücklich erwähnt, dann sind funktionsgleiche Bauteile des in der 1 gezeigten Industrieroboters 1 mit denselben Bezugszeichnen versehen wie Bauteile des in der 8 gezeigten Industrieroboters 81.
  • Die beiden Industrieroboter 1 und 81 sind im Wesentlichen identisch. Anstelle der Kamera 17 ist jedoch am Flansch F des Industrieroboters 81 ein Objekt 82 befestigt, dessen Lage, insbesondere dessen Orientierung relativ zum Industrieroboter 81 ermittelt werden soll. Um dies zu erreichen, ist im Falle des vorliegenden Ausführungsbeispiels eine Kamera 83 am Boden, z.B. auf einem Stativ 84 unbeweglich bezüglich der Umgebung des Industrieroboters 81 aufgestellt und in nicht dargestellter Weise mit dem Steuerrechner 15 des Industrieroboters 81 verbunden.
  • Anschließend wird das Objekt 81 mittels des Industrieroboters 81 in wenigstens zwei unterschiedliche Positionen gebracht und für jede Position ein 2D-Bild des Objekts 81 erzeugt. Die Bilder werden anschließend auf dem Monitor 14 dargestellt. Außerdem wird ein Modell des Objekts 82 in die Bilder eingeblendet und anschließend wie für die ersten Ausführungsbeispiele die Lage des Objekts 82 relativ zum Industrieroboter 81 berechnet.
  • Die 9 zeigt nochmals den Industrieroboter 1. Im Unterschied zum in der 1 dargestellten Szenario liegt in dem in der 9 dargestellten Szenario der Motorblock M auf einer Tischplatte P eines Tisches 90.
  • Im Falle des vorliegenden Ausführungsbeispiels ist der Tischfuss 91 des Tisches 90 bezüglich einer Achse 92 mittels eines nicht näher dargestellten Motors schwenkbar. Der Motor des Tisches 90 ist in nicht dargestellter Weise mit dem Steuerrechner 15 verbunden und wird auch von diesem angesteuert, sodass die Stellung der Tischplatte P relativ zum Tischfuss 91 bekannt ist. Des Weitern ist die Lage des Tisches 90 bzw. dessen Tischfusses 91 relativ zum Industrieroboter 1 bekannt. Eine Information über diese Lage ist im Steuerrechner 15 gespeichert.
  • Im Falle des vorliegenden Ausführungsbeispiels ist zunächst die Lage des Motorblocks M auf der Tischplatte P unbekannt, da der Motorblock M im Wesentlichen beliebig auf der Tischplatte P abgelegt wurde. Um die Lage des Motorblocks M rela tiv zum Industrieroboter 1 zu bestimmen, wird zunächst die Lage des Motorblocks M relativ zur Tischplatte P bestimmt. Ist diese ermittelt, dann kann auch die Lage des Motorblocks M relativ zum Industrieroboter 1 ermittelt, da die Stellung der Tischplatte P relativ zum Tischfuss 91 und die Lage des Tischfusses 91 relativ zum Industrieroboter 1 bekannt sind.
  • Um die Lage des Motorblocks M relativ zur Tischplatte P zu ermitteln, werden mit der Kamera 17 aus zwei verschiedenen Positionen Bilder aufgenommen. Die beiden Positionen ergeben sich durch eine Bewegung des Industrieroboters 1 bzw. dessen Flansches F und/oder durch ein Schwenken der Tischplatte P bezüglich der Achse 92.
  • Anschließend wird in den aufgenommenen Bildern das Modell 16 des Motorblocks M eingeblendet und Punkte des Modells 16 Punkten des Bildes des Motorblocks M zugeordnet. Aufgrund dieser Zuordnung, die analog zur Zuordnung der in den 2 und 3 gezeigten Punktepaare durchgeführt wird, kann anschließend die Lage des Motorblocks M relativ zur Tischplatte P berechnet werden. Diese Berechnung wird analog zur Berechnung der Lage des Motorblocks M relativ zum Industrieroboter 1 gemäß dem in der 1 gezeigten Szenario durchgeführt.
  • Alternativ kann die Kamera auch ähnlich dem in der 8 dargestellten Szenario auf einem Stativ 84 ortfest montiert sein. Ein solches Szenario ist in der 10 gezeigt, in der die Kamera das Bezugszeichen 83 hat. Durch Schwenken der Tischplatte P um die Achse 92 können zwei verschiedene Positionen eingestellt werden, für die die Kamera 83 Bilder vom Motorblock M aufnimmt. Anschließend kann die Lage des Motorblocks M relativ zur Tischplatte P gemäß dem in der 9 gezeigten Szenario ermittelt werden.

Claims (11)

  1. Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt, aufweisend folgende Verfahrensschritte: – Bewegen einer an einem Industrieroboter (1) befestigten 2D Kamera (17) mittels des Industrieroboters (1) in wenigstens zwei unterschiedliche Positionen, – in jeder der Positionen Erzeugen eines einem Bild (20, 30, 50, 60, 70) von einem Objekt (M) zugeordneten zweidimensionalen Bilddatensatzes mittels der Kamera (17), wobei das Objekt (M) bezüglich der Umgebung des Industrieroboters (1) unbeweglich ist, – Anzeigen der Bilder (20, 30, 50, 60, 70) mittels einer Anzeigevorrichtung (14) und Einblenden eines grafischen Modells (16, 16a, 16b) in die angezeigten Bilder (20, 30, 50, 60, 70), wobei das grafische Modell (16, 16a, 16b) zumindest ein Teilmodell des Objekts (M) ist und in Koordinaten relativ zu Koordinaten des Industrieroboters (1) beschrieben ist, – manuelles Zuordnen von Modellpunkten (21A, 22A, 31A, 32A) des grafischen Modells (16) zu entsprechenden Bildpunkten (21B, 22B, 31B, 32B) in den Bildern (20, 30) und – Ermitteln der Lage des Industrieroboters (1) relativ zum Objekt (M) aufgrund der zugeordneten Modellpunkte (21A, 22A, 31A, 32A) des Modells (16) zu den entsprechenden Bildpunkten (21B, 22B, 31B, 32B) in den Bildern (20, 30), der den Bildern (20, 30) zugeordneten Positionen der Kamera (17) und der Position der Kamera (17) relativ zum Industrieroboter (1).
  2. Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt, aufweisend folgende Verfahrensschritte: – Erzeugen jeweils eines zweidimensionalen Bilddatensatzes mit einer 2D Kamera (17, 83) für zwei unterschiedliche Positionen, wobei den Bilddatensätzen Bildern eines Objekts (M) zugeordnet, das Objekt (M) auf einer Tischplatte (P) angeordnet ist, die bezüglich eines bezüglich der Umgebung eines Industrieroboters (1) unbeweglichen Bezugspunktes bewegbar ist, und die Kamera (17, 83) am Industrieroboter (1) befestigt oder bezüglich eines Basiskoordinatensystems des Industrieroboters (1) unbeweglich ist, wobei die Tischplatte (P) und/oder der Industrieroboter (1) für die beiden Positionen bewegt werden, – Anzeigen der Bilder mittels einer Anzeigevorrichtung (14) und Einblenden eines grafischen Modells in die angezeigten Bilder, wobei das grafische Modell zumindest ein Teilmodell des Objekts (M) ist und in Koordinaten relativ zu Koordinaten des Industrieroboters (1) beschrieben ist, – manuelles Zuordnen von Modellpunkten des grafischen Modells zu entsprechenden Bildpunkten in den beiden Bildern, – Ermitteln der Lage des Objekts (M) relativ zur Tischplatte (P) aufgrund der zugeordneten Modellpunkte des Modells zu den entsprechenden Bildpunkten in den Bildern, der Lage des Bezugspunktes der Tischplatte (P) relativ zum Industrieroboter (1) und der Position der Kamera (17, 83) relativ zum Industrieroboter (1) und – Ermitteln der Lage des Industrieroboters (1) relativ zum Objekt (M) aufgrund der Lage des Objekts relativ zur Tischplatte.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die Kamera (17) an einem Flansch (F) oder an einer Achse (A1–A6) des Industrieroboters (1) befestigt ist.
  4. Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt, aufweisend folgende Verfahrensschritte: – Bewegen eines an einem Industrieroboter (81) befestigten Objekts (82) mittels des Industrieroboters (81) in wenigstens zwei unterschiedliche Positionen, – in jeder der Positionen Erzeugen eines einem Bild vom Objekt (82) zugeordneten zweidimensionalen Bilddatensatzes mittels einer 2D-Kamera (83), die bezüglich eines Basiskoordinatensystems des Industrieroboters (81) unbeweglich ist, – Anzeigen der Bilder mittels einer Anzeigevorrichtung (14) und Einblenden eines grafischen Modells in die angezeigten Bilder, wobei das grafische Modell zumindest ein Teilmodell des Objekts (82) ist und in Koordinaten relativ zu Koordinaten des Industrieroboters (81) beschrieben ist, – manuelles Zuordnen von Modellpunkten des grafischen Modells zu entsprechenden Bildpunkten in den Bildern und – Ermitteln der Lage eines Flansches (F) des Industrieroboters (1) relativ zum Objekt (82) oder der Lage der 2D Kamera (83) relativ zum Industrieroboter (81) aufgrund der zugeordneten Punkte des Modells zu den entsprechenden Punkten in den Bildern, der den Bildern zugeordneten Positionen des Objekts (82) und der Position der 2D Kamera (83) relativ zum Basiskoordinatensystem des Industrieroboters (81).
  5. Verfahren nach Anspruch 4, bei dem das Objekt (82) am Flansch (F) des Industrieroboters (81) befestigt ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, aufweisend: – manuelles Zuordnen eines ersten Modellpunktes (21A) der Modellpunkte des Modells (16) zu einem entsprechenden ersten Bildpunkt (21B) eines der Bilder (20), – Verschieben des in den Bildern (20, 30) eingeblendeten Modells (16), sodass der erste Modellpunkt (21A) und der erste Bildpunkt (21B) sich decken, – Verriegeln der beiden sich deckenden ersten Modell- und Bildpunkte (21A, 213), – manuelles Zuordnen eines zweiten Modellpunktes (22A) der Modellpunkte des Modells (16) zu einem entsprechenden zweiten Bildpunkt (22B) eines der Bilder (20), – Verschieben des in den Bildern (20, 30) eingeblendeten Modells (16), sodass der zweite Modellpunkt (22A) und der zweite Bildpunkt (22B) sich ebenfalls decken, – Verriegeln der beiden sich deckenden zweiten Modell- und Bildpunkte (22A, 22B) und – manuelles Zuordnen weiterer einzelner Modellpunkte (31A, 32A) des Modells (16) zu entsprechenden Bildpunkten (31B, 32B) in den Bildern (30), bis die Lage des Industrieroboters (1) relativ zum Objekt (M) ermittelbar ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, ferner aufweisend eine automatische Größenanpassung des eingeblendeten Modells (16) aufgrund einer manuellen Zuordnung von wenigstens zwei verschiedenen Modellpunkten.
  8. Verfahren nach einem der Ansprüche 1 bis 7, aufweisend – manuelles Zuordnen von Linien (51A, 52A, 61A) und/oder Flächen (71A, 72A) des Modells (16a, 16b) zu entsprechenden Linien (51B, 52B, 61B) bzw. Flächen (71B, 72B) in wenigstens einem der Bilder (50, 60, 70) oder – manuelles Zuordnen von Linien (51A, 52A, 61A) und/oder Flächen (71A, 72A) des Modells (16a, 16b) zu entsprechenden Linien (51B, 52B, 61B) bzw. Flächen (71B, 72B) in den Bildern (50, 60, 70) anstelle der Bild- und Modellpunkte.
  9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem das Modell (16, 16a) ein grafisches Drahtgittermodell oder ein grafisches Teil-Drahtgittermodell des Objekts (M) ist.
  10. Industrieroboter, aufweisend – mehrere mittels Antriebe (712) bewegbarer Achsen (A1–A6), – eine Steuerungsvorrichtung (15) zum Ansteuern der Antriebe (712), – eine 2D-Kamera (17) zum Erzeugen eines zweidimensionalen Bilddatensatz, wobei die 2D-Kamera (17) am Industrieroboter (1) derart befestigt ist, dass sie vom Industrieroboter (1) bewegbar ist, – ein in der Steuerungsvorrichtung (15) gespeichertes grafisches Modell (16, 16a, 16b), das zumindest ein Teilmodell eines Objekts (M) und in Koordinaten relativ zu Koordinaten des Industrieroboters (1) beschrieben ist, – eine Anzeigevorrichtung (16) zum Anzeigen von mit der 2D-Kamera (17) erzeugten Bilddatensätzen zugeordneten Bildern (20, 30, 50, 70, 60) und zum Einblenden des Modells (16, 16a, 16b) in die angezeigten Bilder (20, 30, 50, 60, 70) und – ein Eingabegerät (13) zum manuellen Zuordnen von Punkten (21A, 22A, 31A, 32A) des grafischen Modells (16, 16a, 16b) zu Punkten (21B, 22B, 31B, 32B) in den Bildern (20, 30), wobei der Industrieroboter (1) derart eingerichtet ist, dass mit ihm das Verfahren nach einem der Ansprüche 1 bis 3 oder 6 bis 9 durchführbar ist, um die Lage des Objekts (M) relativ zum Industrieroboter (1) zu bestimmen, wenn das Objekt (M) bezüglich der Umgebung des Industrieroboters (1) unbeweglich oder auf einer Tischplatte (P) angeordnet ist, die bezüglich eines bezüglich der Umgebung eines Industrieroboters (1) unbeweglichen Bezugspunkts bewegbar ist.
  11. Industrieroboter, aufweisend – mehrere mittels Antriebe (712) bewegbarer Achsen (A1–A6), – eine Steuerungsvorrichtung (15) zum Ansteuern der Antriebe (712), – eine 2D-Kamera (83) zum Erzeugen eines zweidimensionalen Bilddatensatz, wobei die 2D-Kamera (83) bezüglich eines Basiskoordinatensystems des Industrieroboters (81) unbeweglich ist; – ein in der Steuerungsvorrichtung (15) gespeichertes grafisches Modell, das zumindest ein Teilmodell eines Objekts (82) und in Koordinaten relativ zu Koordinaten des Industrieroboters (81) beschrieben ist, – eine Anzeigevorrichtung (14) zum Anzeigen von mit der 2D-Kamera (83) erzeugten Bilddatensätzen zugeordneten Bildern und zum Einblenden des Modells in die angezeigten Bilder und – ein Eingabegerät (13) zum manuellen Zuordnen von Punkten des grafischen Modells zu Punkten in den Bildern, wobei der Industrieroboter (81) derart eingerichtet ist, dass mit ihm das Verfahren nach einem der Ansprüche 4 bis 9 durchführbar ist, um die Lage des physikalischen Objekts (82) relativ zum Industrieroboter (81) zu bestimmen, wenn das physikalische Objekt (82) am Industrieroboter (81) befestigt und mittels diesem in wenigstens zwei unterschiedliche Positionen, in denen jeweils ein einem Bild vom Objekt (82) zugeordneter zweidimensionaler Bilddatensatzes mittels der 2D-Kamera (83) erzeugt wird, bewegbar ist.
DE102007009851A 2007-02-28 2007-02-28 Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt Expired - Fee Related DE102007009851B3 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102007009851A DE102007009851B3 (de) 2007-02-28 2007-02-28 Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt
EP08708188A EP2122424A2 (de) 2007-02-28 2008-01-25 Industrieroboter und verfahren zum bestimmen der lage eines industrieroboters relativ zu einem objekt
US12/528,549 US20110037839A1 (en) 2007-02-28 2008-01-25 Industrial robot, and methods for determining the position of an industrial robot relative to an object
PCT/EP2008/050849 WO2008104426A2 (de) 2007-02-28 2008-01-25 Industrieroboter und verfahren zum bestimmen der lage eines industrieroboters relativ zu einem objekt

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102007009851A DE102007009851B3 (de) 2007-02-28 2007-02-28 Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt

Publications (1)

Publication Number Publication Date
DE102007009851B3 true DE102007009851B3 (de) 2008-05-29

Family

ID=39326698

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007009851A Expired - Fee Related DE102007009851B3 (de) 2007-02-28 2007-02-28 Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt

Country Status (4)

Country Link
US (1) US20110037839A1 (de)
EP (1) EP2122424A2 (de)
DE (1) DE102007009851B3 (de)
WO (1) WO2008104426A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8923602B2 (en) 2008-07-22 2014-12-30 Comau, Inc. Automated guidance and recognition system and method of the same
EP3711909A2 (de) 2019-03-22 2020-09-23 Günther Battenberg Verfahren zur durchführung zumindest eines tätigkeitsprozesses mittels eines roboters

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753453B2 (en) 2012-07-09 2017-09-05 Deep Learning Robotics Ltd. Natural machine interface system
US9214021B2 (en) * 2012-10-09 2015-12-15 The Boeing Company Distributed position identification
US10078330B2 (en) 2016-03-25 2018-09-18 International Business Machines Corporation Coordinating robotic apparatus deliveries
CN108810425B (zh) * 2017-05-02 2024-06-11 北京米文动力科技有限公司 一种摄像头配置方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1043126A2 (de) * 1999-04-08 2000-10-11 Fanuc Ltd Vorrichtung zur Erzeugung eines Lernmodells
DE10249786A1 (de) * 2002-10-24 2004-05-13 Medical Intelligence Medizintechnik Gmbh Referenzierung eines Roboters zu einem Werkstück und Vorrichtung hierfür
WO2004071717A1 (en) * 2003-02-13 2004-08-26 Abb Ab A method and a system for programming an industrial robot to move relative to defined positions on an object, including generation of a surface scanning program
US20040199288A1 (en) * 2003-02-28 2004-10-07 Fanuc Ltd Robot teaching device
DE10351669A1 (de) * 2003-11-05 2005-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts relativ zu einem Objekt

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4233625A (en) * 1978-11-03 1980-11-11 Teledyne, Inc. Television monitoring system for automatically aligning semiconductor devices during manufacture
US4853771A (en) * 1986-07-09 1989-08-01 The United States Of America As Represented By The Secretary Of The Navy Robotic vision system
US6175415B1 (en) * 1997-02-19 2001-01-16 United Technologies Corporation Optical profile sensor
GB9803364D0 (en) * 1998-02-18 1998-04-15 Armstrong Healthcare Ltd Improvements in or relating to a method of an apparatus for registering a robot
DE10164944B4 (de) * 2001-10-15 2013-03-28 Hermann, Dr.-Ing. Tropf Vorrichtung und Verfahren zur Korrektur der Bewegung von Greif- und Bearbeitungswerkzeugen
US7233841B2 (en) * 2002-04-19 2007-06-19 Applied Materials, Inc. Vision system
US20050105791A1 (en) * 2003-10-29 2005-05-19 Lee Ken K. Surface inspection method
DE102004006596B4 (de) * 2004-02-10 2007-02-15 Vision Tools Bildanalyse Systeme Gmbh Handeingabe von Werkstückposen
US20080011313A1 (en) * 2005-10-24 2008-01-17 Philip Gildenberg System and method for robotic assisted wig construction
DE102005058867B4 (de) * 2005-12-09 2018-09-27 Cine-Tv Broadcast Systems Gmbh Verfahren und Vorrichtung zum Bewegen einer auf einem Schwenk- und Neigekopf angeordneten Kamera entlang einer vorgegebenen Bewegungsbahn

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1043126A2 (de) * 1999-04-08 2000-10-11 Fanuc Ltd Vorrichtung zur Erzeugung eines Lernmodells
DE10249786A1 (de) * 2002-10-24 2004-05-13 Medical Intelligence Medizintechnik Gmbh Referenzierung eines Roboters zu einem Werkstück und Vorrichtung hierfür
WO2004071717A1 (en) * 2003-02-13 2004-08-26 Abb Ab A method and a system for programming an industrial robot to move relative to defined positions on an object, including generation of a surface scanning program
US20040199288A1 (en) * 2003-02-28 2004-10-07 Fanuc Ltd Robot teaching device
DE10351669A1 (de) * 2003-11-05 2005-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts relativ zu einem Objekt

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8923602B2 (en) 2008-07-22 2014-12-30 Comau, Inc. Automated guidance and recognition system and method of the same
DE102009034529B4 (de) 2008-07-22 2018-06-28 Comau Llc Automatisches Führungs- und Erkennungssystem sowie Verfahren für dieses
EP3711909A2 (de) 2019-03-22 2020-09-23 Günther Battenberg Verfahren zur durchführung zumindest eines tätigkeitsprozesses mittels eines roboters
DE102019107417A1 (de) * 2019-03-22 2020-09-24 Günther Battenberg Verfahren zur Durchführung von zumindest einem Tätigkeitsprozess mittels eines Roboters

Also Published As

Publication number Publication date
WO2008104426A3 (de) 2008-11-13
US20110037839A1 (en) 2011-02-17
WO2008104426A2 (de) 2008-09-04
EP2122424A2 (de) 2009-11-25

Similar Documents

Publication Publication Date Title
DE102018109463C5 (de) Verfahren zur Benutzung einer mehrgliedrigen aktuierten Kinematik, vorzugsweise eines Roboters, besonders vorzugsweise eines Knickarmroboters, durch einen Benutzer mittels einer mobilen Anzeigevorrichtung
DE102015015503B4 (de) Robotersystem, das eine mit erweiterter Realität kompatible Anzeige aufweist
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
EP1447770B1 (de) Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
DE3873792T2 (de) Elektronische bildverarbeitung.
DE102007009851B3 (de) Industrieroboter und Verfahren zum Bestimmen der Lage eines Industrieroboters relativ zu einem Objekt
DE112019003204T5 (de) Visualisierung und modifizierung von arbeitsrandbereichen unter verwendung von erweiterter realität
DE102009012590A1 (de) Vorrichtung zum Ermitteln der Stellung eines Roboterarms mit Kamera zur Durchführung von Aufnahmen
DE102007059478B4 (de) Verfahren und System zur Ausrichtung eines virtuellen Modells an einem realen Objekt
EP1763845A1 (de) Verfahren und vorrichtung zur bestimmung von optischen überdeckungen mit ar-objekten
EP2977961B1 (de) Verfahren und Kommunikationseinrichtung zum Erstellen und/oder Ändern virtueller Objekte
DE102018109774A1 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE10144932A1 (de) Visualisierung von Werkstücken bei der Simulation von Fräsprozessen
DE102014116845B4 (de) Verfahren zum Ermitteln einer Bewegungsgrenze
DE102018113336A1 (de) Verfahren zum Verwenden mit einer Maschine zum Einstellen einer Erweiterte-Realität-Anzeigeumgebung
DE102006007623A1 (de) Roboter mit einer Steuereinheit zum Steuern einer Bewegung zwischen einer Anfangspose und einer Endpose
DE102009020307A1 (de) Simulator für eine Sichtprüfungsvorrichtung
EP1700175A1 (de) Vorrichtung und verfahren zum programmieren eines industrieroboters
DE102020204677B4 (de) Trackingsystem und Computerprogramm zur Kompensation von Sichtschatten bei der Nachverfolgung von Messobjekten
DE102006044215B4 (de) Verfahren zur Optimierung einer Einschubachsenrichtung eines als digitales 3D-Modell zu konstruierenden oder konstruierten Zahnersatzteils zu einem als 3D-Datensatz vorliegenden Präparationsgebiet
EP3809094B1 (de) Verfahren und anordnung zum visualisieren von sensorsignalen eines optischen sensors eines koordinatenmessgeräts sowie verfahren und anordnung zum visualisieren eines sensors eines koordinatenmessgeräts
DE10149795B4 (de) Semiautomatische Registrierung zur Überlagerung zweier medizinischer Bilddatensätze
DE102004032996A1 (de) Einfache Roboterprogrammierung
DE102004006596B4 (de) Handeingabe von Werkstückposen
DE102018204508A1 (de) Verfahren und System zum Betreiben eines Roboters

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE

R081 Change of applicant/patentee

Owner name: KUKA LABORATORIES GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

Effective date: 20110304

Owner name: KUKA ROBOTER GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

Effective date: 20110304

R081 Change of applicant/patentee

Owner name: KUKA ROBOTER GMBH, DE

Free format text: FORMER OWNER: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE

R082 Change of representative

Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE

Representative=s name: FUNK & BOESS GBR, DE

R082 Change of representative

Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE

Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE

R081 Change of applicant/patentee

Owner name: KUKA DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

R082 Change of representative

Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE

Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE

R082 Change of representative

Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee