DE102018200154A1 - Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor - Google Patents

Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor Download PDF

Info

Publication number
DE102018200154A1
DE102018200154A1 DE102018200154.5A DE102018200154A DE102018200154A1 DE 102018200154 A1 DE102018200154 A1 DE 102018200154A1 DE 102018200154 A DE102018200154 A DE 102018200154A DE 102018200154 A1 DE102018200154 A1 DE 102018200154A1
Authority
DE
Germany
Prior art keywords
camera
calibration
robot
area
target mark
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.)
Pending
Application number
DE102018200154.5A
Other languages
English (en)
Inventor
Yuuta Namiki
Fumikazu Warashina
Shouta TAKIZAWA
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102018200154A1 publication Critical patent/DE102018200154A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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/39008Fixed camera detects reference pattern held by end effector
    • 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/39016Simultaneous calibration of manipulator and camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator
    • GPHYSICS
    • 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
    • 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
    • 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/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

Für eine Kalibration einer einzelnen Kamera 2 oder einer Stereokamera 2A wird ein Kalibrationsbereich vorab in einem Bildkoordinatensystem eingestellt und die Kalibration wird in einem beliebigen Bereich ausgeführt. Eine Optik-Sensor-Steuereinheit 1 ist eine Kalibrationsvorrichtung, welche ein Roboterkoordinatensystem bei dem Roboter 4 und ein Bildkoordinatensystem bei einer Kamera 2 verknüpft, durch Platzieren einer Zielmarkierung 5 bei dem Roboter 4, Verschieben des Roboters 4 und Detektieren der Zielmarkierung 5 bei mehreren Punkten in einer Sicht der Kamera 2. Die Kalibrationsvorrichtung umfasst: eine Bereichseinstelleinheit 105, welche einen Bildbereich in dem Bildkoordinatensystem bei der Kamera 2 einstellt; und eine Kalibrationsbereichsmesseinheit 106, welche einen Operationsbereich für den Roboter 4 misst, welcher zu dem Bildbereich gehört, vor einer Umsetzung einer Kalibration, durch Verschieben des Roboters 4 und Detektieren der Zielmarkierung 5.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Kalibration eines visuellen Sensors, insbesondere eine Kalibrationsvorrichtung, ein Kalibrationsverfahren und ein Programm zum Messen eines Bereichs, in welchem eine Zielmarkierung während einer Umsetzung einer Kalibration unter Verwendung einer Stereokamera mit mehreren Kameras detektiert wird.
  • Stand der Technik
  • In einem Robotersystem ist ein Roboter mit einer visuellen Funktion ausgestattet. Eine Operation wie beispielsweise ein Handhaben oder ein Bearbeiten eines Werkstücks wird durch Ausführen durchgeführt, wobei der Roboter die Positionsinformation eines Objekts erkennt. Die visuelle Funktion wird durch Aufnehmen eines Bilds des Objekts mit einem visuellen Sensor erfüllt, welcher an einer Hand oder einem benachbarten Teil des Roboters angebracht ist, oder einem visuellen Sensor, welcher um den Roboter vorgesehen ist. In einem solchen Robotersystem werden zum Erfassen der Positionsinformation des Objekts, gesehen von dem Roboter, Kalibrationsdaten zum Umwandeln der Positionsinformation des Objekts in einem Bild zu der Positionsinformation des Objekts, gesehen von dem Roboter, benötigt.
  • Kalibrationsdaten wurden durch verschiedene konventionelle Verfahren erfasst. Beispielsweise schlägt Patentdokument 1 ein Verfahren zum Anbringen eines Gittermusters an dem Ende eines Roboterarms und ein Messen des Musters mit einem fest angebrachten visuellen Sensoren vor (dieses Verfahren wird „Verfahren A bezeichnet. Patentdokument 2 schlägt ein Verfahren zum Ausführen einer Kalibration durch Anbringen einer Zielmarkierung mit einer Position und einer Stellung vor, welche vorab in einem Endpunktkoordinatensystem bestimmt ist, bei einem Roboter an dem Ende eines Arms, und Bestimmen der Position der Zielmarkierung bei mehreren Punkten in einem Bild der Zielmarkierung, welches durch einen visuellen Sensor aufgenommen ist (dieses Verfahren wird „Verfahren B“ genannt).
  • Falls eine Kalibration durch das Verfahren A auszuführen ist, sollte ein für die Kalibration zu verwendendes Muster vorab vorbereitet werden. Falls die Sicht einer Kamera zu weit oder zu eng für das vorbereitete Muster ist, versagt das Verfahren A dabei eine genaue Kalibration auszuführen. Im Gegensatz dazu ermöglicht eine Kalibration durch das Verfahren B eine Kalibration in einer breiteren Sicht oder eine Kalibration in einer engeren Sicht als bei dem Verfahren A, wodurch der Freiheitsgrad der Kalibration vorteilhaft zunimmt. Für eine drei-dimensionale Messung wurde eine Stereokamera in manchen Fällen als ein visueller Sensor verwendet, wie in Patentdokument 3 beispielsweise beschrieben. Es gab die nachstehenden Systeme für die Stereokamera: ein passives Stereosystem zum Abstimmen von zugehörigen Punkten durch Verwenden einer Struktur eines Objekts; und ein aktives Stereosystem zum Abstimmen von zugehörigen Punkten durch Verwenden eines auf ein Objekt projiziertes Muster. In jedem Fall ist eine Kalibration bei zwei oder mehr Kameras notwendig, welche die Stereokamera bilden.
    • Patentdokument 1: japanisches Patent mit der Nummer 2690603
    • Patentdokument 2: japanische ungeprüfte Patentanmeldungsveröffentlichung mit der Nummer 2015-174191
    • Patentdokument 3: japanische ungeprüfte Patentanmeldungsveröffentlichung mit der Nummer 2010-172986 .
  • Zusammenfassung der Erfindung
  • Um einen visuellen Sensor (beispielsweise eine Kamera) genauer zu kalibrieren, wird eine Zielmarkierung vorzugsweise durch einen breiten Bereich in einem Sichtbereich bewegt, während der visueller Sensor (beispielsweise eine Kamera) kalibriert wird. Falls die Zielmarkierung mit einem Gegenstand zusammenstößt, während diese in dem Sichtbereich bewegt wird beispielsweise, sollte ein Bereich zum Bewegen der Zielmarkierung begrenzt werden. Somit, bevor der visueller Sensor (beispielsweise eine Kamera) kalibriert wird, ist ein Bereich zum Bewegen der Zielmarkierung (nachfolgend ebenso einen „Kalibrationsbereich“) zum Aufnehmen eines Bilds der Zielmarkierung, welche bewegt wurde, nur notwendig in einer beliebigen Weise in einer Ebene eingestellt zu werden, bei welcher die Zielmarkierung während einer Umsetzung der Kalibration zu bewegen ist, sodass es möglich ist, die Zielmarkierung durch einen breiten Bereich in dem Sichtbereich zu bewegen. Der Kalibrationsbereich kann ebenso in einem Roboterkoordinatensystem bestimmt werden. Allerdings, um einen Bereich in dem Roboterkoordinatensystem zu bestimmen, um die Zielmarkierung in die Sicht zu bekommen und zu verhindern, dass die Zielmarkierung mit einem Gegenstand kollidiert, ist es notwendig, dass ein Anwender die Zielmarkierung in einem Bild der Zielmarkierung überprüft, welches durch die Kamera aufgenommen wird, während ein Roboter von Hand betrieben wird. Um die Notwendigkeit für eine solche mühselige Bedienung auszuschließen, wird der Kalibrationsbereich bevorzugt in einem aufgenommenen Bild eingestellt. Für die Kalibration von mehreren Kameras wie beispielsweise diejenigen einer Stereokamera, werden mehrere Kameras an getrennten Positionen angebracht, sodass es notwendig ist, dass jede Kamera unabhängig kalibriert wird. Somit ist auch in diesem Fall, bevor jede Kamera kalibriert wird, notwendig einen Bereich einer Bewegung der Zielmarkierungen (Kalibrationsbereich) für jeweils eine erste Kamera 21 und eine zweite Kamera 22 in einer Ebene einzustellen, bei welcher die Zielmarkierung zu bewegen ist, sodass ein Bild der Zielmarkierung, welche bewegt wurde, in einem Bereich einer Bildaufnahme (Winkel einer Sicht) durch jede Kamera aufgenommen werden kann.
  • Diesbezüglich beschreibt Patentdokument 2 nicht, dass ein Bereich einer Bewegung eines Werkstücks 1 (Kalibrationsbereich) auf einer Ebene eingestellt wird, bei welcher das Werkstück 1 zu bewegen ist, und in einem Bereich einer Bildaufnahme (Sichtswinkel) durch eine Bildaufnahmeeinheit 40, bevor die Bildaufnahmeeinheit 40 kalibriert wird. Weiter ist die im Patentdokument 2 beschriebene Kalibration nicht zum Kalibrieren von mehreren Kameras wie die einer Stereokamera sondern lediglich zum Kalibrieren einer einzelnen Kamera vorgesehen. Die in Patentdokument 3 beschriebene Kalibration wird durch Anbringen einer Prüfplatte als ein Basis-Matrix-Berechnungstool an dem Ende eines Roboterarms und ein Aufnehmen von Bildern der Prüfplatte mit einer Stereokamera ausgeführt. Somit gehört diese Kalibration von sich aus nicht zu einer Kalibration, welche durch Anbringen einer Zielmarkierung an dem Ende eines Arms ausgeführt wird, und ein Bestimmen der Position der Zielmarkierung bei mehreren Punkten, zu welchen die Zielmarkierung in dem durch die Stereokamera aufgenommenen Bildern der Zielmarkierung bewegt wurde.
  • Die vorliegende Erfindung stellt eine Kalibrationsvorrichtung, ein Kalibrationsverfahren und ein Programm bereit, welche zum Einstellen eines Bereichs einer Bewegung eine Zielmarkierung (Kalibrationsbereich) vorab in einem Raum zum Bewegen der Zielmarkierung geeignet sind, sodass der Bewegungsbereich in einem Sichtbereich für einen einzelnen visuellen Sensor (beispielsweise eine Kamera) oder in einen Sichtbereich für jeweils eine Stereokamera bildende Kamera fällt.
    1. (1) Eine Kalibrationsvorrichtung entsprechend der vorliegenden Erfindung („Optik-Sensor-Steuereinheit 1“ beispielsweise eine später zu beschreibende) ist eine Kalibrationsvorrichtung, welche ein Roboterkoordinatensystem bei einem Roboter (beispielsweise ein später beschriebener „Roboter 4“) und ein Bildkoordinatensystem bei einer Kamera (beispielsweise eine später zu beschreibende „Kamera 2“) durch Platzieren einer Zielmarkierung (beispielsweise eine später zu beschreibende „Zielmarkierung 5“) bei dem Roboter verknüpft, wobei der Roboter derart gesteuert wird, sodass diese die Zielmarkierung verschiebt und die Zielmarkierung bei mehreren Punkten in einer Sicht der Kamera detektiert wird. Die Kalibrationsvorrichtung umfasst: eine Bereichseinstelleinheit (beispielsweise eine später zu beschreibende „erste Bildbereichseinstelleinheit 105 „), welche einen Bildbereich in dem Bildkoordinatensystem einstellt; und eine Kalibrationsbereichsmesseinheit (beispielsweise eine später zu beschreibende „erste Kalibrationsbereichsmesseinheit 106“), welche einen Kalibrationsbereich als einen Operationsbereich für den Operator misst, welcher zu dem Bildbereich gehört, vor einer Umsetzung einer Kalibration durch Steuern des Roboters zum Bewegen der Zielmarkierung und Detektieren der Zielmarkierung. Während einer Umsetzung der Kalibration wird der Roboter derart gesteuert, dass die Zielmarkierung in den Kalibrationsbereich verschoben wird.
    2. (2) In der in (1) beschriebenen Kalibrationsvorrichtung kann der Kalibrationsbereich derart ausgebildet sein, dass diese auf einer Ebene eingestellt ist.
    3. (3) In der in (1) oder (2) beschriebenen Kalibrationsvorrichtung kann der Kalibrationsbereich derart ausgebildet sein, dass diese auf einer Ebene vertikal zu einer optischen Achse der Kamera eingestellt ist.
    4. (4) In der in (1) oder (2) beschriebenen Kalibrationsvorrichtung kann der Kalibrationsbereich derart ausgebildet sein, dass diese auf einer Ebene eingestellt ist, welche zu einer optischen Achse der Kamera geneigt ist.
    5. (5) In der in (1) oder (4) beschriebenen Kalibrationsvorrichtung kann der Kalibrationsbereich derart ausgebildet sein, dass diese jeweils auf zumindest zwei Ebenen eingestellt ist.
    6. (6) Ein Kalibrationsverfahren gemäß der vorliegenden Erfindung (beispielsweise ein später zu beschreibendes „Optik-Sensor-Steuerverfahren“) ist ein Kalibrationsverfahren, welches durch eine Kalibrationsvorrichtung umgesetzt wird, welche ein Roboterkoordinatensystem bei einem Roboter (beispielsweise ein später zu beschreibender „Roboter 4“) und ein Bildkoordinatensystem bei einer Kamera (beispielsweise eine später zu beschreibende „Kamera 2“) durch Platzieren einer Markierung (beispielsweise eine später zu beschreibenden „Zielmarkierung 5“) bei dem Roboter verknüpft, wobei der Roboter derart gesteuert wird, dass die Zielmarkierung verschoben wird, und die Zielmarkierung bei mehreren Punkten in einer Sicht der Kamera detektiert wird. Das Kalibrationsverfahren umfasst: einen Bildbereichseinstellschritt (beispielsweise einen später zu beschreibenden „ersten Bildbereichseinstellschritt“) zum Einstellen eines Bildbereichs in dem Bildkoordinatensystem; und einen Kalibrationsbereichsmessschritt (beispielsweise einen später zu beschreibenden „Kalibrationsbereichsmessschritt“) zum Messen eines Kalibrationsbereichs als einen Operationsbereich für den Operator, welcher zu dem Bildbereich gehört, vor einer Umsetzung einer Kalibration, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung. Während einer Umsetzung der Kalibration wird Roboter derart gesteuert, dass die Zielmarkierung in den Kalibrationsbereich verschoben wird.
    7. (7) ein Programm gemäß der vorliegenden Erfindung (beispielsweise ein später zu beschreibendes „Programm“) veranlasst, dass ein Computer die nachstehenden Schritte ausführt. Der Computer steuert eine Kalibrationsvorrichtung, welche ein Roboterkoordinatensystem eines Roboters (beispielsweise ein später zu beschreibender „Roboter 4“) und ein Bildkoordinatensystem bei einer Kamera (beispielsweise eine später zu beschreibende „Kamera 2“) durch Platzieren einer Zielmarkierung (beispielsweise eine später zu beschreibenden „Zielmarkierung 5“) bei dem Roboter verknüpft, wobei der Roboter derart gesteuert wird, sodass die Zielmarkierung verschoben wird, und die Zielmarkierung bei mehreren Punkten in einer Sicht der Kamera detektiert wird. Die Schritte umfassen: einen Bildbereichseinstellschritt (beispielsweise einen später zu beschreibenden „ersten Bildbereichseinstellschritt“) zum Einstellen eines Bildbereichs in dem Bildkoordinatensystem; und einen Kalibrationsbereichsmessschritt (beispielsweise einen später zu beschreibenden „Kalibrationsbereichsmessschritt“) zum Messen eines Kalibrationsbereichs als einen Operationsbereich für den Operator, welcher zu dem Bereich gehört, vor einer Umsetzung einer Kalibration, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung. Bei der Umsetzung der Kalibration wird der Roboter derart gesteuert, sodass die Zielmarkierung in den Kalibrationsbereich verschoben wird.
    8. (8) eine Kalibrationsvorrichtung gemäß der vorliegenden Erfindung (beispielsweise eine später zu beschreibende „Optik-Sensor-Steuereinheit 1A“) ist eine Kalibrationsvorrichtung, welche ein Roboterkoordinatensystem bei einem Roboter (beispielsweise ein später zu beschreibende „Roboter 4“), eine Positionsinformation in einem Bildkoordinatensystem bei einer ersten Kamera (beispielsweise eine später zu beschreibende „erste Kamera 21“) einer Stereokamera (beispielsweise einer später zu beschreibenden „Stereokamera 2A“) und eine Positionsinformation in einem Bildkoordinatensystem bei einer zweiten Kamera (beispielsweise eine später zu beschreibende „zweite Kamera 22“) der Stereokamera durch Platzieren einer Zielmarkierung (beispielsweise eine später zu beschreibende Zielmarkierung 5") bei dem Roboter verknüpft, wobei der Roboter derart gesteuert wird, sodass die Zielmarkierung verschoben wird, und die Zielmarkierung bei mehreren Punkten in einer Sicht der Stereokamera, welche zumindest die erste Kamera und die zweite Kamera umfasst, detektiert wird. Die Kalibrationsvorrichtung umfasst: eine erste Bildbereichseinstelleinheit (beispielsweise eine später zu beschreibende „erste Bildbereichseinstelleinheit 105“), welche einen ersten Bildbereich in dem Bildkoordinatensystem bei der ersten Kamera einstellt; eine zweite Bildbereichseinstelleinheit (beispielsweise eine „zweite Bildbereichseinstelleinheit 1052“), welche einen zweiten Bildbereich in dem Bildkoordinatensystem bei der zweiten Kamera einstellt; eine erste Kalibrationsbereichsmesseinheit (beispielsweise eine später zu beschreibende „erste Kalibrationsbereichsmesseinheit 106“), welche einen ersten Kalibrationsbereich als einen ersten Operationsbereich für den Roboter misst, welcher zu dem ersten Bildbereich gehört, bevor die erste Kamera und die zweite Kamera kalibriert werden, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung unter Verwendung der ersten Kamera; und eine zweite Kalibrationsbereichsmesseinheit (beispielsweise eine später zu beschreibende „zweite Kalibrationsbereichsmesseinheit 1062“), welche einen zweiten Kalibrationsbereich als einen zweiten Operationsbereich für den Operator misst, welcher zu dem zweiten Bildbereich gehört, bevor die erste Kamera und die zweite Kamera kalibriert sind, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung unter Verwendung der zweiten Kamera. Während die erste Kamera die zweite Kamera kalibriert werden, wird der Roboter derart gesteuert, um die Zielmarkierung in zumindest dem ersten Kalibrationsbereich und/oder dem zweiten Kalibrationsbereich, oder in einem sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckten Bereich zu verschieben.
    9. (9) In der in (8) beschriebenen Kalibrationsvorrichtung kann jeweils der erste Kalibrationsbereich und der zweite Kalibrationsbereich derart ausgebildet sein, dass dieser in einer Ebene eingestellt ist.
    10. (10) Ein Kalibrationsverfahren gemäß der vorliegenden Erfindung (beispielsweise ein später zu beschreibendes „Optik-Sensor-Steuerverfahren“) ist ein Kalibrationsverfahren, welches durch eine Kalibrationsvorrichtung umgesetzt wird, welche ein Roboterkoordinatensystem bei einem Roboter (beispielsweise einem später zu beschreibenden „Roboter 4“), eine Positionsinformation in einem Bildkoordinatensystem einer ersten Kamera (beispielsweise eine später zu beschreibende „erste Kamera 21) einer Stereokamera (beispielsweise eine später zu beschreibende „Stereokamera 2A“) und eine Positionsinformation in einem Bildkoordinatensystem bei einer zweiten Kamera (beispielsweise eine später zu beschreibende „zweite Kamera 22“) der Stereokamera durch Platzieren einer Zielmarkierung (beispielsweise eine später zu beschreibende „Zielmarkierung 5“) bei dem Roboter verknüpft, wobei der Roboter derart gesteuert wird, dass die Zielmarkierung verschoben wird, und die Zielmarkierung bei mehreren Punkten in einer Sicht der Stereokamera, welche zumindest die erste Kamera und die zweite Kamera umfasst, detektiert wird. Das Kalibrationsverfahren umfasst: einen ersten Bildbereichseinstellungsschritt (beispielsweise einen „ersten Bildbereichseinstellungsschritt“) zum Einstellen eines ersten Bildbereichs in dem Bildkoordinatensystem bei der ersten Kamera; einen zweiten Bildbereichseinstellungsschritt (beispielsweise einen später zu beschreibenden „zweiten Bildbereichseinstellungsschritt“) zum Einstellen eines zweiten Bildbereichs in dem Bildkoordinatensystem bei der zweiten Kamera; einen ersten Kalibrationsbereichsmessschritt (beispielsweise einen später zu beschreibenden „ersten Kalibrationsbereichsmessschritt“) zum Messen eines ersten Kalibrationsbereichs als einen ersten Operationsbereich für den Roboter, welcher zu dem Bildbereich gehört, bevor die erste Kamera und die zweite Kamera kalibriert werden, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung unter Verwendung der ersten Kamera; und einen zweiten Kalibrationsbereichsmessschritt (einen später zu beschreibenden „zweiten Kalibrationsbereichsmessschritt“) zum Messen eines zweiten Kalibrationsbereichs als einen zweiten Operationsbereich für den Roboter, welcher zu dem zweiten Bildbereich gehört, bevor die erste Kamera und die zweite Kamera kalibriert werden, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung unter Verwendung der zweiten Kamera. Während die erste Kamera und die zweite Kamera kalibriert werden, wird der Roboter derart gesteuert die Zielmarkierungen zumindest in den ersten Kalibrationsbereich und/oder den zweiten Kalibrationsbereich, oder in einen durch sowohl den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abdeckenden Bereich zu verschieben.
    11. (11) Ein Programm entsprechend der vorliegenden Erfindung (beispielsweise ein später zu beschreibendes „Programm“) veranlasst einen Computer dazu die nachstehenden Schritte auszuführen. Der Computer steuert eine Kalibrationsvorrichtung, welche ein Roboterkoordinatensystem bei einem Roboter (beispielsweise einen später zu beschreibenden „Roboter 4“), eine Positionsinformation in einem Bildkoordinatensystem bei einer ersten Kamera (beispielsweise eine später zu beschreibende „erste Kamera 21“) einer Stereokamera (beispielsweise einer später zu beschreibenden „Stereokamera 2A“) und eine Positionsinformation in einem Bildkoordinatensystem bei der zweiten Kamera (beispielsweise eine später zu beschreibende „zweite Kamera 22“) der Stereokamera durch Platzieren einer Zielmarkierung (beispielsweise eine später zu beschreibende „Zielmarkierung 5“) bei dem Roboter verknüpft, wobei der Roboter gesteuert wird, sodass die Zielmarkierung verschoben wird, und die Zielmarkierung bei mehreren Punkten in einer Sicht der Stereokamera, welche zumindest die erste Kamera die zweite Kamera umfasst, detektiert wird. Die Schritte umfassend: einen ersten Bildbereichseinstellschritt (beispielsweise einen später zu beschreibenden „ersten Bildbereichseinstellschritt“) zum Einstellen eines ersten Bildbereichs in dem Bildkoordinatensystem bei der ersten Kamera; einen zweiten Bildbereichseinstellungsschritt (beispielsweise einen später zu beschreibenden „zweiten Bildbereichseinstellungsschritt“) zum Einstellen eines zweiten Bildbereichs in dem Bildkoordinatensystem bei der zweiten Kamera; einen ersten Kalibrationsbereichsmessschritt (beispielsweise einen später zu beschreibenden „ersten Kalibrationsbereichsmessschritt“) zum Messen eines ersten Kalibrationsbereichs als einen ersten Operationsbereich für den Roboter, welcher zu dem ersten Bildbereich gehört, bevor die erste Kamera und die zweite Kamera kalibriert werden, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung unter Verwendung der ersten Kamera; und einen zweiten Kalibrationsbereichsmessschritt (beispielsweise einen später zu beschreibenden „zweiten Kalibrationsbereichsmessschritt“) zum Messen eines zweiten Kalibrationsbereichs als einen zweiten Operationsbereich für den Roboter, welcher zu dem zweiten Bildbereich gehört, bevor die erste Kamera und die zweite Kamera kalibriert werden, durch Steuern des Roboters zum Verschieben der Zielmarkierung und Detektieren der Zielmarkierung unter Verwendung der zweiten Kamera. Während die erste Kamera und die zweite Kamera kalibriert werden, wird der Roboter derart gesteuert, sodass die Zielmarkierung in zumindest dem ersten Kalibrationsbereich und/oder dem zweiten Kalibrationsbereich, oder in einem sowohl durch den ersten Kalibrationsbereich und den zweiten Kalibrationsbereich abgedeckten Bereich verschoben wird.
  • Eine Kalibrationsvorrichtung, ein Kalibrationsverfahren und ein Programm, welche durch die vorliegende Erfindung bereitgestellt sind, sind zum Ausführen einer Kalibration mit einem erhöhten Freiheitsgrad geeignet, durch vorab Messen eines Operationsbereichs für einen Operator (Kalibrationsbereich), welcher zu einem Verschiebungsbereich einer Zielmarkierung gehört, vor einer Umsetzung der Kalibration in einem Raum, in welchem die Zielmarkierung zu verschieben ist, während einer Umsetzung der Kalibration, basierend auf einem Sichtbereich für einen einzelnen visuellen Sensor oder einem Sichtbereich für jeweils eine eine Stereokamera bildende Kamera.
  • Figurenliste
    • 1 zeigt die Konfiguration eines Robotersystems 1000 in ihrer Gesamtheit;
    • 2 zeigt Beispiele einer Zielmarkierung 5;
    • 3 ist ein funktionales Blockdiagramm, welches die Funktionskonfiguration einer Optik-Sensor-Steuereinheit 1 zeigt;
    • 4 ist ein Blockdiagramm, welches die Funktionskonfiguration einer CPU 10 in der Optik-Sensor-Steuereinheit 1 zeigt;
    • 5 zeigt ein Flussdiagramm zum Erzeugen eines Modellmusters;
    • 6 zeigt ein Beispiel eines Modellmusterbestimmungsbereichs;
    • 7 zeigt ein Beispiel eines Punkts P, wobei die drei-dimensionale Positionsinformation der Zielmarkierung zu messen ist;
    • 8A zeigt ein Flussdiagramm, welches einen Fluss zeigt, welcher von einer ersten Kalibrationsbereichsmesseinheit 106 zum Messen einer Koordinatenpositionsinformation in einem Roboterkoordinatensystem gefolgt wird, welches einen Randbereich eines Kalibrationsbereichs zeigt;
    • 8B zeigt ein Flussdiagramm, welches den Fluss zeigt, welcher durch die erste Kalibrationsbereichsmesseinheit 106 zum Messen der Koordinatenposition Information in dem Roboterkoordinatensystem gefolgt wird, welches den Randbereich des Kalibrationsbereichs zeigt;
    • 9A zeigt ein Beispiel eines Pfads, welcher durch die Zielmarkierung 5 verfahren wird, welche an einem Endabschnitt eines Arms 41 angebracht ist, während die Zielmarkierung 5 in einem Kalibrationsbereich verschoben wird;
    • 9B zeigt ein Beispiel eines Pfads, welcher durch die Zielmarkierung 5 verfahren wird, welche an dem Endabschnitt des Arms 41 angebracht ist, während die Zielmarkierung 5 in dem Kalibrationsbereich verschoben wird;
    • 10 ist ein Flussdiagramm, welches einen Kalibrationsprozess bei einer Kamera 2 gemäß einer ersten Ausführungsform zeigt;
    • 11A zeigt ein Beispiel einer Ebene, auf welcher ein Kalibrationsbereich eingestellt wird;
    • 11B zeigt Beispiele von Ebenen, auf welchen ein Kalibrationsbereich eingestellt wird;
    • 12 zeigt die Konfiguration eines Robotersystems 1000 in ihrer Gesamtheit zum Ausführen einer Kalibration unter Verwendung einer Stereokamera 2A gemäß einer zweiten Ausführungsform;
    • 13A zeigt ein Beispiel einer Anordnung der Stereokamera 2A;
    • 13B zeigt ein Beispiel einer Anordnung der Stereokamera 2A;
    • 14 ist ein Blockdiagramm, welches die funktionale Konfiguration einer CPU in einer Optik-Sensor-Steuereinheit 1A zeigt; und
    • 15 zeigt ein Flussdiagramm, welches einen Kalibrationsprozess bei der Stereokamera 2A gemäß der zweiten Ausführungsform zeigt.
  • Detailbeschreibung der Erfindung
  • [Erste Ausführungsform]
  • Ein Beispiel einer Ausführungsform (Erste Ausführungsform) der vorliegenden Erfindung wird nachstehend beschrieben. 1 zeigt die Konfiguration eines Robotersystems 1000 in ihrer Gesamtheit für eine Kalibration eines visuellen Sensors. Das Robotersystem 1000 dient zum Ausführen einer Kalibration unter Verwendung einer einzelnen Kamera 2. Wie in 1 gezeigt, umfasst das Robotersystem 1000: eine Optik-Sensor-Steuereinheit 1, welche eine drei-dimensionale Messung durch eine Bildverarbeitung an Daten über ein durch die einzelne Kamera 2 aufgenommenes Bild ausführt; einen Roboter 4 mit einem Arm 41 mit einem Endabschnitt, an welchem eine Zielmarkierung 5 angebracht ist; und eine Robotersteuereinheit 3 zum Steuern des Roboters 4. Die Kamera 2 ist an einem Sockel angebracht (nicht in den Figuren gezeigt). In dieser Ausführungsform wird die Optik-Sensor-Steuereinheit 1 als ein Beispiel einer Kalibrationsvorrichtung beschrieben.
  • 2 zeigt Beispiele der Zielmarkierung 5 die Zielmarkierung 5 ist nicht auf diese Beispiele beschränkt. Eine beliebige Form ist auf die Zielmarkierung 5 anwendbar. Indessen ist die Form der Zielmarkierung 5 bevorzugt so, dass die Eigenschaft der Zielmarkierung, welche als ein Modellmuster verwendet wird, auf einer zwei-dimensionalen Ebene wiedergegeben wird. Die Zielmarkierung 5 kann eine auf Papier gedruckte Markierung oder ein Siegel sein und an dem Ende des Arms 41 des Roboters 4 beispielsweise angebracht sein.
  • Die Robotersteuereinheit 3 erkennt die Koordinatenposition Information des Endes des Arms 41 in einem Roboterkoordinatensystem als eine aktuelle Position. Somit, basierend auf der Koordinatenposition des Endes des Arms 41 in dem Roboterkoordinatensystem und der bekannten drei-dimensionalen Positionsinformation und der bekannten drei-dimensionalen Stellung der Zielmarkierung 5 in einem Endpunktkoordinatensystem bei dem Roboter 4, kann die Robotersteuereinheit 3 die Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem stets erkennen, während die Robotersteuereinheit 3 einen Betrieb des Arms 41 steuert. Die Robotersteuereinheit 3 umfasst eine CPU (in den Figuren nicht gezeigt) zum Steuern der Robotersteuereinheit 3 in ihrer Gesamtheit in einer integrierten Weise. Die Optik-Sensor-Steuereinheit 1 ist mit der Robotersteuereinheit 3 über eine externe Geräteschnittstelle verbunden (nicht in den Figuren gezeigt). Die Robotersteuereinheit 3 überträgt ein Signal zum Auslösen einer Bildverarbeitung an die Optik-Sensor-Steuereinheit 1. Die Steuereinheit 3 empfängt ein Ergebnis einer Bildverarbeitung, welche durch Ausführen der Bildverarbeitung (beispielsweise Detektieren der Zielmarkierung 5) durch die Optik-Sensor-Steuereinheit 1 erhalten ist, und so weiter.
  • Die Robotersteuereinheit 3 steuert den Betrieb des Arms 41 derart, dass die an dem Ende des Arms 41 angebrachte Zielmarkierung in einen vor ab für eine Kalibration eingestellten Bereich („Kalibrationsbereich“) während einer Umsetzung der Kalibration verschoben wird. Ein Messprozess des Kalibrationsbereichs wird später genau beschrieben.
  • Die Robotersteuereinheit 3 misst die Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, angebracht an dem Ende des Arms 41 des Roboters 4. Insbesondere kann die Robotersteuereinheit 3 die Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem messen, während die Zielmarkierung 5 an einem Ziel ist.
  • [Optik-Sensor-Steuereinheit 1)
  • Die Kamera 2 ist mit der Optik-Sensor-Steuereinheit 1 verbunden, welche als die Kalibrationsvorrichtung dient. Die Optik-Sensor-Steuereinheit 1 veranlasst, dass die Kamera 2 ein Bild der Zielmarkierung aufnimmt, um die Kamera 2 zu kalibrieren.
  • 3 ist ein funktionales Blockdiagramm, welches die funktionale Konfiguration der Optik-Sensor-Steuereinheit 1 zeigt. Die Optik-Sensor-Steuereinheit 1 umfasst eine zentrale Verarbeitungseinheit (CPU) 10 zum Steuern der Optik-Sensor-Steuereinheit 1 in ihrer Gesamtheit in einer integrierten Weise. Die CPU 10 ist über einen Bus 11 mit mehreren Framespeichern 12, einem Nurlesespeicher (ROM) 13, einem Arbeitsspeicher (RAM) 14 und einem nichtflüchtigen RAM 15 verbunden. Die Kamera 2 ist mit dem Bus 11 über eine Kameraschnittstelle 16 verbunden. Weiter ist ein Monitor 19 mit dem Bus 11 über eine Monitorschnittstelle 17 verbunden. Die CPU 10 ist weiter über den Bus 11 mit einer externen Geräteschnittstelle 18 verbunden. Die externe Geräteschnittstelle 18 ist mit der Robotersteuereinheit 3 verbunden, um die Koordinatenposition der Zielmarkierung von der Robotersteuereinheit 3 zu empfangen und ein Ergebnis einer Bildverarbeitung, welches durch Ausführen Bildverarbeitung (beispielsweise eine Detektion der Zielmarkierung 5) durch die Optik-Sensor-Steuereinheit 1 und so weiter erhalten ist, an die Robotersteuereinheit 3 zu übertragen.
  • Der ROM 13 speichert Programme, welche zum Ausführen von verschiedenen Arten von Prozessen durch die Optik-Sensor-Steuereinheit 1 verwendet werden. Im Allgemeinen ist ein Zugriff auf einen RAM schneller als auf einen ROM. Somit kann die CPU 10 die in dem ROM 13 gespeicherten Programme vorab auf dem RAM 14 entwickeln. Dann kann die CPU 10 die Programme aus dem RAM 14 auslesen und die ausgelesenen Programme ausführen. Der RAM 14 speichert zeitweise gespeicherte Daten, welche zum Ausführen der Programme notwendig sind. Der nicht flüchtige RAM 15 ist beispielsweise eine magnetische Speichereinheit, ein Flash-Speicher, ein MRAM, FRAM (eingetragene Handelsmarke) oder ein EEPROM. Alternativ ist der nicht flüchtige RAM beispielsweise ein SRAM oder ein DRAM, welcher durch eine Batterie gestützt ist. Der nichtflüchtige RAM 15 ist als ein nicht flüchtiger Speicher ausgebildet, um dessen Speicherzustand zu halten, selbst nachdem die Optik-Sensor-Steuereinheit 1 ausgeschaltet ist. Der nicht flüchtige RAM 15 speichert Einstellungen, welche beispielsweise zum Ausführen der Programme notwendig sind. Der Framespeicher 12 speichert Bilddaten.
  • [Modellmuster]
  • Der nicht flüchtige RAM 15 umfasst eine Referenzinformationsspeichereinheit 151 und eine Detektionsergebnisspeichereinheit 152. Die Referenzinformationsspeichereinheit 151 speichert eine Referenzinformation (ebenso „Modellmuster „oder „Vorlage“ genannt), welche ein Ziel angibt (Zielmarkierung 5). Die Referenzinformation kann eine Gruppe von Randpunkten (ebenso eine „Randpunktgruppe“ genannt) in einem Ziel (Zielmarkierung 5) beispielsweise sein. Der Randpunkt ist ein Punkt, bei welchem sich eine Helligkeit in einem Bild deutlich ändert. Beispielsweise kann die Randpunktgruppe durch Umwandeln des Ziels (Zielmarkierung 5) in ein Randbild durch ein bekanntes Sobel-Filtern und Entnehmen eines Pixels (Randpunkts) mit einer Intensität eines vorbestimmten Schwellenwerts oder mehr aus dem Randbild gebildet werden. Die Randpunktgruppe, welche auf diese Weise aus dem Bild entnommen ist, welche das zu detektierende Ziel (Zielmarkierung 5) umfasst, wird als das Modellmuster in der Referenzinformationsspeichereinheit 151 gespeichert. Das Modellmuster ist nicht auf Randpunkte beschränkt. Beispielsweise können Merkmalspunkte, wie beispielsweise diejenigen, welche durch ein bekanntes SIFT entnommen sind, als das Modellmuster verwendet werden. Alternativ kann das Modellmuster durch Anordnen einer geometrischen Grafik wie beispielsweise einem Liniensegment, einem Rechteck oder einem Kreis derart erzeugt werden, sodass dies mit der Kontur des Ziels (Zielmarkierung 5) übereinstimmt. In diesem Fall können Merkmalspunkte bei geeigneten Intervallen auf der geometrischen Grafik, welche die Kontur bildet, bereitgestellt werden. Das Modellmuster kann ebenso ein Vorlagenbild sein, welches durch Ausschneiden eines Teils erzeugt wird, welcher zu einem Modellmusterbestimmungsbereich gehört, aus einem aufgenommenen Bild der Zielmarkierung 5. Ein Speichern des Modellmusters, welches in der oben beschriebenen Weise vorab erzeugt ist, in der Referenzinformationsspeichereinheit 151 wird ebenso ein „Lernen des Modellmusters“ genannt. Ein Lernen des Modellmusters wird später beschrieben.
  • Die Detektionsergebnisspeichereinheit 152 speichert ein Detektionsergebnis der Zielmarkierung 5, welche unter Verwendung des erlernten Modellmusters detektiert ist, aus Daten über ein durch die Kamera 2 aufgenommenes Bild, während die Zielmarkierung in den eingestellten Kalibrationsbereich verschoben wurde, ist bei jedem Ziel.
  • In Reaktion auf einen Befehl von der CPU nimmt die Kamera 2 ein Bild des Ziels auf, um das Bild zu erfassen, und gibt ein Signal über das erfasste Bild aus. Die Kameraschnittstelle 16 weist die Funktion zum Erzeugen eines Synchronisationssignals zum Steuern eines Belichtungszeitpunkts für die Kamera 2 auf, in Reaktion auf einen Befehl von der CPU 10, und die Funktion zum Verstärken eines von der Kamera 2 empfangenen Signals. Die Kamera 2 und die Kameraschnittstelle 16 sind nicht auf irgendeinen bestimmten Teil beschränkt, sondern sind kommerziell verfügbare und allgemein verwendete Teile.
  • Das Signal über das von der Kamera 2 aufgenommene Bild wird A/D umgewandelt durch die Kameraschnittstelle 16 und dann zeitweise als digitale Bilddaten über den Bus 11 in dem Framespeicher zwölf gespeichert. In der Optik-Sensor-Steuereinheit 1 verarbeitet die CPU das Bild durch Verwenden von in dem Framespeicher 12, dem ROM 13, dem RAM 14 und dem nichtflüchtigen RAM 15 gespeicherten Daten. Aus der Bildverarbeitung resultierende Daten werden erneut in dem Framespeicher 12 gespeichert. In Reaktion auf einen Befehl kann die CPU 10 die in dem Framespeicher zwölf gespeicherten Daten an die Monitorschnittstelle 17 übertragen und die Daten auf dem Monitor 19 anzeigen, um eine Überprüfung der Substanz der Daten durch einen Operator beispielsweise zu ermöglichen.
  • Die externe Geräteschnittstelle 18 ist mit verschiedenen Typen von externen Geräten verbunden. Beispielsweise ist die externe Geräteschnittstelle 18 mit der Robotersteuereinheit 3 verbunden, um ein Signal zum Auslösen einer Bildverarbeitung von der Robotersteuereinheit 3 zu empfangen und die Robotersteuereinheit 3 mit durch eine bildverarbeitungserhaltenen Positionsinformation Daten zu versorgen, und so weiter. Eine Tastatur oder eine Maus kann ebenso mit der externen Geräteschnittstelle 18 als eine Eingabeeinheit 33 für einen Operator beispielsweise verbunden sein.
  • Die Funktion der CPU 10 wird als Nächstes in Sachen einer jeden Verarbeitungseinheit beschrieben. Eine Beschreibung in Sachen eines jeden Verarbeitungsschritts (Verfahren) wird ausgelassen, weil jeder Verarbeitungsschritt (Verfahren) durch Ersetzen von „Einheit“ in der nachstehenden Beschreibung durch „Schritt“ verstanden werden kann. 4 ist ein Blockdiagramm, welches eine funktionale Konfiguration der CPU 10 in der Optik-Sensor-Steuereinheit 1 zeigt. Die CPU 10 umfasst eine Modellmustererzeugungseinheit 101, eine erste Parametereinstelleinheit 102, eine erste Detektionseinheit 103, eine erste Bildbereichseinstelleinheit 105, eine erste Kalibrationsbereichsmesseinheit 106, eine Bildaufnahmesteuereinheit 107 und eine Kalibrationseinheit 108. Jede dieser funktionalen Einheiten und funktionalen Schritte wird durch Ausführen eines Systemprogramms in dem ROM 13 durch die CPU 10 realisiert.
  • [Modellmustererzeugungseinheit 101]
  • Die Modellmustererzeugungseinheit 101 erzeugt ein Modellmuster durch Verwenden der Kamera 2 beispielsweise. 5 zeigt ein Flussdiagramm, welches von der Modellmustererzeugungseinheit 101 zum Erzeugen des Modellen Musters gefolgt wird. Die Funktion der Modellmustererzeugungseinheit 101 wird mit Bezug zu 5 beschrieben.
  • In Schritt S1 führt die Modellmustererzeugungseinheit 101 eine Steuerung zum Ausführen der Kamera 2 einer Aufnahme eines Bilds der in der Sicht der Kamera 2 angeordneten Zielmarkierung 5. Zu diesem Zeitpunkt wird eine Beziehung zwischen der Position der Kamera 2 und der der Zielmarkierung 5 vorzugsweise derart eingestellt, dass diese identisch zu der während einer Detektion der Zielmarkierung 5 ist.
  • Im Schritt S2 stellt die Modellmustererzeugungseinheit 101 einen Bereich in dem aufgenommenen Bild der Zielmarkierung 5 in der Form eines rechteckigen Bereichs oder eines runden Bereichs beispielsweise als einen Modellmusterbestimmungsbereich ein, in welchem die Zielmarkierung 5 auftaucht. Weiter bestimmt die Modellmustererzeugungseinheit 101 ein Modellmusterkoordinatensystem (Bildkoordinatensystem) in dem Modellmusterbestimmungsbereich. 6 zeigt ein Beispiel des Modellmusterbestimmungsbereichs, dessen des Modellmusterkoordinatensystem (Bildkoordinatensystem), und dessen des Modellmusters. Die Modellmustererzeugungseinheit 101 kann einen Bereich einstellen, welcher durch einen Operator angewiesen ist, als den Modellmusterbestimmungsbereich. Alternativ kann die Modellmustererzeugungseinheit 101 Punkte mit hohen Helligkeitsgradienten in dem Bild als die Kontur des Bildes der Zielmarkierung 5 bestimmen und den Modellmusterbestimmungsbereich derart einstellen, dass die Kontur des Bildes der Zielmarkierung 5 in dem Modellmusterbestimmungsbereich enthalten ist.
  • Im Schritt S3 entnimmt die Modellmustererzeugungseinheit 101 einen Randpunkt in dem Modellmusterbestimmungsbereich als einen Merkmalspunkt, erhält physikalische Größen wie beispielsweise die Position des Randpunkts, die Richtung und die Größe eines Helligkeitsgradienten bei dem Randpunkt und so weiter und wandelt den Randpunkt in einen Wert um, welcher in dem Modellmusterkoordinatensystem wiedergegeben wird, welches in dem Modellmusterbestimmungsbereich bestimmt ist. Weiter stellt die Modellmustererzeugungseinheit 101 einen Punkt ein, welche durch den Operator angewiesen ist, als den Punkt P, bei welchem die drei-dimensionale Positionsinformation der Zielmarkierung 5 zu messen ist, und speichert den Punkt P in der Referenzinformationsspeichereinheit 151. Durch Bestimmen des Punkts P vor ab, bei welchem die drei-dimensionale Positionsinformation der Zielmarkierung 5 zu messen ist, werden die drei-dimensionale Positionsinformation und die drei-dimensionale Stellung der Zielmarkierung 5 vor ab in dem Endpunktkoordinatensystem bei dem Roboter 4 bestimmt. Falls der Punkt P, bei welchem die drei-dimensionale Positionsinformation der Zielmarkierung 5 zu messen ist, nicht explizit bestimmt wird, kann die Modellmustererzeugungseinheit 101 einen Mittelpunkt des Modellen Musters als einen Punkt einstellen, bei welchem die drei-dimensionale Positionsinformation der Zielmarkierung 5 zu messen ist, beispielsweise. 7 zeigt ein Beispiel des. P, bei welchem die drei-dimensionale Positionsinformation der Zielmarkierung 5 zu messen ist. In 7 wird ein Mittelpunkt der Zielmarkierung 5 als der Punkt P eingestellt, bei welchem die drei-dimensionale Positionsinformation der Zielmarkierung 5 zu messen ist. Wie oben beschrieben, ist das Modellmuster nicht auf Randpunkte beschränkt. Beispielsweise können Merkmalspunkte wie die durch das öffentlich bekannte SIFT entnommenen Punkte als das Modellmuster verwendet werden. Alternativ kann das Modellmuster durch Anordnen einer geometrischen Grafik wie beispielsweise einem Liniensegment, einem Rechteck oder einem Kreis erzeugt werden, sodass die Kontur eines Ziels (Zielmarkierung 5) übereinstimmt. In diesem Fall können Merkmalspunkte bei geeigneten Intervallen auf der die Kontur bildenden geometrischen Grafik bereitgestellt werden. Das Modellmuster kann ebenso ein Vorlagenbild sein, welches durch Ausschneiden eines Teils erzeugt wird, welcher zu dem Modellmusterbestimmungsbereich gehört, aus dem aufgenommenen Bild der Zielmarkierung 5.
  • Im Schritt S4 speichert die Modellmustererzeugungseinheit 101 das erzeugte Modellmuster in der Referenzinformationsspeichereinheit 151. Wie oben beschrieben, wird das Modellmuster durch Verwenden des durch die Kamera 2 aufgenommenen Bildes erzeugt.
  • Nachfolgend wird ein Parameter zum Detektieren der Zielmarkierung 5 aus Daten über das durch die Kamera 2 aufgenommene Bild unter Verwendung des in der Referenzinformationsspeichereinheit 151 gespeicherten Modellen Musters.
  • Eine Differenz wird in einem Abstand zwischen der Kamera 2 und der Position der Zielmarkierung 5 bei einem Ziel oder in einem Winkel von einer optischen Achse beispielsweise erzeugt. Somit kann ein Bild der Zielmarkierung 5, welches durch die Kamera 2 aufgenommen ist, sich derart unterscheiden, dass dies von einem Ziel der Zielmarkierung 5 in dem Kalibrationsbereich abhängt, von dem Modellmuster, welches durch die Modellmustererzeugungseinheit 101 erzeugt ist, in Sachen eines Aussehens wie beispielsweise einer Größe oder dem Auftreten einer Rotation oder einer Verzerrung. Im Ergebnis ist es wahrscheinlich, dass, bei dem Versuch die mit dem Modellmuster vollständig überltimmende Zielmarkierung 5 zu detektieren, es unmöglich wird ein solches Objekt (Zielmarkierung 5) aus Daten über das durch die Kamera 2 aufgenommene Bild zu detektieren.
  • [Erste Parametereinstelleinheit 102]
  • Der erste Parametereinstelleinheit 102 stellt einen Parameter zum Detektieren der Zielmarkierung 5 aus Daten über ein durch die Kamera 2 aufgenommenes Bild derart ein, um eine Detektion eines Modellmusters bei einem beliebigen Ziel der Zielmarkierung 5 in dem Kalibrationsbereich zu detektieren, selbst in der oben beschriebenen Situation. Insbesondere hängt der durch die erste Parametereinstelleinheit 102 eingestellte Parameter von einem Detektionsalgorithmus ab. Beispielsweise kann der Parameter eingestellt sein, um einen vorbestimmten Bereich mit Bezug zu einem Modell in Sachen einer Größe, Rotation, Verzerrung, einem Positionsbereich oder einem Winkelbereich zur Detektion beispielsweise aufzuweisen. Alternativ kann der Parameter als ein einzelner numerischer Wert oder ein ein/aus-Wert eingestellt sein. Der Parameter ist nicht auf diese Beispiele beschränkt. Somit ist die später zu beschreibende erste Detektionseinheit 103 ausgebildet, sodass diese geeignet ist zum Detektieren der mit dem Modellmuster überltimmenden Zielmarkierung 5 aus aufgenommenen Bilddaten unter Verwendung eines einzelnen numerischen Werts, eines ein/aus-Wert oder eines Parameterwerts in einem vorbestimmten Bereich, sodass es möglich ist das Modellmuster bei einem beliebigen Ziel der Zielmarkierung 5 zu detektieren. Dadurch wird die später zu beschreibende erste Detektionseinheit 103 geeignet zum Detektieren des Modellen Musters aus den aufgenommenen Bilddaten durch Verwenden eines geeigneten Parameterwerts. Der Parameter kann ein auf Daten über ein durch die Kamera 2 aufgenommenes Bild anzuwenden der Parameter sein. In diesem Fall ist die erste Detektionseinheit 103 ausgebildet zum Detektieren des Modellen Musters über die Zielmarkierung 5 aus Bilddaten, welche durch Anwenden des Parameters auf die Daten über das durch die Kamera 2 aufgenommene Bild erzeugt werden. Beispielsweise kann das Modellmuster aus Bilddaten detektiert werden, welche durch Glätten der Bilddaten mit einem Gaußfilter erzeugt sind. Der Parameter kann ein Parameter sein, welcher auf das Modellmuster über die Zielmarkierung 5 anzuwenden ist. In diesem Fall ist die erste Detektionseinheit 103 ausgebildet zum Detektieren der Zielmarkierung 5 aus den Daten über das durch die Kamera 2 aufgenommene Bild unter Verwendung des Modellmusters, auf welches der Parameter angewendet ist.
  • Ein Beispiel des Parameters, welcher durch die erste Parametereinstelleinheit 102 eingestellt ist und auf das Modellmuster angewendet ist, kann eine Transformationsmatrix für eine Projektionstransformation, eine Affintransformation oder eine homothetische Transformation sein. Beispielsweise, falls ein Wert des Parameters als ein einzelner numerischer Wert eingestellt ist, ist eine einzelne Transformationsmatrix auswählbar. Falls ein Wert des Parameters eingestellt ist, um einen vorbestimmten Bereich aufzuweisen, ist eine Transformationsmatrix eines vorbestimmten Bereichs auswählbar. Nachfolgend werden bestimmte Beispiele beschrieben, welche angewendet werden, falls der Parameter eingestellt ist, um einen vorbestimmten Bereich aufzuweisen. In diesem Fall einer Projektionstransformation Matrix kann der Parameter derart eingestellt werden, dass ein Parameterbereich eine Projektionstransformationsmatrix mit einem Element abdeckt, welches eine Abweichung eines vorbestimmten Schwellenwerts oder weniger von einem zugehörigen Element in einer Projektionstransformationsmatrix als eine Basis aufweist. In dem Fall einer Rotation kann ein Bereich für einen Rotationswinkel basierend auf einem Rotationswinkel eingestellt werden. Ähnlich kann für den Fall einer homothetischen Transformation ein Bereich für ein homothetisches Verhältnis basierend auf einem homothetischen Verhältnis eingestellt werden. Beispielsweise wird basierend auf einem Winkel zwischen der optischen Achse der Kamera 2 und einer Ebene, auf welche die Zielmarkierung während einer Umsetzung einer Kalibration zu verschieben ist (insbesondere falls diese Ebene nicht bei einem rechten Winkel zu der optischen Achse liegt, sondern diagonal zu der optischen Achse geneigt ist), ein Größenbereich von 0,9 bis 1,1 für die Kamera 2 unter Verwendung des Parameters eingestellt werden. Dadurch kann eine stabile Detektionen bei dem Auftreten einer Differenz in einem Auftauchen der Zielmarkierung 5 realisiert werden, was aus unterschiedlichen Zielen der Zielmarkierung 5 beispielsweise resultiert. Ein Parameterwert für eine Belichtungszeit ist vorzugsweise unter Berücksichtigung eines Winkels zwischen der Kamera 2 und einer Ebene eingestellt, auf welcher die Zielmarkierung 5 angeordnet ist, oder einer Beziehung mit einer Beleuchtung beispielsweise.
  • [Erste Detektionseinheit 103]
  • Die erste Detektionseinheit 103 detektiert die Zielmarkierung 5 aus den Daten über das durch die Kamera 2 aufgenommene Bild und misst die Koordinatenposition der detektierten Zielmarkierung 5 in einem Bildkoordinatensystem bei der Kamera 2. Insbesondere wählt die erste Detektionseinheit 103 einen Parameter aus einem einzelnen numerischen Wert, einem ein/aus-Wert oder einem vorbestimmten Bereich für den Parameter aus. In einem Auswählen des Parameters aus dem vorbestimmten Bereich, kann beispielsweise ein Mittelwert in dem Parameterbereich zuerst ausgewählt werden. Dann kann ein in der Plus- oder Minus-Richtung von dem Mittelpunkt verschobener Wert als ein nächster Parameter beispielsweise ausgewählt werden.
  • Falls der Parameter ein Parameter ist, welcher auf die Daten über das durch die Kamera 2 aufgenommene Bild anzuwenden ist, wie oben beschrieben, nachdem die erste Detektionseinheit 113 Parameter aus einem einzelnen numerischen Wert, einem ein/aus-Wert oder einem vorbestimmten Bereich für den Parameter auswählt, wandelt die erste Detektionseinheit 103 die Daten über das durch die Kamera 2 aufgenommene Bild unter Verwendung des ausgewählten Parameters derart um, um eine Detektion der Zielmarkierung 5 aus den Bilddaten zu ermöglichen. Auf diese Weise kann die erste Detektionseinheit 103 die Zielmarkierung 5 aus den umgewandelten Bilddaten durch die öffentlich bekannte Detektionstechnik detektieren.
  • Insbesondere entnimmt die erste Detektionseinheit 103 einen Merkmalspunkt aus den Bilddaten, bei welchen der Parameter durch dasselbe Verfahren angewendet ist, welches zum Entnehmen eines Merkmalspunkts aus dem erlernten Modellmuster angewendet ist, und führt ein bekanntes Abstimmen zwischen einem Merkmalspunkt aus, was aus der Umwandlung des Parameters und eines Merkmalspunkts resultiert, welcher das Modellmuster bildet, wodurch die Zielmarkierung 5 detektiert wird.
  • Umgekehrt kann die erste Detektionseinheit 103 das Modellmuster über die Zielmarkierung 5 durch Verwenden des ausgewählten Parameters umwandeln. In diesem Fall kann die erste Detektionseinheit 103 die Zielmarkierung 5 detektieren, welche mit dem umgewandelten Modellmuster übereinstimmt, aus den aufgenommenen Bilddaten durch die oben beschriebene öffentlich bekannte Detektionstechnik. Insbesondere entnimmt die erste Detektionseinheit 103 einen Merkmalspunkt aus den Daten über das durch die Kamera 2 aufgenommene Bild durch dasselbe Verfahren, welches zum Entnehmen eines Merkmalspunkts aus dem erlernten Modellmuster angewendet wird, und führt ein öffentlich bekanntes abstimmen zwischen dem entnommenen Merkmalspunkt und einem Merkmalspunkt in dem Modellmuster aus, bei welchem der Parameter angewendet ist, wodurch die Zielmarkierung 5 detektiert wird. Die erste Detektionseinheit 103 misst die Koordinatenposition der detektierten Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2.
  • [Erste Bildbereichseinstelleinheit 105]
  • Wie oben beschrieben wird in dieser Ausführungsform die Zielmarkierung 5 auf einer bestimmten Ebene verschoben. Diese Ebene kann mehrere parallele Ebenen umfassen oder kann durch Koppeln mehrerer partieller Ebenen gebildet sein. Um einen Operationsbereich für den Roboter 4 (Kalibrationsbereich) zu bestimmen, stellt die erste Bildbereichseinstelleinheit 105 einen Bildbereich in dem Bildkoordinatensystem bei der Kamera 2 ein, korrespondierend zu diesem Kalibrationsbereich. Insbesondere stellt in Reaktion auf eine Anweisung von einem Operator, die erste Bildbereichseinstelleinheit 105 einen Bildbereich in dem durch die Kamera 2 aufgenommenen Bild basierend auf dem Bildkoordinatensystem bei der Kamera 2 ein. In diesem Fall kann die erste Bildbereichseinstelleinheit 115 Bildbereich beispielsweise als einen rechteckigen Bereich bestimmen. Die erste Bildbereichseinstelleinheit 105 kann das gesamte Bild als den Bildbereich einstellen. Als ein Raum zum Verschieben der Zielmarkierung ein Hindernis umfasst beispielsweise, kann die erste Bildbereichseinstelleinheit 105. Bildbereichen Reaktion auf eine Anweisung von dem Operator derart beschränken, um das in der Sicht der Kamera 2 vorhandene Hindernis zu vermeiden. In diesem Fall kann die erste Bildbereichseinstelleinheit 105 den Bildbereich als eine geschlossene Grafik bestimmen, welche mit mehreren Liniensegmenten gezeichnet ist.
  • [Erste Kalibrationsbereichsmesseinheit 106]
  • Die erste Kalibrationsbereichsmesseinheit 106 misst einen Kalibrationsbereich (eine Koordinatenposition in dem Roboterkoordinatensystem, welches einen Randbereich des Kalibrationsbereichs beispielsweise zeigt) als einen Operationsbereich für den Roboter 4, welche zu dem Bildbereich gehört, welcher durch die erste Bildbereichseinstelleinheit 105 eingestellt ist, vor einer Umsetzung einer Kalibration durch Steuern des Roboters 4 derart, um die Zielmarkierung 5 zu verschieben, und veranlassen, dass die erste Detektionseinheit 103 die Zielmarkierung 5 detektiert. Insbesondere bestimmt die erste Kalibrationsbereichsmesseinheit 106, ob die Zielmarkierung 5 in dem in dem Bildkoordinatensystem bei der Kamera 2 durch die erste Bildbereichseinstelleinheit 105 bestimmten Bildbereich durch Verschieben der Zielmarkierung 5 und wiederholtes detektieren der Zielmarkierung 5 detektierbar ist oder nicht, wodurch ein Kalibrationsbereich (eine Koordinatenposition in dem Roboterkoordinatensystem, welche einen Randbereich des Kalibrationsbereichs beispielsweise zeigt) als einen Operationsbereich für den Roboter 4 (insbesondere Zielmarkierung 5), welcher zu dem bestimmten Bildbereich gehört, gemessen wird.
  • Die 8A und 8B zeigen Flussdiagramme, welche einen Fluss zeigen, welche durch die erste Kalibrationsbereichsmesseinheit 106 zum Messen einer Koordinatenposition in dem Roboterkoordinatensystem gefolgt wird, welches einen Randbereich eines Kalibrationsbereichs zeigt. Die Funktion der ersten Kalibrationsbereichsmesseinheit 106 wird mit Bezug zu den 8A und 8B beschrieben. Eine Ebene, auf welcher die Zielmarkierung 5 während einer Umsetzung einer Kalibration zu verschieben ist, wird als eine XY Ebene in einem drei-dimensionalen Koordinatensystem, welche vorab bestimmt ist, bestimmt. Allerdings ist diese Ebene nicht auf die XY Ebene in dem drei-dimensionalen Koordinatensystem beschränkt.
  • Im Schritt S11 erfasst die erste Kalibrationsbereichsmesseinheit 106 die drei-dimensionale Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, welche bei einer anfänglichen Position angeordnet ist, auf einer Ebene in der Sicht der Kamera 2 und der Koordinatenposition dieser Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2 durch jeweils die Robotersteuereinheit 3 und die erste Detektionseinheit 103. Die Zielmarkierung 5 kann zu der anfänglichen Position verschoben werden, in Reaktion auf eine Laufoperation durch einen Operator beispielsweise. Alternativ kann die Zielmarkierung 5 zu einer in der Robotersteuereinheit 3 gespeicherten Anfangsposition verschoben werden.
  • In Schritt S12 verschiebt die erste Kalibrationsbereichsmesseinheit 106 den Roboter 4 (insbesondere Zielmarkierung 5) durch die Robotersteuereinheit 3 auf der Ebene von der Anfangsposition um einen Einheitsbetrag in einer X Richtung, welcher vorab in einer X Richtung eingestellt ist. Dann erfasst die erste Kalibrationsbereichsmesseinheit 106 die drei-dimensionale Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem und die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2 jeweils durch die Robotersteuereinheit 3 und die erste Detektionseinheit 103.
  • Im Schritt S13 verschiebt die erste Kalibrationsbereichsmesseinheit 106 den Roboter 4 (insbesondere Zielmarkierung 5) durch die Robotersteuereinheit 3 auf der Ebene von der Anfangsposition um einen Einheitsbetrag in einer Y Richtung, welcher vor ab in einer Y Richtung eingestellt ist. Dann erfasst die erste Kalibrationsbereichsmesseinheit 106 die drei-dimensionale Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem und die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2 jeweils durch die Robotersteuereinheit 3 und die erste Detektionseinheit 103.
  • Im Schritt S14 berechnet die erste Kalibrationsbereichsmesseinheit 106 einen drei-dimensionalen Vektor VX (Größe und Richtung) in dem Roboterkoordinatensystem, korrespondierend zu dem X Richtungseinheitsbetrag in der X Richtung auf der Ebene, und einen zwei-dimensionalen Vektor vx (Größe und Richtung) in dem Bildkoordinatensystem bei der Kamera 2, welches den Betrag der Zielmarkierung 5 zeigt. Die erste Kalibrationsbereichsmesseinheit 106 Berechnens weiter einen drei-dimensionalen Vektor vy (Größe und Richtung) in dem Roboterkoordinatensystem, korrespondierend zu dem Y Richtungseinheitsbetrag in der Y Achsenrichtung auf der Ebene, und einem zwei-dimensionalen Vektor vy (Größe und Richtung) in dem Bildkoordinatensystem bei der Kamera 2, welches den Betrag der Zielmarkierung 5 zeigt. Dadurch kann die erste Kalibrationsbereichsmesseinheit 106 eine ungefähre Verknüpfung zwischen dem Betrag in dem Bildkoordinatensystem bei der Kamera 2 und den Betrag in dem Roboterkoordinatensystem erfassen. Beispielsweise kann die erste Kalibrationsbereichsmesseinheit 106 eine Positionsinformation in dem Bildkoordinatensystem bei einer ungefähren Positionsinformation in dem Roboterkoordinatensystem durch Verwenden einer Transformationsmatrix R umwandeln, welche basierend auf der nachstehenden Gleichung (1) berechnet wird: R = [ V X V Y 0 ] [ v x v y 0 0 0 1 ] 1
    Figure DE102018200154A1_0001
  • Bezüglich der Verschiebung um den vorab in der Y Achsenrichtung eingestellten Y Richtungseinheitsbetrag in Schritt S13 ist ein Startpunkt für den Vektor nicht durch die Anfangsposition beschränkt. Der Vektor kann von einem Punkt gestartet werden, zu welchem der Roboter 4 von einem Anfangspunkt um den X Richtungseinheitsbetrag in Schritt S12 verschoben wurde.
  • Im Schritt S15 berechnet basierend auf der im Schritt S14 berechneten Verknüpfung die erste Kalibrationsbereichsmesseinheit 106 die Größe und die Richtung (V) des Betrags in dem Roboterkoordinatensystem aus der Anfangsposition auf der Ebene, welche zu der Größe und der Richtung (v) des Betrags in dem Bildkoordinatensystem bei der Kamera 2 gehört, aus der Anfangsposition zu einer Randposition (Ecke beispielsweise) in dem Bildkoordinatensystem bei der Kamera 2 und stellt diese ein. Zu diesem Zeitpunkt werden die Größe und die Richtung (V) vorzugsweise derart eingestellt, um die Wahrscheinlichkeit einer Detektion der Zielmarkierung in einem Bereich in dem Bildkoordinatensystem bei der Kamera 2 zu erhöhen, dadurch dass dieser mit einem Faktor geringer als 1 multipliziert wird. Koordinatenwerte in dem Bildbereich in dem Bildkoordinatensystem bei der Kamera 2 (Randpositionen, welche vier Ecken beispielsweise umfassen) werden vorab berechnet.
  • Im Schritt S16 verschiebt die erste Kalibrationsbereichsmesseinheit 106 die Zielmarkierung 5. Insbesondere verschiebt basierend auf der eingestellten Größe und der eingestellten Richtung (V) des Betrags die erste Kalibrationsbereichsmesseinheit 106. Roboter 4 (insbesondere Zielmarkierung 5) durch die Robotersteuereinheit 3 von der Anfangsposition auf der Ebene.
  • Im Schritt S17 bestimmt die erste Kalibrationsbereichsmesseinheit 106 über die erste Detektionseinheit 103, ob die Zielmarkierung 5 detektierbar ist oder nicht. Falls die Zielmarkierung 5 erfolgreich detektiert wurde (Ja), geht der Fluss mit Schritt S18 fort. Falls die Markierung 5 nicht erfolgreich detektiert wurde (Nein), geht der Fluss zu Schritt S19.
  • In Schritt S18 bestimmt die erste Kalibrationsbereichsmesseinheit 106 über die erste Detektionseinheit 103, ob ein Abstand von der Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2 zu der Randposition (Ecke beispielsweise) in dem Bildkoordinatensystem bei der Kamera 2 gering ist oder nicht, auf insbesondere, ob der Abstand ein vorbestimmter Schwellenwert oder weniger ist, zu. Falls der Abstand als gering bestimmt ist (Ja), geht der Fluss zu Schritt S20. Falls der Abstand als nicht gering bestimmt ist (Nein), geht der Fluss zum Schritt S22.
  • Im Schritt S19 stellt die erste Kalibrationsbereichsmesseinheit 106 die Größe und die Richtung des Betrags erneut ein. Insbesondere, falls die erste Kalibrationsbereichsmesseinheit 106 bestimmt, dass die Zielmarkierung 5 nicht erfolgreich detektiert wurde, während einer Verschiebung von der Anfangsposition, multipliziert die erste Kalibrationsbereichsmesseinheit 106 die eingestellte Größe und die eingestellte Richtung (V) des Betrags durch einen Faktor geringer als 1, wodurch die Größe und die Richtung (V) des Betrags erneut eingestellt wird. Der in diesem Schritt verwendete Faktor sollte geringer als der Faktor sein, welcher auf die Verschiebung von der Anfangsposition angewendet wurde. Dann fährt der Fluss mit Schritt S16 fort.
  • In Schritt S20 speichert die erste Kalibrationsbereichsmesseinheit 106 eine aktuelle Positionsinformation der Zielmarkierung 5 in dem Roboterkoordinatensystem und eine aktuelle Positionsinformation der Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2.
  • Im Schritt S21 bestimmt die erste Kalibrationsbereichsmesseinheit 106, ob eine Messung für alle Randpositionen ausgeführt wurde oder nicht. Falls eine Messung für alle Randpositionen ausgeführt wurde (Ja), endet der Fluss. Falls eine Randposition vorhanden ist, welche das Ziel einer nächsten Messung ist(falls Nein), Filterschritt mit S15 fort.
  • Im Schritt S22 steht die erste Kalibrationsbereichsmesseinheit 106 die Größe und die Richtung (V‘) des Betrags aus der aktuellen Position auf der Ebene in dem Roboterkoordinatensystem, korrespondierend zu der Größe und der Richtung (v‘) des Betrags aus der aktuellen Position, auf die an Position ein.
  • Im Schritt S23 verschiebt basierend auf der eingestellten Größe und der eingestellten Richtung (V‘) des Betrags aus der aktuellen Position die erste Kalibrationsbereichsmesseinheit 106. Roboter 4 (insbesondere Zielmarkierung 5).
  • Im Schritt S24 bestimmt die erste Kalibrationsbereichsmesseinheit 106 durch die erste Detektionseinheit 103, ob die Zielmarkierung 5 detektierbar ist oder nicht. Falls die Zielmarkierung 5 erfolgreich detektiert wurde (Ja), geht der Fluss zu Schritt S18. Falls die Zielmarkierung 5 nicht erfolgreich detektiert wurde (Nein), geht der Fluss zu Schritt S25.
  • Im Schritt S25 multipliziert die erste Kalibrationsbereichsmesseinheit 106 die eingestellte Größe und die eingestellte Richtung (V‘) des Betrags um einen Faktor geringer als 1, wodurch die Größe und die Richtung (V‘) des Betrags erneut eingestellt wird, von einer Position, bei welcher der Roboter 4 vorhanden war, vor einer Verschiebung. Der in diesem Schritt verwendete Faktor sollte geringer als der Faktor sein, welcher auf die Verschiebung von der Position angewendet wurde, bei welcher der Roboter 4 vorhanden war, vor einer Verschiebung. Dann geht der Fluss zu Schritt S23. Wie oben beschrieben kann die erste Kalibrationsbereichsmesseinheit 106 eine Koordinatenposition in dem Roboterkoordinatensystem messen, welche einen Randbereich eines Kalibrationsbereichs zeigt, in welchem die Zielmarkierung 5 zu detektieren ist. Das oben beschriebene Flussdiagramm ist nicht beschränkt, sondern wurde als ein Beispiel beschrieben. Während einer Umsetzung einer Kalibration steuert die als die Kalibrationsvorrichtung fungierende Optik-Sensor-Steuereinheit 1 den Roboter 4 derart, um die Zielmarkierung 5 in dem Kalibrationsbereich zu verschieben. Zu diesem Zeitpunkt wird der Arm 41 vorzugsweise durch den eingestellten Kalibrationsbereich gleichmäßig verschoben. Beispielsweise kann die Optik-Sensor-Steuereinheit 1 den Roboter 4 derart steuern, dass die Zielmarkierung 5 durch Nachverfolgen eines in 9A oder 9B gezeigten Pfads geschoben wird.
  • [Aufnahmesteuereinheit 107]
  • Die Bildaufnahmesteuereinheit 107 veranlasst, dass die Kamera 2 ein Bild der Zielmarkierung 5 aufnimmt, welches an dem Ende des Arms 41 des Roboters 4 angebracht ist und durch den Roboter 4 in einem Kalibrationsbereich bei jedem von mehreren Zielpositionen während einer Umsetzung einer Kalibration verschoben wird. Die Anzahl der Ziele wird vorzugsweise auf eine Anzahl eingestellt, welche größer als eine Minimalanzahl zum Zulassen einer Kalibration ist (eine bevorzugte Anzahl ist 20 oder mehr beispielsweise). Dadurch kann eine Kalibration genauer ausgeführt werden.
  • [Kalibrationseinheit 108]
  • Die Kalibrationseinheit 108 speichert die nachstehenden Koordinatenpositionen in der Detektionsergebnisspeichereinheit 152 bei jeder von mehreren Zielen der Zielmarkierung 5, welche an dem Ende des Arms 41 des Roboters 4 angebracht ist, und verschiebt diese durch die Robotersteuereinheit 3 während einer Umsetzung einer Kalibration: die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2, welche in Daten über ein durch die Kamera 2 aufgenommenes Bild auftauchen; und die Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, während das Bild der Zielmarkierung 5 durch die Kamera 2 aufgenommen wird. Dann kalibriert die Kalibrationseinheit 108 die Kamera 2 basierend auf der Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2, welche in der Detektionsergebnisspeichereinheit 152 gespeichert ist, und der Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, während das Bild der Zielmarkierung 5 durch die Kamera 2 aufgenommen wird, welche in der Detektionsergebnisspeichereinheit 152 gespeichert ist.
  • 10 ist ein Flussdiagramm, welches einen Kalibrationsprozess an der Kamera 2 zeigt, welche durch die Optik-Sensor-Steuereinheit 1 (CPU 10) gemäß dieser Ausführungsform ausgeführt wird.
  • In Schritt S31 wird ein Modellmuster erzeugt und ein Parameter wird eingestellt.
  • In Schritt S32 stellt die CPU 10 (erste Bildbereichseinstelleinheit 105) einen Bildbereich (korrespondierend zu einem Kalibrationsbereich) für die Kamera 2 in dem Bildkoordinatensystem in Reaktion auf eine Bestimmung durch einen Operator ein. Der Operator kann den Bildbereich (korrespondierend zu dem Kalibrationsbereich) in einem durch die Kamera 2 aufgenommenen Bild bestimmen.
  • Im Schritt S33 misst die erste Kalibrationsbereichsmesseinheit 106 eine Koordinatenposition in dem Roboterkoordinatensystem, welches einen Randbereich des Kalibrationsbereichs zeigt. Insbesondere, wie oben beschrieben, bestimmt die erste Kalibrationsbereichsmesseinheit 106, ob die Zielmarkierung 5 in dem Bildbereich durch Verschieben der Zielmarkierung 5 und wiederholtes detektieren der Zielmarkierung 5 detektierbar ist oder nicht, wodurch der Kalibrationsbereich gemessen wird (eine Koordinatenposition in dem Roboterkoordinatensystem, welches einen Randbereich eines Operationsbereichs für den Roboter 4 beispielsweise zeigt). (Der Prozess in Schritt S33 wird basierend auf dem oben beschriebenen Prozessfluss ausgeführt, welcher durch die erste Kalibrationsbereichsmesseinheit 106 nachgefolgt wird.)
  • Im Schritt S34 stellt die CPU 10 (Kalibrationseinheit 108) einen Messzähler zum Zählen der Anzahl von Malen einer Messung auf 1 ein.
  • Im Schritt S35 erfasst die CPU 10 (Kalibrationseinheit 108) die drei-dimensionale Koordinatenposition der Zielmarkierung 5 in dem durch die Robotersteuereinheit 3 gemessenen Roboterkoordinatensystem.
  • In Schritt S36 detektiert die CPU 10 (erste Detektionseinheit 103) die Zielmarkierung 5 aus Daten über das durch die Kamera 2 aufgenommene Bild und misst die Koordinatenposition der detektierten Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2.
  • Im Schritt S37 speichert die CPU 10 (Kalibrationseinheit 108 die drei-dimensionale Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem und die Koordinatenposition der Zimmertüren 5 in dem Bildkoordinatensystem bei der Kamera 2 in Verknüpfung miteinander, während die Zielmarkierung 5 bei einer aktuellen Position ist.
  • Im Schritt S38 zählt die CPU 10 (Kalibrationseinheit 108) den Messzähler zum Zählen der Anzahl von Malen einer Messung um 1 nach oben.
  • Im Schritt S39 wird bestimmt, ob der Messzähler einen vorbestimmten Wert überschreitet. Als der Messfehler den vorbestimmten Wert überschreitet (ja), geht der Fluss zum Schritt S41. Falls der Messzähler den vorgeschriebenen Wert nicht überschreitet (Nein), geht der Fluss zum Schritt S44.
  • Im Schritt S40 verschiebt die Robotersteuereinheit 3 die Zielmarkierung 5, welche an dem Ende des Arms des Roboters 4 angebracht ist, zu einem Ort in dem Kalibrationsbereich, bei welchem die Zielmarkierung 5 von der Kamera 2 gemessen werden kann. Dann geht der Fluss zum Schritt S35.
  • Im Schritt S41 kalibriert die CPU 10 (Kalibrationseinheit 108) die Kamera 2 basierend auf der im Schritt S37 gespeicherten Verknüpfung zwischen der drei-dimensionalen Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem und der Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der Kamera 2.
  • Dieser Prozessfluss ist nicht beschränkend, sondern wurde als ein Beispiel beschrieben.
  • Wie oben beschrieben umfasst die Optik-Sensor-Steuereinheit 1 der ersten Ausführungsform: die erste Bildbereichseinstelleinheit 105, welche einen Bereich in dem Bildkoordinatensystem bei der Kamera 2 einstellt; und die erste Kalibrationsbereichsmesseinheit 106, welche einen Kalibrationsbereich als einen Operationsbereich des Roboters 4 misst, welcher zu dem eingestellten Bildbereich gehört, vor einer Umsetzung einer Kalibration durch Steuern des Roboters 4 zum Verschieben der Zielmarkierung 5 und Detektieren der Zielmarkierung 5. Auf diese Weise wird eine Operationsbereich für den Roboter 4 (Kalibrationsbereich), welcher zu einem Verschiebungsbereich der Zielmarkierung 5 gehört, vorab gemessen, vor einer Umsetzung einer Kalibration basierend auf einem Sichtbereich für einen einzelnen visuellen Sensor, sodass die Kalibration mit einem erhöhten Freiheitsgrad ausgeführt werden kann. Weiter ist es möglich, dass die Zielmarkierung 5 in einem Bereich verschoben wird, welcher die Sicht der Kamera 2 vollständig abdeckt, sodass die Kalibration genauer ausgeführt werden kann. Falls eine Ebene, auf welche die Zielmarkierung 5 zu verschieben ist, beispielsweise ein Hindernis umfasst, wird ein Bildbereich in Reaktion auf eine Anweisung von einem Operator bestimmt, um das in der Sicht der Kamera 2 vorhandene Hindernis zu vermeiden. Dadurch kann der Kalibrationsbereich effizienter eingestellt werden.
  • Ein Kalibrationsbereich kann auf einer Ebene eingestellt werden. Die Ebene, auf welche die Zielmarkierung 5 zu verschieben ist, während einer Umsetzung einer Kalibration, dann eine Ebene vertikal zu der optischen Achse der Kamera 2 oder einen zu der optischen Achse der Kamera 2 geneigte Ebene sein, wie in 1A gezeigt. Weiter, wie in 11B gezeigt, kann ein Kalibrationsbereich auf jeweils einer von zumindest 2 Ebenen eingestellt werden. Ein Kalibrationsbereich kann durch Ausführen einer solchen Einstellung erweitert werden. Dies erhöht den Freiheitsgrad in einer Kalibration weiter, sodass die Kalibration genauer ausgeführt wird.
  • Ein Kalibrationsverfahren der ersten Ausführungsform und ein Programm der ersten Ausführungsform erzielt Effekte ähnlich zu denen, welche durch die Optik-Sensor-Steuereinheit 1 der ersten Ausführungsform erzielt werden.
  • Die erste Ausführungsform der vorliegenden Erfindung wurde beschrieben, aber die vorliegende Erfindung ist nicht auf die oben beschriebene erste Ausführungsform beschränkt. Die in der ersten Ausführungsform beschriebenen Effekte sind lediglich eine Liste von am meisten bevorzugten Effekte, welche sich aus der vorliegenden Erfindung ergeben. Durch die vorliegende Erfindung erzielte Effekte sind nicht auf die in der ersten Ausführungsform beschriebenen beschränkt.
  • [Erste Modifikation]
  • In der ersten Ausführungsform ist die Modellmustererzeugungseinheit 101 ausgebildet zum Erzeugen eines Modellmusters unter Verwendung der Kamera 2 und zum Speichern des erzeugten Modellen Musters. Anstatt, dass diese zum Erzeugen eines Modellmusters unter Verwendung der Kamera 2 ausgebildet ist, kann die Modellmustererzeugungseinheit 101 ausgebildet sein zum Verwenden einer vorhandenen Form (eine Form wie beispielsweise einen Kreis) als die Zielmarkierung 5 .
  • [Zweite Modifikation]
  • In der ersten Ausführungsform wird die Zielmarkierung 5 auf einer vorab bestimmten Ebene verschoben und ein Kalibrationsbereich wird auf dieser Ebene gemessen. Alternativ kann der Kalibrationsbereich in einem drei-dimensionalen Raum bestimmt sein. Davon wird erwartet, dass dies den Freiheitsgrad in einer Kalibration weiter erhöht. Beispielsweise kann die vor ab zu bestimmende Ebene mehrere parallele Ebenen umfassen oder durch koppeln mehrerer partieller Ebenen gebildet werden. Wie in 11B beispielsweise gezeigt, kann die zu bestimmende Ebene zumindest 2 Ebenen umfassen. Falls die Ebene mehrere Ebenen umfasst, misst die erste Kalibrationsbereichsmesseinheit 106 eine Koordinatenposition in dem Roboterkoordinatensystem, welches einen Randbereich eines Kalibrationsbereichs zeigt, auf jeder der Ebenen. Als ein weiteres Beispiel können 2 Ebenen in einem drei-dimensionalen Koordinatensystem bestimmt werden. Ein Kalibrationsbereich kann als ein Raum innerhalb eines Hexe erhebt Ron eingestellt werden, welcher durch einen Punkt einer Kreuzung zwischen jeweils Ebenen und einer Sichtlinie, welche auf eine Ecke zeigt, in einem durch die Kamera 2 aufgenommenen Bild bestimmt ist. In diesem Fall misst die erste Kalibrationsbereichsmesseinheit 106 eine Koordinatenposition in dem Roboterkoordinatensystem, welches einen Randbereich eines Kalibrationsbereichs zeigt, in diesem Hexaeder.
  • [Zweite Ausführungsform]
  • Eine zweite Ausführungsform wird als Nächstes beschrieben. In der zweiten Ausführungsform stellt eine als eine Kalibrationsvorrichtung fungierende Optik-Sensor-Steuereinheit 1A einen Kalibrationsbereich als einen Operationsbereich für den Roboter 4 zum Zulassen einer Bildaufnahme einer Zielmarkierung 5 in einem Bildbereich für eine Stereokamera 2A zu, welche zumindest eine erste Kamera 21 und eine zweite Kamera 22 umfasst, nachdem die Zielmarkierung 5 verschoben ist. Die Beschreibung der zweiten Ausführungsform deckt nicht Strukturen und Funktionen ab, welche diese mit der ersten Ausführungsform gemeinsam hat, sondern ist auf Sachverhalte besonders für die zweite Ausführungsform gerichtet.
  • 12 zeigt die Konfiguration eines Robotersystems 1000 in ihrer Gesamtheit für eine Kalibration einer Stereokamera. Das Robotersystem 1000 ist zum Ausführen einer Kalibration unter Verwendung der Stereokamera 2 arm mit der ersten Kamera 21 und der zweiten Kamera 22. Die Anzahl von Kameras, welche die Stereokamera 2A bilden, ist nicht auf 2 beschränkt, sondern kann eine beliebige Anzahl von 2 oder mehr sein. Jede der Kameras, welche die Stereokamera 2A bilden, ist bestimmt anwendbar als eine einzelne Kamera. Die Stereokamera 2A ist an einem Sockel (in den Figuren nicht gezeigt) angebracht. Wie in 13A gezeigt, können die erste Kamera 21 und die zweite Kamera 22 parallel zueinander angeordnet sein. Wie in 13B gezeigt, können jeweils die erste Kamera 21 und die zweite Kamera 22 geneigt angebracht sein. Ein Neigen jeweils der ersten Kamera 21 und der zweiten Kamera 22 ermöglicht es einen Bereich eines Überladens zwischen einem Bereich eines Bilds, welches durch die erste Kamera 21 aufgenommen wird, und eines Bereichs eines Bilds, welches durch die zweite Kamera 22 aufgenommen wird, zu erhöhen, im Vergleich zu einer Anordnung der ersten Kamera 21 und der zweiten Kamera 22 parallel zueinander. Insbesondere ermöglicht ein Neigen jeweils der ersten Kamera 21 und der zweiten Kamera 22 ein Erhöhen eines Bereichs, wobei eine drei-dimensionale Messung durch die Stereokamera 2 arm möglich ist, im Vergleich zu einer Anordnung der ersten Kamera 21 und der zweiten Kamera 22 parallel zueinander. Die erste Kamera 21 und die zweite Kamera 22 weisen vorzugsweise dieselbe Konfiguration mit Bezug zu einem Sichtbereich, eine Linse, und so weiter auf. Dadurch wird erwartet, dass die erste Kamera 21 und die zweite Kamera 22 die Zielmarkierung auf dieselbe Weise aufnehmen.
  • [Optik-Sensor-Steuereinheit 1A]
  • Die Stereokamera 2A ist mit der Optik-Sensor-Steuereinheit 1A verbunden. Die Optik-Sensor-Steuereinheit 1A veranlasst, dass die erste Kamera 21 und die zweite Kamera 22 Bilder der Zielmarkierung 5 aufnehmen, und kalibriert jeweils die erste Kamera 21 und die zweite Kamera 22.
  • Die Funktion einer Konfiguration der Optik-Sensor-Steuereinheit 1A, welche als die Kalibrationsvorrichtung fungiert, ist dieselbe wie die Funksignale Konfiguration der Optik-Sensor-Steuereinheit 1 der ersten Ausführungsform ( 3) mit Ausnahme, dass die Stereokamera 2A (erste Kamera 21 und zweite Kamera 22) mit dem Bus 11 über die Kameraschnittstelle 16 verbunden ist. Die funktionale Konfiguration der Optik-Sensor-Steuereinheit 1A kann unter Bezugnahme auf die oben beschriebene 3 verstanden werden.
  • 14 ist ein Blockdiagramm, welches die funktionale Konfiguration einer CPU in der Optik-Sensor-Steuereinheit 1A zeigt. Wie in 14 gezeigt, umfasst die CPU 10 in der Optik-Sensor-Steuereinheit 1A eine Modellmustererzeugungseinheit 101, eine erste Parametereinstelleinheit 102, eine erste Detektionseinheit 103, eine erste Bildbereichseinstelleinheit 105, eine erste Kalibrationsbereichsmesseinheit 106, eine zweite Parametereinstelleinheit 1022, eine zweite Detektionseinheit 1032, eine zweite Bildbereichseinstelleinheit 1052, eine zweite Kalibrationsbereichsmesseinheit 1062, eine Bildaufnahmesteuereinheit 107 und eine Kalibrationseinheit 108.
  • Die Modellmustererzeugungseinheit 101 erzeugt ein Modellmuster durch Veranlassen, dass die erste Kamera 21 ein Bild der Zielmarkierung 5 aufnimmt, welche in der Sicht der ersten Kamera 21 angeordnet ist. Das durch Verwenden des durch die erste Kamera 21 aufgenommenen Bildes erzeugte Modellmuster wird ebenso als ein Modellmuster für die zweite Kamera 22 verwendet. Ein Modellmuster für die zweite Kamera 22 kann individuell durch Veranlassen erzeugt werden, dass die zweite Kamera 22 ein Bild der Zielmarkierung 5 aufnimmt, welche in der Sicht der zweiten Kamera 22 angeordnet ist.
  • Die erste Parametereinstelleinheit 102 stellt einen ersten Parameter zum Detektieren eines Modellmusters über die Zielmarkierung 5 aus Daten über ein durch die erste Kamera 21 aufgenommenes Bild ein. Die Funktion der ersten Parametereinstelleinheit 102 ist vergleichbar zu der der ersten Parametereinstelleinheit 102 in der ersten Ausführungsform.
  • [Zweite Parametereinstelleinheit 1022]
  • Die nachstehende Beschreibung ist für die zweite Kameraeinstelleinheit 1022, welche das Modellmuster über die Zielmarkierung 5 verwendet, welches durch Verwenden der ersten Kamera 21 erzeugt ist, und einen zweiten Parameter zum Detektieren dieses Modellmuster aus Daten über ein durch die zweite Kamera 22 aufgenommenes Bild einzustellen. Die zweite Parametereinstelleinheit 1022 stellt den zweiten Parameter zum Detektieren des Modellmusters über die Zielmarkierung 5 aus den Daten über das durch die zweite Kamera 22 aufgenommenen Bild basierend auf dem ersten Parameter ein. Insbesondere verwendet die zweite Parametereinstelleinheit 1022 den ersten Parameter, so wie diese ist, zum anfänglichen Einstellen eines Werts des zweiten Parameters. Indessen, falls ein Wert des zweiten Parameters eingestellt ist, um einen vorbestimmten Bereich während einer anfänglichen Einstellung des zweiten Parameters beispielsweise aufzuweisen, kann die zweite Parametereinstelleinheit 1022 denselben Bereich wie der erste Parameter verwenden. Alternativ kann die zweite Parametereinstelleinheit 1022 einen weiteren Bereich für den zweiten Parameter einstellen, welcher einen vorbestimmten Bereich für den ersten Parameter abdeckt, welche durch die erste Parametereinstelleinheit 102 eingestellt ist. In solchen Fällen, falls die zweite Detektionseinheit 1032, welche später beschrieben wird, das Modellmuster über die Zielmarkierung 5 erfolgreich aus den Daten über das durch die zweite Kamera 22 aufgenommenen Bild durch Anwenden eines gegebenen Werts des zweiten Parameters detektiert, an die zweite Parametereinstelleinheit 1022 einen Bereich für einen Wert des zweiten Parameters erneut mit Bezug zu diesem Wert des zweiten Parameters als einen Mittelpunkt basierend auf einer Abweichung von einem Mittelwert in dem vorbestimmten Bereich für den ersten Parameter einstellen. Beispielsweise, falls der erste Parameter einen Größenbereich von 0,9 bis 1,1 aufweist, ist ein Mittelwert 1,0 und eine Abweichung von dem Mittelwert in dem vorbestimmten Bereich für den ersten Parameter ist 0,1. Falls ein Objekt (Zielmarkierung 5) der zweiten Kamera 22 erfolgreich durch einstellen einer Größe des zweiten Parameters für die zweite Kamera 22 bei 0,95 detektiert wurde, wird ein Mittelwert des zweiten Parameters bei 0,95 eingestellt und die Abweichung in dem ersten Parameter wird auf den zweiten Parameter angewendet. Insbesondere wird ein Wert des zweiten Parameters in einem Bereich von [0,85 bis 1,05] mit Bezug zu 0,95 als einen Mittelwert eingestellt. Auf diese Weise kann der Bereich für einen Wert des zweiten Parameters während einer anfänglichen Einstellung des zweiten Parameters neu eingestellt werden, sodass das Modellmuster effizienter aus den Daten über das durch die zweite Kamera 22 aufgenommenen Bild detektiert werden kann. Der zweite Parameter ist nicht auf diese Beispiele beschränkt.
  • [Erste Detektionseinheit 103]
  • Die erste Detektionseinheit 103 detektiert das Modellmuster über die Zielmarkierung 5 aus den Daten über das durch die erste Kamera 21 aufgenommene Bild und misst die Koordinatenposition der detektierten Zielmarkierung 5 in einem Bildkoordinatensystem bei der ersten Kamera 21. Die Funktion der ersten Detektionseinheit 103 ist vergleichbar zu der der ersten Detektionseinheit 103 in der ersten Ausführungsform.
  • [Zweite Detektionseinheit 1032]
  • Die zweite Detektionseinheit 1032 detektiert das Modellmuster über die Zielmarkierung 5 aus den Daten über das durch die zweite Kamera 22 aufgenommene Bild und misst die Koordinatenposition der detektierten Zielmarkierung 5 in einem Bildkoordinatensystem bei der zweiten Kamera 22. Ein Detektionsprozess durch die zweite Detektionseinheit 1032 kann durch Ersetzen der Kamera 2, der ersten Parametereinstelleinheit 102 und des Parameters in der Beschreibung, welche in der ersten Ausführungsform mit Bezug zu der ersten Detektionseinheit 103 gegeben ist, durch die zweite Kamera 22, die zweite Parametereinstelleinheit 1022 und den zweiten Parameter jeweils verstanden werden.
  • [Erste Bildbereichseinstelleinheit 105]
  • In Reaktion auf eine Anweisung von einem Operator stellt die erste Bildbereichseinstelleinheit 105 einen ersten Bildbereich in dem durch die erste Kamera 21 aufgenommenen Bild basierend auf dem Bildkoordinatensystem bei der ersten Kamera 21 ein. Der erste Bildbereich kann das aufgenommene Bild vollständig abdecken. Die erste Bildbereichseinstelleinheit 105 kann den ersten Bildbereich beispielsweise als einen rechteckigen Bereich bestimmen. Falls eine Ebene, auf welcher die Zielmarkierung 5, welche an einem Endabschnitt eines Arms 41 angebracht ist, zu verschieben ist, ein Hindernisbeispielsweise umfasst, kann die erste Bildbereichseinstelleinheit 105 den ersten Bildbereichen Reaktion auf eine Anweisung von dem Operator beschränken, um das in der Sicht der ersten Kamera 21 vorhandene Hindernis zu vermeiden. In diesem Fall kann die erste Bildbereichseinstelleinheit 105 den ersten Bildbereich als eine geschlossene Grafik bestimmen, welche mit mehreren Liniensegmenten gezeichnet ist. Die Funktion der ersten Bildbereichseinstelleinheit 105 ist vergleichbar zu der der ersten Bildbereichseinstelleinheit 105-in der ersten Ausführungsform.
  • [Zweite Bildbereichseinstelleinheit 1052]
  • Wie die erste Bildbereichseinstelleinheit 105 stellt die zweite Bildbereichseinstelleinheit 1052 einen zweiten Bildbereich in dem durch die zweite Kamera 22 aufgenommenen Bild basierend auf dem Bildkoordinatensystem bei der zweiten Kamera 22 ein. Ein Prozess durch die zweite Bildbereichseinstelleinheit 1052 kann durch Ersetzen der Kamera 2 in der Beschreibung, welche oben in der ersten Ausführungsform mit Bezug zu der ersten Bildbereichseinstelleinheit 105 gegeben ist, durch die zweite Kamera 22 verstanden werden.
  • [Erste Kalibrationsbereichsmesseinheit 106]
  • Die erste Kalibrationsbereichsmesseinheit 106 misst einen ersten Kalibrationsbereich als einen Operationsbereich für den Roboter 4, welcher zu dem ersten Bildbereich gehört, welche durch die erste Bildbereichseinstelleinheit 105 eingestellt ist, vor einer Umsetzung einer Kalibration durch Steuern des Roboters 4, um die Zielmarkierung zu verschieben, und veranlassen, dass die erste Detektionseinheit 103 die Zielmarkierung 5 detektiert. Insbesondere bestimmt die erste Kalibrationsbereichsmesseinheit 106, ob die Zielmarkierung in dem ersten Bildbereich durch die erste Kamera 21 durch Verschieben der Zielmarkierung 5 und wiederholtes Detektieren der Zielmarkierung 5 detektierbar ist oder nicht, wodurch der erste Kalibrationsbereich als ein Operationsbereich für den Roboter 4 gemessen wird, welcher zu dem ersten Bildbereich gehört. Die Funktion der ersten Kalibrationsbereichsmesseinheit 106 ist vergleichbar zu der ersten Kalibrationsbereichsmesseinheit 106 in der ersten Ausführungsform.
  • [Zweite Kalibrationsbereichsmesseinheit 1062]
  • Ähnlich bestimmt die zweite Kalibrationsbereichsmesseinheit 1062, ob die Zielmarkierung 5 in dem zweiten Bildbereich durch die zweite Kamera 22 durch Verschieben der Zielmarkierung 5 und wiederholtes Detektieren der Zielmarkierung 5 detektierbar ist oder nicht, wodurch ein zweiter Kalibrationsbereich als ein Operationsbereich für den Roboter 4 gemessen wird, welcher zu dem zweiten Bildbereich gehört. Ein Prozess durch die zweite Kalibrationsbereichsmesseinheit 1062 kann durch Ersetzen der Kamera 2, der ersten Parametereinstelleinheit 102, des Parameters und des Bildbereichs in der Beschreibung, welche oben in der ersten Ausführungsform mit Bezug zu der ersten Kalibrationsbereichsmesseinheit 106 gegeben ist, durch die zweite Kamera 22, die zweite Parametereinstelleinheit 1022, den zweiten Parameter und den zweiten Bildbereiche jeweils verstanden werden. Wie in der ersten Ausführungsform wird die Zielmarkierung 5 auf einer Ebene verschoben, welche vorab in dieser Ausführungsform bestimmt ist. Der erste Kalibrationsbereich und der zweite Kalibrationsbereich werden auf derselben Ebene eingestellt. Ein Flussdiagramm über Prozesse zum Messen des ersten Kalibrationsbereichs, welcher durch die erste Kalibrationsbereichsmesseinheit 106 gefolgt wird, und ein Flussdiagramm über einen Prozess zum Messen des zweiten Kalibrationsbereichs, welche durch die zweite Kalibrationsbereichsmesseinheit 1062 gefolgt wird, kann durch Ersetzen der Kamera 2, der ersten Parametereinstelleinheit 102, des Parameters und des Bildbereichs, welche in der Beschreibung in der ersten Ausführungsform für das Flussdiagramm mit Bezug zu der Kalibrationsbereichsmesseinheit 106 (8A und 8B) Bezug genommen ist, durch die erste Kamera 21, die erste Parametereinstelleinheit 102, den ersten Parameter und den ersten Bildbereich jeweils durch die zweite Kamera 22, die zweite Parametereinstelleinheit 1022, den zweiten Parameter und den zweiten Bildbereich jeweils verstanden werden. Während die erste Kamera 21 und die zweite Kamera 22 kalibriert werden, steuert die als die Kalibrationsvorrichtung dienende Optik-Sensor-Steuereinheit 1A den Roboter 4 derart, um die Zielmarkierung 5 wenn zumindest den ersten Kalibrationsbereich und/oder den zweiten Kalibrationsbereich oder in einen Bereich, welcher sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckt ist, zu verschieben. Insbesondere kann die Zielmarkierung 5 lediglich in einem Bereich verschoben werden, welcher sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckt ist, nur in einem Bereich, welcher entweder durch den ersten Kalibrationsbereich oder den zweiten Kalibrationsbereich abgedeckt ist, oder in einem Bereich, welcher den ersten Kalibrationsbereich und den zweiten Kalibrationsbereich umfasst.
  • [Bildaufnahmesteuereinheit 107]
  • Die Bildaufnahmesteuereinheit 107 veranlasst, dass die erste Kamera 21 und die zweite Kamera 22 Bilder der Zielmarkierung 5 bei jeweils mehreren Zielpositionen aufnimmt, angebracht an dem Ende des Arms 41 des Roboters 4 und zum Verschieben durch den Roboter 4 in zumindest dem ersten Kalibrationsbereich und dem zweiten Kalibrationsbereich oder in einem Bereich, welcher sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckt ist, während einer Umsetzung einer Kalibration. Die Anzahl der Ziele wird bevorzugt größer als eine Anzahl eingestellt, welche minimal zum Zulassen einer Kalibration ist (eine bevorzugte Anzahl ist 20 oder größer beispielsweise), bei jeder der ersten Kamera 21 und der zweiten Kamera 22. Dadurch kann eine Kalibration genauer ausgeführt werden.
  • [Kalibrationseinheit 108]
  • Die Kalibrationseinheit 108 speichert die nachstehenden Koordinatenpositionen in der Detektionsergebnisspeichereinheit 152 bei jeder von mehreren Zielen der Zielmarkierung 5, welche in zumindest dem ersten Kalibrationsbereich und/oder dem zweiten Kalibrationsbereich verschoben ist, oder in einem Bereich, welcher sowohl den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abdeckt, während einer Umsetzung einer Kalibration: die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der ersten Kamera 21; die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der zweiten Kamera 22; und die Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, während die Bilder der Zielmarkierung 5 durch die erste Kamera und die zweite Kamera 22 aufgenommen werden kann kalibriert die Kalibrationseinheit 108 die erste Kamera 21 und die zweite Kamera 22 basierend auf der Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der ersten Kamera 21, gespeichert in der Detektionsergebnisspeichereinheit 152, der Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der zweiten Kamera 22, gespeichert in der Detektionsergebnisspeichereinheit 152, und der Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, während die Bilder der Zielmarkierung 5 durch die erste Kamera und die zweite Kamera 22 aufgenommen werden, gespeichert in der Detektionsergebnisspeichereinheit 152. Die erste Kamera 21 und die zweite Kamera 22 können einzelnen kalibriert werden.
  • 15 ist ein Beispiel eines Flussdiagramms, welches einen Kalibration Prozess bei der ersten Kamera 21 und der zweiten Kamera 22 zeigt, welche durch die Optik-Sensor-Steuereinheit 1A (CPU 10) gemäß dieser Ausführungsform ausgeführt wird. Das Flussdiagramm zeigt einen Prozess, welcher ausgeführt wird, falls die Zielmarkierung 5 in einen Bereich zu verschieben ist, welcher den ersten Kalibrationsbereich und den zweiten Kalibrationsbereich umfasst.
  • Im Schritt S51 wird ein Modellmuster erzeugt. Weiter werden der erste Parameter und der zweite Parameter eingestellt.
  • Im Schritt S52 stellten Reaktion auf eine Bestimmung durch einen Operator die CPU 10 (erste Bildbereichseinstelleinheit 105 und zweite Bildbereichseinstelleinheit 1052) den ersten Bildbereich in einem durch die erste Kamera 21 aufgenommenen Bild in dem Bildkoordinatensystem bei der ersten Kamera 21 ein und stellt den zweiten Bildbereichs in einem durch die zweite Kamera 22 aufgenommenen Bild in dem Bildkoordinatensystem bei der zweiten Kamera 22 ein.
  • Im Schritt S53 misst die CPU (erste Kalibrationsbereichsmesseinheit 106 und zweite Kalibrationsbereichsmesseinheit 1062) eine Koordinatenposition in dem Roboterkoordinatensystem, welches einen Randbereich des ersten Kalibrationsbereichs zeigt, welcher zu dem ersten Bildbereich für die erste Kamera 21 gehört, und misst eine Koordinatenposition in dem Roboterkoordinatensystem, welches einen Randbereich des zweiten Kalibrationsbereichs zeigt, welche zu dem zweiten Bildbereich gehört, für die zweite Kamera 22. Auf diese Weise werden der erste Kalibrationsbereich und der zweite Kalibrationsbereich eingestellt, um zu ermöglichen, dass ein Kalibration Prozess bei der ersten Kamera 21 und der zweiten Kamera 22 gestartet wird.
  • [Kalibrationsprozess]
  • Im Schritt S54 stellt die CPU 10 (Kalibrationseinheit 108) einen Messzähler zum Zählen der Anzahl von Malen einer Messung auf 1 ein.
  • Im Schritt S55 erfasst die CPU 10 (Kalibrationseinheit 108) die drei-dimensionale Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, gemessen durch die Robotersteuereinheit 3.
  • Im Schritt S56 detektiert die CPU 10 (erste Detektionseinheit 103 und zweite Detektionseinheit 1032) die Zielmarkierung 5 aus Daten über das durch die erste Kamera 21 aufgenommene Bild und aus Daten über das durch die zweite Kamera 22 aufgenommene Bild und misst die Koordinatenposition der detektierten Zielmarkierung 5 jeweils in dem Bildkoordinatensystem bei der ersten Kamera 21 und dem Bildkoordinatensystem bei der zweiten Kamera 22. Die Zielmarkierung 5 kann lediglich von der ersten Kamera 21 und der zweiten Kamera 22 detektiert werden. In diesem Fall wird nur eine Koordinatenposition in einem Bildkoordinatensystem bei einer Kamera, welche die Zielmarkierung 5 erfolgreich detektiert hat, gespeichert.
  • Im Schritt S57 speichert die CPU (Kalibrationseinheit 108) die drei-dimensionale Koordinatenposition der Zielmarke 5 in dem Roboterkoordinatensystem, die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der ersten Kamera 21 und die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der zweiten Kamera 22 in Verbindung miteinander, während die Zielmarkierung 5 bei einer aktuellen Position ist.
  • Im Schritt S58 zählt die CPU 10 (Kalibrationseinheit 108) den Messzähler zum Zählen der Anzahl von Malen einer Messung um 1 nach oben.
  • Im Schritt S59, falls der Messzähler einen vorbestimmten Wert nicht überschreitet (Nein), geht der Fluss zum Schritt S60. Falls der Messzähler den vorbestimmten Wert überschreitet (Ja), geht der Fluss zum Schritt S61.
  • Im Schritt S60 verschiebt die Robotersteuereinheit 3 die Zielmarkierung 5, welche an dem Ende des Arms 41 des Roboters 4 angebracht ist, zu einem Ort, welcher vorab in dem ersten Kalibrationsbereich oder den zweiten Kalibrationsbereich eingestellt ist, bei welchem die Zielmarkierung 5 zumindest von der ersten Kamera 21 und/oder der zweiten Kamera 22 gemessen werden kann. Dann geht der Fluss zum Schritt S55.
  • Im Schritt S61 kalibriert die CPU 10 (Kalibrationseinheit 108) die erste Kamera 21 und die zweite Kamera 22 basierend auf der im Schritt S57 gespeicherten Verknüpfung zwischen der drei-dimensionalen Koordinatenposition der Zielmarkierung 5 in dem Roboterkoordinatensystem, der Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der ersten Kamera 21 und der Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der zweiten Kamera 22. Dieser Prozessfluss ist nicht beschränkt, sondern wurde als ein Beispiel beschrieben. Beispielsweise, falls die Zielmarkierung 5 lediglich in einem Bereich zu verschieben ist, welcher sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckt ist, können die Schritte S56 und S60 wie folgt ersetzt werden. Im Schritt S56, falls lediglich die Zielmarkierung 5 sowohl von der ersten Kamera 21 als auch von der zweiten Kamera 22 detektiert ist, können die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der ersten Kamera 21 und die Koordinatenposition der Zielmarkierung 5 in dem Bildkoordinatensystem bei der zweiten Kamera 22 gespeichert werden. Im Schritt S60 verschiebt die Robotersteuereinheit 3 die Zielmarkierung 5, welche an dem Ende des Arms 41 des Roboters 4 angebracht ist, zu einem Ort, welcher vorab in dem ersten Kalibrationsbereich und den zweiten Kalibrationsbereich eingestellt ist, wobei die Zielmarkierung 5 sowohl von der ersten Kamera 21 als auch von der zweiten Kamera 22 gemessen werden kann.
  • Die Optik-Sensor-Steuereinheit 1A der zweiten Ausführungsform umfasst: die erste Bildbereichseinstelleinheit 105, welche den ersten Bildbereich in dem Bildkoordinatensystem bei der ersten Kamera 21 einstellt; die erste Kalibrationsbereichsmesseinheit 106, welche den ersten Kalibrationsbereich als einen Operationsbereich für den Roboter 4 misst, welcher zu dem ersten Bildbereich gehört, vor einer Umsetzung einer Kalibration durch Steuern des Roboters 4 zum Verschieben der Zielmarkierung 5 und detektierende Zielmarkierung 5; die zweite Bildbereichseinstelleinheit 1052, welche den zweiten Bildbereich in dem Bildkoordinatensystem bei der zweiten Kamera 22 einstellt; und die zweite Kalibrationsbereichsmesseinheit 1062, welche den zweiten Kalibrationsbereich als einen Operationsbereich für den Roboter 4 misst, welcher zu dem zweiten Bildbereich gehört, vor einer Umsetzung der Kalibration durch Steuern des Roboters 4 zum Verschieben der Zielmarkierung 5 und detektierende Zielmarkierung 5. Auf diese Weise wird ein Operationsbereich für den Roboter 4 (erste Kalibrationsbereich und zweite Kalibrationsbereich), welcher zu einem Bereich einer Verschiebung der Zielmarkierung 5 gehört, vor einer Umsetzung der Kalibration basierend auf Sichtbereichen für mehrere Kameras (optische Sensoren) gemessen, sodass die Kalibration mit einem erhöhten Freiheitsgrad ausgeführt werden kann. Weiter ist es möglich, dass die Zielmarkierung 5 in einem maximalen Bereich für jede Kamera verschoben wird, sodass die Kalibration genauer ausgeführt werden kann. Falls ein Raum, in welchem die Zielmarkierung 5 zu verschieben ist, beispielsweise ein Hindernis umfasst, werden der erste Bildbereich und der zweite Bildbereich in Reaktion auf eine Anweisung von einem Operator derart bestimmt, um das Hindernis zu vermeiden.
  • Dadurch kann der Operationsbereich für den Roboter 4 (erster Kalibrationsbereich und zweiter Kalibrationsbereich) effizient eingestellt werden.
  • Jeweils der erste Kalibrationsbereich und der zweite Kalibrationsbereich können ausgebildet sein, um auf einer Ebene eingestellt zu sein. Ein Kalibrationsverfahren der zweiten Ausführungsform und ein Programm der zweiten Ausführungsform erzielt Effekte ähnlich zu denen, welche durch die Optik-Sensor-Steuereinheit 1A der zweiten Ausführungsform erzielt werden.
  • Die vorliegende Erfindung ist nicht auf die oben beschriebene zweite Ausführungsform beschränkt. Die Effekte, welche in der zweiten Ausführungsform beschrieben sind, sind lediglich eine Liste von am meisten bevorzugten Effekte, welche sich aus der vorliegenden Erfindung ergeben. Durch die vorliegende Erfindung erzielte Effekte sind nicht auf die in der zweiten Ausführungsform beschriebenen Effekte beschränkt.
  • [Erste Modifikation]
  • In der zweiten Ausführungsform umfasst die Stereokamera 2A zwei Kameras. Alternativ kann die Stereokamera 2A ausgebildet sein, um drei oder mehr Kameras zu umfassen.
  • [Zweite Modifikation]
  • In der zweiten Ausführungsform ist die Modellmustererzeugungseinheit 101 ausgebildet zum Erzeugen eines modernen Musters durch Verwenden der ersten Kamera 21 und speicherndes erzeugten Modellmusters. Alternativ kann die Modellmustererzeugungseinheit 101 ausgebildet sein zum Erzeugen eines Modellmusters unter Verwendung der zweiten Kamera 22 und speicherndes erzeugten modernen Musters. In der zweiten Ausführungsform ist die Modellmustererzeugungseinheit 101 ausgebildet zum Erzeugen und Speichern eines Modellmusters. Anstelle davon, dass diese ausgebildet ist zum Erzeugen eines Modellmusters unter Verwendung der ersten Kamera 21 oder der zweiten Kamera 22, kann die Modellmustererzeugungseinheit 101 ausgebildet sein zum Verwenden einer vorhandenen Form (einer Form wie beispielsweise einem Kreis) als die Zielmarkierung 5.
  • [Dritte Modifikation]
  • In der zweiten Ausführungsform wird die Zielmarkierung 5 auf einer vorab bestimmten Ebene verschoben. Weiter werden der erste Kalibrationsbereich und der zweite Kalibrationsbereich auf dieser Ebene gemessen. Alternativ können der erste Kalibrationsbereich und der zweite Kalibrationsbereich in einem drei-dimensionalen Raum bestimmt sein. Beispielsweise kann die vorab zu bestimmende Ebene mehrere parallele Ebenen umfassen oder kann durch Koppeln von mehreren partiellen Ebenen gebildet sein.
  • In diesen Ausführungsformen fungiert die Optik-Sensor-Steuereinheit 1 oder 1A als die Kalibrationsvorrichtung. Allerdings ist die Kalibrationsvorrichtung nicht auf die Optik-Sensor-Steuereinheit 1 oder 1A beschränkt. Die Kalibrationsvorrichtung kann eine Steuereinheit sein, welche die Optik-Sensor-Steuereinheit 1 oder 1A und die Robotersteuereinheit 3, integriert miteinander, umfasst. Alternativ kann die Kalibrationsvorrichtung Informationsverarbeitungsvorrichtungen (Computer) im Allgemeinen abdecken. Beispielsweise kann die Kalibrationsvorrichtung ein Server, ein PC, verschiedene Arten von Steuereinheiten und so weiter sein.
  • Das durch die Optik-Sensor-Steuereinheit 1 oder 1A umgesetzte Kalibrationsverfahren wird durch eine Software realisiert. Um das Kalibrationsverfahren durch Software zu realisieren, werden die Software bildende Programme auf einem Computer installiert (Optik-Sensor-Steuereinheit 1). Diese Programme können auf einem entfernbaren Medium gespeichert sein und an einen Anwender verteilt werden. Alternativ können diese Programme durch Herunterladen auf einen Computer des Anwenders über ein Netzwerk verteilt werden.
  • Bezugszeichenliste
  • 1000
    Robotersystem
    1
    Optik-Sensor-Steuereinheit (Kalibrationsvorrichtung)
    1A
    Optik-Sensor-Steuereinheit (Kalibrationsvorrichtung)
    10
    CPU
    101
    Modellmustererzeugungseinheit
    102
    erste Parametereinstelleinheit
    1022
    zweite Parametereinstelleinheit
    103
    erste Detektionseinheit
    1032
    zweite Detektionseinheit
    105
    erste Bildbereichseinstelleinheit
    1052
    zweite Bildbereichseinstelleinheit
    106
    erste Kalibrationsbereichsmesseinheit
    1062
    zweite Kalibrationsbereichsmesseinheit
    107
    Bildaufnahmesteuereinheit
    108
    Kalibrationseinheit
    11
    Bus
    12
    Framespeicher
    13
    ROM
    14
    RAM
    15
    nicht-flüchtiger Speicher
    151
    Referenzinformationsspeichereinheit
    152
    Detektionsergebnisspeichereinheit
    16
    Kameraschnittstelle
    17
    Monitorschnittstelle
    18
    externe Geräteschnittstelle
    19
    Monitor
    2
    Kamera
    2A
    Stereokamera
    21
    erste Kamera
    22
    zweite Kamera
    3
    Robotersteuereinheit
    4
    Roboter
    41
    Arm
    5
    Zielmarkierung
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2690603 [0004]
    • JP 2015174191 [0004]
    • JP 2010172986 [0004]

Claims (11)

  1. Eine Kalibrationsvorrichtung (1), welche ein Roboterkoordinatensystem bei einem Roboter (4) und ein Bildkoordinatensystem bei einer Kamera (2) verknüpft, durch Platzieren einer Zielmarkierung (5) bei dem Roboter (4), wobei der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) verschoben wird, und die Zielmarkierung (5) bei mehreren Punkten in einer Sicht der Kamera (2) detektiert wird, wobei die Kalibrationsvorrichtung umfasst: eine Bildbereichseinstelleinheit, welche einen Bildbereich in dem Bildkoordinatensystem einstellt; und eine Kalibrationsbereichsmesseinheit, welche einen Kalibrationsbereich als einen Operationsbereich für den Roboter (4) misst, welcher zu dem Bildbereich gehört, vor einer Umsetzung einer Kalibration, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und detektieren der Zielmarkierung (5), wobei während einer Umsetzung der Kalibration, der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) in dem Kalibrationsbereich verschoben wird.
  2. Kalibrationsvorrichtung (1) gemäß Anspruch 1, wobei der Kalibrationsbereich auf einer Ebene eingestellt ist.
  3. Kalibrationsvorrichtung (1) gemäß Anspruch 1 oder 2, wobei der Kalibrationsbereich auf einer Ebene vertikal zu einer optischen Achse der Kamera (2) eingestellt ist.
  4. Kalibrationsvorrichtung (1) gemäß Anspruch 1 oder 2, wobei der Kalibrationsbereich auf einer Ebene eingestellt ist, welche zu einer optischen Achse der Kamera (2) geneigt ist.
  5. Kalibrationsvorrichtung (1) gemäß einem der Ansprüche 1 bis 4, wobei der Kalibrationsbereich auf jeweils zumindest zwei Ebenen eingestellt ist.
  6. Ein Kalibrationsverfahren, umgesetzt durch eine Kalibrationsvorrichtung (1), welche ein Roboterkoordinatensystem bei einem Roboter (4) und ein Bildkoordinatensystem bei einer Kamera (2) verknüpft, durch Platzieren einer Zielmarkierung (5) bei dem Roboter (4), wobei der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) verschoben wird, und wobei die Zielmarkierung (5) bei mehreren Punkten in einer Sicht der Kamera (2) detektiert wird, wobei das Kalibrationsverfahren umfasst: einen Bildbereichseinstellschritt zum Einstellen eines Bildbereichs in dem Bildkoordinatensystem; und einen Kalibrationsbereichsmessschritt zum Messen eines Kalibrationsbereichs als einen Operationsbereich für den Roboter (4), welcher zu dem Bildbereich gehört, vor einer Umsetzung einer Kalibration, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und detektieren der Zielmarkierung (5), wobei während einer Umsetzung der Kalibration, der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) in den Kalibrationsbereich verschoben wird.
  7. Ein Programm zum Veranlassen eines Computers zum Ausführen der nachfolgenden Schritte, wobei der Computer eine Kalibrationsvorrichtung derart steuert, dass ein Roboterkoordinatensystem bei einem Roboter (4) und ein Bildkoordinatensystem bei einer Kamera (2) verknüpft wird, durch Platzieren einer Zielmarkierung (5) bei dem Roboter (4), wobei der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) verschoben wird, und die Zielmarkierung (5) bei mehreren Punkten in einer Sicht der Kamera (2) detektiert wird, wobei die Schritte umfassen: einen Bildbereichseinstellschritt zum Einstellen eines Bildbereichs in dem Bildkoordinatensystem; und einen Kalibrationsbereichsmessschritt zum Messen eines Kalibrationsbereichs als einen Operationsbereich für den Roboter (4), welcher zu dem Bildbereich gehört, vor einer Umsetzung einer Kalibration durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und Detektieren der Zielmarkierung (5), wobei während einer Umsetzung der Kalibration, der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) in den Kalibrationsbereich verschoben wird.
  8. Eine Kalibrationsvorrichtung (1A), welche ein Roboterkoordinatensystem bei einem Roboter (4), eine Positionsinformation in einem Bildkoordinatensystem bei einer ersten Kamera (21) einer Stereokamera (2A) und eine Positionsinformation in einem Bildkoordinatensystem bei einer zweiten Kamera (22) der Stereokamera (2A) durch Platzieren einer Zielmarkierung (5) bei dem Roboter (4) verknüpft, wobei der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) verschoben wird, und die Zielmarkierung (5) bei mehreren Punkten in einer Sicht der Stereokamera (2A), welche zumindest die erste Kamera (21) und die zweite Kamera (22) umfasst, detektiert wird, wobei die Kalibrationsvorrichtung umfasst: eine erste Bildbereichseinstelleinheit (105), welche einen ersten Bildbereich in dem Bildkoordinatensystem bei der ersten Kamera (21) einstellt; eine zweite Bildbereichseinstelleinheit (1052), welche einen zweiten Bildbereich in dem Bildkoordinatensystem bei der zweiten Kamera (22) einstellt; eine erste Kalibrationsbereichsmesseinheit (106), welche einen ersten Kalibrationsbereich als einen ersten Operationsbereich für den Roboter (4) misst, welcher zu dem ersten Bildbereich gehört, bevor die erste Kamera (21) und die zweite Kamera (22) kalibriert sind, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und Detektieren der Zielmarkierung (5) unter Verwendung der ersten Kamera (21); und eine zweite Kalibrationsbereichsmesseinheit (1062), welche einen zweiten Kalibrationsbereich als einen zweiten Operationsbereich für den Roboter (4) misst, welcher zu dem zweiten Bildbereich gehört, bevor die erste Kamera (41) und die zweite Kamera (22) kalibriert sind, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und Detektieren der Zielmarkierung (5) unter Verwendung der zweiten Kamera (22), wobei, während die erste Kamera (21) und die zweite Kamera (22) kalibriert werden, der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) in zumindest den ersten Kalibrationsbereich und/oder den zweiten Kalibrationsbereich oder in einen Bereich, welcher sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckt ist, verschoben wird.
  9. Kalibrationsvorrichtung (1A) gemäß Anspruch 8, wobei jeweils der erste Kalibrationsbereich und der zweite Kalibrationsbereich auf einer Ebene eingestellt ist.
  10. Ein Kalibrationsverfahren, umgesetzt durch eine Kalibrationsvorrichtung (1A), welche ein Roboterkoordinatensystem bei einem Roboter (4), eine Positionsinformation in einem Bildkoordinatensystem bei einer ersten Kamera (21) einer Stereokamera (2A) und eine Positionsinformation in einem Bildkoordinatensystem bei einer zweiten Kamera (22) der Stereokamera (2A) verknüpft, durch Platzieren einer Zielmarkierung (5) bei dem Roboter (4), wobei der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) verschoben wird, und die Zielmarkierung (5) bei mehreren Punkten in einer Sicht der Stereokamera (2A), welche zumindest die erste Kamera (21) und die zweite Kamera (22) umfasst, detektiert wird, wobei das Kalibrationsverfahren umfasst: einen ersten Bildbereichseinstellschritt zum Einstellen eines ersten Bildbereichs in dem Bildkoordinatensystem bei der ersten Kamera (21); einen zweiten Bildbereichseinstellschritt zum Einstellen eines zweiten Bildbereichs in dem Bildkoordinatensystem bei der zweiten Kamera (22); einen ersten Kalibrationsbereichsmessschritt zum Messen eines ersten Kalibrationsbereichs als einen ersten Operationsbereich für den Roboter (4), welcher zu dem ersten Bildbereich gehört, bevor die erste Kamera (21) und die zweite Kamera (22) kalibriert sind, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und Detektieren der Zielmarkierung (5) unter Verwendung der ersten Kamera (21); und einen zweiten Kalibrationsbereichsmessschritt zum Messen eines zweiten Kalibrationsbereichs als einen zweiten Operationsbereich für den Roboter (4), welcher zu dem zweiten Bildbereich gehört, bevor die erste Kamera (21) und die zweite Kamera (22) kalibriert sind, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und Detektieren der Zielmarkierung (5) unter Verwendung der zweiten Kamera (22); wobei, während die erste Kamera (21) und die zweite Kamera (22) kalibriert werden, der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) in zumindest den ersten Kalibrationsbereich und/oder den zweiten Kalibrationsbereich oder in einen Bereich, welcher sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckt ist, verschoben wird.
  11. Ein Programm zum Veranlassen eines Computers zum Ausführen der nachstehenden Schritte, wobei der Computer eine Kalibrationsvorrichtung (1A) steuert, welche ein Roboterkoordinatensystem bei einem Roboter (4), eine Positionsinformation in einem Bildkoordinatensystem bei einer ersten Kamera (21) einer Stereokamera (2A) und eine Positionsinformation in einem Bildkoordinatensystem bei einer zweiten Kamera (22) der Stereokamera (2A) verknüpft, durch Platzieren einer Zielmarkierung (5) bei dem Roboter (4), wobei der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) verschoben wird, und die Zielmarkierung (5) bei mehreren Punkten in einer Sicht der Stereokamera (2A), welche zumindest die erste Kamera (21) und die zweite Kamera (22) umfasst, detektiert wird, wobei die Schritte umfassen: einen ersten Bildbereichseinstellschritt zum Einstellen eines ersten Bildbereichs in dem Bildkoordinatensystem bei der ersten Kamera (21); einen zweiten Bildbereichseinstellschritt zum Einstellen eines zweiten Bildbereichs in dem Bildkoordinatensystem bei der zweiten Kamera (22); einen ersten Kalibrationsbereichsmessschritt zum Messen eines ersten Kalibrationsbereichs als einen ersten Operationsbereich für den Roboter (4), welcher zu dem ersten Bildbereich gehört, bevor die erste Kamera (21) und die zweite Kamera (22) kalibriert sind, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und Detektieren der Zielmarkierung (5) durch Verwenden der ersten Kamera (21); und einen zweiten Kalibrationsbereichs Messschritt zum Messen eines zweiten Kalibrationsbereichs als einen zweiten Operationsbereich für den Roboter (4), welcher zu dem zweiten Bildbereich gehört, bevor die erste Kamera (21) und die zweite Kamera (22) kalibriert sind, durch Steuern des Roboters (4) zum Verschieben der Zielmarkierung (5) und Detektieren der Zielmarkierung (5) durch Verwenden der zweiten Kamera (22), wobei, während die erste Kamera (21) und die zweite Kamera (22) kalibriert werden, der Roboter (4) derart gesteuert wird, dass die Zielmarkierung (5) in zumindest den ersten Kalibrationsbereich und/oder den zweiten Kalibrationsbereich oder in einen Bereich, welcher sowohl durch den ersten Kalibrationsbereich als auch den zweiten Kalibrationsbereich abgedeckt ist, verschoben wird.
DE102018200154.5A 2017-01-12 2018-01-08 Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor Pending DE102018200154A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-003667 2017-01-12
JP2017003667A JP6396516B2 (ja) 2017-01-12 2017-01-12 視覚センサのキャリブレーション装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
DE102018200154A1 true DE102018200154A1 (de) 2018-07-12

Family

ID=62636676

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018200154.5A Pending DE102018200154A1 (de) 2017-01-12 2018-01-08 Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor

Country Status (4)

Country Link
US (1) US10647001B2 (de)
JP (1) JP6396516B2 (de)
CN (1) CN108297095B (de)
DE (1) DE102018200154A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110332930A (zh) * 2019-07-31 2019-10-15 小狗电器互联网科技(北京)股份有限公司 一种位置确定方法、装置及设备
US10906184B2 (en) 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
DE102020106973B4 (de) * 2019-03-29 2021-04-22 Mujin, Inc. Verfahren und Steuerungssystem zum Verifizieren und Aktualisieren einer Kamerakalibrierung zur Robotersteuerung
DE102020105655B4 (de) * 2019-03-07 2021-04-22 Mujin, Inc. Verfahren und System zum Durchführen einer automatischen Kamerakalibrierung zur Robotersteuerung
CN114174006A (zh) * 2019-07-19 2022-03-11 西门子(中国)有限公司 机器人手眼标定方法、装置、计算设备、介质以及产品

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6486679B2 (ja) * 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP6707485B2 (ja) 2017-03-22 2020-06-10 株式会社東芝 物体ハンドリング装置およびその較正方法
EP3606038B1 (de) * 2017-03-31 2021-12-08 Panasonic Intellectual Property Management Co., Ltd. Bildgebungssystem und korrekturverfahren
JP7122694B2 (ja) 2017-03-31 2022-08-22 パナソニックIpマネジメント株式会社 撮像システムおよび校正方法
JP6538751B2 (ja) 2017-05-18 2019-07-03 ファナック株式会社 プログラミング装置及びロボット制御方法
JP6886620B2 (ja) * 2017-08-09 2021-06-16 オムロン株式会社 キャリブレーション方法、キャリブレーションシステム及びプログラム
JP7035727B2 (ja) * 2018-03-30 2022-03-15 日本電産株式会社 キャリブレーション精度の評価方法及び評価装置
WO2019234814A1 (ja) * 2018-06-05 2019-12-12 株式会社日立製作所 カメラ位置姿勢校正装置、カメラ位置姿勢校正方法並びにロボット
JP7070127B2 (ja) * 2018-06-15 2022-05-18 オムロン株式会社 ロボット制御システム
EP3818341A4 (de) * 2018-07-06 2022-03-16 Brain Corporation Systeme, verfahren und vorrichtungen zum kalibrieren von auf einer vorrichtung montierten sensoren
US10984292B2 (en) * 2018-08-20 2021-04-20 Rubbish Co. Object information collection, classification and analytics via a smart grabber tool
US10769813B2 (en) * 2018-08-28 2020-09-08 Bendix Commercial Vehicle Systems, Llc Apparatus and method for calibrating surround-view camera systems
WO2020047713A1 (en) * 2018-09-03 2020-03-12 Abb Schweiz Ag Method and apparatus for managing robot system
CN109062138B (zh) * 2018-09-11 2021-05-28 博坤机电(苏州)有限公司 一种基于立体标定块的五轴平台***标定方法
CN109242914B (zh) * 2018-09-28 2021-01-01 上海爱观视觉科技有限公司 一种可动视觉***的立体标定方法
JP6871220B2 (ja) * 2018-11-08 2021-05-12 ファナック株式会社 制御システム
KR102577448B1 (ko) * 2019-01-22 2023-09-12 삼성전자 주식회사 핸드 아이 캘리브레이션 방법 및 시스템
US11254019B2 (en) * 2019-03-05 2022-02-22 The Boeing Company Automatic calibration for a robot optical sensor
US10576636B1 (en) * 2019-04-12 2020-03-03 Mujin, Inc. Method and control system for and updating camera calibration for robot control
JP7204587B2 (ja) * 2019-06-17 2023-01-16 株式会社東芝 物体ハンドリング制御装置、物体ハンドリング装置、物体ハンドリング方法および物体ハンドリングプログラム
CN112188187B (zh) * 2019-07-01 2024-01-02 北京小米移动软件有限公司 一种图像采集组件的位置检测方法、装置及存储介质
US10565737B1 (en) 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system
CN110640745B (zh) * 2019-11-01 2021-06-22 苏州大学 基于视觉的机器人自动标定方法、设备和存储介质
CN110930460B (zh) * 2019-11-15 2024-02-23 五邑大学 面向结构光3d视觉***的全自动标定方法及装置
CN112917510A (zh) * 2019-12-06 2021-06-08 中国科学院沈阳自动化研究所 一种工业机器人空间位姿精度测试***
US11584013B2 (en) * 2020-03-31 2023-02-21 Wipro Limited System, device and method for determining error in robotic manipulator-to-camera calibration
CN111625001B (zh) * 2020-05-28 2024-02-02 珠海格力智能装备有限公司 机器人的控制方法及装置、工业机器人
JP7468288B2 (ja) 2020-10-16 2024-04-16 オムロン株式会社 キャリブレーション装置およびキャリブレーションの自動設定方法
CN112936315B (zh) * 2021-03-18 2022-12-20 深圳市梯易易智能科技有限公司 一种基于成像方式的机械臂校准方法及装置
CN116917087A (zh) 2021-04-19 2023-10-20 发那科株式会社 程序生成装置和机器人控制装置
WO2023013740A1 (ja) 2021-08-04 2023-02-09 京セラ株式会社 ロボット制御装置、ロボット制御システム、及びロボット制御方法
CN114523471B (zh) * 2022-01-07 2023-04-25 中国人民解放军海军军医大学第一附属医院 基于关联标识的误差检测方法及机器人***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2690603B2 (ja) 1990-05-30 1997-12-10 ファナック株式会社 視覚センサのキャリブレーション方法
JP2010172986A (ja) 2009-01-28 2010-08-12 Fuji Electric Holdings Co Ltd ロボットビジョンシステムおよび自動キャリブレーション方法
JP2015174191A (ja) 2014-03-17 2015-10-05 株式会社安川電機 ロボットシステム、ロボットシステムのキャリブレーション方法およびロボットシステムの位置補正方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101455A (en) 1998-05-14 2000-08-08 Davis; Michael S. Automatic calibration of cameras and structured light sources
JP4267005B2 (ja) 2006-07-03 2009-05-27 ファナック株式会社 計測装置及びキャリブレーション方法
JP4298757B2 (ja) 2007-02-05 2009-07-22 ファナック株式会社 ロボット機構のキャリブレーション装置及び方法
JP2010188439A (ja) * 2009-02-16 2010-09-02 Mitsubishi Electric Corp パラメータ算出方法及びパラメータ算出装置
US9393694B2 (en) 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
EP2729850A4 (de) 2011-08-11 2015-07-08 Siemens Healthcare Diagnostics Verfahren und vorrichtung zum kalibrieren einer ausrichtung eines robotergreifers und einer kamera
JP5928114B2 (ja) 2012-04-12 2016-06-01 セイコーエプソン株式会社 ロボットシステム、ロボットシステムのキャリブレーション方法、ロボット
JP2013215867A (ja) * 2012-04-12 2013-10-24 Seiko Epson Corp ロボット制御装置、ロボット制御方法、ロボット制御プログラム、ロボット
EP2981397B1 (de) * 2013-04-05 2017-06-14 ABB Schweiz AG Robotersystem und verfahren zur kalibrierung
JP6468741B2 (ja) 2013-07-22 2019-02-13 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
JP6335460B2 (ja) 2013-09-26 2018-05-30 キヤノン株式会社 ロボットシステムの制御装置及び指令値生成方法、並びにロボットシステムの制御方法
DE102014100538B4 (de) 2014-01-17 2022-09-08 Pi4_Robotics Gmbh Verfahren zum Kalibrieren eines Roboters und einer Kamera und System zum Durchführen des Verfahrens
JP6429473B2 (ja) * 2014-03-20 2018-11-28 キヤノン株式会社 ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP6415190B2 (ja) 2014-09-03 2018-10-31 キヤノン株式会社 ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法
DE102015104582A1 (de) 2015-03-26 2016-09-29 Pi4_Robotics Gmbh Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2690603B2 (ja) 1990-05-30 1997-12-10 ファナック株式会社 視覚センサのキャリブレーション方法
JP2010172986A (ja) 2009-01-28 2010-08-12 Fuji Electric Holdings Co Ltd ロボットビジョンシステムおよび自動キャリブレーション方法
JP2015174191A (ja) 2014-03-17 2015-10-05 株式会社安川電機 ロボットシステム、ロボットシステムのキャリブレーション方法およびロボットシステムの位置補正方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020105655B4 (de) * 2019-03-07 2021-04-22 Mujin, Inc. Verfahren und System zum Durchführen einer automatischen Kamerakalibrierung zur Robotersteuerung
US10906184B2 (en) 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
DE102020106973B4 (de) * 2019-03-29 2021-04-22 Mujin, Inc. Verfahren und Steuerungssystem zum Verifizieren und Aktualisieren einer Kamerakalibrierung zur Robotersteuerung
US11014241B2 (en) 2019-03-29 2021-05-25 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US11590656B2 (en) 2019-03-29 2023-02-28 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US11883964B2 (en) 2019-03-29 2024-01-30 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN114174006A (zh) * 2019-07-19 2022-03-11 西门子(中国)有限公司 机器人手眼标定方法、装置、计算设备、介质以及产品
CN114174006B (zh) * 2019-07-19 2024-03-05 西门子(中国)有限公司 机器人手眼标定方法、装置、计算设备、介质以及产品
CN110332930A (zh) * 2019-07-31 2019-10-15 小狗电器互联网科技(北京)股份有限公司 一种位置确定方法、装置及设备
CN110332930B (zh) * 2019-07-31 2021-09-17 小狗电器互联网科技(北京)股份有限公司 一种位置确定方法、装置及设备

Also Published As

Publication number Publication date
JP2018111166A (ja) 2018-07-19
JP6396516B2 (ja) 2018-09-26
US10647001B2 (en) 2020-05-12
CN108297095A (zh) 2018-07-20
US20180194008A1 (en) 2018-07-12
CN108297095B (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
DE102018200154A1 (de) Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor
DE102018200155B4 (de) Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor
DE102016116702B4 (de) Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters
DE60127644T2 (de) Lehrvorrichtung für einen Roboter
DE19804205B4 (de) Fotogrammetrisches Meßverfahren und fotogrammetrische Meßeinrichtung
DE112010005646B4 (de) Kameraabstandsmessvorrichtung
DE102015015194A1 (de) Bildverarbeitungsvorrichtung und -verfahren und Programm
DE102006055758B4 (de) Verfahren zur Kalibrierung von Kameras und Projektoren
DE102018207414A1 (de) Bildverarbeitungssystem
DE102015011914A1 (de) Konturlinienmessvorrichtung und Robotersystem
EP2886043A1 (de) Verfahren zum Fortsetzen von Aufnahmen zum Erfassen von dreidimensionalen Geometrien von Objekten
DE102009046295A1 (de) Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme
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
EP3104330B1 (de) Verfahren zum nachverfolgen zumindest eines objektes und verfahren zum ersetzen zumindest eines objektes durch ein virtuelles objekt in einem von einer kamera aufgenommenen bewegtbildsignal
DE202019105838U1 (de) Anordnung mit einem Koordinatenmessgerät oder Mikroskop
DE102018113589A1 (de) Vorrichtung und Programm zur Positionserfassung
WO2016146105A1 (de) Verfahren und vorrichtung zur kalibration einer kamera
DE102018007287A1 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102019102927B4 (de) Verfahren und Vorrichtung zum Bestimmen von dimensionalen und/oder geometrischen Eigenschaften eines Messobjekts
DE102011082280A1 (de) Bildmessvorrichtung und Bildmessverfahren
AT523556A1 (de) Verfahren zur Bildkorrektur
WO2009018894A1 (de) Verfahren und vorrichtung zum bestimmen von geometriedaten eines messobjekts
WO2005025237A1 (de) Verfahren zur selbstkalibrierung eines kamerasystems
WO2017198441A1 (de) Verfahren zum einstellen einer blickrichtung in einer darstellung einer virtuellen umgebung
DE102020131808A1 (de) Vorrichtung zur Unterstützung von Kalibrierungsvorgängen bei Industriekameras

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication