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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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/4083—Adapting programme, configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35506—Camera images overlayed with graphics, model
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37572—Camera, tv, vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39393—Camera 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
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 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: 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: 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: mit dem Parametervektor x
- 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,
- 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,
- 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 der1 -
4 ein Flussdiagramm, -
5 –7 weitere Bilder des Motorblocks der1 und -
8 –10 weitere Industrieroboter. - Die
1 zeigt einen 6-Achs Industrieroboter1 mit einer Kinematik für Bewegungen der sechs Freiheitsgrade und ein bezüglich der Umgebung des Industrieroboters1 unbewegliches Objekt, das im Falle des vorliegenden Ausführungsbeispieles ein Motorblock M ist. - Der Industrieroboter
1 weist in allgemein bekannter Weise Gelenke2 –4 , Hebel5 –6 , 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
7 –12 aufweisen. Dabei bewegt der Motor7 die Achse A1, der Motor8 die Achse A2, der Motor9 die Achse A3 und die Motoren10 –12 die Achsen A4–A6 über in der1 nicht näher, dem Fachmann jedoch allgemein bekannte Getriebe. - Die elektrischen Antriebe bzw. die elektrischen Motoren
7 –12 sind in nicht näher dargestellter Weise mit einem Steuerrechner15 verbunden, auf dem ein geeignetes und dem Fachmann im Grundsatz bekanntes Rechnerprogramm läuft, das die Bewegungen des Industrieroboters1 steuert. Der Begriff "Steuern" soll in diesem Zusammenhang auch eine Regelung umfassen. - Im Falle des vorliegenden Ausführungsbeispiels ist im Steuerrechner
15 ein in den2 und3 dargestelltes CAD (Computer Aided Design) Modell16 des Motorblocks M gespeichert. Das Modell16 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 Steuerrechner15 verbundenen Monitors14 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 Modells16 modelliert sind. - Für die Bearbeitung des Motorblocks M mittels des Industrieroboters
1 muss der Industrieroboter1 bezüglich des Motorblocks M eingemessen werden, so dass das Koordinatensystem des Modells16 in Bezug auf das Koordinatensystem des Motorblocks M übereinstimmt, d.h. dass die Lage des Motorblocks M relativ zum Industrieroboter1 ermittelt wird. - Die Bestimmung der Lage des Motorblocks M bezüglich des Industrieroboters
1 wird mittels eines in der4 dargestellten Flussdiagramms veranschaulicht. - Im Falle des vorliegenden Ausführungsbeispieles ist am Flansch F des Industrieroboters
1 eine in nicht dargestellter Weise mit dem Steuerrechner15 verbundene 2D-Kamera17 befestigt. Die 2D-Kamera17 ist beispielsweise ein CCD-Sensor oder eine allgemein bekannte digitale Kamera. Die Position der Kamera17 am Industrieroboter1 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 Industrieroboter1 die Kamera17 in die beiden unterschiedlichen Positionen bewegt, in dem dessen Achsen A1–A6 in allgemein bekannter Weise bewegt werden, Schritt S1 des Flussdiagramms der4 . - Befindet sich die Kamera
17 in der jeweiligen Position, dann erzeugt sie jeweils einen Bilddatensatz, deren zugeordnete Bilder20 ,30 in den2 und3 dargestellt sind, Schritt S2 des Flussdiagramms. Die Bilder20 ,30 sind Bilder des Motorblocks M, wobei im Falle des vorliegenden Ausführungsbeispiels im Wesentlichen der gesamte Motorblock M in jedem der Bilder20 ,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 Monitor14 angezeigt. Gleichzeitig wird in jedes der Bilder20 ,30 das Modell16 eingeblendet, Schritt S3 des Flussdiagramms. - Anschließend wählt eine in den Figuren nicht dargestellte Person mittels einer Eingabevorrichtung des Steuerrechners
15 einen Punkt21A des Modells16 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 Punkt21A des Modells16 stellt eine Kante des Motorblocks M dar. Im Falle des vorliegenden Ausführungsbeispiels wird der Punkt21A mit der aus der Computergrafik bekannten so genannten "Objektfang"-Methode ausgewählt. Anschließend wählt die Person den zum Punkt21A korrespondierenden Punkt21B im ersten Bild20 des Motorblocks M aus. - Im Falle des vorliegenden Ausführungsbeispieles bewegt nach der Zuordnung des die Punkte
21A ,21B umfassenden Punktepaares ein auf dem Steuerrechner15 laufendes Rechnerprogramm automatisch das in die Bilder20 ,30 eingeblendete Modell16 derart, dass sich die Punkte21A ,21B in beiden Bildern20 ,30 überdecken, was mit einem Pfeil A angedeutet ist. An schließend werden die sich überdeckenden Punkte21A ,21B verriegelt, Schritt S5 des Flussdiagramms. - Aufgrund der Zuordnung des die Punkte
21A ,21B umfassenden Punktepaars und der Bewegung des Modells16 in den Bildern20 ,30 derart, dass sich die beiden Punkte21A ,21B überdecken, ergibt sich bereits eine Teilberechnung zur Bestimmung der Lage des Motorblocks M relativ zum Industrieroboter1 . - Anschließend wählt die Person einen weiteren Punkt
22A des Modells16 und ein dem ausgewählten Punkt22A des Modells16 korrespondierenden Punkt22A im ersten Bild20 aus. Daraufhin bewegt wieder automatisch das auf dem Steuerrechner15 laufende Rechnerprogramm das in die Bilder20 ,30 eingeblendete Modell16 derart, dass sich die Punkte22A ,22B in beiden Bildern20 ,30 überdecken, was mit einem Pfeil B angedeutet ist. Somit ist nun das in die Bilder20 ,30 eingeblendete Modell16 derart verschoben, dass sich die Punkte21A und21B und die Punkte22A und22B überdecken und auch verriegelt sind, Schritt S6 des Flussdiagramms. - Anschließend wählt die Person im zweiten Bild
30 weitere korrespondierende Punkte31A ,31B und32A ,32B aus. Daraufhin bewegt wieder das auf dem Steuerrechner15 laufende Rechnerprogramm das in die Figuren20 ,30 eingeblendete Modell16 derart, dass sich auch das die Punkten31A und31B umfassende Punktepaare und das die Punkte32A und32B 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 Bilder20 ,30 eingeblendeten Modells16 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 Bildern20 ,30 des Motorblocks M ist, ist es möglich, die Lage des Motorblocks M bezüglich des Industrieroboters1 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 Industrieroboter1 sechs Freiheitsgrade. Außerdem sind die jeweiligen Entfernungen zwischen der Kamera17 und dem Motorblock M bei den beiden Positionen unbekannt. Demnach müssen für die Berechnung der Lage des Motorblocks M relativ zum Industrieroboter1 wenigstens vier verschiedene Punktepaare in den beiden Bildern20 ,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 Transformationsmatrix für eine Transformation vom Koordinatensystem des Motorblocks M zum Koordinatensystem des ersten Bildes
20 in der ersten Position der Kamera17 lautet:
T1
und des zweiten Bildes30 in der zweiten Position der Kamera17 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: wobei di ein Kamerapositionsabhängige Distanzparameter der Position der Kamera17 bei der i-ten Position ist, d.h. d1 ist der der Entfernung zwischen der Kamera17 und dem Motorblock M zugeordnete Distanzparameter in der ersten Position und d2 ist der der Entfernung zwischen der Kamera17 und dem Motorblock M zugeordnete Distanzparameter in der zweiten Position. Der Distanzparameter di entspricht beispielsweise der Distanz zwischen dem Brennpunkt der Kamera17 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: 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: mit dem Parametervektor x - 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 Punkte21A ,21B , der Punkte22A ,22B , der Punkte31A ,31B und der Punkte32A ,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 und6 zeigen als Beispiel zwei mittels der Kamera17 aus den beiden Positionen aufgenommene Bilder50 ,60 , in die wiederum ein Modell16a des Motorblocks M eingeblendet ist. Das Bild50 entspricht dabei dem Bild20 und das Bild60 entspricht dabei dem Bild30 . Das Modell16a ist ebenfalls ein Teil-Drahtgittermodell des Motorblocks M und unterscheidet sich im Falle des vorliegenden Ausführungsbeispiels geringfügig vom Modell16 der2 und3 . - Im Falle des vorliegenden Ausführungsbeispiels wählt die Person mit der Rechnermaus
13 im Modell16a nicht individuelle Punkte21A ,22A ,31A ,31A , sondern Linien51A und52A im ersten Bild50 und eine Linie61A im zweiten Bild60 aus. Die Linien51A ,52B und61A entsprechen im Falle des vorliegenden Ausführungsbeispiels Kanten51B ,52B und61B des Motorblocks M, die die Person in den Bildern50 ,60 auswählt. - Um die Kanten
51B ,52B und61B in den Bildern50 ,60 verbessert sichtbar zu machen, ist es im Falle des vorliegenden Ausführungsbeispiels vorgesehen, in den Bildern50 ,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 und61A im Modell16a mit der Rechnermaus13 unter Verwendung der aus der CAD Welt bekannten "Objektfang"-Methode ausgewählt. Die ausgewählte Line51A ,52B ,61A ,62A und63A wird dann auf die korrespondierende Kanten51B ,52B und61B in den Bildern50 ,60 gezogen. Die Kante51B ,52B und61B in den Bildern50 ,60 werden z.B. mit der Bilddatenverarbeitenden Methode "Kantenextraktion" identifiziert. Wird ein mittels der Rechnermaus13 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 Bild70 vom Motorblock M und ein Modell16b vom Motorblock M. Im Falle des vorliegenden Ausführungsbeispiels ist das Modell16b ein Teilmodell des Motorblocks M und zeigt insbesondere Flächen71A ,72A , die Flächen71B und72B des Motorblocks M zugeordnet sind. Bei den Flächen71B und72B 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 Industrieroboter1 die Flächen71A ,72A in Deckung mit den entsprechenden im Bild70 gezeigten Flächen71B und72B gebracht. - In den bis jetzt beschriebenen Ausführungsbeispielen ist die Kamera
17 am Flansch F des Industrieroboters1 befestigt. Die Kamera17 kann aber auch an einer der Achsen A1–A6 befestigt sein, solange sie durch den Industrieroboter1 bewegt wird. - Die
8 zeigt einen weiteren Industrieroboter81 . Wenn nicht ausdrücklich erwähnt, dann sind funktionsgleiche Bauteile des in der1 gezeigten Industrieroboters1 mit denselben Bezugszeichnen versehen wie Bauteile des in der8 gezeigten Industrieroboters81 . - Die beiden Industrieroboter
1 und81 sind im Wesentlichen identisch. Anstelle der Kamera17 ist jedoch am Flansch F des Industrieroboters81 ein Objekt82 befestigt, dessen Lage, insbesondere dessen Orientierung relativ zum Industrieroboter81 ermittelt werden soll. Um dies zu erreichen, ist im Falle des vorliegenden Ausführungsbeispiels eine Kamera83 am Boden, z.B. auf einem Stativ84 unbeweglich bezüglich der Umgebung des Industrieroboters81 aufgestellt und in nicht dargestellter Weise mit dem Steuerrechner15 des Industrieroboters81 verbunden. - Anschließend wird das Objekt
81 mittels des Industrieroboters81 in wenigstens zwei unterschiedliche Positionen gebracht und für jede Position ein 2D-Bild des Objekts81 erzeugt. Die Bilder werden anschließend auf dem Monitor14 dargestellt. Außerdem wird ein Modell des Objekts82 in die Bilder eingeblendet und anschließend wie für die ersten Ausführungsbeispiele die Lage des Objekts82 relativ zum Industrieroboter81 berechnet. - Die
9 zeigt nochmals den Industrieroboter1 . Im Unterschied zum in der1 dargestellten Szenario liegt in dem in der9 dargestellten Szenario der Motorblock M auf einer Tischplatte P eines Tisches90 . - Im Falle des vorliegenden Ausführungsbeispiels ist der Tischfuss
91 des Tisches90 bezüglich einer Achse92 mittels eines nicht näher dargestellten Motors schwenkbar. Der Motor des Tisches90 ist in nicht dargestellter Weise mit dem Steuerrechner15 verbunden und wird auch von diesem angesteuert, sodass die Stellung der Tischplatte P relativ zum Tischfuss91 bekannt ist. Des Weitern ist die Lage des Tisches90 bzw. dessen Tischfusses91 relativ zum Industrieroboter1 bekannt. Eine Information über diese Lage ist im Steuerrechner15 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 Industrieroboter1 ermittelt, da die Stellung der Tischplatte P relativ zum Tischfuss91 und die Lage des Tischfusses91 relativ zum Industrieroboter1 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 Industrieroboters1 bzw. dessen Flansches F und/oder durch ein Schwenken der Tischplatte P bezüglich der Achse92 . - Anschließend wird in den aufgenommenen Bildern das Modell
16 des Motorblocks M eingeblendet und Punkte des Modells16 Punkten des Bildes des Motorblocks M zugeordnet. Aufgrund dieser Zuordnung, die analog zur Zuordnung der in den2 und3 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 Industrieroboter1 gemäß dem in der1 gezeigten Szenario durchgeführt. - Alternativ kann die Kamera auch ähnlich dem in der
8 dargestellten Szenario auf einem Stativ84 ortfest montiert sein. Ein solches Szenario ist in der10 gezeigt, in der die Kamera das Bezugszeichen83 hat. Durch Schwenken der Tischplatte P um die Achse92 können zwei verschiedene Positionen eingestellt werden, für die die Kamera83 Bilder vom Motorblock M aufnimmt. Anschließend kann die Lage des Motorblocks M relativ zur Tischplatte P gemäß dem in der9 gezeigten Szenario ermittelt werden.
Claims (11)
- 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 ). - 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. - 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. - 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 ). - Verfahren nach Anspruch 4, bei dem das Objekt (
82 ) am Flansch (F) des Industrieroboters (81 ) befestigt ist. - 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. - 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. - 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. - 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. - Industrieroboter, aufweisend – mehrere mittels Antriebe (
7 –12 ) bewegbarer Achsen (A1–A6), – eine Steuerungsvorrichtung (15 ) zum Ansteuern der Antriebe (7 –12 ), – 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. - Industrieroboter, aufweisend – mehrere mittels Antriebe (
7 –12 ) bewegbarer Achsen (A1–A6), – eine Steuerungsvorrichtung (15 ) zum Ansteuern der Antriebe (7 –12 ), – 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.
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)
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)
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)
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)
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 |
-
2007
- 2007-02-28 DE DE102007009851A patent/DE102007009851B3/de not_active Expired - Fee Related
-
2008
- 2008-01-25 US US12/528,549 patent/US20110037839A1/en not_active Abandoned
- 2008-01-25 EP EP08708188A patent/EP2122424A2/de not_active Ceased
- 2008-01-25 WO PCT/EP2008/050849 patent/WO2008104426A2/de active Application Filing
Patent Citations (5)
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)
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 |