DE102015226696B4 - Bildverarbeitungsvorrichtung, Bildverarbeitungssystem, Bildverarbeitungsverfahren und Computerprogramm - Google Patents

Bildverarbeitungsvorrichtung, Bildverarbeitungssystem, Bildverarbeitungsverfahren und Computerprogramm Download PDF

Info

Publication number
DE102015226696B4
DE102015226696B4 DE102015226696.6A DE102015226696A DE102015226696B4 DE 102015226696 B4 DE102015226696 B4 DE 102015226696B4 DE 102015226696 A DE102015226696 A DE 102015226696A DE 102015226696 B4 DE102015226696 B4 DE 102015226696B4
Authority
DE
Germany
Prior art keywords
image
image processing
target object
movement
coordinate values
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
DE102015226696.6A
Other languages
English (en)
Other versions
DE102015226696A1 (de
Inventor
Naoya Uchiyama
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.)
Keyence Corp
Original Assignee
Keyence Corp
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 Keyence Corp filed Critical Keyence Corp
Publication of DE102015226696A1 publication Critical patent/DE102015226696A1/de
Application granted granted Critical
Publication of DE102015226696B4 publication Critical patent/DE102015226696B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39057Hand eye calibration, eye, camera on hand, end effector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

Bildverarbeitungsvorrichtung, die umfasst:eine Kommunikationseinrichtung (36), die Datenkommunikation mit einer Robotersteuereinheit (2), die eine Bewegung des Roboters (1) steuert, ausführen kann;eine Bildaufnahmeeinrichtung (4), die ein Bild eines Zielobjekts, das ein Operationszielobjekt (6) des Roboters (1) ist, aufnimmt;eine Befehlssendeeinheit zum Senden eines Bewegungsbefehls zu der Robotersteuereinheit (2), um einen Endeffektor (5) zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Ziels, das zu einem Bildaufnahmezielobjekt (6) wird, in Bezug auf die Bildaufnahmeeinrichtung (4) zu ändern;eine Bewegungskoordinatenerfassungseinheit zum Erfassen erster Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat;ein Bildaufnahmesteuerabschnitt (303) zum Steuern einer Operation der Bildaufnahmeeinrichtung (4), um ein Bild des Zielobjekts an jedem Bewegungsziel, zu dem sich der Endeffektor (5) bewegt hat, aufzunehmen;eine Bilddetektionseinheit zum Detektieren zweiter Koordinatenwerte, die Positionskoordinaten des Zielobjekts sind, basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird; undeine Kalibrierungsausführungseinheit zum Berechnen einer Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungssystem, ein Bildverarbeitungsverfahren und ein Computerprogramm, die Kalibrierung mit hoher Genauigkeit ausführen können, ohne ein komplexes Roboterbewegungssteuerprogramm zu erzeugen.
  • Es ist eine große Anzahl von Steuersystemen entwickelt worden, in denen ein Bild eines Arbeitsbereichs eines Roboters durch eine Bildaufnahmeeinrichtung aufgenommen wird, eine Position eines Werkstücks in dem aufgenommenen Bild detektiert wird und Positionsinformationen des detektierten Werkstücks basierend auf dem aufgenommenen Bild berechnet werden, um eine Bewegung des Roboters mit hoher Genauigkeit zu steuern.
  • Beispielsweise offenbart die ungeprüfte japanische Patentveröffentlichung Nr. JP H04-134501 A eine Robotersteuereinheit, die eine Roboterbewegung basierend auf Informationen steuert, die durch einen Sensor detektiert werden, der eine Bildaufnahmeeinrichtung enthält. Ferner offenbart die ungeprüfte japanische Patentveröffentlichung Nr. JP H09-91022 A eine Robotersteuereinheit, die
    ein Lademodul (Roboterbewegungssteuerprogramm), das in einem externen Computer kompiliert ist, sendet, um eine Roboterbewegung zu steuern.
  • In DE 112011101730 T5 wird ein System zur robusten Kalibrierung eines Bildverarbeitungssystems und eines Roboters beschrieben. Das System und das Verfahren ermöglichen die Kalibrierung einer Vielzahl von Kameras in einem Roboterbasis-Koordinatensystem, um die genaue Bestimmung der Position von bestimmten Objekten innerhalb von Roboterbasis-Koordinaten mittels eines Bildverarbeitungs-/Robotersteuerungssystems zu ermöglichen.
  • DE 60121105 T2 betrifft eine zusammengesetzte Vorrichtung zur Erkennung von Position und Orientierung mit einem Sensor zur Gewinnung zweidimensionaler Information und einem Sensor zur Gewinnung dreidimensionaler Information.
  • In US 2014/0288710A1 wird ein Robotersystem beschrieben, welches die Korrelation zwischen den Koordinaten der Kamera und den Koordinaten des Roboters mit Hilfe eines Arms des Roboters als Referenz bestimmt.
  • US 2014/0229005A1 betrifft ein Robotersystem, welches keine manuelle Kalibrierung benötigt und welches die Kalibrierungsgenauigkeit des Roboterkörpers, der Kamera und des Kontrollapparats erhöht.
  • In US 2011/0320039A1 wird ein Kalibrierungswerkzeug beschrieben, welches von einem Roboter entlang einer vorbestimmten Trajektorie bewegt wird.
  • JP 2006-82170 A betrifft ein Robotersystem, welches die Position eines Arbeitsstücks mit Hilfe einer Messung bestimmen und korrigieren kann.
  • Wie dadurch beschrieben ist, erfordert das herkömmliche Robotersteuersystem zum Steuern einer aufwändigen Bewegung die Umsetzung von Positionskoordinaten, die in einem Koordinatensystem berechnet sind, das in einer Bildverarbeitungsvorrichtung angezeigt ist, zu Positionskoordinaten in einem Koordinatensystem, mit dem die Robotersteuereinheit einem Endeffektor ermöglicht, eine Bewegung auszuführen. Die Verarbeitung, um eine Umsetzungsformel zum Ausführen der Koordinatenumsetzung zu berechnen, wird als Kalibrierung bezeichnet. Der Endeffektor bedeutet hier beispielsweise einen Endabschnitt eines Roboterarms, der ein Werkstück greifen und fixieren kann.
  • Zur Zeit der Ausführung der Kalibrierung werden beispielsweise Positionskoordinaten des Roboters, dessen Endeffektor das Werkstück greift und zu mehreren vorbestimmten Positionen bewegt worden ist, mit Positionskoordinaten auf einem Bild des Werkstücks, das durch die Bildaufnahmeeinrichtung aufgenommen ist, die basierend auf dem aufgenommenen Bild detektiert werden, verglichen, um die Berechnung der Umsetzungsformel zu ermöglichen.
  • Zum korrekten Ausführen der Kalibrierung bewegt die Robotersteuereinheit den Endeffektor zu einer geeigneten Position und sendet ein Bildaufnahmeanweisungssignal zu der Bildverarbeitungsvorrichtung an diesem Bewegungsziel und bewegt den Endeffektor zu der nächsten Position. Es war für einen Anwender notwendig, ein sequentielles Roboterbewegungssteuerprogramm zum Wiederholen der vorstehenden Operation zu erzeugen.
  • Ferner war es außerdem notwendig, dass der Anwender Verarbeitung zum Empfangen des Bildaufnahmeanweisungssignals in der Bildverarbeitungsvorrichtung ausführt, um eine Position des Werkstücks zu detektieren. Das heißt, der Anwender muss sowohl im Einstellen des Roboterbewegungssteuerprogramms als auch im Einstellen der Bildverarbeitungsvorrichtung geschickt sein, und das war eine ferne Ursache für das Benötigen einer beträchtlichen Zeit, um das gesamte System zu starten.
  • Außerdem spielt die Robotersteuereinheit eine Hauptrolle in der Steuerung einer Bewegung des Roboters und geht so weit, dass sie eine Bewegung des Sensors, der die Bildaufnahmeeinrichtung enthält, steuert. Dementsprechend hat der Anwender, wenn er nicht mit dem Roboterbewegungssteuerprogramm vertraut ist, Schwierigkeiten, dem Roboter zu ermöglichen, eine gewünschte Bewegung auszuführen, und kann außerdem die Kalibrierung nicht präzise ausführen, was problematisch war.
  • Die vorliegende Erfindung wurde im Hinblick auf solche Gegebenheiten gemacht. Es ist ein Ziel der vorliegenden Erfindung, eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungssystem, ein Bildverarbeitungsverfahren und ein Computerprogramm zu schaffen, die Kalibrierung mit hoher Genauigkeit ausführen können, ohne ein komplexes Roboteroperationssteuerprogramm zu erzeugen.
  • Zum Erreichen des vorstehenden Ziels ist eine Bildverarbeitungsvorrichtung gemäß einer Ausführungsform eine Bildverarbeitungsvorrichtung, die eine Kommunikationseinrichtung und eine Bildaufnahmeeinrichtung enthält. Die Kommunikationseinrichtung kann Datenkommunikation mit einer Robotersteuereinheit, die eine Bewegung eines Roboters steuert, ausführen. Die Bildaufnahmeeinrichtung nimmt ein Bild eines Zielobjekts auf, das ein Operationszielobjekt des Roboters ist. Die Bildverarbeitungsvorrichtung enthält eine Befehlssendeeinheit, eine Bewegungskoordinatenerfassungseinheit, eine Bildaufnahmesteuereinheit, eine Bilddetektionseinheit und eine Kalibrierungsausführungseinheit. Die Befehlssendeeinheit sendet zu der Robotersteuereinheit einen Bewegungsbefehl, um einen Endeffektor zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Zielobjekts, das zu einem Bildaufnahmezielobjekt wird, in Bezug auf die Bildaufnahmeeinrichtung zu ändern. Die Bewegungskoordinatenerfassungseinheit erfasst erste Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat. Die Bildaufnahmesteuereinheit steuert eine Operation der Bildaufnahmeeinrichtung, um ein Bild des Zielobjekts an jedem Bewegungsziel, zu dem sich der Endeffektor bewegt hat, aufzunehmen. Die Bilddetektionseinheit detektiert zweite Koordinatenwerte, die Positionskoordinaten des Zielobjekts sind, basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird. Die Kalibrierungsausführungseinheit berechnet eine Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.
  • Ferner ist es in einer Bildverarbeitungsvorrichtung gemäß einer weiteren Ausführungsform bevorzugt, dass in dem ersten Aspekt die Befehlssendeeinheit den Bewegungsbefehl, der wenigstens eine Bewegungsanweisung und Positionskoordinaten des Bewegungsziels enthält, zu der Robotersteuereinheit sendet.
  • Ferner enthält eine Bildverarbeitungsvorrichtung gemäß einer nochmals weiteren Ausführungsform in dem ersten oder zweiten Aspekt vorzugsweise eine Koordinatendetektionseinheit zum Detektieren der zweiten Koordinatenwerte, die Positionskoordinaten des abgebildeten Zielobjekts sind; und eine Koordinatenumsetzungseinheit zum Umsetzen der detektierten zweiten Koordinatenwerte in die ersten Koordinatenwerte basierend auf der Umsetzungsregel.
  • Ferner enthält eine Bildverarbeitungsvorrichtung gemäß einer nochmals weiteren Ausführungsform bevorzugt in einem dritten Aspekt eine Anzeigeeinheit zum Anzeigen des aufgenommenen Bild des Zielobjekts; und eine Positionsspezifikationsakzeptierungseinheit zum Akzeptieren der Spezifikation einer Position des angezeigten Bild des Zielobjekts. In der Vorrichtung ist es bevorzugt, dass die zweiten Koordinatenwerte an den Positionen, deren Spezifikation akzeptiert worden ist, durch die Koordinatenumsetzungseinheit basierend auf der Umsetzungsregel in die ersten Koordinatenwerte umgesetzt werden.
  • Ferner ist es in einer Bildverarbeitungsvorrichtung gemäß einer nochmals weiteren Ausführungsform bevorzugt, dass in irgendeinem aus dem ersten bis vierten Aspekt die ersten Koordinatenwerte, die durch die Bewegungskoordinatenerfassungseinheit erfasst werden, basierend auf der Umsetzungsregel in die zweiten Koordinatenwerte umgesetzt werden und die umgesetzten Werte auf dem angezeigten aufgenommenen Bild des Zielobjekts überlagert und angezeigt werden.
  • Als Nächstes ist zum Erreichen des vorstehenden Ziels ein Bildverarbeitungssystem gemäß einer nochmals weiteren Ausführungsform ein Bildverarbeitungssystem, das eine Robotersteuereinheit und eine Bildverarbeitungsvorrichtung enthält. Die Robotersteuereinheit steuert die Bewegung eines Roboters. Die Bildverarbeitungsvorrichtung enthält eine Kommunikationseinrichtung, die mit der Robotersteuereinheit verbunden ist, um Datenkommunikation damit auszuführen, und eine Bildaufnahmeeinrichtung, die ein Bild des Zielobjekts, das ein Operationszielobjekt des Roboters ist, aufnimmt. In dem System enthält die Bildverarbeitungsvorrichtung eine Befehlssendeeinheit, eine Bewegungskoordinatenerfassungseinheit, eine Bildaufnahmesteuereinheit, eine Bilddetektionseinheit und eine Kalibrierungsausführungseinheit. Die Befehlssendeeinheit sendet zu der Robotersteuereinheit einen Bewegungsbefehl, einen Endeffektor zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Zielobjekts, das zu einem Bildaufnahmezielobjekt wird, in Bezug auf die Bildaufnahmeeinrichtung zu ändern. Die Bewegungskoordinatenerfassungseinheit erfasst erste Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl aus der Robotersteuereinheit bewegt hat. Die Bildaufnahmesteuereinheit steuert eine Operation der Bildaufnahmeeinrichtung, um ein Bild des Zielobjekts an jedem Bewegungsziel, zu dem sich der Endeffektor bewegt hat, aufzunehmen, Die Bilddetektionseinheit detektiert zweite Koordinatenwerte, die Positionskoordinaten des Zielobjekts sind, basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird. Die Kalibrierungsausführungseinheit berechnet eine Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.
  • Ferner ist es in einem Bildverarbeitungssystem gemäß einer nochmals weiteren Ausführungsform bevorzugt, dass in dem sechsten Aspekt die Befehlssendeeinheit den Bewegungsbefehl, der wenigstens eine Bewegungsanweisung und Positionskoordinaten des Bewegungsziels enthält, zu der Robotersteuereinheit sendet.
  • Ferner ist es in einem Bildverarbeitungssystem gemäß einer nochmals weiteren Ausführungsform bevorzugt, dass die Bildverarbeitungsvorrichtung in dem sechsten oder siebten Aspekt eine Koordinatendetektionseinheit zum Detektieren der zweiten Koordinatenwerte, die Positionskoordinaten des Bildzielobjekts sind, und eine Koordinatenumsetzungseinheit zum Umsetzen der detektierten zweiten Koordinatenwerte in die ersten Koordinatenwerte basierend auf der Umsetzungsregel enthält.
  • Ferner ist es in einem Bildverarbeitungssystem gemäß einer nochmals weiteren Ausführungsform bevorzugt, dass die Bildverarbeitungsvorrichtung in dem achten Aspekt eine Anzeigeeinheit zum Anzeigen des aufgenommenen Bilds des Zielobjekts und eine Positionsspezifikationsakzeptierungseinheit zum Akzeptieren der Spezifikation einer Position des angezeigten Bild des Zielobjekts enthält. In dem System ist es bevorzugt, dass die zweiten Koordinatenwerte an der akzeptierten spezifizierten Position in die ersten Koordinatenwerte basierend auf der Umsetzungsregel umgesetzt werden.
  • Ferner ist es in einem Bildverarbeitungssystem gemäß einer nochmals weiteren Ausführungsform bevorzugt, dass die Bildverarbeitungsvorrichtung in irgendeinem aus dem sechsten bis neunten Aspekt die ersten Koordinatenwerte, die durch die Bewegungskoordinatenerfassungseinheit erfasst werden, in die zweiten Koordinatenwerte basierend auf der Umsetzungsregel umsetzt und die umgesetzten Werte auf dem angezeigten aufgenommenen Bild des Zielobjekts überlagert und anzeigt.
  • Ferner ist es in einem Bildverarbeitungssystem gemäß einer nochmals weiteren Ausführungsform bevorzugt, dass die Robotersteuereinheit in irgendeinem aus dem sechsten bis zehnten Aspekt eine Programmumsetzungseinheit zum Interpretieren des Bewegungsbefehls und Umsetzen des interpretierten Befehls in einen Bewegungsbefehl für den Endeffektor enthält.
  • Ferner ist es in einem Bildverarbeitungssystem gemäß einer nochmals weiteren Ausführungsform bevorzugt, dass die Programmumsetzungseinheit in dem elften Aspekt für jeden Typ des Roboters bereitgestellt ist und den Bewegungsbefehl in einen Bewegungsbefehl für den Endeffektor in Übereinstimmung mit dem Typ des Roboters umsetzt.
  • Als Nächstes ist zum Erreichen des vorstehenden Ziels ein Bildverarbeitungsverfahren gemäß einer nochmals weiteren Ausführungsform ein Bildverarbeitungsverfahren, das durch ein Bildverarbeitungssystem, das aus einer Robotersteuereinheit und einer Bildverarbeitungsvorrichtung besteht, ausgeführt werden kann. Die Robotersteuereinheit steuert die Bewegung eines Roboters. Die Bildverarbeitungsvorrichtung enthält eine Kommunikationseinrichtung, die mit der Robotersteuereinheit verbunden ist, um Datenkommunikation damit auszuführen, und eine Bildaufnahmeeinrichtung, die ein Bild des Zielobjekts, das ein Operationszielobjekt des Roboters ist, aufnimmt. Das Bildverarbeitungsverfahren enthält die Schritte zum Senden eines Bewegungsbefehls zu der Robotersteuereinheit, um einen Endeffektor zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Zielobjekts, das zu einem Bildaufnahmezielobjekt wird, in Bezug auf die Bildaufnahmeeinrichtung zu ändern; zum Erfassen erster Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat; zum Steuern einer Operation der Bildaufnahmeeinrichtung, um ein Bild des Zielobjekts an jedem Bewegungsziel, zu dem sich der Endeffektor bewegt hat, aufzunehmen; zum Detektieren zweiter Koordinatenwerte des Zielobjekts basierend auf dem aufgenommenen Bild; und zum Berechnen einer Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.
  • Als Nächstes ist zum Erreichen des vorstehenden Ziels ein Computerprogramm gemäß einer nochmals weiteren Ausführungsform ein Computerprogramm, das durch eine Bildverarbeitungsvorrichtung, die eine Kommunikationseinrichtung und eine Bildaufnahmeeinrichtung enthält, ausgeführt werden kann. Die Kommunikationseinrichtung kann Datenkommunikation mit einer Robotersteuereinheit, die eine Bewegung des Roboters steuert, ausführen. Die Bildaufnahmeeinrichtung nimmt ein Bild eines Zielobjekts auf, das ein Operationszielobjekt des Roboters ist. Das Programm ermöglicht, dass die Bildverarbeitungsvorrichtung als eine Befehlssendeeinheit, eine Bewegungskoordinatenerfassungseinheit, eine Bildaufnahmesteuereinheit, eine Bilddetektionseinheit und eine Kalibrierungsausführungseinheit funktioniert. Die Befehlssendeeinheit sendet einen Bewegungsbefehl zu der Robotersteuereinheit, um einen Endeffektor zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Zielobjekts, das zu einem Bildaufnahmezielobjekt wird, in Bezug auf die Bildaufnahmeeinrichtung zu ändern. Die Bewegungskoordinatenerfassungseinheit erfasst erste Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat. Die Bildaufnahmesteuereinheit steuert eine Operation der Bildaufnahmeeinrichtung, um ein Bild des Zielobjekts an jedem Bewegungsziel, zu dem sich der Endeffektor bewegt hat, aufzunehmen. Die Bilddetektionseinheit detektiert zweite Koordinatenwerte basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird. Die Kalibrierungsausführungseinheit berechnet eine Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.
  • In dem ersten, sechsten, dreizehnten und vierzehnten Aspekt in der Bildverarbeitungsvorrichtung wird ein Bewegungsbefehl, um den Endeffektor zu mehreren vorbestimmten Positionen zu bewegen, zu der Robotersteuereinheit gesendet, um eine relative Position des Zielobjekts, das zu einem Bildaufnahmezielobjekt wird, in Bezug auf die Bildaufnahmeeinrichtung zu ändern, und erste Koordinatenwerte werden erfasst, wobei die Werte jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat. Ein Bild des Zielobjekts wird an jedem Bewegungsziel, zu dem sich der Endeffektor bewegt hat, aufgenommen. Zweite Koordinatenwerte, die Positionskoordinaten des Zielobjekts sind, werden basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird, detektiert. Basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten wird eine Umsetzungsregel zwischen den beiden Koordinaten berechnet. Dementsprechend kann die Bildverarbeitungsvorrichtung den Bewegungsbefehl, um die Bewegung des Roboters zu steuern, zu der Robotersteuereinheit senden und eliminiert dadurch die Notwendigkeit, dass der Anwender Maschinensprache, die mit dem Typ des Roboters variiert, versteht. Es ist somit möglich, die Umsetzungsregel zwischen den Positionskoordinaten, die durch die Robotersteuereinheit erkannt werden (den ersten Koordinatenwerten), und den Positionskoordinaten, die aus dem aufgenommen Bild des Zielobjekts detektiert werden (den zweiten Koordinatenwerten), zu erhalten, um die Bewegung des Roboters mit hoher Genauigkeit zu steuern.
  • In dem zweiten und siebten Aspekt wird der Bewegungsbefehl, der wenigstens die Bewegungsanweisung und die Positionskoordinaten des Bewegungsziels enthält, zu der Robotersteuereinheit gesendet, und dadurch wird die Notwendigkeit, dass der Anwender die Maschinensprache versteht, selbst wenn der Typ des Roboters variiert, eliminiert. Es ist somit möglich, die Umsetzungsregel zwischen den Positionskoordinaten, die durch die Robotersteuereinheit erkannt werden (den ersten Koordinatenwerten), und den Positionskoordinaten, die aus dem aufgenommen Bild des Zielobjekts detektiert werden (den zweiten Koordinatenwerten), zu erhalten, um die Bewegung des Roboters mit hoher Genauigkeit zu steuern.
  • In dem dritten und achten Aspekt werden in der Bildverarbeitungsvorrichtung zweite Koordinatenwerte, die Positionskoordinaten des aufgenommenen Zielobjekts sind, detektiert, und die detektierten zweiten Koordinatenwerte in die ersten Koordinatenwerte basierend auf der Umsetzungsregel umgesetzt. Somit ermöglicht selbst eine Bewegungsanweisung, die auf der Bildverarbeitungsvorrichtung gemacht wird, genaue Bewegung des Roboters zu einer vorgesehenen Position.
  • In dem vierten und neunten Aspekt wird das aufgenommene Bild des Zielobjekts in der Bildverarbeitungsvorrichtung angezeigt, Spezifikation einer Position auf dem angezeigten Bild des Zielobjekts wird akzeptiert, und die Bildverarbeitungsvorrichtung setzt die zweiten Koordinatenwerte an der akzeptierten Spezifikationsposition in die ersten Koordinatenwerte basierend auf der Umsetzungsregel um. Somit kann ein Bewegungsziel des Roboters auf dem Bild angewiesen werden, um den Roboter in Übereinstimmung mit der angenommenen Anweisung zu der Position zu bewegen.
  • In dem fünften und zehnten Aspekt werden in der Bildverarbeitungsvorrichtung die erfassten ersten Koordinatenwerte in die zweiten Koordinatenwerte basierend auf der Umsetzungsregel umgesetzt, und die umgesetzten Werte werden auf dem angezeigten Bild des Zielobjekts überlagert und angezeigt. Das ermöglicht das Überprüfen der Position des Roboters nach der Bewegung auf dem angezeigten Bild des Zielobjekts.
  • In dem elften Aspekt interpretiert die Robotersteuereinheit den Bewegungsbefehl und setzt den interpretierten Befehl in einen Bewegungsbefehl für den Endeffektor um. Das eliminiert die Notwendigkeit, dass der Anwender Maschinensprache für jeden Typ des Roboters verstehen muss, und ermöglicht die Steuerung der Bewegung des Roboters.
  • In dem zwölften Aspekt ist die Programmumsetzungseinheit für jeden Typ des Roboters bereitgestellt und setzt den Bewegungsbefehl in einem Bewegungsbefehl für den Endeffektor in Übereinstimmung mit dem Typ des Roboters um. Somit kann ein Umsetzungsprogramm in Übereinstimmung mit dem Typ des Roboters, der verwendet werden soll, in die Robotersteuereinheit installiert werden, um den Bewegungsbefehl in einen Bewegungsbefehl für den Endeffektor in Übereinstimmung mit dem Typ des Roboters umzusetzen.
  • Gemäß der vorliegenden Erfindung kann die Bildverarbeitungsvorrichtung den Bewegungsbefehl zum Steuern der Bewegung des Roboters zu der Robotersteuereinheit senden und eliminiert dadurch die Notwendigkeit, dass der Anwender Maschinensprache, die mit dem Typ des Roboters variiert, versteht. Es ist somit möglich, die Umsetzungsregel zwischen den Positionskoordinaten, die durch die Robotersteuereinheit erkannt werden (den ersten Koordinatenwerten), und den Positionskoordinaten, die aus dem aufgenommen Bild des Zielobjekts detektiert werden (den zweiten Koordinatenwerten), zu erhalten, um die Bewegung des Roboters mit hoher Genauigkeit zu steuern.
  • Kurzbeschreibung der Zeichnungen
    • 1 ist eine schematische Ansicht, die eine Konfiguration eines Bildverarbeitungssystems gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt;
    • 2 ist ein Blockdiagramm, das ein Konfigurationsbeispiel einer Bildverarbeitungsvorrichtung in einem Bildverarbeitungssystem gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
    • 3 ist ein Ablaufplan, der eine Verarbeitungsprozedur für herkömmliche Kalibrierung zeigt;
    • 4 ist ein funktionales Blockdiagramm der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 5 ist ein Ablaufplan, der eine Verarbeitungsprozedur zur Kalibrierung des Bildverarbeitungssystems gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
    • 6 ist eine erläuternde Ansicht eines Startpositionseinstellungsbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 7 ist eine erläuternde Ansicht eines Detektionswerkzeugeinstellungsbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 8 ist eine erläuternde Ansicht eines Bewegungsmustereinstellbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 9 ist eine erläuternde Ansicht des Bewegungsmustereinstellungsbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 10 ist eine erläuternde Ansicht eines Detektionsbedingungseinstellungsbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung in dem Fall der Verwendung eines Konturdetektionswerkzeugs;
    • 11 ist eine erläuternde Ansicht des Detektionsbedingungseinstellungsbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung in dem Fall der Verwendung des Konturdetektionswerkzeugs;
    • 12 ist eine erläuternde Ansicht des Detektionsbedingungseinstellungsbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung in dem Fall der Verwendung eines Schattierungsdetektionswerkzeugs;
    • 13 ist eine erläuternde Ansicht des Detektionsbedingungseinstellungsbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung in dem Fall der Verwendung des Schattierungsdetektionswerkzeugs;
    • 14 ist eine erläuternde Ansicht eines Bewegungszielauswahlbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 15 ist eine weitere erläuternde Ansicht des Bewegungszielauswahlbildschirms der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 16 ist ein funktionales Blockdiagramm einer Robotersteuereinheit gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 17 ist ein Ablaufplan, der eine Verarbeitungsprozedur für ein Umsetzungsprogramm für die Robotersteuereinheit gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
    • 18 ist eine erläuternde Ansicht des Umsetzungsprogramms für die Robotersteuereinheit gemäß der ersten Ausführungsform der vorliegenden Erfindung;
    • 19 ist eine schematische Ansicht, die eine Konfiguration eines Bildverarbeitungssystems vom „Off-Hand“-Typ in Übereinstimmung mit der ersten Ausführungsform der vorliegenden Erfindung zeigt;
    • 20A und 20B sind schematische Ansichten, die Bildaufnahmepositionen auf der Bildverarbeitungsvorrichtung in dem „Off-Hand“-Typ gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigen;
    • 21 ist eine schematische Ansicht, die eine Konfiguration eines Bildverarbeitungssystems vom „On-Hand“-Typ in Übereinstimmung mit der ersten Ausführungsform der vorliegenden Erfindung zeigt;
    • 22A und 22B sind schematische Ansichten, die Bildaufnahmepositionen auf der Bildverarbeitungsvorrichtung in dem „On-Hand“-Typ gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigen;
    • 23A und 23B sind Ablaufpläne, die Unterschiede der Verarbeitungsprozedur der Bildverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigen;
    • 24 ist eine schematische Ansicht zum Erläutern der Ausführung von Auswahl in einem Bildverarbeitungssystem gemäß einer zweiten Ausführungsform der vorliegenden Erfindung;
    • 25 ist ein Ablaufplan, der eine Verarbeitungsprozedur zum Wählen in dem Bildverarbeitungssystems gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt;
    • 26 ist eine erläuternde Ansicht eines Positionsdetektionsbildschirms für das Werkstück in dem Bildverarbeitungssystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
    • 27 ist eine erläuternde Ansicht eines Bewegungsbildschirms für das Werkstück in dem Bildverarbeitungssystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
    • 28 ist eine erläuternde Ansicht eines Kalibrierungsergebnisauswahlbildschirms in dem Bildverarbeitungssystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
    • 29A bis 29C sind schematische Ansichten zum Erläutern von Masterpositionseintragungsverarbeitung des Bildverarbeitungssystems gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
    • 30 ist eine erläuternde Ansicht eines Masterpositionseintragungsbildschirms einer Bildverarbeitungsvorrichtung gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
    • 31 ist eine erläuternde Ansicht eines Programmerzeugungsbildschirms der Bildverarbeitungsvorrichtung gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
    • 32 ist eine erläuternde Ansicht eines Programms für eine Robotersteuereinheit gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
    • 33 ist eine erläuternde Ansicht eines Programmerzeugungsbildschirms einer Bildverarbeitungsvorrichtung gemäß der dritten Ausführungsform der vorliegenden Erfindung;
    • 34A bis 34C sind schematische Ansichten zum Erläutern der Bewegungen während einer Test-Operation in dem Bildverarbeitungssystem gemäß der dritten Ausführungsform der vorliegenden Erfindung;
    • 35 ist ein Ablaufplan, der eine Verarbeitungsprozedur während der Test-Operation des Bildverarbeitungssystems gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt; und
    • 36 ist ein Ablaufplan, der eine Verarbeitungsprozedur zur dreidimensionalen Kalibrierung des Bildverarbeitungssystems gemäß der Ausführungsform der vorliegenden Erfindung zeigt.
  • Ausführliche Beschreibung bevorzugter Ausführungsformen
  • Im Folgenden wird ein Bildverarbeitungssystem gemäß Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen beschrieben.
  • (Erste Ausführungsform)
  • 1 ist eine schematische Ansicht, die eine Konfiguration eines Bildverarbeitungssystems in Übereinstimmung mit einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
  • Wie in 1 gezeigt ist, enthält ein Bildverarbeitungssystem gemäß der vorliegenden ersten Ausführungsform einen Manipulator (Roboter) 1 zum Bewegen eines Zielobjekts (Werkstücks) 6, eine Robotersteuereinheit 2 zum Steuern einer Bewegung des Manipulators 1, eine Bildverarbeitungsvorrichtung 3 und eine Bildaufnahmeeinrichtung 4. Ein Endeffektor 5, der das Zielobjekt 6 greifen oder freigeben kann, ist an dem Ende des Manipulators 1 vorgesehen. Die Robotersteuereinheit 2 steuert Öffnungs- und Schließbewegungen des Endeffektors 5.
  • Die Bildaufnahmeeinrichtung 4 ist beispielsweise eine Farb-CCD-Kamera und nimmt ein Bild des Werkstücks 6, das ein sich bewegendes Zielobjekt ist, auf. Das Ausführen der später genannten Kalibrierung basierend auf dem aufgenommenen Bild ermöglicht Verknüpfung zwischen tatsächlichen Positionskoordinaten des Werkstücks 6 (Koordinaten einer Bewegungsposition des Endeffektors 5) und Positionskoordinaten auf einem Bild, das auf einem Bildschirm angezeigt wird.
  • Der Manipulator 1 besteht aus drei Armen und bewegt den Endeffektor 5 zu einer gewünschten Position mit Hilfe eines Winkels, der zwischen zwei Armen gebildet ist, und Rotation um einen Hebelpunkt des Arms.
  • 2 ist ein Blockdiagramm, das ein Konfigurationsbeispiel der Bildverarbeitungsvorrichtung 3 in dem Bildverarbeitungssystem gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Die Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung enthält wenigstens einen Steuerabschnitt 31, der aus einer CPU (zentralen Verarbeitungseinheit) und dergleichen besteht, einen Speicher 32, eine Speicherungseinheit 33, eine Eingabe-Ausgabe-Schnittstelle 34, eine Anzeigeschnittstelle 35, eine Kommunikationsschnittstelle 36 und einen internen Bus 37 zum Verbinden der vorstehenden Hardware.
  • Der Steuerabschnitt 31 ist mit jeder der Hardware der Bildverarbeitungsvorrichtung 3, wie vorstehend beschrieben, über den internen Bus 37 verbunden. Während er eine Operation jeder der vorstehenden Hardware steuert, führt der Steuerabschnitt 31 eine Vielzahl von Softwarefunktionen in Übereinstimmung mit einem Computerprogramm aus, das in der Speicherungseinheit 33 gespeichert ist. Der Speicher 32 besteht aus einem flüchtigen Speicher wie z. B. einem SRAM oder einem SDRAM. Zur Zeit der Ausführung des Computerprogramms wird ein Lademodul für den Speicher 32 entwickelt, um temporäre Daten oder dergleichen, die zur Zeit des Ausführens des Computerprogramms erzeugt werden, zu speichern.
  • Die Speicherungseinheit 33 besteht aus einer Speichervorrichtung vom festen Typ (Festplatte), die darin eingebaut ist, einem flüchtigen Speicher wie z. B. einem SRAM, einem nichtflüchtigen Speicher wie z. B. einem ROM und dergleichen. Das in der Speicherungseinheit 33 gespeicherte Computerprogramm wird aus einem tragbaren Aufzeichnungsmedium, wie z. B. einer DVD oder einer CD-ROM, in dem Informationen eines Programms und Daten aufgezeichnet sind, heruntergeladen, oder wird durch die Kommunikationsschnittstelle 36 heruntergeladen. Zur Zeit der Ausführung wird das Computerprogramm aus der Speicherungseinheit 33 zu dem Speicher 32 entwickelt, um ausgeführt zu werden.
  • Die Kommunikationsschnittstelle (Kommunikationseinrichtung) 36 ist mit dem internen Bus verbunden. Dadurch, dass sie durch ein externes Netz wie z. B. das Internet, ein LAN oder ein WAN verbunden ist, kann die Kommunikationsschnittstelle 36 Daten zu und von einem externen Computer und dergleichen senden und empfangen.
  • Die Eingabe-Ausgabe-Schnittstelle 34 ist mit Dateneingabemedien wie z. B. einer Tastatur 38 und einer Maus 39 verbunden und akzeptiert die Eingabe von Daten. Ferner ist die Anzeigeschnittstelle 35 mit einer Anzeigevorrichtung 40 wie z. B. einem CRT-Monitor oder einer LCD verbunden und zeigt ein vorbestimmtes Bild an.
  • Die Bewegung des Manipulators 1 wurde bisher durch ein sequentielles Bewegungssteuerprogramm gesteuert, das in der Robotersteuereinheit 2 gespeichert ist. In diesem Fall ist es notwendig, Kalibrierung zwischen tatsächlichen Positionskoordinaten des Endeffektors 5 des Manipulators 1 und Positionskoordinaten auf einem Bild, das auf der Bildverarbeitungsvorrichtung 3 angezeigt wird, durchzuführen.
  • In der Kalibrierung wird eine Umsetzungsformel zwischen den tatsächlichen Positionskoordinaten des Endeffektors 5 des Manipulators 1 und den Positionskoordinaten auf dem Bild, das auf der Bildverarbeitungsvorrichtung 3 angezeigt wird, für jede aus mehreren Positionskoordinaten berechnet. Ein Verfahren zur Koordinatenumsetzung ist nicht besonders eingeschränkt, und beispielsweise wird affine Transformation für die Umsetzung verwendet.
    [Mathematische Formel 1] ( x ' y ' 1 ) = ( a b x d e f 0 0 1 ) × ( x y 1 ) x ' = a x + b y + c y ' = d x + e y + f }
    Figure DE102015226696B4_0001
  • Wie in (Formel 1) gezeigt ist, werden basierend auf tatsächlichen Positionskoordinaten (x', y') des Endeffektors 5 des Manipulators 1 und Positionskoordinaten (x, y) auf dem Bild, das auf der Bildverarbeitungsvorrichtung 3 angezeigt wird, die Koeffizienten a, b, c, d, e, f der Umsetzungsformel, die sechs Freiheitsgrade aufweist, erhalten. Wenn die Anzahl entsprechender Positionskoordinaten sechs übersteigt, wird ein Verfahren kleinster Quadrate verwendet.
  • 3 ist ein Ablaufplan, der eine Verarbeitungsprozedur zur herkömmlichen Kalibrierung zeigt. Wie in 3 gezeigt ist, bewegt die Robotersteuereinheit 2 den Endeffektor 5 zu einer Kalibrierungsposition, während das Werkstück 6, das mit einer Markierung versehen ist, um ein Bildaufnahmezielobjekt zu werden, als ein Kalibrierungszielobjekt durch den Manipulator 1 gegriffen wird (Schritt S301).
  • Die Robotersteuereinheit 2 erfasst Positionskoordinaten (x', y') des bewegten Endeffektors 5 (Schritt S302) und sendet einen Messbefehl und die erfassten Positionskoordinaten (x', y') zu der Bildverarbeitungsvorrichtung 3 (Schritt S303). Die Bildverarbeitungsvorrichtung 3 empfängt den Messbefehl und die erfassten Positionskoordinaten (x', y') von der Robotersteuereinheit 2 (Schritt S304) und nimmt ein Bild eines Bewegungsbereichs des Endeffektors 5 auf (Schritt S305).
  • Die Bildverarbeitungsvorrichtung 3 zeigt das Bild des Bewegungsbereichs des Endeffektors 5 an und detektiert Positionskoordinaten (x, y) auf dem angezeigten Bild (Schritt S306). Die Robotersteuereinheit 2 bestimmt, ob die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind oder nicht (Schritt S307). Wenn die Robotersteuereinheit 2 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild nicht für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind (Schritt S307: Nein), gibt die Robotersteuereinheit 2 den nächsten Bewegungsbefehl aus (Schritt S308) und gibt die Verarbeitung zu Schritt S301 zurück, um die vorhergehende Verarbeitung zu wiederholen.
  • Wenn die Robotersteuereinheit 2 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind (Schritt S307: Ja), berechnet die Bildverarbeitungsvorrichtung 3 eine Umsetzungsformel in Übereinstimmung mit (Formel 1) (Schritt S309). Insbesondere werden die sechs Koeffizienten a, b, c, d, e, f erhalten.
  • Die herkömmliche Kalibrierung erfordert jedoch ein sequentielles Steuerprogramm, das für jeden Typ des Manipulators 1 eindeutig ist. Somit sollte die Kalibrierung unter Verwendung eines individuellen Steuerprogramms für jeden Typ ausgeführt werden. Dementsprechend führt die Bildverarbeitungsvorrichtung 3 Hauptkalibrierung aus.
  • 4 ist ein funktionales Blockdiagramm der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung. Ein Befehlsendeabschnitt 301 der Bildverarbeitungsvorrichtung 3 sendet einen Bewegungsbefehl zu der Robotersteuereinheit 2, um den Endeffektor 5 zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Zielobjekts, das zu einem Bildaufnahmezielobjekt wird, in Bezug auf die Bildaufnahmeeinrichtung 4 zu ändern.
  • Der Befehlssendeabschnitt 301 sendet den Bewegungsbefehl zu der Robotersteuereinheit 2, wobei der Befehl wenigstens eine Bewegungsanweisung und Positionskoordinaten eines Bewegungsziels enthält. Die Robotersteuereinheit 2 bewegt den Endeffektor 5 zu den Positionskoordinaten, die in dem Bewegungsbefehl enthalten sind.
  • Ein Bewegungskoordinatenerfassungsabschnitt 302 erfasst aus der Robotersteuereinheit 2 erste Koordinatenwerte (x', y'), die jede Positionskoordinaten des Endeffektors 5 sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat. Das kann die Verschiebung zwischen Positionskoordinaten des bewegten Endeffektors 5 und den Positionskoordinaten auf dem aufgenommenen Bild des Zielobjekts 6 anpassen.
  • Es wird darauf hingewiesen, dass die ersten Koordinatenwerte (x', y'), die in dem Bewegungskoordinatenerfassungsabschnitt 302 erfasst werden, Koordinatenwerte sind, die aus der Robotersteuereinheit 2 an jeder Position, zu der sich der Endeffektor 5 in Übereinstimmung mit dem Bewegungsbefehl aus der Bildverarbeitungsvorrichtung 3 bewegt hat, erfasst werden. Die als Ziel gesetzten Bewegungskoordinaten des Manipulators (Roboters) 1, die vorab in der Bildverarbeitungsvorrichtung 3 eingestellt sind, können jedoch so wie sie sind als die ersten Koordinatenwerte verwendet werden.
  • Der Bildaufnahmesteuerabschnitt 303 steuert eine Operation der Bildaufnahmeeinrichtung 4, um ein Bild des Zielobjekts an jedem Bewegungsziel aufzunehmen, zu dem sich der Endeffektor 5 bewegt hat. Somit wird die Steuerung ausgeführt, um ein Bild eines Bereichs aufzunehmen, der den ersten Koordinatenwerten (x', y') entspricht, die die Positionskoordinaten des Endeffektors 5 an dem Bewegungsziel sind, die von der Robotersteuereinheit 2 erhalten werden, und dadurch wird die Detektion der zweiten Koordinatenwerte (x, y), die die tatsächlichen Positionskoordinaten des Zielobjekts 6 sind, basierend auf dem aufgenommenen Bild ermöglicht.
  • Ein Bilddetektionsabschnitt 304 detektiert die zweiten Koordinatenwerte (x, y), die Positionskoordinaten des Zielobjekts sind, basierend auf dem Bild des Zielobjekts 6, das an jedem Bewegungsziel aufgenommen wird. Basierend auf den mehreren erfassten ersten Koordinatenwerten (x', y') und den mehreren detektierten zweiten Koordinatenwerten (x, y) berechnet ein Kalibrierungsausführungsabschnitt 309 eine Umsetzungsregel zwischen beiden Koordinaten. Insbesondere werden Koordinatenwerte in (Formel 1) eingesetzt, um die Koeffizienten a, b, d, d, e, f zu erhalten.
  • 5 ist ein Ablaufplan, der eine Verarbeitungsprozedur zur Kalibrierung des Bildverarbeitungssystems gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 5 gezeigt ist stellt die Bildverarbeitungsvorrichtung 3 eine Startposition der Kalibrierung ein, während das Werkstück 6, das mit der Markierung versehen ist, um zu einem Bildaufnahmezielobjekt zu werden, als ein Kalibrierungszielobjekt durch den Manipulator 1 gegriffen ist (Schritt S501). 6 ist eine erläuternde Ansicht eines Startpositionseinstellungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung.
  • Wie in 6 gezeigt ist, wird das aufgenommene Bild des Zielobjekts 6 in einem Bildanzeigebereich 65 angezeigt. Wenn eine Startpositionseinstellschaltfläche 61 aus den Kalibrierungsausführungsschaltflächen ausgewählt wird, wird ein Startpositionseinstellungsbildschirm 66 überlagert, und eine Startposition wird eingestellt. In diesem Fall ermöglicht das Auswählen einer Jog-Operationsschaltfläche 67, dass sich der Endeffektor 5 des Manipulators 1 zu einer vorbestimmten Position bewegt. Somit kann die Startposition der Kalibrierung eingestellt werden, während das Bewegungsziel überprüft wird.
  • Es wird darauf hingewiesen, dass ein Detektionswerkzeug eingestellt werden kann, bevor ein Bewegungsmuster eingestellt wird. 7 ist eine erläuternde Ansicht eines Detektionswerkzeugeinstellungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung.
  • Wie in 7 gezeigt ist, wird ein Detektionswerkzeugauswahlbereich 71 angezeigt, wenn eine Detektionswerkzeugeinstellschaltfläche 62 aus den Kalibrierungsdurchführungsschaltflächen ausgewählt wird. Der Anwender wählt ein Detektionswerkzeug in dem Detektionswerkzeugauswahlbereich 71 aus, während er das Bild betrachtet, das in dem Bildanzeigebereich 65 angezeigt wird. In dem Beispiel von 7 ist ein Konturdetektionswerkzeug ausgewählt worden. Abgesehen davon kann beispielsweise ein Schattierungsdetektionswerkzeug ausgewählt sein.
  • Zurück zu 5 stellt die Bildverarbeitungsvorrichtung 3 ein Bewegungsmuster des Endeffektors 5 des Manipulators 1 ein (Schritt S502). 8 und 9 sind erläuternde Ansichten eines Bewegungsmustereinstellungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung.
  • Wie in 8 gezeigt ist, wird dann, wenn eine Kalibrierungsschaltfläche 63 aus den Kalibrierungsdurchführungsschaltflächen ausgewählt wird, ein Bewegungsmustereinstellbildschirm 81 überlagert. Wenn eine Bewegungsmustereinstellschaltfläche 82 hier ausgewählt wird, wird ein Bildschirm 83 zur Einstellung von Einzelheiten überlagert, wie in 9 gezeigt ist.
  • Auf dem Bildschirm 83 zur Einstellung von Einzelheiten wird ein Detektionsmuster zur Zeit der Ausführung der Kalibrierung eingestellt. Beispielsweise werden neun (3 x 3) Einstellungen, 25 (5 x 5) Einstellungen oder andere Einstellungen akzeptiert. Ein vorbestimmter Bewegungsabstand wird eingestellt, um dadurch ein Bewegungsmuster einzustellen, wie in einem unteren Abschnitt des Bildschirms 83 zur Einstellung von Einzelheiten angezeigt ist.
  • Zurück zu 5 sendet die Bildverarbeitungsvorrichtung 3 einen Bewegungsbefehl zu der Robotersteuereinheit 2 (Schritt S503). Die Robotersteuereinheit 2 empfängt den Bewegungsbefehl (Schritt S504) und interpretiert den Bewegungsbefehl in Übereinstimmung mit dem Typ des Manipulators 1 (Schritt S505). Das heißt, der Befehl wird in ein Lademodul in Maschinensprache übersetzt, das den Manipulator 1 aktivieren kann.
  • Die Robotersteuereinheit 2 bewegt den Endeffektor 5 zu einer Position, die durch den Bewegungsbefehl spezifiziert ist (Schritt S506). Die Robotersteuereinheit 2 erfasst Positionskoordinaten (x', y') des Bewegungsziels des bewegten Endeffektors 5 (Schritt S507) und sendet die erfassten Positionskoordinaten (x', y') zu der Bildverarbeitungsvorrichtung 3 (Schritt S508).
  • Die Bildverarbeitungsvorrichtung 3 empfängt die erfassten Positionskoordinaten (x', y') von der Robotersteuereinheit 2 (Schritt S509) und nimmt ein Bild eines Bewegungsbereichs des Endeffektors 5 auf (Schritt S510). Die Bildverarbeitungsvorrichtung 3 zeigt das Bild des Bewegungsbereichs an und detektiert Positionskoordinaten (x, y) auf dem angezeigten Bild (Schritt S511).
  • Es wird darauf hingewiesen, dass die Positionskoordinaten (x, y), deren Position auf dem angezeigten Bild detektiert werden soll, aus dem Bild durch Verwendung des eingestellten Detektionswerkzeugs eingestellt werden. Beispielsweise wenn das Konturdetektionswerkzeug als das Detektionswerkzeug ausgewählt worden ist, muss ein Konturbereich, der detektiert werden soll, spezifiziert werden.
  • 10 und 11 sind erläuternde Ansichten eines Detektionsbedingungseinstellungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung in dem Fall der Verwendung des Konturdetektionswerkzeugs. Wie in 10 gezeigt ist, wird das ausgewählte „Konturdetektionswerkzeug“ in einem Werkzeuganzeigebereich 101 angezeigt. Dann wird eine Form eines Konturmusters in einem Mustereditierbereich 102 eingestellt. In dem Beispiel von 10 ist er auf einen rechteckigen Bereich eingestellt worden.
  • Dann wird für das Zielobjekt, das in dem Bildanzeigebereich 65 angezeigt ist, ein Detektionsbereich 103 zum Detektieren eines Konturmusters eingestellt, während eine Ziehoperation unter Verwendung der Maus oder dergleichen ausgeführt wird. In dem Beispiel von 10 ist der Bereich so eingestellt, dass er das Zielobjekt umgibt, aber das Einstellen ist nicht speziell auf eine solche Einstellung eingeschränkt.
  • Wenn der Detektionsbereich 103 eingestellt ist, wie in 11 gezeigt ist, werden Detektionsbedingungen auf einem Detektionsbedingungseinstellungsbildschirm 104 eingestellt. Beispiele der Detektionsbedingungen enthalten einen „Winkelbereich“, der ein erlaubter Bereich der Neigung des Zielobjekts ist, die „Anzahl detektierter Elemente“, die die Anzahl von Elementen zeigt, die detektiert werden sollen, und eine „untere Grenze des Korrelationswerts“, die den Grad der Ähnlichkeit zeigt, bis zu dem die Detektion ausgeführt wird.
  • Ferner kann das Schattierungsdetektionswerkzeug als das Detektionswerkzeug ausgewählt werden. Selbst wenn das Schattierungsdetektionswerkzeug ausgewählt worden ist, muss der Bereich, der detektiert werden soll, eingestellt werden.
  • 12 und 13 sind erläuternde Ansichten des Detektionsbedingungseinstellungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung in dem Fall der Verwendung des Schattierungsdetektionswerkzeugs. Wie in 12 gezeigt ist, wird das ausgewählte „Schattierungsdetektionswerkzeug“ in dem Werkzeuganzeigebereich 101 angezeigt. Dann wird eine Form eines Konturmusters in einem Mustereditierungsbereich 102 eingestellt. In dem Beispiel von 12 ist er auf einen rechteckigen Bereich eingestellt worden.
  • Dann wird für das Zielobjekt, das in dem Bildanzeigebereich 65 angezeigt ist, ein Detektionsbereich 103 zum Detektieren eines Konturmusters eingestellt, während eine Ziehoperation unter Verwendung der Maus oder dergleichen ausgeführt wird. In dem Beispiel von 12 ist der Bereich so eingestellt worden, dass er das Zielobjekt umgibt, aber das Einstellen ist nicht speziell auf eine solche Einstellung beschränkt.
  • Wenn der Detektionsbereich 103 eingestellt ist, wie in 13 gezeigt ist, werden Detektionsbedingungen in einem Detektionsbedingungseinstellungsbereich 131 eingestellt. Beispiele der Detektionsbedingungen enthalten den „Winkelbereich“, der der erlaubter Bereich der Neigung des Zielobjekts ist, die „Anzahl detektierter Elemente“, die die Anzahl von Elementen zeigt, die detektiert werden sollen, und die „untere Grenze des Korrelationswerts“, die den Grad der Ähnlichkeit zeigt, bis zu dem die Detektion ausgeführt wird, und außer diesen es ist auch möglich, eine Detektionsempfindlichkeit (Suchempfindlichkeit) oder Detektionsgenauigkeit (Suchgenauigkeit) einzustellen. Das liegt daran, dass ein Fall angenommen wird, in dem eine Schattierungsdifferenz oder dergleichen unterschiedlich ist, während die Form dieselbe ist.
  • Zurück zu 5 bestimmt die Bildverarbeitungsvorrichtung 3, ob die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind oder nicht (Schritt S512). Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild nicht für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind (Schritt S512: Nein), gibt die Bildverarbeitungsvorrichtung 3 den nächsten Bewegungsbefehl aus (Schritt S513) und gibt die Verarbeitung zu Schritt S503 zurück, um die vorhergehende Verarbeitung zu wiederholen.
  • Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind (Schritt S512: Ja), berechnet die Bildverarbeitungsvorrichtung 3 eine Umsetzungsformel in Übereinstimmung mit (Formel 1) (Schritt S514). Insbesondere werden die sechs Koeffizienten a, b, c, d, e, f erhalten.
  • Es wird darauf hingewiesen, dass das Verfahren zum Spezifizieren eines Bewegungsziels durch einen Bewegungsbefehl nicht besonders eingeschränkt ist. Beispielsweise kann es ein Verfahren zum Speichern von mehreren Bewegungszielen im Voraus und Auswählen daraus sein. 14 ist eine erläuternde Ansicht eines Bewegungszielauswahlbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung. Wie in 14 gezeigt ist, werden Kandidaten für das Bewegungsziel, die bereits gespeichert sind, in einem Bewegungszielauswahlbereich 141 angezeigt. Der Anwender wählt ein Bewegungsziel aus diesen Kandidaten aus.
  • Ferner kann die Position auf dem angezeigten Bildschirm spezifiziert sein. 15 ist eine weitere erläuternde Ansicht des Bewegungszielauswahlbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung. In dem Beispiel von 15 ist der Bewegungszielauswahlbereich 141 nicht vorhanden. In dem Bildanzeigebereich 65, wo das aufgenommene Bild einfach angezeigt wird, wird eine aktuelle Position mit einer „Kreuz“-Markierung 151 angezeigt. Der Anwender spezifiziert eine Positions-„Kreuz“-Markierung 152 durch eine Klickoperation der Maus oder dergleichen als ein Bewegungsziel.
  • In diesem Fall, unter der Annahme, dass die Koeffizienten a, b, c, d, e, f von (Formel 1) durch Ausführung der Kalibrierung spezifiziert sind, ist es notwendig, einen Koordinatendetektionsabschnitt 305, einen Koordinatenumsetzungsabschnitt 306, einen Anzeigeabschnitt 307 und einen Positionsspezifikationsakzeptierungsabschnitt 308 in 4 bereitzustellen.
  • Der Koordinatendetektionsabschnitt 305 detektiert die zweiten Koordinatenwerte (x, y), die tatsächliche Positionskoordinaten des Zielobjekts 6 sind, basierend auf dem aufgenommenen Bild des Zielobjekts 6. Dann setzt der Koordinatenumsetzungsabschnitt 306 die detektierten zweiten Koordinatenwerte (x, y) in die ersten Koordinatenwerte (x', y') basierend auf der Umsetzungsregel um.
  • Der Anzeigeabschnitt 307 zeigt das aufgenommene Bild des Zielobjekts 6 an, und der Positionsspezifikationsakzeptierungsabschnitt 308 akzeptiert die Spezifikation der Position auf dem angezeigten Bild des Zielobjekts 6. Das ermöglicht die Detektion der zweiten Koordinatenwerte an der Position, deren Spezifikation akzeptiert worden ist. Somit ist es möglich, einen korrekten Bewegungsbefehl zu dem Endeffektor 5 des Manipulators 1 auszugeben, während das angezeigte Bild betrachtet wird.
  • Ferner können die Positionskoordinaten nach der Bewegung auf dem angezeigten Bild des Zielobjekts 6 überlagert und angezeigt werden. Das heißt, die ersten Koordinatenwerte, die durch den Bewegungskoordinatenerfassungsabschnitt 302 erfasst werden, werden basierend auf der berechneten Umsetzungsregel in die zweiten Koordinatenwerte umgesetzt. Die umgesetzten Werte werden auf dem angezeigten Bild des Zielobjekts 6 überlagert und angezeigt.
  • Außerdem muss die Robotersteuereinheit 2 den Bewegungsbefehl in Übereinstimmung mit dem Typ des Manipulators (Roboters) 1, der die Bewegung steuert, umsetzen. 15 ist ein funktionales Blockdiagramm der Robotersteuereinheit 2 gemäß der ersten Ausführungsform der vorliegenden Erfindung.
  • Wie in 16 gezeigt ist, ist die Robotersteuereinheit 2 mit einem Programmumsetzungsabschnitt 201 versehen. Der Programmumsetzungsabschnitt 201 ist für jeden Typ des Manipulators (Roboters) 1 bereitgestellt und setzt den Bewegungsbefehl in Übereinstimmung mit dem Typ des Manipulators 1 in einem Bewegungsbefehl für den Endeffektor 5 um. Somit ist es möglich, ein Umsetzungsprogramm in Übereinstimmung mit dem Typ des Manipulators 1 zu installieren, das in der Robotersteuereinheit 2 verwendet werden soll, und den Bewegungsbefehl in den Bewegungsbefehl für den Endeffektor 5 in Übereinstimmung mit dem Typ des Manipulators 1 umzusetzen.
  • 17 ist ein Ablaufplan, der eine Verarbeitungsprozedur für das Umsetzungsprogramm für die Robotersteuereinheit 2 gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 17 gezeigt ist, baut die Robotersteuereinheit 2 Datenkommunikation mit der Bildverarbeitungsvorrichtung 3 auf (Schritt S1701) und bestimmt, ob der Bewegungsbefehl empfangen worden ist oder nicht (Schritt S1702).
  • Wenn bestimmt wird, dass der Bewegungsbefehl nicht empfangen worden ist (Schritt S1702: Nein), tritt die Robotersteuereinheit 2 in einem Empfangsbereitschaftszustand ein. Wenn bestimmt wird, dass der Bewegungsbefehl empfangen worden ist (Schritt S1702: Ja), interpretiert die Robotersteuereinheit 2 den ersten Bewegungsbefehl (Schritt S1703) .
  • Die Robotersteuereinheit 2 setzt den Bewegungsbefehl in Übereinstimmung mit den Inhalten des interpretierten Bewegungsbefehls um und bewegt den Endeffektor 5 des Manipulators 1 (Schritt S1704). Die Robotersteuereinheit 2 bestimmt, ob sie alle Bewegungsbefehle interpretiert hat oder nicht (Schritt S1705).
  • Wenn bestimmt wird, dass irgendein Bewegungsbefehl nicht interpretiert worden ist (Schritt S1705: Nein), interpretiert die Robotersteuereinheit 2 den nächsten Bewegungsbefehl (Schritt S1706) und gibt die Verarbeitung zu Schritt S1704 zurück, um die vorhergehende Verarbeitung zu wiederholen. Wenn bestimmt wird, dass alle Bewegungsbefehle interpretiert worden sind (Schritt S1705: Ja), beendet die Robotersteuereinheit 2 die Verarbeitung.
  • 18 ist eine erläuternde Ansicht des Umsetzungsprogramms für die Robotersteuereinheit 2 gemäß der ersten Ausführungsform der vorliegenden Erfindung. Wie in 18 gezeigt ist, ist ein Quellcode 1801 ein Befehl zum Aufbauen von Datenkommunikation mit der Bildverarbeitungsvorrichtung 3.
  • Ein Quellcode 1802 ist ein Befehl, einen Bewegungsbefehl von der Bildverarbeitungsvorrichtung 3 zu empfangen. Ein Quellcode 1803 ist ein Befehl, einen Bewegungsbefehl zu interpretieren. Mit den in 18 gezeigten Quellcodes, beispielsweise wenn ein Bewegungsbefehl [MV, 100, 200, 300] empfangen wird, wird ein Anordnungscode [MV] detektiert, und (100, 200, 300) werden als Positionen von Bewegungszielen gespeichert. Das Vorbereiten eines Umsetzungsprogramms, das auf diese Weise für eine Datenstruktur eines Bewegungsbefehls zugeschnitten ist, ermöglicht das Akzeptieren des Bewegungsbefehls von außen.
  • Ferner variiert eine Datenstruktur eines Bewegungsbefehls typischerweise in Übereinstimmung mit Roboterherstellern. Deshalb ist ein Umsetzungsprogramm im Voraus für jeden Roboterhersteller vorbereitet, und das Umsetzungsprogramm in Übereinstimmung mit dem Roboterhersteller, das angewandt werden soll, wird in die Robotersteuereinheit 2 installiert. Somit kann die Robotersteuereinheit 2 einen Bewegungsbefehl in einem allgemeinen Format, der von der Bildverarbeitungsvorrichtung 3 gesendet wird, in einen Bewegungsbefehl für den Endeffektor 5 in Übereinstimmung mit dem Typ des Roboters umsetzen.
  • Es wird darauf hingewiesen, dass in dem vorstehenden Beispiel der Bewegungsbefehl als eine Zeichenkette geschrieben ist und durch protokollfreie Kommunikation des Ethernets (eingetragenes Warenzeichen) gesendet wird. In einem gemeinsamen Speicher der Robotersteuereinheit 2 ist jedoch ein Befehl einer Adresse AAA zugewiesen, während ein Befehlsparameter einer Adresse BBB zugewiesen ist, um das Bilden eines Befehlssystems durch den Austausch numerischer Daten ohne Verwendung einer Zeichenkette zu ermöglichen. Wenn ein Bewegungsbefehl als numerische Werte von der Bildverarbeitungsvorrichtung 3 empfangen wird, wird die Adresse AAA durch eine numerische Zahl, die dem Bewegungsbefehl „MV” entspricht, neu geschrieben, und die Adresse BBB wird durch „100, 200, 300“ ersetzt, die dann als ein Bewegungsbefehl zu dem Manipulator 1 ausgegeben werden.
  • Natürlich kann eine andere Protokollkommunikation als diese verwendet werden, wie z. B. Protokollkommunikation des Ethernets (eingetragenes Warenzeichen), PLC-Link, CC-Link oder PROFINET.
  • Ferner ist in der vorstehenden ersten Ausführungsform angenommen, dass die Bildaufnahmeeinrichtung 4 getrennt von dem Manipulator 1 bereitgestellt ist (nachstehend als „Off-Hand“-Typ bezeichnet). 19 ist eine schematische Ansicht, die eine Konfiguration eines Bildverarbeitungssystems vom „Off-Hand“-Typ in Übereinstimmung mit der ersten Ausführungsform der vorliegenden Erfindung zeigt.
  • In 19 wird der Endeffektor 5 bewegt, während das Werkstück (Zielobjekt) 6, das mit einer Markierung 60 versehen ist, um zu einem Bildaufnahmezielobjekt zu werden, als ein Kalibrierungszielobjekt durch den Manipulator 1 gegriffen ist, und das Aufnehmen des Bilds wird durch die Bildaufnahmeeinrichtung 4 ausgeführt.
  • 20A und 3B sind schematische Ansichten, die Bildaufnahmepositionen auf der Bildverarbeitungsvorrichtung 3 in dem „Off-Hand“-Typ gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigen. 20A zeigt eine Bewegungsfolge des Endeffektors 5, und der Endeffektor 5 bewegt sich in regelmäßigen Abständen im Gegenuhrzeigersinn ab dem Ursprung (0, 0). 20B zeigt eine Folge, in der ein Bild der Markierung 60 durch die Bildaufnahmeeinrichtung 4 aufgenommen wird. Da die Bildaufnahmeeinrichtung 4 fest und getrennt von dem Manipulator 1 vorgesehen ist, nimmt die Bildaufnahmeeinrichtung 4 das Bild in regelmäßigen Abständen im Gegenuhrzeigersinn ab dem Ursprung (0, 0) auf, wie in 20A.
  • Die Bildaufnahmeeinrichtung 4 kann auf dem Endeffektor 5 des Manipulators 1 integral montiert sein. In diesem Fall bewegt sich die Bildaufnahmeeinrichtung 4 integral mit dem Endeffektor 5 (nachstehend als „On-Hand“-Typ bezeichnet). 21 ist eine schematische Ansicht, die eine Konfiguration eines Bildverarbeitungssystems vom „On-Hand“-Typ in Übereinstimmung mit der ersten Ausführungsform der vorliegenden Erfindung zeigt.
  • In 21 ist die Bildaufnahmeeinrichtung 4 integral mit dem Endeffektor 5 des Manipulators 1 vorgesehen, und somit wird die Markierung 60, um zu einem Bildaufnahmezielobjekt zu werden, in einem Bereich bereitgestellt, dessen Bildaufnahme durch die Bildaufnahmeeinrichtung 4 aufgenommen werden kann. Dann wird das Bild durch die Bildaufnahmeeinrichtung 4 aufgenommen, während der Endeffektor 5 bewegt wird.
  • 22A und 3B sind schematische Ansichten, die Bildaufnahmepositionen auf der Bildverarbeitungsvorrichtung 3 in dem „On-Hand“-Typ gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigen. 22A zeigt eine Bewegungsfolge des Endeffektors 5, und der Endeffektor 5 bewegt sich in regelmäßigen Abständen im Gegenuhrzeigersinn ab dem Ursprung (0, 0). 22B zeigt eine Folge der Aufnahme eines Bildes der Markierung 60 durch die Bildaufnahmeeinrichtung 4. Da sich die Bildaufnahmeeinrichtung 4 integral mit dem Manipulator 1 bewegt, nimmt die Bildaufnahmeeinrichtung 4 das Bild in regelmäßigen Abständen ab dem Ursprung (0, 0) auf, so dass die Folge punktsymmetrisch mit der von 22A wird. Das heißt, das Bild wird an einer Position aufgenommen mit einem Wert, der durch Multiplizieren eines Bewegungsabstands mit ”-1” erhalten wird.
  • 23A und 3B sind Ablaufpläne, die Unterschiede der Verarbeitungsprozedur der Bildverarbeitungsvorrichtung 3 gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigen. 23A zeigt einen Ablaufplan, der eine Verarbeitungsprozedur in dem „Off-Hand“-Typ zeigt, und 23B zeigt einen Ablaufplan, der eine Verarbeitungsprozedur in dem „On-Hand“-Typ zeigt.
  • Zuerst, in dem „Off-Hand“-Typ, wie in 23A gezeigt, während das Werkstück 6, das mit der Markierung 60 versehen ist, um zu einem Bildaufnahmezielobjekt zu werden, durch den Manipulator 1 gegriffen ist (Schritt S2301), erfasst die Bildverarbeitungsvorrichtung 3 Positionskoordinaten (x', y') eines Bewegungsziels (Schritt S2302) und nimmt ein Bild des Bewegungsbereichs des Endeffektors 5 auf (Schritt 52303). Die Bildverarbeitungsvorrichtung 3 zeigt das Bild des Bewegungsbereichs an und detektiert Positionskoordinaten (x, y) auf dem angezeigten Bild (Schritt S2304).
  • Die Bildverarbeitungsvorrichtung 3 bestimmt, ob die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind oder nicht (Schritt S2305). Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild nicht für alle Positionskoordinaten (x', y') detektiert worden sind (Schritt 2305: Nein) gibt die Bildverarbeitungsvorrichtung 3 den nächsten Bewegungsbefehl aus (Schritt S2306) und gibt die Verarbeitung zu Schritt S2302 zurück, um die vorhergehende Verarbeitung zu wiederholen.
  • Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x’, y') zur Kalibrierung detektiert worden sind (Schritt S2305: Ja), berechnet die Bildverarbeitungsvorrichtung 3 eine Umsetzungsformel in Übereinstimmung mit (Formel 1) (Schritt 52307). Insbesondere werden die sechs Koeffizienten a, b, c, d, e, f erhalten.
  • Als Nächstes, in dem „On-Hand“-Typ, wie in 23B gezeigt ist, während die Markierung 60, um zu einem Bildaufnahmezielobjekt zu werden, unmittelbar unterhalb der Bildaufnahmeeinrichtung 4 eingestellt ist (Schritt S2311), erfasst die Bildverarbeitungsvorrichtung 3 Positionskoordinaten (x', y') eines Bewegungsziels (Schritt S2312) und nimmt ein Bild eines Bewegungsbereichs des Endeffektors 5 auf (Schritt S2313). Die Bildverarbeitungsvorrichtung 3 zeigt das Bild des Bewegungsbereichs an und detektiert Positionskoordinaten (x, y) auf dem angezeigten Bild (Schritt S2314).
  • Die Bildverarbeitungsvorrichtung 3 bestimmt, ob die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind oder nicht (Schritt S2315). Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild nicht für alle Positionskoordinaten (x’, y') zur Kalibrierung detektiert worden sind (Schritt S2315: Nein), gibt die Bildverarbeitungsvorrichtung 3 den nächsten Bewegungsbefehl aus (Schritt S2316) und gibt die Verarbeitung zu Schritt S2312 zurück, um die vorhergehende Verarbeitung zu wiederholen.
  • Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y) auf dem Bild für alle Positionskoordinaten (x', y') zur Kalibrierung detektiert worden sind (Schritt S2315: Ja), multipliziert die Bildverarbeitungsvorrichtung 3 die Positionskoordinaten (x, y) mit „-1“ (Schritt S2317), um eine Umsetzungsformel in Übereinstimmung mit (Formel 1) zu berechnen (Schritt S2318). Insbesondere werden die sechs Koeffizienten a, b, c, d, e, f erhalten.
  • Wie vorstehend beschrieben kann, gemäß der ersten Ausführungsform, die Bildverarbeitungsvorrichtung 3 den Bewegungsbefehl zu der Robotersteuereinheit 2 senden, um die Bewegung des Endeffektors 5 in dem Manipulator (Roboter) 1 zu steuern, und eliminiert so die Notwendigkeit für den Anwender, Maschinensprache zu verstehen, die mit dem Typ des Manipulators (Roboters) 1 variiert. Es ist somit möglich, die Umsetzungsregel zwischen den Positionskoordinaten, die durch die Robotersteuereinheit 2 erkannt werden (den ersten Koordinatenwerten) und den Positionskoordinaten, die aus dem aufgenommen Bild des Zielobjekts (Werkstücks) detektiert werden (den zweiten Koordinatenwerten) zu erhalten, um die Bewegung des Manipulators 1 mit hoher Genauigkeit zu steuern.
  • (Zweite Ausführungsform)
  • Eine Konfiguration eines Bildverarbeitungssystems und eine Konfiguration der Bildverarbeitungsvorrichtung 3 gemäß einer zweiten Ausführungsform der vorliegenden Erfindung sind ähnlich denjenigen der ersten Ausführungsform. Somit sind Bestandteile, die dieselben Funktionen aufweisen, mit denselben Bezugszeichen versehen, und ihre genauen Beschreibungen sind dadurch weggelassen. Die zweite Ausführungsform unterscheidet sich von der ersten Ausführungsform dadurch, dass das Wählen des Werkstücks (Zielobjekts) 6 durch Verwendung eines Kalibrierungsergebnisses ausgeführt wird.
  • 24 ist eine schematische Ansicht zum Erläutern der Ausführung von Wählen in einem Bildverarbeitungssystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung. Wie in 24 gezeigt ist, wird in dem Bildverarbeitungssystem gemäß der vorliegenden zweiten Ausführungsform das Werkstück 6 von einer Auswahlposition 241 zu einer Platzierungsposition 242 bewegt. Insbesondere, während ein Bild des Werkstücks 6 an der Auswahlposition 241 durch die Bildaufnahmeeinrichtung 4 aufgenommen wird, wird das Werkstück 6 durch den Endeffektor 5 des Manipulators 1 gegriffen, zu der Platzierungsposition 242 bewegt und dann freigegeben.
  • 25 ist ein Ablaufplan, der eine Verarbeitungsprozedur zum Wählen in dem Bildverarbeitungssystems gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 25 gezeigt ist, bewegt die Robotersteuereinheit 2 den Endeffektor 5 des Manipulators 1 aus dem Bildaufnahmebereich heraus, um eine Situation zu vermeiden, in der der Endeffektor 5 des Manipulators 1 verhindert, dass die Bildaufnahmeeinrichtung 4 ein Bild des Werkstücks 6, das das Bildaufnahmezielobjekt ist, aufnimmt (Schritt S2501).
  • Die Robotersteuereinheit 2 sendet einen Bildaufnahmebefehl zu der Bildverarbeitungsvorrichtung 3 (Schritt S2502). Die Bildverarbeitungsvorrichtung 3 empfängt den Bildaufnahmebefehl (Schritt S2503) und nimmt das Bild des Werkstücks 6 auf (Schritt S2504). Die Bildverarbeitungsvorrichtung 3 zeigt das Bild des Werkstücks 6 an, detektiert Positionskoordinaten (x, y) des Werkstücks 6 auf dem angezeigten Bild (Schritt S2505) und setzt sie in Positionskoordinaten (x', y') um durch Verwenden einer Umsetzungsformel, die vorher durch Kalibrierung erhalten wird (Schritt S2506).
  • 26 ist eine erläuternde Ansicht eines Positionsdetektionsbildschirms für das Werkstück 6 in dem Bildverarbeitungssystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung. Wie in 26 gezeigt ist, wird das aufgenommen Bild des Werkstücks 6 in dem Bildanzeigebereich 65 angezeigt.
  • Eine Kreuzmarkierung 261 gibt Positionskoordinaten an, an denen das Bild des Werkstücks 6 angezeigt worden ist, und eine Kreuzmarkierung 262 gibt ein Bewegungsziel des Werkstücks 6 an.
  • 27 ist eine erläuternde Ansicht eines Bewegungsbildschirms für das Werkstück 6 in dem Bildverarbeitungssystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung. In dem Beispiel von 27, da ein Bild des Endeffektors 5 aufgenommen worden ist, ist das Werkstück 6 hinter dem Endeffektor 5 verborgen und wird nicht in dem Bild angezeigt.
  • Die Kreuzmarkierung 261 und die Kreuzmarkierung 262 sind jedoch als überlagert auf dem Bild angezeigt, wobei die Kreuzmarkierung 261 die Positionskoordinaten zeigt, an denen das Bild des Werkstücks 6 angezeigt worden ist, und die Kreuzmarkierung 262 das Bewegungsziel des Werkstücks 6 zeigt. Dementsprechend kann, selbst wenn kein Bild des Werkstücks 6 selbst angezeigt wird, der Endeffektor 5 bewegt werden, um den Bildschirm in einen solchen Anzeigezustand wie in 26 zu bringen, und das Bewegungsziel kann dann spezifiziert werden.
  • Es wird darauf hingewiesen, dass mehrere Ergebnisse der Kalibrierung vorher gespeichert sein können, und jedes der Ergebnisse kann ausgewählt werden. 28 ist eine erläuternde Ansicht eines Kalibrierungsergebnisauswahlbildschirms in dem Bildverarbeitungssystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung.
  • Wie in 28 gezeigt ist werden, wenn eine Kalibrierungsdatenanzeigeschaltfläche 282 durch eine Mausoperation oder dergleichen angeklickt wird, gespeicherte Kalibrierungsergebnisse in einem Pulldown-Menü 281 angezeigt. Das heißt, die gespeicherten Umsetzungsregeln auswählbar werden angezeigt, da die Umsetzungsregel von (Formel 1) mit den Koeffizienten, die für jede Kalibrierung spezifiziert sind, gespeichert ist.
  • Der Anwender wählt ein Kalibrierungsergebnis aus dem Pulldown-Menü 281 aus. Somit ist es möglich, die Bewegung des Manipulators 1 mit hoher Genauigkeit zu steuern.
  • Zurück zu 25 sendet die Bildverarbeitungsvorrichtung 3 die umgesetzten tatsächlichen Positionskoordinaten (x’, y') zu der Robotersteuereinheit 2 (Schritt S2507). Die Robotersteuereinheit 2 empfängt die Positionskoordinaten (x', y') (Schritt S2508) und bewegt den Endeffektor 5 zu der Aufnahmeposition 241 zum Greifen des Werkstücks 6 (Schritt S2509). Die Robotersteuereinheit 2 veranlasst den Endeffektor 5, das Werkstück 6 zu greifen (Schritt S2510) .
  • Die Robotersteuereinheit 2 veranlasst den Endeffektor 5, sich zu der Platzierungsposition 242 zu bewegen, während er das Werkstück 6 greift (Schritt S2511), und das Werkstück 6 freizugeben (Schritt S2512). Zusätzlich ist es möglich, automatisch ein Bewegungsprogramm für eine andere Verarbeitung als die Verarbeitung in Schritt S2510 und S2512 zu erzeugen.
  • Ferner ist es bevorzugt, vorher die Position des Endeffektors 5 des Manipulators 1 mit der Position auf dem Bild abzugleichen. Das dient dem Zweck, die tatsächlichen Positionskoordinaten (x', y') mit hoher Genauigkeit aus den Positionskoordinaten (x, y) auf dem Bild, die basierend auf dem Bild des Zielobjekts 6 detektiert worden sind, zu erhalten.
  • 29A bis 29C sind schematische Ansichten zum Erläutern von Masterpositionseintragungsverarbeitung des Bildverarbeitungssystems gemäß der zweiten Ausführungsform der vorliegenden Erfindung. Zuerst, wie in 29A gezeigt ist, wird das Werkstück 6 durch den Endeffektor 5 gegriffen, und die Positionskoordinaten (x', y') in dem gegriffenen Zustand werden gespeichert.
  • Als Nächstes, wie in 29B gezeigt ist, veranlasst die Robotersteuereinheit 2 den Endeffektor 5 in dem Zustand des Greifens des Werkstücks 6, sich zu einer unmittelbar darunter gelegenen Position zu bewegen und das Werkstück 6 freizugeben. Wie in 29C gezeigt ist, wird, nachdem das Werkstück 6 freigegeben ist, der Endeffektor 5 veranlasst, sich zu einer unmittelbar darüber gelegenen Position zu bewegen, und ein Bild des Werkstücks 6 wird durch die Bildaufnahmeeinrichtung 4 aufgenommen. Wenn der Endeffektor 5 des Manipulators 1 in dem Bild, das durch die Bildaufnahmeeinrichtung 4 aufgenommen ist, enthalten ist, nämlich wenn der Endeffektor 5 verhindert, dass das Bild des Werkstücks 6 aufgenommen wird, wird der Endeffektor 5 bewegt, so dass er nicht in dem aufgenommen Bild ist, und das Bild wird dann durch die Bildaufnahmeeinrichtung 4 aufgenommen. Das aufgenommene Bild wird in die Speicherungseinheit 33 der Bildverarbeitungsvorrichtung 3 gespeichert.
  • Wie somit beschrieben ist, werden das Bild der Position, an der das Werkstück 6 gegriffen wird, und die Positionskoordinaten (x', y') einander zugeordnet gespeichert, und dadurch ist es möglich, die Bewegung zu steuern, so dass, selbst wenn Verschiebung zwischen der Position des Endeffektors 5 und der Position des Werkstücks 6 aufgetreten ist, der Endeffektor 5 zu der Position bewegt werden kann, an der der Endeffektor 5 das Werkstück 6 greifen kann.
  • 30 ist eine erläuternde Ansicht eines Masterpositionseintragungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der zweiten Ausführungsform der vorliegenden Erfindung. Wie in 30 gezeigt ist, erfasst die Bildaufnahmeeinrichtung 4 Koordinatenwerte einer zentralen Position TCP des Endeffektors 5 und Koordinatenwerte von Positionskoordinaten, die von der zentralen Position TCP versetzt sind, wobei das Werkstück 6 durch den Endeffektor 6 gegriffen ist. Die Koordinatenwerte der zentralen Position TCP des Endeffektors 5 und die Koordinatenwerte der Positionskoordinaten, die von der zentralen Position TCP versetzt sind, werden in einem Koordinatenanzeigebereich 3001 angezeigt.
  • Dann wird eine Click-Operation auf eine Bewegungsschaltfläche 3002 durch die Maus oder dergleichen ausgeführt, um zu ermöglichen, dass der Endeffektor 5 des Manipulators 1 leicht zu der eingetragenen zentralen Position TCP des Endeffektors 5 zurückkehrt.
  • Ein Programm, das zum Steuern der Bewegung des Manipulators 1 dient und in der Robotersteuereinheit 2 ausgeführt wird, kann automatisch erzeugt werden. 31 ist eine erläuternde Ansicht eines Programmerzeugungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der zweiten Ausführungsform der vorliegenden Erfindung.
  • In 31 wird in einem Reihenfolgeauswahlbereich 311 Verarbeitung, die durch ein erzeugtes Programm ausgeführt werden soll, aus einem Pulldown-Menü ausgewählt. Ferner wird ein Hersteller, der den Manipulator (Roboter) 1, der zu einem Zielobjekt zum Steuern durch das erzeugte Programm werden soll, hergestellt hat, aus einem Herstellerauswahlbereich 312 ausgewählt. Deswegen variiert eine Spezifikation für das erzeugte Programm je nach Hersteller.
  • Wenn alle Einstellungen fertiggestellt worden sind, wird eine Klick-Operation auf eine Programmausgabeschaltfläche 313 durch die Maus oder dergleichen ausgeführt, um ein Programm für die Robotersteuereinheit 2 zu erzeugen. 32 ist eine erläuternde Ansicht des Programms für die Robotersteuereinheit 2 gemäß der zweiten Ausführungsform der vorliegenden Erfindung.
  • Wie in 32 gezeigt ist, ist ein Quellcode 321 ein Befehl zum Aufbauen von Datenkommunikation mit der Bildverarbeitungsvorrichtung 3. Ein Quellcode 322 ist ein Befehl, die Bildaufnahmeeinrichtung 4 zurückzuziehen. Ein Quellcode 323 ist ein Koordinatenwerterfassungsbefehl für die Bildverarbeitungsvorrichtung.
  • Ein Quellcode 324 ist ein Befehl, Koordinatenwerte von der Bildverarbeitungsvorrichtung 3 zu empfangen. Ein Quellcode 325 ist ein Befehl, die empfangenen Positionskoordinaten in tatsächliche Positionskoordinaten des Manipulators 1 umzusetzen.
  • Ein Quellcode 326 ist Befehl, den Endeffektor 5 des Manipulators 1 zu einer Ausgabeposition zu bewegen. Ein Quellcode 327 ist ein Kommentarfeld, und dadurch, dass der/die Anwender/in selbst darin einen Quellcode beschreibt, kann ein detaillierteres Programm erzeugt werden. Ein Quellcode 328 ist ein Befehl, Datenkommunikation mit der Bildverarbeitungsvorrichtung 3 abzubrechen.
  • Es wird darauf hingewiesen, dass in dem vorstehenden Beispiel der Bewegungsbefehl als eine Zeichenkette geschrieben ist und durch protokollfreie Kommunikation des Ethernets (eingetragenes Warenzeichen) gesendet wird. In einem gemeinsamen Speicher der Robotersteuereinheit 2 ist jedoch ein Befehl einer Adresse AAA zugewiesen, während ein Befehlsparameter einer Adresse BBB zugewiesen ist, um das Bilden eines Befehlssystems durch den Austausch numerischer Daten ohne Verwendung einer Zeichenkette zu ermöglichen. Wenn ein Bewegungsbefehl als numerische Werte von der Bildverarbeitungsvorrichtung 3 empfangen wird, wird die Adresse AAA durch eine numerische Zahl, die dem Bewegungsbefehl „MV“ entspricht, neu geschrieben, und die Adresse BBB wird durch „100, 200, 300“ ersetzt, die dann als ein Bewegungsbefehl zu dem Manipulator 1 ausgegeben werden.
  • Natürlich kann eine andere Protokollkommunikation als diese verwendet werden, wie z. B. Protokollkommunikation des Ethernets (eingetragenes Warenzeichen), PLC-Link, CC-Link oder PROFINET.
  • Wie vorstehend beschrieben kann gemäß der vorliegenden zweiten Ausführungsform ein Bewegungsbefehl und ein Verschiebungsbefehl, um die Bewegung des Endeffektors 5 des Manipulators zu steuern, von der Bildverarbeitungsvorrichtung 3 zu der Robotersteuereinheit 2 gesendet werden, und dadurch wird die Notwendigkeit eliminiert, Maschinensprache zu verstehen, die mit dem Typ des Manipulators (Roboters) 1 variiert, und es wird möglich, dass die Bewegung des Manipulators mit hoher Genauigkeit gesteuert wird.
  • (Dritte Ausführungsform)
  • Eine Konfiguration eines Bildverarbeitungssystems und eine Konfiguration der Bildverarbeitungsvorrichtung 3 gemäß einer dritten Ausführungsform der vorliegenden Erfindung sind ähnlich denjenigen der ersten und der zweiten Ausführungsform. Somit sind Bestandteile, die dieselben Funktionen aufweisen, mit denselben Bezugszeichen versehen, und ihre genauen Beschreibungen sind dadurch weggelassen. Die dritte Ausführungsform unterscheidet sich von der ersten und der zweiten Ausführungsform dadurch, dass sie eine Test-Operation durch Verwenden eines Kalibrierungsergebnisses ausführt.
  • Ein Programm, das zum Ausführen der Test-Operation des Manipulators 1 dient und das in der Robotersteuereinheit 2 ausgeführt wird, wird wie in der zweiten Ausführungsform automatisch erzeugt. 33 ist eine erläuternde Ansicht eines Programmerzeugungsbildschirms der Bildverarbeitungsvorrichtung 3 gemäß der dritten Ausführungsform der vorliegenden Erfindung.
  • In 33 wird in einem Reihenfolgeauswahlbereich 331 Verarbeitung, die durch ein erzeugtes Programm ausgeführt werden soll, aus einem Pulldown-Menü ausgewählt. Ferner wird ein Hersteller, der den Manipulator (Roboter) 1 hergestellt hat, aus einem Herstellerauswahlbereich 332 ausgewählt, um zu einem Zielobjekt zum Steuern durch das erzeugte Programm zu werden. Das liegt daran, dass eine Spezifikation für das erzeugte Programm je nach Hersteller variiert.
  • In dem Beispiel von 33 wird eine Spezifikation gemacht, um ein Programm zum Steuern von Bewegungen zum Bewegen zu eingetragenen Positionskoordinaten („POS000“ ist in 33 als ein Bezeichner verwendet), Ausgeben eines Bildauslösers, der die Zeit zum Starten der Aufnahme eines Bildes angibt, und Bewegen zu einer Position zum Greifen des Werkstücks 6 zu erzeugen. An dem Punkt der Fertigstellung der gesamten Spezifikation wird eine Programmausgabetastfläche 333 durch eine Maus-Operation oder dergleichen geklickt, um ein Programm für die Robotersteuereinheit 2 zu erzeugen.
  • Bewegungen während der Test-Operation sind in 34A bis 34C gezeigt. 34A bis 34C sind schematische Ansichten zum Erläutern der Bewegungen während der Test-Operation in dem Bildverarbeitungssystem gemäß der dritten Ausführungsform der vorliegenden Erfindung.
  • Zuerst, wie in 34A gezeigt ist, bewegt das Bildverarbeitungssystem gemäß der vorliegenden dritten Ausführungsform den Endeffektor 5 des Manipulators zu der Position „POS000“, die von der Position, an der das Werkstück 6 platziert ist, verschieden ist, um zu ermöglichen, dass ein Bild des Werkstücks 6 aufgenommen wird. In diesem Zustand, wie in 34B gezeigt ist, wird das Bild des Werkstücks 6 in Übereinstimmung mit dem Bildauslöser aufgenommen. Zuletzt, wie in 34C gezeigt ist, wird der Endeffektor 5 des Manipulators 1 zu der Position (Detektionsposition), an der das Werkstück 6 platziert ist, bewegt, um das Werkstück 6 zu greifen.
  • 35 ist ein Ablaufplan, der eine Verarbeitungsprozedur während der Test-Operation des Bildverarbeitungssystems gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 35 gezeigt ist, sendet die Bildverarbeitungsvorrichtung 3 einen Befehl, sich zu einer vorbestimmten Position („POS000“ in dem Beispiel von 33) zu bewegen, zu der Robotersteuereinheit 2 (Schritt S3501).
  • Die Robotersteuereinheit 2 empfängt den Bewegungsbefehl von der Bildverarbeitungsvorrichtung (Schritt S3502) und interpretiert den Bewegungsbefehl in Übereinstimmung mit dem Typ des Manipulators 1 (Schritt S3503). Das heißt, der Befehl wird in ein Lademodul in Maschinensprache übersetzt, das den Manipulator 1 aktivieren kann.
  • Die Robotersteuereinheit 2 bewegt den Endeffektor 5 zu der Position, die durch den Bewegungsbefehl spezifiziert ist („POS000“ in dem Beispiel von 33) und sendet einen Bildaufnahmebefehl zu der Bildverarbeitungsvorrichtung 3 (S3505).
  • Die Bildverarbeitungsvorrichtung 3 empfängt den Bildaufnahmebefehl (Schritt S3506) und nimmt ein Bild des Bewegungsbereichs des Endeffektors 5 auf (Schritt S3507). Die Bildverarbeitungsvorrichtung 3 zeigt das Bild des Bewegungsbereichs des Endeffektors 5 an, detektiert Positionskoordinaten (x, y) des Werkstücks 6 auf dem angezeigten Bild (Schritt S3508) und setzt sie in Positionskoordinaten (x', y') um durch Verwenden einer Umsetzungsformel, die vorher durch Kalibrierung erhalten wird (Schritt S3509).
  • Die Bildverarbeitungsvorrichtung 3 sendet einen Bewegungsbefehl zu den Positionskoordinaten (x', y') zu der Robotersteuereinheit 2 (Schritt S3510). Die Robotersteuereinheit 2 empfängt den Bewegungsbefehl (Schritt S3511) und bewegt den Endeffektor 5 zu den umgesetzten Positionskoordinaten (x', y') (Schritt S3512).
  • Wie vorstehend beschrieben kann gemäß der vorliegenden dritten Ausführungsform ein Bewegungsbefehl und ein Verschiebungsbefehl, um die Bewegung des Endeffektors 5 des Manipulators zu steuern, von der Bildverarbeitungsvorrichtung 3 zu der Robotersteuereinheit 2 gesendet werden, und dadurch wird die Notwendigkeit eliminiert, Maschinensprache zu verstehen, die mit dem Typ des (Roboters) 1 variiert, und es wird möglich, dass die Test-Operation des Manipulators 1 auszuführen, um zu überprüfen, ob er Bewegungen korrekt ausführt oder nicht.
  • Zusätzlich ist die vorliegende Erfindung nicht eingeschränkt auf die vorstehende Ausführungsform, und eine Vielzahl von Änderungen, Modifikationen und dergleichen können vorgenommen werden, solange sie im Bereich des Geists der vorliegenden Erfindung sind. Beispielsweise kann das Verwenden einer Bewegungssteuereinheit anstelle der Robotersteuereinheit 2 einen Anwendungsbereich erweitern.
  • Ferner, obwohl das Beispiel zum Verwenden der zweidimensionalen affinen Transformation als Kalibrierung beschrieben worden ist, kann natürlich eine dreidimensionale affine Transformation verwendet werden. In diesem Fall ist eine Umsetzungsformel der affinen Transformation wie in (Formel 2).
    [Mathematische Formel 2] ( x ' y ' z ' 1 ) = ( a x x a y x a z z b x a z y a y y a z y b y a z z a y z a z z b z 0 0 0 1 ) × ( x y z 1 )
    Figure DE102015226696B4_0002
  • Insbesondere werden Bilder des Werkstücks 6, das in einem Raum gehalten wird, durch mehrere Bildaufnahmeeinrichtungen 4 aufgenommen, um dadurch jeden Koeffizienten einer Umsetzungsformel zwischen Koordinatenwerten (x, y, z), die Positionskoordinaten des Werkstücks 6 auf dem Bild sind, und Raumkoordinatenwerten (x', y', z'), die tatsächliche Positionskoordinaten sind, zu erhalten.
  • 36 ist ein Ablaufplan, der eine Verarbeitungsprozedur zur dreidimensionalen Kalibrierung des Bildverarbeitungssystems gemäß der Ausführungsform der vorliegenden Erfindung zeigt. Wie in 36 gezeigt ist, sendet die Bildverarbeitungsvorrichtung 3 einen Bewegungsbefehl zu der Robotersteuereinheit 2 (Schritt S3601). Die Robotersteuereinheit 2 empfängt den Bewegungsbefehl (Schritt S3602) und interpretiert den Bewegungsbefehl in Übereinstimmung mit dem Typ des Manipulators 1 (Schritt S3603). Das heißt, der Befehl wird in ein Lademodul in Maschinensprache übersetzt, das den Manipulator 1 aktivieren kann.
  • Die Robotersteuereinheit 2 bewegt den Endeffektor 5 zu einer Position, die durch den Bewegungsbefehl spezifiziert ist (Schritt S3604). Die Robotersteuereinheit 2 erfasst Positionskoordinaten (x', y', z') des Bewegungsziels des bewegten Endeffektors 5 (Schritt S3605) und sendet die erfassten Positionskoordinaten (x', y', z') zu der Bildverarbeitungsvorrichtung 3 (Schritt S3606).
  • Die Bildverarbeitungsvorrichtung 3 empfängt die erfassten Positionskoordinaten (x', y', z') von der Robotersteuereinheit 2 (Schritt S3607) und nimmt ein Bild eines Bewegungsbereichs des Endeffektors 5 auf (Schritt S3608). Die Bildverarbeitungsvorrichtung 3 zeigt das Bild des Bewegungsbereichs an und detektiert Positionskoordinaten (x, y, z) auf dem angezeigten Bild (Schritt S3609).
  • Die Bildverarbeitungsvorrichtung 3 bestimmt, ob die Positionskoordinaten (x, y, z) auf dem Bild für alle Positionskoordinaten (x', y', z') zur Kalibrierung detektiert worden sind oder nicht (Schritt S3610). Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y, z) auf dem Bild nicht für alle Positionskoordinaten (x', y', z') zur Kalibrierung detektiert worden sind (Schritt S3610: Nein), gibt die Bildverarbeitungsvorrichtung 3 den nächsten Bewegungsbefehl aus (Schritt S3611) und gibt die Verarbeitung zu Schritt S3601 zurück, um die vorhergehende Verarbeitung zu wiederholen.
  • Wenn die Bildverarbeitungsvorrichtung 3 bestimmt, dass die Positionskoordinaten (x, y, z) auf dem Bild für alle Positionskoordinaten (x', y', z') zur Kalibrierung detektiert worden sind (Schritt S3610: Ja), berechnet die Bildverarbeitungsvorrichtung 3 eine Umsetzungsformel in Übereinstimmung mit (Formel 2) (Schritt S3612). Insbesondere werden die zwölf Koeffizienten axx bis azz, bx, by und bz erhalten.

Claims (13)

  1. Bildverarbeitungsvorrichtung, die umfasst: eine Kommunikationseinrichtung (36), die Datenkommunikation mit einer Robotersteuereinheit (2), die eine Bewegung des Roboters (1) steuert, ausführen kann; eine Bildaufnahmeeinrichtung (4), die ein Bild eines Zielobjekts, das ein Operationszielobjekt (6) des Roboters (1) ist, aufnimmt; eine Befehlssendeeinheit zum Senden eines Bewegungsbefehls zu der Robotersteuereinheit (2), um einen Endeffektor (5) zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Ziels, das zu einem Bildaufnahmezielobjekt (6) wird, in Bezug auf die Bildaufnahmeeinrichtung (4) zu ändern; eine Bewegungskoordinatenerfassungseinheit zum Erfassen erster Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat; ein Bildaufnahmesteuerabschnitt (303) zum Steuern einer Operation der Bildaufnahmeeinrichtung (4), um ein Bild des Zielobjekts an jedem Bewegungsziel, zu dem sich der Endeffektor (5) bewegt hat, aufzunehmen; eine Bilddetektionseinheit zum Detektieren zweiter Koordinatenwerte, die Positionskoordinaten des Zielobjekts sind, basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird; und eine Kalibrierungsausführungseinheit zum Berechnen einer Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.
  2. Bildverarbeitungsvorrichtung nach Anspruch 1, wobei die Befehlssendeeinheit den Bewegungsbefehl, der wenigstens eine Bewegungsanweisung und Positionskoordinaten des Bewegungsziels enthält, zu der Robotersteuereinheit (2) sendet.
  3. Bildverarbeitungsvorrichtung nach Anspruch 1, die umfasst: eine Koordinatendetektionseinheit zum Detektieren der zweiten Koordinatenwerte, die Positionskoordinaten des Bildaufnahmezielobjekts sind; und eine Koordinatenumsetzungseinheit zum Umsetzen der detektierten zweiten Koordinatenwerte in die ersten Koordinatenwerte basierend auf der Umsetzungsregel.
  4. Bildverarbeitungsvorrichtung nach Anspruch 3, die umfasst: eine Anzeigeeinheit zum Anzeigen des aufgenommenen Bilds des Zielobjekts; und eine Positionsspezifikationsakzeptierungseinheit zum Akzeptieren der Spezifikation einer Position auf dem angezeigten Bild des Zielobjekts, wobei die zweiten Koordinatenwerte an der akzeptierten spezifizierten Position durch die Koordinatenumsetzungseinheit basierend auf der Umsetzungsregel in die ersten Koordinatenwerte umgesetzt werden.
  5. Bildverarbeitungsvorrichtung nach Anspruch 1, wobei die ersten Koordinatenwerte, die durch die Bewegungskoordinatenerfassungseinheit erfasst werden, in die zweiten Koordinatenwerte basierend auf der Umsetzungsregel umgesetzt werden und die umgesetzten Werte auf dem angezeigten Bild des Zielobjekts überlagert und angezeigt werden.
  6. Bildverarbeitungssystem, das umfasst: eine Robotersteuereinheit (2), die die Bewegung eines Roboters (1) steuert; und eine Bildverarbeitungsvorrichtung (3), die eine Kommunikationseinrichtung (36) enthält, die mit der Robotersteuereinheit (2) verbunden ist, um Datenkommunikation der Robotersteuereinheit (2) auszuführen, und eine Bildaufnahmeeinrichtung (4), die ein Bild des Zielobjekts, das ein Operationszielobjekt (6) des Roboters (1) ist, aufnimmt, wobei die Bildverarbeitungsvorrichtung (3) enthält: eine Befehlssendeeinheit zum Senden zu der Robotersteuereinheit (2) eines Bewegungsbefehls, um einen Endeffektor (5) zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Ziels, das zu einem Bildaufnahmezielobjekt (6) wird, in Bezug auf die Bildaufnahmeeinrichtung (4) zu ändern, eine Bewegungskoordinatenerfassungseinheit zum Erfassen erster Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat, ein Bildaufnahmesteuerabschnitt (303) zum Steuern einer Operation der Bildaufnahmeeinrichtung (4), um ein Bild des Zielobjekts an jedem Bewegungsziel aufzunehmen, zu dem sich der Endeffektor (5) bewegt hat, eine Bilddetektionseinheit zum Detektieren zweiter Koordinatenwerte, die Positionskoordinaten des Zielobjekts sind, basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird; und eine Kalibrierungsausführungseinheit zum Berechnen einer Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.
  7. Bildverarbeitungssystem nach Anspruch 6, wobei die Befehlssendeeinheit den Bewegungsbefehl, der wenigstens eine Bewegungsanweisung und Positionskoordinaten des Bewegungsziels enthält, zu der Robotersteuereinheit (2) sendet.
  8. Bildverarbeitungssystem nach Anspruch 6, wobei die Bildverarbeitungsvorrichtung (3) enthält: eine Koordinatendetektionseinheit zum Detektieren der zweiten Koordinatenwerte, die Positionskoordinaten des Bildaufnahmezielobjekts sind, und eine Koordinatenumsetzungseinheit zum Umsetzen der detektierten zweiten Koordinatenwerte in die ersten Koordinatenwerte basierend auf der Umsetzungsregel.
  9. Bildverarbeitungssystem nach Anspruch 8, wobei die Bildverarbeitungsvorrichtung (3) enthält: eine Anzeigeeinheit zum Anzeigen des aufgenommenen Bilds des Zielobjekts, und eine Positionsspezifikationsakzeptierungseinheit zum Akzeptieren der Spezifikation einer Position auf dem angezeigten Bild des Zielobjekts, und die wobei Bildverarbeitungsvorrichtung (3) die zweiten Koordinatenwerte an der durch Spezifikation akzeptierten Position in die ersten Koordinatenwerte basierend auf der Umsetzungsregel umsetzt.
  10. Bildverarbeitungssystem nach Anspruch 6, wobei die Bildverarbeitungsvorrichtung (3) die ersten Koordinatenwerte, die durch die Bewegungskoordinatenerfassungseinheit erfasst werden, in die zweiten Koordinatenwerte basierend auf der Umsetzungsregel umsetzt und die umsetzten Werte auf dem angezeigten Bild des Zielobjekts überlagert und anzeigt.
  11. Bildverarbeitungssystem nach Anspruch 6, wobei die Robotersteuereinheit (2) eine Programmumsetzungseinheit zum Interpretieren des Bewegungsbefehls und Umsetzen des interpretierten Befehls in einen Bewegungsbefehl für den Endeffektor (5) enthält.
  12. Bildverarbeitungssystem nach Anspruch 11, wobei die Programmumsetzungseinheit für jeden Typ des Roboters (1) vorgesehen ist und den Bewegungsbefehl in einem Bewegungsbefehl für den Endeffektor (5) in Übereinstimmung mit dem Typ des Roboters (1) umsetzt.
  13. Bildverarbeitungsverfahren, das durch ein Bildverarbeitungssystem ausgeführt werden kann, das besteht aus: einer Robotersteuereinheit (2), die die Bewegung eines Roboters (1) steuert, und einer Bildverarbeitungsvorrichtung (3), die eine Kommunikationseinrichtung (36), die mit der Robotersteuereinheit (2) verbunden ist, um Datenkommunikation der Robotersteuereinheit (2) auszuführen, und eine Bildaufnahmeeinrichtung (4), die ein Bild des Zielobjekts (6), das ein Operationszielobjekt (6) des Roboters (1) ist, aufnimmt, enthält, wobei das Bildverarbeitungsverfahren diese Schritte umfasst: Senden zu der Robotersteuereinheit (2) eines Bewegungsbefehls, einen Endeffektor (5) zu mehreren vorbestimmten Positionen zu bewegen, um eine relative Position des Ziels, das zu einem Bildaufnahmezielobjekt (6) wird, in Bezug auf die Bildaufnahmeeinrichtung (4) zu ändern; Erfassen erster Koordinatenwerte, die jede der Positionskoordinaten des Endeffektors sind, der sich in Übereinstimmung mit dem Bewegungsbefehl bewegt hat; Steuern einer Operation der Bildaufnahmeeinrichtung (4), um ein Bild des Zielobjekts an jedem Bewegungsziel aufzunehmen, zu dem sich der Endeffektor (5) bewegt hat; Detektieren zweiter Koordinatenwerte, die Positionskoordinaten des Zielobjekts sind, basierend auf dem Bild des Zielobjekts, das an jedem Bewegungsziel aufgenommen wird; und Berechnen einer Umsetzungsregel zwischen beiden Koordinaten basierend auf den mehreren erfassten ersten Koordinatenwerten und den mehreren detektierten zweiten Koordinatenwerten.
DE102015226696.6A 2014-12-25 2015-12-23 Bildverarbeitungsvorrichtung, Bildverarbeitungssystem, Bildverarbeitungsverfahren und Computerprogramm Active DE102015226696B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-262243 2014-12-25
JP2014262243A JP6486679B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
DE102015226696A1 DE102015226696A1 (de) 2016-06-30
DE102015226696B4 true DE102015226696B4 (de) 2024-05-16

Family

ID=56116857

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015226696.6A Active DE102015226696B4 (de) 2014-12-25 2015-12-23 Bildverarbeitungsvorrichtung, Bildverarbeitungssystem, Bildverarbeitungsverfahren und Computerprogramm

Country Status (4)

Country Link
US (1) US10137574B2 (de)
JP (1) JP6486679B2 (de)
CN (1) CN105729467B (de)
DE (1) DE102015226696B4 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6486678B2 (ja) 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
EP3189947A1 (de) * 2016-01-07 2017-07-12 Sick Ag Verfahren zum konfigurieren und zum betreiben einer überwachten automatisierten arbeitszelle und konfigurationsvorrichtung
EP3512667A1 (de) * 2016-09-13 2019-07-24 ABB Schweiz AG Verfahren zur programmierung eines industriellen roboters
JP7179439B2 (ja) * 2016-11-28 2022-11-29 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP6892286B2 (ja) * 2017-03-03 2021-06-23 株式会社キーエンス 画像処理装置、画像処理方法、及びコンピュータプログラム
CN115855022A (zh) * 2017-04-07 2023-03-28 辉达公司 使用深度神经网络执行自主路径导航
JP6897396B2 (ja) * 2017-07-28 2021-06-30 セイコーエプソン株式会社 制御装置、ロボットシステムおよび制御方法
JP6881188B2 (ja) * 2017-09-27 2021-06-02 オムロン株式会社 位置検出装置およびプログラム
CN110125926B (zh) * 2018-02-08 2021-03-26 比亚迪股份有限公司 自动化的工件取放方法及系统
JP2020013242A (ja) * 2018-07-17 2020-01-23 富士ゼロックス株式会社 ロボット制御システム、ロボット装置およびプログラム
JP2020025992A (ja) * 2018-08-09 2020-02-20 株式会社東芝 制御装置、制御方法、およびプログラム
CN111971529A (zh) * 2018-09-03 2020-11-20 Abb瑞士股份有限公司 用于管理机器人系统的方法和装置
JP6871220B2 (ja) * 2018-11-08 2021-05-12 ファナック株式会社 制御システム
CN109309791B (zh) * 2018-11-09 2021-01-29 珠海格力智能装备有限公司 控制相机拍照方法和系统
JP7250489B2 (ja) * 2018-11-26 2023-04-03 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
EP3914421A4 (de) * 2019-01-21 2022-08-17 ABB Schweiz AG Verfahren und vorrichtung zur überwachung eines robotersystems
US10369698B1 (en) * 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control
US10906184B2 (en) 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN110275532B (zh) * 2019-06-21 2020-12-15 珠海格力智能装备有限公司 机器人的控制方法及装置、视觉设备的控制方法及装置
JP2021037587A (ja) * 2019-09-03 2021-03-11 株式会社デンソー 部品挿入装置および部品の挿入方法
DE102020106998B4 (de) 2020-03-13 2023-05-25 Gottfried Wilhelm Leibniz Universität Hannover Verfahren zum Kalibrieren eines Roboters und entsprechender Roboter
CN114310901B (zh) * 2022-01-14 2023-09-26 北京京东乾石科技有限公司 用于机器人的坐标系标定方法、装置、系统以及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04134501A (ja) 1990-09-27 1992-05-08 Toshiba Corp ロボット制御装置
JPH0991022A (ja) 1995-09-20 1997-04-04 Yaskawa Electric Corp ロボット制御装置
JP2006082170A (ja) 2004-09-15 2006-03-30 Fuji Photo Film Co Ltd キャリブレーション方法
DE60121105T2 (de) 2000-09-20 2006-11-16 Fanuc Ltd. Vorrichtung zur Position-Orientierungserkennung
US20110320039A1 (en) 2010-06-25 2011-12-29 Hon Hai Precision Industry Co., Ltd. Robot calibration system and calibrating method thereof
DE112011101730T5 (de) 2010-05-14 2013-06-27 Cognex Corporation System und Verfahren zur robusten Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter
US20140229005A1 (en) 2013-02-14 2014-08-14 Canon Kabushiki Kaisha Robot system and method for controlling the same
US20140288710A1 (en) 2013-03-19 2014-09-25 Kabushiki Kaisha Yaskawa Denki Robot system and calibration method

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4456961A (en) * 1982-03-05 1984-06-26 Texas Instruments Incorporated Apparatus for teaching and transforming noncoincident coordinate systems
JPH08174454A (ja) * 1994-12-22 1996-07-09 Kobe Steel Ltd 産業用ロボットの軌跡表示装置
JPH08286726A (ja) * 1995-04-12 1996-11-01 Hitachi Ltd ロボットの教示補正装置
JP3655083B2 (ja) * 1998-02-25 2005-06-02 富士通株式会社 ロボットの位置決めを行うインタフェース装置
JP3051387B1 (ja) * 1998-12-25 2000-06-12 川崎重工業株式会社 ロボットのプログラム変換装置
JP3803755B2 (ja) * 1999-12-29 2006-08-02 川崎重工業株式会社 ロボットシステムおよびその利用方法
US6681151B1 (en) * 2000-12-15 2004-01-20 Cognex Technology And Investment Corporation System and method for servoing robots based upon workpieces with fiducial marks using machine vision
US6889118B2 (en) * 2001-11-28 2005-05-03 Evolution Robotics, Inc. Hardware abstraction layer for a robot
JP3999790B2 (ja) * 2005-03-18 2007-10-31 日本電信電話株式会社 機器プラットフォームへの接続装置
JP2007061983A (ja) * 2005-09-01 2007-03-15 Fanuc Ltd ロボット監視システム
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
JP4869852B2 (ja) * 2006-09-28 2012-02-08 株式会社ダイヘン 搬送用ロボットの教示方法
KR20080088165A (ko) * 2007-03-29 2008-10-02 삼성중공업 주식회사 로봇 캘리브레이션 방법
JP4835616B2 (ja) * 2008-03-10 2011-12-14 トヨタ自動車株式会社 動作教示システム及び動作教示方法
JP2012003727A (ja) * 2010-06-21 2012-01-05 Canon Inc 画像処理装置およびその方法
JP5810562B2 (ja) * 2011-03-15 2015-11-11 オムロン株式会社 画像処理システムに向けられたユーザ支援装置、そのプログラムおよび画像処理装置
US9188973B2 (en) * 2011-07-08 2015-11-17 Restoration Robotics, Inc. Calibration and transformation of a camera system's coordinate system
JP5915214B2 (ja) * 2012-02-01 2016-05-11 セイコーエプソン株式会社 ロボット装置、組立て方法、及び組立てプログラム
JP6000579B2 (ja) * 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
EP2926955A4 (de) * 2012-11-30 2016-07-27 Yaskawa Denki Seisakusho Kk Robotersystem
JP2014128840A (ja) * 2012-12-28 2014-07-10 Kanto Seiki Kk ロボット制御システム
CN103273496B (zh) * 2013-05-08 2015-07-15 长沙长泰机器人有限公司 一种利用智能相机在机器人搬运系统中定位工件的方法
JP6486678B2 (ja) 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP6396516B2 (ja) * 2017-01-12 2018-09-26 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04134501A (ja) 1990-09-27 1992-05-08 Toshiba Corp ロボット制御装置
JPH0991022A (ja) 1995-09-20 1997-04-04 Yaskawa Electric Corp ロボット制御装置
DE60121105T2 (de) 2000-09-20 2006-11-16 Fanuc Ltd. Vorrichtung zur Position-Orientierungserkennung
JP2006082170A (ja) 2004-09-15 2006-03-30 Fuji Photo Film Co Ltd キャリブレーション方法
DE112011101730T5 (de) 2010-05-14 2013-06-27 Cognex Corporation System und Verfahren zur robusten Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter
US20110320039A1 (en) 2010-06-25 2011-12-29 Hon Hai Precision Industry Co., Ltd. Robot calibration system and calibrating method thereof
US20140229005A1 (en) 2013-02-14 2014-08-14 Canon Kabushiki Kaisha Robot system and method for controlling the same
US20140288710A1 (en) 2013-03-19 2014-09-25 Kabushiki Kaisha Yaskawa Denki Robot system and calibration method

Also Published As

Publication number Publication date
JP2016120567A (ja) 2016-07-07
CN105729467A (zh) 2016-07-06
DE102015226696A1 (de) 2016-06-30
US20160184995A1 (en) 2016-06-30
CN105729467B (zh) 2020-11-27
JP6486679B2 (ja) 2019-03-20
US10137574B2 (en) 2018-11-27

Similar Documents

Publication Publication Date Title
DE102015226696B4 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungssystem, Bildverarbeitungsverfahren und Computerprogramm
DE102016114337B4 (de) System und verfahren zum verknüpfen von koordinatenräumen maschinellen sehens in einer umgebung angeleiteten zusammenbaus
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
EP3056923B1 (de) Scananordnung und verfahren zum scannen eines objektes
DE102018213985B4 (de) Robotersystem
DE112011100310B4 (de) Intelligentes System zur wiederholbaren Armmontage
DE102009012590A1 (de) Vorrichtung zum Ermitteln der Stellung eines Roboterarms mit Kamera zur Durchführung von Aufnahmen
CN111590593B (zh) 机械臂的标定方法、装置、系统及存储介质
EP2023077A1 (de) Verfahren und Vermessungssystem zur Berührungslosen Koordinatenmessung an einer Objektoberfläche
EP1910999B1 (de) Verfahren und anordnung zur bestimmung der relativen lage eines ersten objektes bezüglich eines zweiten objektes, sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
CN108748149B (zh) 一种复杂环境下基于深度学习的无标定机械臂抓取方法
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102006036346B4 (de) Verfahren zur automatisierten 3-D-Objekterkennung und Lagebestimmung
DE102016116811A1 (de) Auslenkungsmesssystem zum Messen der Auslenkung eines Gelenkroboters
EP3578321A1 (de) Verfahren zum verwenden mit einer maschine zum erstellen einer erweiterte-realität-anzeigeumgebung
DE102010037067B4 (de) Robotersteuervorrichtung und Verfahren zum Teachen eines Roboters
DE102021209178A1 (de) Verfahren und Vorrichtung zum Bestimmen von Relativposen und zur Kalibrierung bei einem Koordinatenmessgerät oder Roboter
DE102019212452A1 (de) Interferenzvermeidungsvorrichtung und Robotersystem
EP3571462A1 (de) Verfahren und vorrichtung zum erzeugen eines 3d-thermogramms
DE102005040714B4 (de) Verfahren und System zur Erstellung eines Bewegungsablaufes für einen Roboter
DE102006005990A1 (de) Werkstückvermessung für 3-D Lageerkennung in mehreren Multi-Roboter-Stationen
US11577400B2 (en) Method and apparatus for managing robot system
EP3465076A1 (de) Vorrichtung zur vermessung von objekten
DE102018103333B3 (de) Verfahren und System zur dynamischen Strukturanalyse
DE102020211053A1 (de) Annotationsvorrichtung

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