DE102010037067B4 - Robotersteuervorrichtung und Verfahren zum Teachen eines Roboters - Google Patents

Robotersteuervorrichtung und Verfahren zum Teachen eines Roboters Download PDF

Info

Publication number
DE102010037067B4
DE102010037067B4 DE102010037067.3A DE102010037067A DE102010037067B4 DE 102010037067 B4 DE102010037067 B4 DE 102010037067B4 DE 102010037067 A DE102010037067 A DE 102010037067A DE 102010037067 B4 DE102010037067 B4 DE 102010037067B4
Authority
DE
Germany
Prior art keywords
camera
distance
image
new position
initial position
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.)
Active
Application number
DE102010037067.3A
Other languages
English (en)
Other versions
DE102010037067A1 (de
Inventor
Susumu Kato
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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Publication of DE102010037067A1 publication Critical patent/DE102010037067A1/de
Application granted granted Critical
Publication of DE102010037067B4 publication Critical patent/DE102010037067B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Numerical Control (AREA)

Abstract

Vorrichtung zum Steuern eines Roboters (1), der einen Arm (3-8) hat, wobei ein äußerstes Ende des Arms (3-8) zum Abbilden eines abgebildeten Objekts (22) mit einer Kamera (21) ausgestattet ist, und ein Anlernen derart durchgeführt wird, dass die Kamera (21) positionsmäßig geändert wird, während eine Strecke von der Kamera (21) zu dem Objekt (22) auf dem gleichen Wert beibehalten wird, mit:einer Eingabeeinrichtung (13), die durch einen Betreiber verwendet wird, um dem Betreiber zu ermöglichen, der Vorrichtung Informationen zu liefern (S0, S2), die sowohl eine Bewegungsrichtung(T→B),entlang der die Kamera (21) bewegt wird, als auch eine Bewegungsmenge, durch die die Kamera (21) bewegt wird, angeben, wobei die Bewegungsrichtung(T→B)senkrecht zu einer optischen Achse der Kamera (21) ist;einer ersten Verarbeitungseinrichtung zum Einstellen (S12) einer vorbestimmten Region in einem Rahmen eines Bilds, das durch die Kamera (21) abgebildet (S11) wird, auf eine Anfangsposition, wobei die Region um eine Mitte des Bildrahmens spezifiziert ist, und zum Erhalten einer Koordinate der Anfangsposition;einer zweiten Verarbeitungseinrichtung zum leichten Bewegen (S13) der Kamera (21) zu einer neuen Position entlang der Bewegungsrichtung(T→B)vor dem Anlernen, sodass die vorbestimmte Region in einen Rahmen eines Bilds, das bei der neuen Position abgebildet (S14) wird, gerät, wobei die Kamera (21) bei sowohl der Anfangsposition als auch der neuen Position die gleiche Stellung hat, und zum Erhalten (S15) einer Koordinate der neuen Position, zu der die Kamera (21) bewegt wurde;einer ersten Strecken berechnenden Einrichtung zum Berechnen einer Bewegungsstrecke der Kamera (21) basierend auf den Koordinaten der Anfangsposition und der neuen Position;einer zweiten Strecken berechnenden Einrichtung zum Berechnen einer Bewegungsstrecke der vorbestimmten Region von dem Bild, das bei der Anfangsposition abgebildet wird, zu dem Bild, das bei der neuen Position abgebildet wird, basierend auf Mengen von Bildcharakteristiken von beiden Bildern, die bei der Anfangsposition und der neuen Position abgebildet werden;einer dritten Strecken berechnenden Einrichtung zum Berechnen (S17) einer Strecke von der Koordinate der Anfangsposition zu dem Objekt (22) basierend auf einer Linsen-zu-Abbildungselemente-Strecke (DIMG) der Kamera (21), der Bewegungsstrecke (Tc) der Kamera (21) und der Bewegungsstrecke der vorbestimmten Region;einer Bahn berechnenden Einrichtung zum Berechnen (S18) einer Bogenbahn, die anzuzielen ist, basierend auf der Bewegungsrichtung(T→B)und der Strecke von der Kamera (21) zu dem Objekt (22), wobei die Bahn, die von einem Startpunkt startet, der durch die Koordinate der neuen Position definiert ist, einen Radius hat, der durch die Strecke von der Kamera (21) zu dem Objekt (22) definiert ist, und der Kamera (21) immer ermöglicht, in der vorbestimmten Region zu einem Beobachtungspunkt (Pc) gerichtet zu sein; undeiner Ausgabeeinrichtung zum Ausgeben eines Befehls zu dem Roboter (1), wobei der Befehl der Kamera (21) ermöglicht, sich um die Bewegungsmenge, die durch die Eingabeeinrichtung (13) eingegeben wird, entlang der Bahn zu bewegen.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Robotersteuervorrichtung, die einen Roboter steuert, der einen Arm, dessen äußerstes Ende mit einer Kamera versehen ist, hat, und auf ein Verfahren zum Teachen bzw. Anlernen des Roboters.
  • Bei einem Roboter, der eine visuelle Inspektion unter Verwendung einer Kamera ausführt, ist es notwendig, der Kamera optimale räumliche Positionen zum Abbilden eines inspizierten Objekts zu geben. Bei einer Prozedur zum Versehen der Kamera mit solchen optimalen Positionen ist es häufig gewünscht, dass die Kamerastellung um einen Beobachtungspunkt (d. h. eine Position (einen Punkt oder einen Bereich), die zu beobachten oder zu inspizieren ist) auf dem Objekt geändert wird, ohne die Strecke bzw. den Abstand zu dem Beobachtungspunkt zu ändern. Um diese Anforderung zu erfüllen, ist es erforderlich, die Strecke von der Kamera zu einem inspizierten Objekt durch eine Abstands- bzw. Streckenmessungstechnik bei einem Teaching-Verfahren bzw. Anlernverfahren zu kennen. Als diese Streckenmessungstechnik wird beispielsweise ein Triangulationsverfahren verwendet.
  • Ein Beispiel dieser Streckenmessungstechnik ist in einem Patentdokument JP H06 - 75 617 A offenbart. Bei dieser Technik werden die folgenden Verfahren durchgeführt. Ein Bild, das einen Beobachtungspunkt aufweist, wird genauer gesagt durch eine Kamera, die an einem äußersten Ende eines Roboterarms angeordnet ist, aufgenommen. Die Position des Beobachtungspunktes der Kamera wird dann durch den Benutzer geändert, dem ein Aufnehmen eines weiteren Bilds, das den gleichen Beobachtungspunkt aufweist, folgt. Danach wird unter Verwendung eines Triangulationsverfahrens basierend auf den erfassten Stereobildern die Strecke von der Kamera zu dem Beobachtungspunkt gemessen. Die Position des Beobachtungspunkts der Kamera wird dann gemäß den erhaltenen Streckendaten geändert.
  • Die in dem vorhergehenden Patentdokument JP H06 - 75 617 A offenbarte Technik bürdet einem Betreiber, der einen Roboter zum Anlernen von Bewegungsdestinationen handhabt, dennoch große Mengen an Arbeit auf. Das heißt, wie es im Vorhergehenden bemerkt ist, i) um die räumlichen Stellungen (Positionen) der Kamera zum Abbilden von verschiedenen Positionen um einen Beobachtungspunkt auf einem inspizierten Objekt zu ändern, ist es erforderlich, ii) die Strecke von der Kamera zu dem Objekt zu messen. Wenn die durch das Patentdokument JP H06 - 75 617 A offenbarte Technik übernommen ist, sollte ein Betreiber Betriebsvorgänge für beide Schritte i) und ii) getrennt voneinander durchführen. Diese Art und Weise führt zu der im Vorhergehenden beschriebenen Aufbürdung von großen Mengen an Arbeit auf Betreiber.
  • DE 692 19 532 T2 offenbart ein Verfahren zum Korrigieren von Daten eines von einem Sensor erfassten Objektes zur Positionsbestimmung des Objektes mit folgenden Schritten: Es werden erste Kalibrierungsdaten gemäß einem zwischen dem Koordinatensystem einer beweglichen Komponente und dem Koordinatensystem eines an der beweglichen Komponente angebauten Sensors ausgeführten Kalibrierungsprozesses bestimmt; es werden die Position und Lage des Sensors vor seiner Bewegung erfasst, wenn der Kalibrierungsprozess ausgeführt wird; es werden die Position und Lage des Sensors nach seiner Bewegung mittels der beweglichen Komponente erfasst; aus den Positionen und Lagen des Sensors vor und nach seiner Bewegung wird ein Abstand bestimmt, um welchen sich die Position und Lage des Sensors bewegt hat; es werden zweite Kalibrierungsdaten für den Sensor nach seiner Bewegung bestimmt, basierend auf dem Abstand und den ersten Kalibrierungsdaten und es wird die Position des Objektes basierend auf den zweiten Kalibrierungsdaten und Daten des vom Sensor nach seiner Bewegung erfassten Objektes bestimmt.
  • Die EP 1 607 194 A2 offenbart ein Robotersystem aus mehreren Robotern mit Mitteln zur Kalibrierung ihrer relativen Lage. Dieses umfasst einen ersten Roboter mit einer Kamera eines darauf montierten visuellen Sensors und einen zweiten Roboter mit einem Funktionsabschnitt. Die Roboter werden in die ersten Anfangszustände versetzt, aus denen der erste Roboter oder der zweite Roboter bewegt wird, so dass das Bild des Funktionsabschnitts eine Zielposition oder -größe einnimmt, wodurch die gegenwärtigen Positionen gespeichert werden. Der gleiche Vorgang wird N-mal (N ≥ 3)wiederholt, während die Positionen der Anfangszustände der Roboter geändert werden. Basierend auf den Positionen, die durch die obigen N-Wiederholungsprozesse erhalten wurden, wird eine Matrix bestimmt, die die Koordinatenumwandlung von ∑b nach ∑b' angibt. Es können ein oder zwei Robotersteuereinheiten vorgesehen sein. Infolgedessen kann die Kalibrierung zur Bestimmung der relativen Positionen zwischen den Robotern einfach und mit hoher Genauigkeit durchgeführt werden, wodurch die mit der Vorrichtung verbundenen Kosten reduziert werden
  • US 2009 / 0 187 276 A1 betrifft eine Verarbeitungsroboterprogramm-Erzeugungsvorrichtung, die in einem Robotersystem mit einem Vision-Sensor verwendet wird, der in der Lage ist, einen Fehler in der Form eines Werkstücks auszugleichen und die für einen Lehrvorgang erforderlichen Arbeitsstunden zu reduzieren. Bilderkennungsmodelle werden in einem grafischen Bild eines Werkstücks erzeugt, das von einer virtuellen Kamera aus betrachtet wird. Ein Verarbeitungsprogramm, das Daten von Lernpunkten zum Verarbeiten von Segmenten einer Verarbeitungslinie des Werkstücks enthält, wird erzeugt. Ein Erfassungsprogramm zum tatsächlichen Abbilden des Werkstücks wird erzeugt, und die Position und Ausrichtung jedes Segments wird, entsprechend zu jedem erzeugten Erfassungsmodell, erfasst. Eine Befehlszeile zum Berechnen eines Änderungsbetrags zwischen dem Erfassungsmodell und dem tatsächlich erfassten Bild des Werkstücks wird dem Verarbeitungsprogramm hinzugefügt. Dann wird ein Korrekturprogramm in das Verarbeitungsprogramm eingefügt, wobei das Korrekturprogramm den Lernpunkt zum Verarbeiten jedes Segments korrigieren kann.
  • JP H09 - 44 218 A offenbart eine Positions- und Lagekorrekturmethode für ein Objekt, sowie eine Lehrkurskorrekturmethode für einen Roboter. Die Methoden können die Position und die Lage des Objektes und die Arbeitsbahn des Roboters effizient und flexibel entsprechend zu Änderungen der Position des Objektkörpers und der Arbeitsumgebung korrigieren. Hierzu sind verschiedene Sensoren am Umfang des Objektes montiert und Positionsmodelle werden als Referenzen für die Positions- und Lageerfassung des Objektkörpers durch die Sensoren erzeugt. Wenn sich das Objekt in einer translatorischen Bewegung, einer Rotationsbewegung oder einer kombinierten translatorischen Rotationsbewegung befindet, messen die Sensoren das Objekt und es wird eine Evaluationsfunktion, die zwischen jeweiligen Messwerten und den, den Sensoren entsprechenden, Positionsmodellen des Körpers definiert ist, berechnet; und der Schwankungsbetrag des Körpers wird berechnet, wenn der Wert der Evaluationsfunktion minimal wird und der Translationskorrekturbetrag und der Rotationskorrekturbetrag des Körpers werden berechnet.
  • JP S63 - 58 505 A offenbart einer Robotersteuerung. Diese wird vorgesehen, um die Position eines Roboters zu einem Objekt mit hoher Genauigkeit unter Verwendung einer Kamera und einer Vision-Systems zu bestimmen. Ein Robotersteuerteil betätigt einen Roboterhauptkörper mittels Steuerung eines Offline-Programmsystems, um Positionen von Armen oder eines Endeffektors zu bestimmen. In diesem Fall wird eine Kamera nahe des Endeffektors platziert, um ein Bild des Objektes aufzunehmen und diese an ein Vision-System zu senden. Das System analysier das Bild, das durch die Kamera aufgenommen wurd, und erkennt die relative Positionsbeziehung des Hauptkörpers zwischen dem Endeffektor und dem Objekt. Falls eine Positionsverschiebung erfasst wird, wird das Ergebnisse dieses Erkennungsvorgangs an das Robotersteuerteil zum Korrigieren der durch das Offline-Programm des Robotersteuerteils ausgeführten Steuerung. Auf diese Weise werden die Positionsveschiebungen des Roboters selbst und der Objekte korrigiert und die Position des Roboters zum Objekt kann mit hoher Genauigkeit bestimmt werden.
  • JP S60 - 229 109 A offenbart ein Positionskorrektursystem, das eine visuelle Kamera verwendet. Das Positionskorrektursystem ist vorgesehen, um eine leichte Verbindung zwischen einem Positionskorrektursystem und einem Montageroboter einer beliebigen Position herzustellen, indem die relative Positionsbeziehung zwischen einem von einer visuellen Kamera erkannten Objekt und einer Referenzposition der Kamera erfasst und die gewünschte Verschiebungsrichtung und einen stufenförmigen Verschiebungsbetrag aus einer Menge von im Voraus gespeicherten Verschiebungsbeträgen ausgewählt und bereitgestellt werden, um den relative Positionsbeziehung zu korrigieren. Hierzu bewegt sich eine visuelle Kamera, die an einem Roboterarm befestigt ist, zu einer Referenzposition, welche im Voraus durch Erlernen eingestellt wurde, sobald ein Stecker in eine Buchse eines Computers gesteckt wird. Die Bilder nahe der Mitte der Buchse werden an einen Bildverarbeitungsteil gesendet und die relative Positionsbeziehung zwischen der Mitte der Buchse und der visuellen Kamera wird berechnet. Basierend auf dieser Berechnung, werden die gewünschten Verschiebungsrichtungen und stufenförmigen Verschiebungsbeträge aus den speicherten Daten ausgewählt und sukzessive an ein Robotersteuerteil gesendet. Dadurch wird die Position der Kamera korrigiert und die Mitte eines Steckers zur korrigierten Position der Kamera verschoben. Dieses Korrektursystem kann mit allen Montagerobotern verbunden sein.
  • Die vorliegende Erfindung wurde im Lichte des im Vorhergehenden dargelegten Problems gemacht, und ihre Aufgabe besteht darin, eine Robotersteuervorrichtung, die fähig ist, die Strecke von der Kamera eines Roboters zu einem abzubildenden Objekt zu messen, während der Roboter angelernt wird, und ein Verfahren zum Anlernen des Roboters zu schaffen.
  • Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche 1 und 4 gelöst. Weitere vorteilhafte Ausführungsformen und Weiterentwicklungen sind Gegenstand der sich jeweils daran anschließenden Ansprüche.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist eine Vorrichtung zum Steuern eines Roboters geschaffen. Bei dieser Vorrichtung wird eine vorbestimmte Region um die Mitte eines Rahmens eines Bilds (auf den im Folgenden, als ein „Bildrahmen“ Bezug genommen ist), das bei einer Anfangsposition einer Kamera aufgenommen wurde, als eine Beobachtungsregion eingestellt, und eine Koordinate bei der Anfangsposition wird als eine Ursprungskoordinate eingestellt. Dann wird die Kamera, wobei ihre Stellung bei der Anfangsposition beibehalten wird, in einer Richtung einer Bewegung, die durch den Benutzer eingegeben wird, auf eine Art und Weise leicht bewegt, derart, dass die Beobachtungsregion immer noch innerhalb des Bildrahmens liegt. Die Kamera wird mit anderen Worten um eine Menge bewegt, die es ermöglicht, dass ein Abschnitt des inspizierten Objekts, der durch die Beobachtungsregion spezifiziert ist, noch in dem Bildrahmen verbleibt, d. h. nicht aus dem Bild verschwindet. Eine Positionskoordinate nach der Bewegung wird dann als eine Destinationskoordinate eingestellt.
  • Eine Bewegungsstrecke der Kamera wird basierend auf der Ursprungskoordinate und der Destinationskoordinate berechnet. In der Bildregion wird eine Ähnlichkeit ein bestimmtes Niveau überschreitend maximiert, wobei die Ähnlichkeit in der Menge von Bildcharakteristiken zwischen einem Teilbild in der Beobachtungsregion, die auf das Bild der Ursprungskoordinate eingestellt ist, und dem Bild in der Destinationskoordinate besteht. Eine Bewegungsstrecke der Beobachtungsregion wird dann basierend auf einer Koordinate, die durch die definierte Bildregion angegeben ist, und einer Koordinate, die durch die Beobachtungsregion in der Ursprungskoordinate angegeben ist, als eine Zwischenkameraparallaxe berechnet.
  • Ein Abbildungsabstand bzw. eine Abbildungsstrecke von der Destinationskoordinate der Kamera zu einem abzubildenden Objekt wird dann unter Verwendung eines Triangulationsverfahrens basierend auf einer Linsen-zu-Abbildungselemente-Strecke der Kamera, die im Voraus gemerkt wird, der Bewegungsstrecke der Kamera und der Zwischenkameraparallaxe berechnet. Die Linsen-zu-Abbildungselemente-Strecke ist als die Strecke von einer Linsenmitte zu der Ebene von Abbildungselementen in der Kamera definiert. Eine Zielbogenbahn, mit der die Kamera konstant zu einem Beobachtungspunkt gerichtet wird, wird dann basierend auf der eingegebenen Richtung einer Bewegung und der Abbildungsstrecke berechnet. Die Zielbogenbahn hat die Destinationskoordinate als ihren Startpunkt und die Abbildungsstrecke als ihren Radius. Anweisungen werden somit zu einem Roboter ausgegeben, um dadurch der Kamera zu ermöglichen, sich entlang der Zielbogenbahn um eine Bewegungsmenge, die durch den Benutzer eingegeben wird, zu bewegen.
  • Der Benutzer muss genauer gesagt lediglich die Richtung einer Bewegung und die Bewegungsmenge eingeben und anweisen, um den Roboter die Änderung des Beobachtungspunkts der Kamera anzulernen bzw. beizubringen. Die Abbildungsstrecke von der Beobachtungsposition der Kamera zu dem Beobachtungspunkt kann somit automatisch berechnet werden, während die Kamera durch eine Steuereinheit und den Roboter gemäß den Anweisungen bewegt wird. Zu dem Zeitpunkt, zu dem die Abbildungsstrecke berechnet wurde, kann die Zielbewegungsbahn so erzeugt werden, dass eine Bewegungsanweisungen ausgebende Einrichtung den Beobachtungspunkt ändern kann. Dies wird der Kamera unmittelbar ermöglichen, sich zu bewegen, wobei die Abbildungsstrecke auf einem konstanten Wert beibehalten wird.
  • Wenn die Kamera leicht bewegt wird, um die Abbildungsstrecke zu berechnen, kann es zwischen einer idealen Anfangsbahn und der Zielbogenbahn einen Versatz geben. Die Strecke der leichten Bewegung kann jedoch beim Ändern des Beobachtungspunkts der Kamera ignoriert werden, da die Strecke einer Bewegungsmenge innerhalb eines Bereichs entspricht, der es ermöglicht, dass die Beobachtungsregion in den Bildrahmen fällt. Da ein anzulernender Endpunkt unvermeidbar leicht angepasst werden muss, kann ein Fehler dieses Niveaus in dem Verlauf eines Anlernens als gleich Nichts betrachtet werden. Der Benutzer muss daher eine Änderung des Beobachtungspunkts der Kamera nicht getrennt durchführen, um lediglich die Abbildungsstrecke zu berechnen. Die Arbeitslast des Benutzers kann somit gelindert werden.
  • Die Einstellung der Größe der vorbestimmten Region kann vorzugsweise geändert werden. Abhängig von den Bedingungen eines durch die Kamera abzubildenden Objekts kann die Anfangsgröße der vorbestimmten Region zum geeigneten Extrahieren einer Menge von Bildcharakteristiken, die den Beobachtungspunkt aufweisen, ungeeignet sein. Aus diesem Grund ist sichergestellt, dass die Größe der vorbestimmten Region gemäß einem abzubildenden Objekt geeignet eingestellt ist.
  • Es zeigen:
    • 1 ein Diagramm, das die Konfiguration eines Steuersystems, das einen Roboter aufweist, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt;
    • 2A ein Flussdiagramm, das ein Verfahren zum Ändern des Beobachtungspunktes einer Kamera gemäß dem Ausführungsbeispiel darstellt;
    • 2B ein Flussdiagramm, das ein Bahnerzeugungsverfahren, das bei einem Schritt S5 von 2A durchgeführt wird, darstellt; und
    • 3 bis 8 erläuternde schematische Diagramme, die den Inhalt von Verarbeitungsschritten darstellen.
  • Unter Bezugnahme auf die beigefügten Zeichnungen ist im Folgenden ein Ausführungsbeispiel der vorliegenden Erfindung beschrieben.
  • 1 stellt eine Konfiguration eines Steuersystems, das einen vertikal gelenkigen (Sechs-Achsen-) Roboter 1 aufweist, dar. Dieser Roboter 1 weist eine Basis (eine Drehwelle) 2 und einen Sechs-Achsen-Arm, der auf der Basis 2 angeordnet ist, auf. Der Arm ist aus den ersten bis sechsten Armen 3 bis 8 gebildet und hat ein äußerstes Ende, an dem solche Werkzeuge TL, wie eine Hand und eine Kamera, die später beschrieben sind, befestigt sind. Die Basis 2 hat ein oberes Ende, mit dem der erste Arm 3 über ein erstes Gelenk J1 drehbar verbunden ist. Der erste Arm 3 ist über ein zweites Gelenk J2 mit einem unteren Endabschnitt des zweiten Arms 4, der sich aufwärts erstreckt, drehbar verbunden. Der zweite Arm 4 hat einen äußersten Endabschnitt, mit dem der dritte Arm 5 über ein drittes Gelenk J3 drehbar verbunden ist.
  • Der dritte Arm 5 hat ein äußerstes Ende, mit dem der vierte Arm 6 über ein viertes Gelenk J4 drehbar verbunden ist. Der vierte Arm 6 hat ein äußerstes Ende, mit dem der fünfte Arm 7 über ein fünftes Gelenk J5 drehbar verbunden ist. Der fünfte Arm 7 ist über ein sechstes Gelenk J6 mit dem sechsten Arm 8 drehbar verbunden. Die Gelenke J1 bis J6 sind mit nicht gezeigten Servomotoren versehen, durch die die Arme 3 bis 8 (oder die Wellen der Arme) adaptiert sind, um jeweils gedreht und betätigt zu werden.
  • Der Roboter 1 weist ferner eine Steuerung 11, eine Konsolensteuerung (eingebende Einrichtung) 13, eine Kamera (Abbildungseinrichtung) 21, einen Personalcomputer 23 (auf den im Folgenden lediglich als ein „Computer 23“ Bezug genommen ist), der eine Anzeige 23D hat, verbindende Kabel 12 und 18 und Kabel 24 und 25 auf. Der Roboter 1 und die Steuerung 11 sind über das verbindende Kabel 12 verbunden. Die Servomotoren, die die jeweiligen Wellen der Arme des Roboters 1 betätigen, können somit durch die Steuerung 11 gesteuert werden. Die Konsolensteuerung 13 weist einen horizontal langen Körper 14, Griffe 15L und 15R, Spaßtasten- bzw. Joypads 16L und 16R und Knöpfe 17L und 17R auf. Die Griffe 15L und 15R sind an beiden Enden des horizontal langen Körpers 14 vorgesehen, sodass der Benutzer die Griffe mit der linken und rechten Hand halten kann. Die Joypads 16L und 16R sind derart angeordnet, dass der Benutzer die Joypads mit den Daumen in dem Zustand eines Haltens der Griffe 15L und 15R mit beiden Händen herunterdrücken und betreiben kann. Die Knöpfe 17L und 17R sind auf der oberen Seite, wie in der Fig. zu sehen ist, angeordnet, sodass der Benutzer die Knöpfe mit den Zeigefingern herunterdrücken und steuern kann.
  • Die Kamera 21 verwendet eine CCD (CCD = charge coupled device = ladungsgekoppelte Vorrichtung) oder einen CMOS-Bildsensor und ist an dem Arm 8 des Roboters 1 vorgesehen. Ein Bild, das ein abzubildendes Objekt 22 aufweist, wird durch die Kamera 21 aufgenommen. Wie im Vorhergehenden erwähnt ist, ist der Computer 23 über das Kabel 24 mit der Steuerung 11 verbunden.
  • In dem Computer 23 ist eine Speicherungseinheit (Speichereinrichtung), wie zum Beispiel ein Speicher oder eine Festplatte, aufgenommen. Die Konsolensteuerung 13 ist über das verbindende Kabel 18 mit dem Computer 23 verbunden und ist adaptiert, um über eine Kommunikationsschnittstelle zwischen der Konsolensteuerung 13 an sich und dem Computer 23 eine Hochgeschwindigkeitsdatenübertragung durchzuführen. Informationen in der Form von betätigenden Signalen oder dergleichen, die als ein Resultat des Betriebs der Joypads 16L und 16R eingegeben werden, werden über den Computer 13 von der Konsolensteuerung 13 zu der Steuereinheit 11 gesendet. Die Kamera 21 ist über das Kabel 25 mit dem Computer 23 verbunden. Bilddaten, die durch die Kamera 21 erfasst werden, werden zu dem Computer 23 gesendet und auf der Anzeige 23D angezeigt.
  • Nun Bezug nehmend auf 2A und 2B als auch auf 3 bis 8 ist im Folgenden das vorliegende Ausführungsbeispiel beschrieben. 2A ist ein Flussdiagramm, das ein Ansichtspunktänderungsverfahren darstellt. Dieses Verfahren wird automatisch durchgeführt, wenn durch den Benutzer durch eine Konsolensteuerung 13 für die Änderung einer Abbildungsposition (Position eines Beobachtungspunktes) ein Anlernen durchgeführt wird, was eine Abbildungsstrecke der Kamera 21 hält. 2B ist ein Flussdiagramm, das genauer gesagt ein „Bahnerzeugungsverfahren“, das bei einem Schritt S5 von 2A durchgeführt wird, darstellt. 3 bis 8 sind Diagramme zum schematischen Erläutern des Inhalts der Verarbeitungsschritte. Diese Verarbeitungsschritte werden hauptsächlich unter Verwendung des Computers 23 durchgeführt.
  • Wie in 2A gezeigt, wird eine Schleife des Ansichtspunktänderungsverfahrens von den Schritten S1 bis S10 mit dem EIN-Betrieb des Benutzers des Joypads 16R in einer Richtung, während der Benutzer den EIN-Betrieb des Knopfs 17R hält (Schritt S0), ausgeführt. Bei dem Schritt S2 kann der Benutzer die Konsolensteuerung 13 verwenden, um einzugeben und anzuweisen, in welcher Richtung und mit welcher Geschwindigkeit (Winkelgeschwindigkeit) die Kamera 21, die an dem äußersten Ende des Arms 8 des Roboters 1 befestigt ist, bewegt werden sollte (Schritt S2). In diesem Fall kann der Benutzer bezüglich der Menge einer Kippung des Joypads 16L in einer bestimmten Richtung bei dem EIN-Betrieb Anweisungen zu der Bewegungsgeschwindigkeit abgeben. Die Zeitdauer, während derer der EIN-Betrieb ausgeführt wird, entspricht der Zeitdauer einer Bewegung mit der im Vorhergehenden angewiesenen Bewegungsgeschwindigkeit.
  • 3 zeigt ein Kamerakoordinatensystem ∑C, das auf eine Linse der Kamera 21 zentriert ist, und ein Koordinatensystem ∑I eines Bilds (das ein Vorlagenbild „N×M“ aufweist), das durch die Kamera 21 aufgenommen wird, bei dem Fall, bei dem die Kamera 21 bei einer Anfangsposition ist. Das Vorlagenbild dient als eine Vorlage für ein Vorlagenabgleichen bei einer Bildverarbeitung. In der folgenden Beschreibung ist, wenn eine Angabe eines „(Vektors)“ einem Bezugssymbol folgt, das Bezugsymbol ein Symbol, das ursprünglich durch eine Vektornotation ausgedrückt werden sollte (mit jedoch den Ausnahmen jener Bezugsymbole, die eine Angabe eines „Vektors“ haben).
  • Der Benutzer kann, während dieser die Anzeige 23D des Computers 23 sieht, anweisen, in welcher Richtung in dem Bild (Einheitsrichtungsvektor dI in dem Bildkoordinatensystem ΣI), mit welcher Geschwindigkeit (Winkelgeschwindigkeit ω) und wie lange der Benutzer die Kamera 21 bewegen möchte. Die Koordinate zu der Zeit, zu der die Kamera 21 bei der Ausgangsposition ist, ist als eine Ursprungskoordinate gespeichert (Ursprungskoordinaten-Einstelleinrichtung).
  • Es wird anschließend bestimmt, ob die Geschwindigkeit, die bei dem Schritt S2 angewiesen wird, null ist oder nicht (Schritt S3). Wenn die Geschwindigkeit nicht null ist (NEIN), wird bestimmt, ob eine Bahn zum Ändern des Beobachtungspunkts erzeugt wurde oder nicht (Schritt S4). Wenn keine Bahn erzeugt wurde (NEIN), schreitet die Steuerung zu einem Schritt S5 fort, um das Bahnerzeugungsverfahren, das in 2B gezeigt ist, auszuführen. Nachdem Abschließen des Bahnerzeugungsverfahrens wird bestimmt, ob der Abschluss ein „normaler Abschluss“ war oder nicht (Schritt S6). Wenn ein „normaler Abschluss“ erreicht wurde (JA), wird die Kamera 21 entlang der erzeugten Bahn gemäß der Bewegungsmenge, die bei dem Schritt S2 angewiesen wird, bewegt (Schritt S7). Wie es im Folgenden beschrieben ist, entspricht dieser Verarbeitungsschritt einer Bahnkorrektur zum Verschieben der Bewegungsbahn der Kamera 21 von einer vorübergehenden Bahn zu einer Zielbahn.
  • Wenn ein Abschluss des Ansichtspunktänderungsverfahrens durch den Benutzer angewiesen wird (JA bei den Schritten S8 und S9), wird das Verfahren abgeschlossen. Wenn ein Abschluss des Ansichtspunktänderungsverfahrens durch den Benutzer nicht angewiesen wird (NEIN bei Schritt S9), kehrt die Steuerung zu dem Schritt S1 zurück, um die Schleife zu wiederholen. Wenn eine „JA“ -Bestimmung bei dem Schritt S3 vorgenommen wird, schreitet die Steuerung zu einem Schritt S8 fort. Wenn eine „JA“-Bestimmung bei dem Schritt S4 vorgenommen wird, schreitet die Steuerung zu dem Schritt S7 fort. Wenn das Bahnerzeugungsverfahren bei dem Schritt S5 in einem abnormalen Abschluss resultiert (NEIN bei Schritt S6), wird das Ansichtspunktänderungsverfahren unverzüglich abgeschlossen.
  • Bezug nehmend auf 2B ist das Bahnerzeugungsverfahren beschrieben. Bei dem Zustand, bei dem die Kamera 21 bei der Anfangsposition ist, wird zuerst ein Bild 1 aufgenommen. In 3 ist ein Beobachtungspunkt Pc (Vektor; der Punkt, wie er von dem Kamerakoordinatensystem ΣC, das in der Mitte der Linse liegt, gesehen wird, wobei der Punkt in dem Anfangszustand unbekannt ist), der die Drehungsmitte der Kamera 21 ist, ein Punkt, der auf ein Bildmittenpixel OI (Vektor) in dem Bildkoordinatensystem ∑I projiziert wird. In dem Bild, das bei der Anfangsposition aufgenommen wird, werden benachbarte (N×M) Pixel um das Pixel, auf das der Beobachtungspunkt Pc projiziert wird, als eine Beobachtungsregion eingestellt. Eine Gruppe von Pixeln, die zu der Beobachtungsregion gehört, wird als ein Vorlagenbild registriert (Schritt S12).
  • Die Gruppe von Pixeln wir genauer gesagt beispielsweise in dem Speicher oder der Festplatte, die beispielsweise in dem Computer 23 aufgenommen ist, gespeichert. Mit als N = (Breite eines Bilds) / 4, M = (Höhe eines Bilds) / 4 eingestellten Anfangswerten kann die Größe (Vergrößerung) der Beobachtungsregion unter Verwendung des Joypads 16R der Konsolensteuerung 13 angepasst werden. Die Beobachtungsregion wird zu dem Zeitpunkt, zu dem der Knopf 17R EIN-geschaltet wird, festgelegt.
  • Die Arme 3 bis 8 des Roboters 1 werden dann wie erforderlich bewegt, wobei die Stellung der Kamera 21 bei der Anfangsposition für eine leicht parallele Translation der Kamera 21 beibehalten wird (Schritt S13). Eine Matrix ist hier als CHI bezeichnet, mit der das Bildkoordinatensystem ∑I in das Kamerakoordinatensystem ∑C gewandelt wird. Eine Matrix ist ferner als BHC bezeichnet, mit der das Kamerakoordinatensystem ∑C in ein Basiskoordinatensystem ∑B, das in 1 gezeigt ist, des Roboters 1 gewandelt wird. Die Wandlungsmatrix CHI ist aus der Spezifikation der Kamera 21 ohne Weiteres bekannt (oder kalibriert), während die Wandlungsmatrix BHC aus der Spezifikation des Roboters 1 ohne Weiteres bekannt ist (oder kalibriert ist).
  • Der Ausgangspunkt des Kamerakoordinatensystems ∑C ist als Oc (Vektor) bezeichnet. In diesem Fall sei eine dreidimensionale Ebene ΔP0BP1BP2B (Bewegungsbeschränkungsebene), die durch drei Punkte, d. h. ein Bildmittenpixel (Formel (1)) gesehen von dem Basiskoordinatensystem ∑B, einen Punkt einer leichten Verlagerung (Formel (2)), der durch eine angewiesene Drehungsrichtung bestimmt ist, und eine Mitte (Formel (3)) der Linse (siehe 4), konfiguriert ist, angenommen. P 1 B = B H C C H I O I
    Figure DE102010037067B4_0005
    P 2 B = B H C C H I ( O I + d I )
    Figure DE102010037067B4_0006
    P 0 B = B H C O C
    Figure DE102010037067B4_0007
  • In diesem Fall wird der Roboter 1 eine Menge, die durch die folgende Formel (4) ausgedrückt ist, um die vorhergehenden drei Punkte (d. h. die Kamera 21) auf die Beschränkungsebene ΔP0BP1BP2B zu beschränken, translatiert. T B = s t ( P 2 B P 1 B )
    Figure DE102010037067B4_0008
  • Ein Wert für st ist hier derart bestimmt, dass die Norm des Vektors TB durch folgende Formel (5) ausgedrückt ist. T B D N E A R D I M G D D S P
    Figure DE102010037067B4_0009
  • Wie in 5 gezeigt ist, gibt DIMG eine kalibrierte und bekannte „Linsen-zu-Abbildungselemente-,, Strecke [mm] der Kamera 21 (die als die Strecke von einer Linsenmitte zu der Ebene von Abbildungselementen in der Kamera 21 definiert ist) an, DDSP gibt eine zulässige Parallaxe [mm] an, die es ermöglicht, dass die Überwachungsregion nach der Bewegung der Kamera 21 in dem Bild verbleibt (wobei DDSP als die Strecke von dem Ende der Beobachtungsregion zu dem Ende des Bilds auf einer linearen Linie, die von der Mitte des Bilds in einer Richtung von -dI (Vektor) gezeichnet ist, definiert ist), und DNEAR gibt eine untere Grenze eines Fotografierbereichs [mm], der durch die Spezifikation der Linse definiert ist, an. Die Formel (5) drückt somit eine Bewegungsbedingung aus, die ermöglicht, dass die Beobachtungsregion in dem Bild unter der Bedingung bleibt, dass die Beobachtungsregion an der unteren Grenze des Fotografierbereichs DNEAR liegt. Wenn ein weiteres Bild 3 durch die Kamera 21 bei der Position nach der Bewegung aufgenommen wird, werden die Bilddaten zusammen mit der Abbildungsposition (der Destinationskoordinate) registriert (Schritt S14, Destinationskoordinaten-Einstelleinrichtung).
  • Bei den im Vorhergehenden beschriebenen Verarbeitungsschritten wurde die Kamera 21 auf der Bewegungsbeschränkungsebene parallel translatiert. Der Beobachtungspunkt in dem Bild, das nach der Bewegung aufgenommen wurde, liegt daher auf einer Linie (einer Kernlinie), die durch die folgende Formel (6) in dem Bildkoordinatensystem ΣI ausgedrückt ist (Kernbeschränkung, siehe 6). O I s d I   ( s 0 )
    Figure DE102010037067B4_0010
  • Diese Linie wird abgetastet, um bei der Position jedes der Pixel eine Ähnlichkeit zu berechnen. Durch diese Berechnung wird eine Bildposition, die einen Grauwert am nächsten zu demselben in einem Vorlagenbild 1 hat, unter Verwendung eines bestimmten Verfahrens, wie z. B. eines Verfahrens einer normalisierten Korrelation (d. h. dies entspricht einem Definieren einer Bildposition (eines dem Überwachungspunkt entsprechenden Punktes), die eine maximale Ähnlichkeit, die ein bestimmtes Niveau überschreitet, in der Menge von Bildcharakteristiken hat), gesucht. Dann wird Pc (Vektor) unter Verwendung eines Triangulationsverfahrens basierend auf der Bildposition, d. h. einem entsprechenden Punkt PI (Vektor), gesehen von einer Bildkoordinate ∑I' nach der Bewegung berechnet (Schritte S15 bis S18). Betrachtend die Ähnlichkeit eines Bilds kann bei dem Fall, bei dem das „bestimmte Niveau“ in dem Vorhergehenden Ausdruck „bestimmtes Niveau oder mehr“ eingestellt ist, der eingestellte Wert beispielsweise etwa 0,7 (Ähnlichkeit von 70 %) sein.
  • Hier ist der Ausgangspunkt der Basiskoordinate ∑B als OB (Vektor) bezeichnet, die Mitte des Bilds (die Linsen-zu-Abbildungselemente-Strecke der Kamera 21) gesehen von dem Kamerakoordinatensystem ∑C vor der Bewegung ist, wie es durch die folgende Formel (7) ausgedrückt ist, bezeichnet, und der entsprechende Punkt gesehen von dem Kamerakoordinatensystem ∑C' nach der Bewegung ist, wie durch die folgende Formel (8) ausgedrückt ist, bezeichnet. P 1 C = C H I O I
    Figure DE102010037067B4_0011
    P 2 C = C H I P I
    Figure DE102010037067B4_0012
  • Wie im Vorhergehenden erwähnt ist, ist PI (Vektor) in dem zweiten Ausdruck auf der rechten Seite der Formel (8) ein Positionsvektor, der in der Bildkoordinate ∑I' den entsprechenden Punkt, der aus dem Abtasten der Kernlinie resultiert, angibt.
  • Die Bewegungsmenge des Roboters 1 (Bewegungsstrecke der Kamera) gesehen von dem Kamerakoordinatensystem ΣC vor der Bewegung wird aus der folgenden Formel (9) berechnet (Zwischenkamerabewegungsstrecken berechnende Einrichtung). T C = ( C H B T B C H B O B )
    Figure DE102010037067B4_0013
  • Der Beobachtungspunkt Pc (Vektor) wird dann unter Verwendung eines Triangulationsverfahrens (siehe 7) aus der folgenden Formel (10) berechnet. P C = T C P 2 C P 1 C P 1 C
    Figure DE102010037067B4_0014
  • Der Nenner der Formel (10) entspricht der „Zwischenkameraparallaxe (Bewegungsstrecke einer Beobachtungsregion)“ (Zwischenkameraparallaxen berechnende Einrichtung, Abbildungsabstand berechnende Einrichtung).
  • Ein Beobachtungspunkt Pc' (Vektor) gesehen von dem Kamerakoordinatensystem ∑C' bei der Bewegungsdestination ist ferner durch die folgende Formel (11) ausgedrückt. P C = P C T C
    Figure DE102010037067B4_0015
  • Bei einem Schritt S16 wird, wenn der entsprechende Punkt, dessen Grauwert nahe demselben in dem Vorlagenbild ist, nicht gefunden werden kann, ermöglicht, dass die Anzeige 23D eine Fehlernachricht darauf dementsprechend (Schritt S19) für den Abschluss des Bahnerzeugungsverfahrens (mit in diesem Fall einem „abnormalen Abschluss“) anzeigt. Bei einem Schritt S18 wird ferner eine Zielbahn (Bogenbahnzentrierung auf den Beobachtungspunkt Pc, mit der die Bahn der Kamera 21 konstant auf den Beobachtungspunkt gerichtet ist) unter Verwendung der Streckendaten des Beobachtungspunkts PC' (Vektor), die bei dem Schritt S17 für den Abschluss des Bahnerzeugungsverfahrens (mit in diesem Fall einem „normalen Abschluss“) berechnet werden, als ihr Radius erzeugt.
  • Nach einem Abschluss des Bahnerzeugungsverfahrens werden die im Vorhergehenden erwähnten Schritte S6 und S7 von 2A ausgeführt. Die Bewegungsbahn der Kamera 1 wird genauer gesagt von der aktuellen vorübergehenden Bahn, die einen Startpunkt in der Ursprungskoordinate hat, zu einer Zielbahn korrigiert (Bewegungsanweisungen ausgebende Einrichtung). Da die Bewegungsstrecke auf der vorübergehenden Bahn verglichen mit der Strecke zu der Position des Beobachtungspunkts sehr klein ist, kann ein Fehler zwischen einer idealen Bahn und der Zielbahn ignoriert werden.
  • Gemäß dem vorliegenden Ausführungsbeispiel, das soweit beschrieben ist, wird beim Anlernen des Roboters 1 eine Region, die eine Zahl N × M von Pixeln hat, als eine Beobachtungsregion um die Mitte eines Bildrahmens, der bei der Anfangsposition der Kamera 21 abgebildet wurde, eingestellt, und die Koordinate der Anfangsposition wird als eine Ursprungskoordinate eingestellt. Die Kamera 21 wird dann, wobei ihre Stellung bei der Anfangsposition beibehalten wird, um eine Menge, die TB (Vektor) entspricht, in einer Richtung, die durch den Benutzer eingegeben und angewiesen wird, leicht bewegt, sodass die Beobachtungsregion innerhalb eines Bereichs liegen kann, der in den Bildrahmen fällt. Die Positionskoordinate nach der Bewegung wird dann als eine Destinationskoordinate eingestellt.
  • Dann wird unter Verwendung der Ursprungskoordinate und der Destinationskoordinate eine Bewegungsstrecke Tc der Kamera 21 berechnet. Innerhalb des Bilds, das auf der Destinationskoordinate erfasst wird, wird dann eine Bildposition, deren Pixelintensitäten am ähnlichsten zu denselben der Beobachtungsregion sind, als ein dem Beobachtungspunkt entsprechender Punkt spezifiziert. Eine Bewegungsstrecke der Beobachtungsregion wird dann auf einer Entsprechungspositions- (Koordinaten-) Beziehung zwischen dem entsprechenden Punkt und dem Beobachtungspunkt als eine Zwischenkameraparallaxe, die durch |P2C(Vektor)-P1C (Vektor)| ausgedrückt ist, berechnet.
  • Eine Abbildungsstrecke von der Destinationskoordinate der Kamera 21 zu dem Beobachtungspunkt Pc wird dann unter Verwendung eines Triangulationsverfahrens basierend auf der Linsen-zu-Abbildungselemente-Strecke der Kamera 21, die im Voraus gemerkt wird, der Bewegungsstrecke der Kamera und der Zwischenkameraparallaxe berechnet. Eine Zielbogenbahn, mit der die Kamera 21 zu dem Beobachtungspunkt konstant gerichtet ist, wird dann basierend auf der eingegebenen Richtung einer Bewegung und der Abbildungsstrecke berechnet. Die Zielbogenbahn hat die Destinationskoordinate als ihren Startpunkt und die Abbildungsstrecke als ihren Radius. Anweisungen werden dann zu dem Roboter 1 ausgegeben, sodass die Kamera 21 um eine Bewegungsmenge, die durch den Benutzer zusammen mit der Zielbogenbahn eingegeben wird, bewegt werden kann.
  • Der Benutzer muss genauer gesagt lediglich eine Richtung einer Bewegung und eine Bewegungsmenge eingeben und anweisen, um dem Roboter 1 die Änderung des Beobachtungspunktes der Kamera 21 anzulernen bzw. beizubringen. Während es somit die Steuereinheit 11 und der Roboter 1 ermöglichen, dass sich die Kamera 21 gemäß den Anweisungen bewegt, kann die Abbildungsstrecke von dem Beobachtungspunkt der Kamera 21 zu dem Beobachtungspunkt automatisch berechnet werden. Die Zielbogenbahn für die Änderung des Beobachtungspunktes kann zu dem Zeitpunkt erzeugt werden, zu dem die Abbildungsstrecke berechnet wurde. Dies wird einen unmittelbaren Übergang zu der Bewegung der Kamera 21 ermöglichen, wobei die Abbildungsstrecke auf einem konstanten Wert gehalten wird.
  • Wenn die Kamera 21 leicht bewegt wird, um die Abbildungsstrecke zu berechnen, kann es in diesem Fall zwischen einer idealen Anfangsbahn und der Zielbogenbahn einen Versatz geben. Die Strecke der leichten Bewegung kann jedoch beim Ändern des Beobachtungspunkts der Kamera 21 ignoriert werden, da die Strecke einer Bewegungsmenge innerhalb eines Bereichs entspricht, der es ermöglicht, dass die Beobachtungsregion in den Bildrahmen fällt. Da ein anzulernender Endpunkt unvermeidbar leicht angepasst werden muss, kann ein Fehler dieses Niveaus im Verlauf eines Anlernens als gleich Nichts betrachtet werden. Der Benutzer muss daher eine Änderung des Beobachtungspunkts der Kamera 21 nicht lediglich dafür getrennt durchführen, um die Abbildungsstrecke zu berechnen. Die Arbeitslast des Benutzers kann somit gelindert werden.
  • Der Unterschied der Startposition einer Bewegung zwischen der Ursprungskoordinate und der Destinationskoordinate ist somit so klein, dass der Unterschied bezüglich des Anlernbetriebs ignoriert werden kann. Der Anlernbetrieb kann dementsprechend durch Erzeugen der Bogenbahn unter Verwendung der Abbildungsstrecke von der Destinationskoordinate als ein Bezug zu dem Beobachtungspunkt und Ermöglichen, dass sich die Kamera 21 direkt und gleichmäßig entlang der Bahn bewegt, gleichmäßig entwickelt werden.
  • Es ist ferner sichergestellt, dass die Größe der Beobachtungsregion durch den Benutzer geändert werden kann. Abhängig von den Bedingungen eines durch die Kamera 21 abzubildenden Objekts kann die Anfangsgröße der vorbestimmten Region zum geeigneten Extrahieren einer Menge von Bildcharakteristiken, die den Beobachtungspunkt aufweisen, ungeeignet sein. Aus diesem Grund wird sichergestellt, dass die Größe der vorbestimmten Region gemäß einem abzubildenden Objekt geeignet eingestellt wird.
  • Es ist offensichtlich, dass die „Steuereinheit“, die in den Ansprüchen zitiert ist, der Steuereinheit 11 und dem Computer 23 bei dem vorhergehenden Ausführungsbeispiel entspricht.
  • Die vorliegende Erfindung soll nicht auf das im Vorhergehenden beschriebene und in den Zeichnungen dargestellte Ausführungsbeispiel begrenzt sein, kann jedoch, wie im Folgenden dargelegt ist, umfassend modifiziert sein.
  • Die Anfangsgröße der Beobachtungsregion muss nicht auf N = (Breite eines Bildes) /4, M = (Höhe eines Bilds) /4, begrenzt sein, sondern kann wie geeignet geändert sein. Die Größe der Beobachtungsregion kann ferner im Voraus fest eingestellt sein.
  • Das Verfahren einer normalisierten Korrelation muss ferner nicht notwendigerweise verwendet sein, es können jedoch andere Verfahren beim Berechnen der Ähnlichkeit der Menge von Bildcharakteristiken zwischen dem Teilbild in der Beobachtungsregion der Ursprungskoordinate und dem Bild der Destinationskoordinate verwendet sein.
  • Dieselbe kann so konfiguriert sein, dass die Konsolensteuerung 13 mit der Steuereinheit 11 verbunden ist, um betätigende Signale zu der Steuereinheit 11 direkt zu senden, und dass die betätigenden Signale ferner über das Kabel 24 zu dem Computer 23 gesendet werden.
  • Das System kann ferner eine Konfiguration haben, die sich auf die Steuereinheit 11 konzentriert. Bei der Konfiguration können genauer gesagt Funktionen des Computers 23 in der Steuereinheit 11 integriert sein, und die Konsolensteuerung 13 und die Kamera 21 können für die Sendung von Bilddaten mit der Steuereinheit 11 verbunden sein.
  • Die Bilddaten der Kamera 21 können ferner zu der Steuereinheit 11 gesendet werden und können dann über das Kabel 24 von der Steuereinheit 11 zu dem Computer 23 gesendet werden.
  • Die eingebende Einrichtung muss nicht auf die Konsolensteuerung 13 begrenzt sein, sondern kann eine Joysticksteuerung oder ein Anlernpendant sein.
  • Die Steuervorrichtung und das Anlernverfahren gemäß der vorliegenden Erfindung können auf gelenkige Fünf-Achsen-Roboter und gelenkige Sieben-Achsen- oder Mehrachsen-Roboter, die nicht auf den bei dem Ausführungsbeispiel beschriebenen gelenkigen Sechs-Achsen-Roboter begrenzt sind, angewendet sein.

Claims (6)

  1. Vorrichtung zum Steuern eines Roboters (1), der einen Arm (3-8) hat, wobei ein äußerstes Ende des Arms (3-8) zum Abbilden eines abgebildeten Objekts (22) mit einer Kamera (21) ausgestattet ist, und ein Anlernen derart durchgeführt wird, dass die Kamera (21) positionsmäßig geändert wird, während eine Strecke von der Kamera (21) zu dem Objekt (22) auf dem gleichen Wert beibehalten wird, mit: einer Eingabeeinrichtung (13), die durch einen Betreiber verwendet wird, um dem Betreiber zu ermöglichen, der Vorrichtung Informationen zu liefern (S0, S2), die sowohl eine Bewegungsrichtung ( T B ) ,
    Figure DE102010037067B4_0016
    entlang der die Kamera (21) bewegt wird, als auch eine Bewegungsmenge, durch die die Kamera (21) bewegt wird, angeben, wobei die Bewegungsrichtung ( T B )
    Figure DE102010037067B4_0017
    senkrecht zu einer optischen Achse der Kamera (21) ist; einer ersten Verarbeitungseinrichtung zum Einstellen (S12) einer vorbestimmten Region in einem Rahmen eines Bilds, das durch die Kamera (21) abgebildet (S11) wird, auf eine Anfangsposition, wobei die Region um eine Mitte des Bildrahmens spezifiziert ist, und zum Erhalten einer Koordinate der Anfangsposition; einer zweiten Verarbeitungseinrichtung zum leichten Bewegen (S13) der Kamera (21) zu einer neuen Position entlang der Bewegungsrichtung ( T B )
    Figure DE102010037067B4_0018
    vor dem Anlernen, sodass die vorbestimmte Region in einen Rahmen eines Bilds, das bei der neuen Position abgebildet (S14) wird, gerät, wobei die Kamera (21) bei sowohl der Anfangsposition als auch der neuen Position die gleiche Stellung hat, und zum Erhalten (S15) einer Koordinate der neuen Position, zu der die Kamera (21) bewegt wurde; einer ersten Strecken berechnenden Einrichtung zum Berechnen einer Bewegungsstrecke der Kamera (21) basierend auf den Koordinaten der Anfangsposition und der neuen Position; einer zweiten Strecken berechnenden Einrichtung zum Berechnen einer Bewegungsstrecke der vorbestimmten Region von dem Bild, das bei der Anfangsposition abgebildet wird, zu dem Bild, das bei der neuen Position abgebildet wird, basierend auf Mengen von Bildcharakteristiken von beiden Bildern, die bei der Anfangsposition und der neuen Position abgebildet werden; einer dritten Strecken berechnenden Einrichtung zum Berechnen (S17) einer Strecke von der Koordinate der Anfangsposition zu dem Objekt (22) basierend auf einer Linsen-zu-Abbildungselemente-Strecke (DIMG) der Kamera (21), der Bewegungsstrecke (Tc) der Kamera (21) und der Bewegungsstrecke der vorbestimmten Region; einer Bahn berechnenden Einrichtung zum Berechnen (S18) einer Bogenbahn, die anzuzielen ist, basierend auf der Bewegungsrichtung ( T B )
    Figure DE102010037067B4_0019
    und der Strecke von der Kamera (21) zu dem Objekt (22), wobei die Bahn, die von einem Startpunkt startet, der durch die Koordinate der neuen Position definiert ist, einen Radius hat, der durch die Strecke von der Kamera (21) zu dem Objekt (22) definiert ist, und der Kamera (21) immer ermöglicht, in der vorbestimmten Region zu einem Beobachtungspunkt (Pc) gerichtet zu sein; und einer Ausgabeeinrichtung zum Ausgeben eines Befehls zu dem Roboter (1), wobei der Befehl der Kamera (21) ermöglicht, sich um die Bewegungsmenge, die durch die Eingabeeinrichtung (13) eingegeben wird, entlang der Bahn zu bewegen.
  2. Vorrichtung nach Anspruch 1, bei der die zweite Strecken berechnende Einrichtung konfiguriert ist, um eine Ähnlichkeit der Menge von Bildcharakteristiken des Bilds, das bei der neuen Position abgebildet wird, zu einem Teilbild, das durch die vorbestimmte Region in dem Bild, das bei der Anfangsposition abgebildet wird, spezifiziert ist, zu berechnen (S15, S16), in dem Bild, das bei der neuen Position abgebildet wird, eine Region zu bestimmen, deren Ähnlichkeit mehr als ein gegebenes Niveau und maximal ist, und um die Bewegungsstrecke der vorbestimmten Region basierend auf einer Koordinate der spezifizierten Region in dem Bild, das bei der neuen Position abgebildet wird, und einer Koordinate der vorbestimmten Region in dem Bild, das bei der Anfangsposition abgebildet wird, zu berechnen (S18).
  3. Vorrichtung nach Anspruch 1 oder 2, mit einer Größen ändernden Einrichtung, die zum Ändern einer Größe der vorbestimmten Region in dem Bild, das bei der Anfangsposition abgebildet wird, verwendet ist.
  4. Verfahren zum Anlernen eines Roboters (1), der einen Arm (3-8) hat, wobei ein äußerstes Ende des Arms (3-8) zum Abbilden eines abgebildeten Objekts (22) mit einer Kamera (21) ausgestattet ist, und ein Anlernen derart durchgeführt wird, dass die Kamera (21) positionsmäßig geändert wird, während eine Strecke von der Kamera (21) zu dem Objekt (22) auf dem gleichen Wert beibehalten wird, und einem Betreiber ermöglicht wird, dem Roboter (1) Informationen zu liefern, die sowohl eine Bewegungsrichtung ( T B ) ,
    Figure DE102010037067B4_0020
    entlang der die Kamera (21) bewegt wird, als auch eine Bewegungsmenge, durch die die Kamera (21) bewegt wird, angeben, wobei die Bewegungsrichtung ( T B )
    Figure DE102010037067B4_0021
    senkrecht zu einer optischen Achse der Kamera (21) ist, mit folgenden Schritten: Einstellen (S12) einer vorbestimmten Region in einem Rahmen eines Bilds, das durch die Kamera (21) abgebildet (S11) wird, auf eine Anfangsposition zum Abbilden, wobei die Region um eine Mitte des Bildrahmens spezifiziert ist, und Erhalten einer Koordinate der Anfangsposition; leichtes Bewegen der Kamera (21) zu einer neuen Position entlang der Bewegungsrichtung ( T B ) ,
    Figure DE102010037067B4_0022
    sodass die vorbestimmte Region in einen Rahmen eines Bilds, das bei der neuen Position abgebildet (S14) wird, gerät, wobei die Kamera (21) bei sowohl der Anfangsposition als auch der neuen Position die gleiche Stellung hat, Erhalten (S15) einer Koordinate der neuen Position, zu der die Kamera (21) bewegt wurde; erstes Berechnen einer Bewegungsstrecke der Kamera (21) basierend auf den Koordinaten der Anfangsposition und der neuen Position; zweites Berechnen einer Bewegungsstrecke der vorbestimmten Region von dem Bild, das bei der Anfangsposition abgebildet wird, zu dem Bild, das bei der neuen Position abgebildet wird, basierend auf Mengen von Bildcharakteristiken von beiden Bildern, die bei der Anfangsposition und der neuen Position abgebildet werden; drittes Berechnen (S17) einer Strecke von der Koordinate der Anfangsposition zu dem Objekt (22) basierend auf einer Linsen-zu-Abbildungselemente-Strecke (DIMG) der Kamera (21), der Bewegungsstrecke (Tc) der Kamera (21) und der Bewegungsstrecke der vorbestimmten Region; Berechnen (S18) einer Bogenbahn, die anzuzielen ist, basierend auf der Bewegungsrichtung ( T B )
    Figure DE102010037067B4_0023
    und der Strecke von der Kamera (21) zu dem Objekt (22), wobei die Bahn, die von einem Startpunkt startet, der durch die Koordinate der neuen Position definiert ist, einen Radius hat, der durch die Strecke von der Kamera (21) zu dem Objekt (22) definiert ist, und der Kamera (21) immer ermöglicht, in der vorbestimmten Region zu einem Beobachtungspunkt (Pc) gerichtet zu sein; und Ausgeben eines Befehls zu dem Roboter (1), wobei der Befehl der Kamera (21) ermöglicht, sich um die Bewegungsmenge, die eingegeben wird, entlang der Bahn zu bewegen (S7).
  5. Verfahren nach Anspruch 4, bei dem der Schritt des zweiten Berechnens einer Strecke folgende Schritte aufweist: Berechnen (S15, S16) einer Ähnlichkeit der Menge von Bildcharakteristiken des Bilds, das bei der neuen Position abgebildet wird, zu einem Teilbild, das durch die vorbestimmte Region in dem Bild, das bei der Anfangsposition abgebildet wird, spezifiziert ist, Bestimmen einer Region, deren Ähnlichkeit mehr als ein gegebenes Niveau und maximal ist, in dem Bild, das bei der neuen Position abgebildet wird, und Berechnen (S18) der Bewegungsstrecke der vorbestimmten Region basierend auf einer Koordinate der spezifizierten Region in dem Bild, das bei der neuen Position abgebildet wird, und einer Koordinate der vorbestimmten Region in dem Bild, das bei der Anfangsposition abgebildet wird.
  6. Verfahren nach Anspruch 4 oder 5, bei dem eine Größe der vorbestimmten Region in dem Bild, das bei der Anfangsposition abgebildet wird, änderbar ist.
DE102010037067.3A 2009-08-19 2010-08-19 Robotersteuervorrichtung und Verfahren zum Teachen eines Roboters Active DE102010037067B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-190028 2009-08-19
JP2009190028A JP5428639B2 (ja) 2009-08-19 2009-08-19 ロボットの制御装置及びロボットのティーチング方法

Publications (2)

Publication Number Publication Date
DE102010037067A1 DE102010037067A1 (de) 2011-04-14
DE102010037067B4 true DE102010037067B4 (de) 2020-10-15

Family

ID=43734729

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010037067.3A Active DE102010037067B4 (de) 2009-08-19 2010-08-19 Robotersteuervorrichtung und Verfahren zum Teachen eines Roboters

Country Status (2)

Country Link
JP (1) JP5428639B2 (de)
DE (1) DE102010037067B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3401064B1 (de) 2016-01-04 2019-10-23 Zhejiang Libiao Robots Co., Ltd. Verfahren und vorrichtung zur raddurchmesserkompensation für roboter
DE102016001238B4 (de) 2016-02-04 2021-10-14 Audi Ag Anordnung und Verfahren zum Herstellen eines Bauteils
JP2018051728A (ja) * 2016-09-30 2018-04-05 ファナック株式会社 対象物の三次元位置を検出する検出方法および検出装置
CN108334075B (zh) * 2018-01-08 2021-08-20 浙江立石机器人技术有限公司 机器人轮胎绝对误差标定方法、装置及系统
JP7088800B2 (ja) * 2018-09-27 2022-06-21 ファナック株式会社 ロボットの円弧動作を制御するロボット制御装置
KR102130617B1 (ko) * 2019-05-13 2020-07-06 주식회사 하나비전테크 로봇 위치 제어 장치 및 방법
CN113405568B (zh) * 2021-06-03 2022-10-28 中国农业大学 视觉测量系统结构参数测量的方法、系统及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60229109A (ja) * 1984-04-27 1985-11-14 Hitachi Ltd 視覚カメラによる位置補正システム
JPS6358505A (ja) * 1986-08-29 1988-03-14 Fanuc Ltd ロボツト制御装置
JPH0675617A (ja) * 1992-08-24 1994-03-18 Nec Corp カメラ視点変更方式
JPH0944218A (ja) * 1995-08-02 1997-02-14 Nippon Telegr & Teleph Corp <Ntt> 物体の位置姿勢補正方法及びロボットの教示経路補正方法
DE69219532T2 (de) * 1991-03-07 1997-09-04 Fanuc Ltd Methode zur koreektur einer detektierten position
EP1607194A2 (de) * 2004-06-02 2005-12-21 Fanuc Ltd Robotersystem bestehend aus mehreren Robotern mit Mitteln zur Kalibrierung ihrer relativen Lage
US20090187276A1 (en) * 2008-01-23 2009-07-23 Fanuc Ltd Generating device of processing robot program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120351A (ja) * 1997-10-15 1999-04-30 Fujitsu Ltd 画像マッチング装置および画像マッチングプログラムを格納する記憶媒体
JP2961272B1 (ja) * 1998-09-09 1999-10-12 防衛庁技術研究本部長 特徴ベクトルを利用した物体の認識装置および方法
JP3654042B2 (ja) * 1999-04-21 2005-06-02 松下電工株式会社 物体特定方法及び装置
JP3803755B2 (ja) * 1999-12-29 2006-08-02 川崎重工業株式会社 ロボットシステムおよびその利用方法
JP4957134B2 (ja) * 2006-09-12 2012-06-20 株式会社日立製作所 距離計測装置
JP4844453B2 (ja) * 2007-04-09 2011-12-28 株式会社デンソーウェーブ ロボットの教示装置及び教示方法
JP2009129318A (ja) * 2007-11-27 2009-06-11 Fuji Heavy Ind Ltd 画像処理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60229109A (ja) * 1984-04-27 1985-11-14 Hitachi Ltd 視覚カメラによる位置補正システム
JPS6358505A (ja) * 1986-08-29 1988-03-14 Fanuc Ltd ロボツト制御装置
DE69219532T2 (de) * 1991-03-07 1997-09-04 Fanuc Ltd Methode zur koreektur einer detektierten position
JPH0675617A (ja) * 1992-08-24 1994-03-18 Nec Corp カメラ視点変更方式
JPH0944218A (ja) * 1995-08-02 1997-02-14 Nippon Telegr & Teleph Corp <Ntt> 物体の位置姿勢補正方法及びロボットの教示経路補正方法
EP1607194A2 (de) * 2004-06-02 2005-12-21 Fanuc Ltd Robotersystem bestehend aus mehreren Robotern mit Mitteln zur Kalibrierung ihrer relativen Lage
US20090187276A1 (en) * 2008-01-23 2009-07-23 Fanuc Ltd Generating device of processing robot program

Also Published As

Publication number Publication date
JP5428639B2 (ja) 2014-02-26
DE102010037067A1 (de) 2011-04-14
JP2011041990A (ja) 2011-03-03

Similar Documents

Publication Publication Date Title
DE102018213985B4 (de) Robotersystem
DE102010037067B4 (de) Robotersteuervorrichtung und Verfahren zum Teachen eines Roboters
DE102010032840B4 (de) Vorrichtung und Verfahren zum Messen der Position eines Werkzeugmittelpunktes eines Roboters
DE102015015503B4 (de) Robotersystem, das eine mit erweiterter Realität kompatible Anzeige aufweist
DE102019009313B4 (de) Robotersteuerung, Verfahren und Computerprogramm unter Verwendung von erweiterter Realität und gemischter Realität
DE102007033486B4 (de) Verfahren und System zur Vermischung eines virtuellen Datenmodells mit einem von einer Kamera oder einer Darstellungsvorrichtung generierten Abbild
DE60127644T2 (de) Lehrvorrichtung für einen Roboter
DE102016115987B4 (de) Koordinatensystemeinstellungsverfahren, Koordinatensystemeinstellungsvorrichtung und Robotersystem mit Koordinatensystemeinstellungsvorrichtung
DE102009012590A1 (de) Vorrichtung zum Ermitteln der Stellung eines Roboterarms mit Kamera zur Durchführung von Aufnahmen
DE102013021917B4 (de) Robotersystemanzeigevorrichtung
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102009034529B4 (de) Automatisches Führungs- und Erkennungssystem sowie Verfahren für dieses
DE102011050640B4 (de) Vorrichtung und Verfahren zum Wiederherstellen der Positionsinformation von Robotern
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102017128543B4 (de) Störbereich-einstellvorrichtung für einen mobilen roboter
DE102017111543B4 (de) Robotersteuerungsvorrichtung und ein Verfahren zur Steuerung eines Roboters
DE4001433A1 (de) Korrekturverfahren fuer koordinatenmessgeraete
DE102020110252B4 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE202008014481U1 (de) Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
DE102018009815A1 (de) Bildgebungsvorrichtung umfassend einen Sichtsensor zum Erfassen des Bildes eines Werkstücks
DE102018107857A1 (de) Vorrichtung, System und Verfahren zur automatischen Erzeugung eines Bewegungspfads eines Roboters
DE102018112403A1 (de) Robotersystem, das informationen zur unterweisung eines roboters anzeigt
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102020212013A1 (de) Robotersystem
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final