DE102018102833A1 - Positionskontrollsystem, positionserkennungsvorrichtung und steuerprogramm - Google Patents

Positionskontrollsystem, positionserkennungsvorrichtung und steuerprogramm Download PDF

Info

Publication number
DE102018102833A1
DE102018102833A1 DE102018102833.4A DE102018102833A DE102018102833A1 DE 102018102833 A1 DE102018102833 A1 DE 102018102833A1 DE 102018102833 A DE102018102833 A DE 102018102833A DE 102018102833 A1 DE102018102833 A1 DE 102018102833A1
Authority
DE
Germany
Prior art keywords
recognition
processing
section
recognition processing
image data
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
DE102018102833.4A
Other languages
English (en)
Inventor
Hiroyuki HAZEYAMA
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE102018102833A1 publication Critical patent/DE102018102833A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the transport system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q3/00Devices holding, supporting, or positioning work or tools, of a kind normally removable from the machine
    • B23Q3/18Devices holding, supporting, or positioning work or tools, of a kind normally removable from the machine for positioning only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • 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/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Abstract

Ein Positionskontrollsystem 1 akquiriert Bilddaten, die aus Bildaufnahme eines Werkstücks erhalten werden, erkennt eine Position des Werkstücks auf Basis der Bilddaten durch erstes Erkennungsverarbeiten, gibt einen Steuerbefehl zum Steuern der Position des Werkstücks in einem Fall aus, in dem die Position des Werkstücks erkannt wurde, erkennt die Position des Werkstücks auf Basis der Bilddaten gemäß eines zweiten Erkennungsverfahrens, das robuster ist als das erste Erkennungsverfahren, in einem Fall, in dem die Position des Werkstücks nicht erkannt wurde, und gibt einen Steuerbefehl zum Steuern der Position des Werkstücks auf Basis eines Resultats des Erkennens in dem zweiten Erkennungsverarbeiten aus.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Technologie betrifft ein Positionskontrollsystem, das eine Position eines Objekts kontrolliert, das von einem Bewegungsmechanismus bewegt wird, eine Positionserkennungsvorrichtung, die eine Position eines Objekts, das von einem Bewegungsmechanismus bewegt wird, erkennt, und ein Steuerprogramm, das die Positionserkennungsvorrichtung realisiert.
  • Beschreibung des Standes der Technik
  • In einer verwandten Technik wurde das Verarbeiten des Erkennens einer Position eines Objekts (nachfolgend auch als „Werkstück“ bezeichnet) auf Basis der Bilddaten, die durch Bildaufnahme des Werkstücks erworben werden, und Anordnen des Werkstücks an einer Ausgangsposition auf Basis der erkannten Positionsdaten im Bereich der Fabrikautomatisierung (FA) und dergleichen durchgeführt.
  • Die japanische ungeprüfte Patentanmeldung Veröffentlichungsnummer 2014-203365 (Patentdokument 1) offenbart zum Beispiel eine Verarbeitungsvorrichtung, die eine Positionsmarkierung eines Werkstücks, das auf einer Bühne angeordnet ist, aufnimmt, die Position des Werkstücks auf Basis der Bilddaten erkennt und einen Befehl auf Basis der erkannten Positionsdaten des Werkstücks an eine Steuereinrichtung, die die Bühne steuert, ausgibt.
  • Patentdokumente
  • [Patentdokument 1] Japanische ungeprüfte Patentanmeldung Veröffentlichungsnummer 2014-203365.
  • KURZE BESCRHEIBUNG DER ERFINDUNG
  • In einer Produktionslinie, in der die Verarbeitungsvorrichtung in der verwandten Technik eingesetzt wird, gibt es Fälle, in denen die Positionserkennung des Werkstücks fehlschlägt und das Werkstück, für das die Positionserkennung gescheitert ist, nach außen transportiert werden muss, damit das nachfolgende Werkstück in Empfang genommen werden kann. In solch einem Fall wird von einem Benutzer (einem Bediener, einer Person, die die Vorrichtung bedient oder dergleichen) erwartet, dass er visuell Positionskoordinaten mit einer gewissen Genauigkeit festlegt, auch wenn die Genauigkeit nicht so hoch ist, wie die Positionskoordinaten, die erkannt werden, wenn die Positionserkennung des Werkstücks erfolgreich durchgeführt wurde, um das Werkstück problemlos nach außen zu transportieren. Es gibt jedoch Fälle, in denen die Produktionslinie angehalten wird bis der Benutzer kommt, oder eine Stoppzeit der Produktionslinie verlängert sich aufgrund einer Fehlbedienung des Benutzers und es besteht die Besorgnis, dass die Produktivität sich verschlechtert, wenn die Positionserkennung des Werkstücks fehlschlägt.
  • Die vorliegende Technologie stellt eine Technologie bereit, durch die es möglich ist zu verhindern, dass die Produktivität sich in einem Fall, in dem die Position des Objekts nicht erkannt wurde, in vollem Ausmaß verschlechtert.
  • Laut einem Aspekt der vorliegenden Erfindung wird ein Positionskontrollsystem bereitgestellt, das eine Position eines Objekts steuert, das von einem Bewegungsmechanismus bewegt wird. Das Positionskontrollsystem beinhaltet: einen Steuerabschnitt, der den Bewegungsmechanismus steuert; einen Akquisitionsabschnitt, der Bilddaten akquiriert, die aus einer Bildaufnahme des Objekts erhalten werden; einen ersten Erkennungsabschnitt, der die Position des Objekts auf Basis der Bilddaten gemäß der ersten Erkennungsverarbeitung erkennt; einen ersten Ausgabeabschnitt, der einen ersten Steuerbefehl zum Steuern der Position des Objekts an den Steuerabschnitt in einem Falls ausgibt, in dem der erste Erkennungsabschnitt die Position des Objekts erkannt hat; einen zweiten Erkennungsabschnitt, der die Position des Objekts auf Basis der Bilddaten gemäß der zweiten Erkennungsverarbeitung, die robuster als die erste Erkennungsverarbeitung ist, in einem Fall erkennt, in dem der erste Erkennungsabschnitt die Position des Objekts nicht erkannt hat; und einen zweiten Ausgabeabschnitt, der einen zweiten Steuerbefehl für das Steuern der Position des Objekts an den Steuerabschnitt auf Basis eines Erkennungsresultats, das von dem zweiten Erkennungsabschnitt durchgeführt wurde, ausgibt.
  • Laut einem anderen Aspekt der vorliegenden Erfindung wird eine Positionserkennungsvorrichtung bereitgestellt, die eine Position eines Objekts erkennt, das von einem Bewegungsmechanismus bewegt wird. Die Positionserkennungsvorrichtung beinhaltet: einen Akquisitionsabschnitt, der Bilddaten akquiriert, die aus einer Bildaufnahme des Objekts erhalten werden; einen ersten Erkennungsabschnitt, der die Position des Objekts auf Basis der Bilddaten gemäß der ersten Erkennungsverarbeitung erkennt; einen ersten Ausgabeabschnitt, der einen ersten Steuerbefehl zum Steuern der Position des Objekts in einem Fall ausgibt, in dem der erste Erkennungsabschnitt die Position des Objekts erkannt hat; einen zweiten Erkennungsabschnitt, der die Position des Objekts auf Basis der Bilddaten gemäß der zweiten Erkennungsverarbeitung, die robuster als die erste Erkennungsverarbeitung ist, in einem Fall erkennt, in dem das erste Erkennungsteil die Position des Objekts nicht erkannt hat; und einen zweiten Ausgabeabschnitt, der einen zweiten Steuerbefehl für das Steuern der Position des Objekts auf Basis eines Erkennungsresultats, das von dem zweiten Erkennungsabschnitt durchgeführt wurde, ausgibt.
  • Vorzugsweise unterscheiden sich Algorithmen, denen das zweite Erkennungsverarbeiten folgt, von Algorithmen, denen das erste Erkennungsverarbeiten folgt.
  • Vorzugsweise unterscheiden sich Parametereinstellwerte, denen das zweite Erkennungsverarbeiten folgt, von Parametereinstellwerten, denen das erste Erkennungsverarbeiten folgt.
  • Vorzugsweise ist eine Anzahl von Malen der Positionserkennung des Objekts durch das zweite Erkennungsverarbeiten größer als die Anzahl von Malen der Positionserkennung des Objekts durch das erste Erkennungsverarbeiten.
  • Vorzugsweise beinhaltet die Positionserkennungsvorrichtung: einen Aufnahmeabschnitt, der Positionsdaten empfängt, mit denen die Position des Objekts in einem Fall spezifiziert werden kann, in dem der zweite Erkennungsabschnitt die Position des Objekts nicht erkannt hat.
  • Vorzugsweise enthält die Positionserkennungsvorrichtung ferner: einen Speicherabschnitt, der Positionsdaten, die den Bilddaten entsprechen, zusammen mit den Bilddaten speichert; und einen Aktualisierungsabschnitt, der mindestens entweder die Algorithmen oder die Parametereinstellwerte, dem das zweite Erkennungsverarbeiten folgt, auf Basis der Bilddaten und der Positionsdaten, die in dem Speicherabschnitt gespeichert sind, aktualisiert.
  • Vorzugsweise ist der zweite Steuerbefehl ein Befehl für das Steuern der Position des Objekts zum Transportieren des Objekts von einer Produktionslinie nach außen. Der zweite Ausgabeabschnitt gibt den zweiten Steuerbefehl ungeachtet dessen aus, ob der zweite Erkennungsabschnitt die Position des Objekts erkannt hat oder nicht.
  • Vorzugsweise ist der erste Steuerbefehl ein Befehl für das Steuern der Position des Objekts, um das Objekt zu einem nächsten Prozess der Produktionslinie zu transportieren. Der zweite Steuerbefehl ein Befehl für das Steuern der Position des Objekts zum Transportieren des Objekts von der Produktionslinie nach außen. Der zweite Ausgabeabschnitt gibt den ersten Steuerbefehl in einem Falls aus, in dem der zweite Erkennungsabschnitt die Position des Objekts erkannt hat und er gibt den zweiten Steuerbefehl in einem Fall aus, in dem der zweite Erkennungsabschnitt die Position des Objekts nicht erkannt hat.
  • Gemäß noch einem anderen Aspekt der vorliegenden Erfindung wird ein Steuerprogramm bereitgestellt, das durch Ausführen von einem Computer eine Positionserkennungsvorrichtung realisiert, die eine Position eines Objekts erkennt, das von einem Bewegungsmechanismus bewegt wird. Das Steuerprogramm veranlasst den Computer auszuführen: einen Akquisitionsschritt zum Akquirieren von Bilddaten, die von einer Bildaufnahme des Objekts erhalten werden; einen ersten Erkennungsschritt zum Erkennen der Position des Objekts auf Basis der Bilddaten gemäß einer ersten Erkennungsverarbeitung; einen ersten Ausgabeschritt zum Ausgeben eines ersten Steuerbefehls zum Steuern der Position des Objekts in einem Fall, in dem die Position des Objekts in dem ersten Erkennungsschritt erkannt wurde; einen zweiten Erkennungsschritt des Erkennens der Position des Objekts auf Grundlage der Bilddaten gemäß einer zweiten Erkennungsverarbeitung, die robuster ist als die erste Erkennungsverarbeitung, in einem Fall, in dem die Position des Objekts in dem ersten Erkennungsschritt nicht erkannt wurde; und einen zweiten Ausgabeschritt der Ausgabe eines zweiten Steuerbefehls zum Steuern der Position des Objekts auf Basis eines Erkennungsresultats in dem zweiten Erkennungsschritt.
  • Gemäß der vorliegenden Technologie ist es möglich zu verhindern, dass Produktivität sich in einem Fall, in dem eine Position eines Objekts nicht erkannt wurde, in vollem Umfang verschlechtert.
  • Figurenliste
    • 1 ist ein Diagramm zum Erläutern eines Beispiels einer Produktionslinie auf das ein Positionskontrollsystem gemäß einer Ausführungsform angewendet wird.
    • 2 ist ein Diagramm, das eine Gesamtkonfiguration des Positionskontrollsystems gemäß der Ausführungsform veranschaulicht.
    • 3 ist ein Diagramm, das eine Hardwarekonfiguration der Positionserkennungsvorrichtung gemäß der Ausführungsform veranschaulicht.
    • 4 ist ein Diagramm, das eine Hardwarekonfiguration einer Bewegungssteuereinrichtung gemäß der Ausführungsform veranschaulicht.
    • 5 ist ein Diagramm, das ein Bildschirmdarstellungsbeispiel veranschaulicht, wenn ein Verarbeitungsfluss in der Positionserkennungsvorrichtung gemäß der Ausführungsform festgelegt wird.
    • 6 ist ein Diagramm, das ein Bildschirmdarstellungsbeispiel veranschaulicht, wenn ein Verarbeitungsfluss in der Positionserkennungsvorrichtung gemäß der Ausführungsform festgelegt wird.
    • 7 ist ein Flussdiagramm, das Ausrichtungsverarbeitung, die die Positionserkennungsvorrichtung gemäß der Ausführungsform ausführt, veranschaulicht.
    • 8 ist ein Diagramm, das ein Bildschirmanzeigebeispiel veranschaulicht, wenn Positionserkennung in der Positionserkennungsvorrichtung gemäß der Ausführungsform fehlgeschlagen ist.
    • 9 ist ein Flussdiagramm, das Verarbeitungsflussentscheidungsverarbeitung veranschaulicht, die die Positionserkennungsvorrichtung gemäß der Ausführungsform ausführt.
    • 10 ist ein Diagramm zum Erläutern eines Überblicks der Verarbeitungsflussentscheidungsverarbeitung, die die Positionserkennungsvorrichtung gemäß der Ausführungsform ausführt.
    • 11 ist ein Diagramm zum Erläutern eines Resultats der Beurteilung von Verarbeitungsflüssen in der Positionserkennungsvorrichtung gemäß der Ausführungsform.
    • 12 ist ein Diagramm, das ein Beispiel zum Erläutern eines Unterschieds in der Robustheit zwischen der ersten Erkennungsverarbeitung und der zweiten Erkennungsverarbeitung in der Positionserkennungsvorrichtung gemäß der Ausführungsform veranschaulicht.
    • 13 ist ein Diagramm, das ein Beispiel zum Erläutern eines Unterschieds in der Robustheit zwischen der ersten Erkennungsverarbeitung und der zweiten Erkennungsverarbeitung in der Positionserkennungsvorrichtung gemäß der Ausführungsform veranschaulicht.
    • 14 ist ein Diagramm, das ein Beispiel zum Erläutern eines Unterschieds in der Robustheit zwischen der ersten Erkennungsverarbeitung und der zweiten Erkennungsverarbeitung in der Positionserkennungsvorrichtung gemäß der Ausführungsform veranschaulicht.
    • 15 ist ein Diagramm, das ein Beispiel zum Erläutern eines Unterschieds in der Robustheit zwischen der ersten Erkennungsverarbeitung und der zweiten Erkennungsverarbeitung in der Positionserkennungsvorrichtung gemäß der Ausführungsform veranschaulicht.
    • 16 ist ein Flussdiagramm, das Ausrichtungsverarbeitung, die eine Positionserkennungsvorrichtung gemäß einem Modifikationsbeispiel der Ausführungsform ausführt, veranschaulicht.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Eine Ausführungsform der vorliegenden Erfindung wird ausführlich unter Bezugnahme auf die Zeichnungen beschrieben. Beachten Sie, dass gleiche Bezugszeichen den gleichen oder entsprechenden Teilen in der Zeichnung zugeordnet werden, und dass deren Beschreibung nicht wiederholt wird.
  • <Beispiel einer Produktionslinie, auf die das Positionskontrollsystem angewendet wird>
  • 1 ist ein Diagramm zum Erläutern eines Beispiels einer Produktionslinie auf die ein Positionskontrollsystem 1 gemäß einer Ausführungsform angewendet wird.
  • Unter Bezugnahme auf 1 führt das Positionskontrollsystem 1 gemäß der Ausführungsform Ausrichtung unter Verwendung von Bildverarbeitung in einer Produktionslinie oder dergleichen für Industrieprodukte durch. Die Ausrichtung bedeutet typischerweise das Verarbeiten des Anordnens eines Werkstücks an einer ursprünglichen Position in der Produktionslinie oder dergleichen. In einem Beispiel solch einer Ausrichtung ordnet das Positionskontrollsystem 1 ein Objekt (Werkstück) 4 an einer genauen Position durch Erkennen einer Position des Werkstücks 4 auf Basis von Bilddaten, die durch Bildaufnahme des Werkstücks 4, das auf einer oberen Fläche eines Bühnenpanels 2 angeordnet ist, eingeholt werden, und Steuern einer Bühne 300 auf der Basis der erkannten Positionsdaten (Positionskoordinaten in der Ausführungsform) an.
  • Konkreter wird das Werkstück 4 von Armen 911 und 912 eines Transportroboters 910 auf der oberen Fläche des Bühnenpanels 2 angeordnet, wobei dessen Position von der Bühne 300 wie in (A) von 1 veranschaulicht gesteuert wird. Wie in (B) von 1 veranschaulicht, werden Positionsmarkierungen 12 und 14 an einer oberen Fläche des Werkstücks 4 bereitgestellt. In der Ausführungsform sind Kreuzmarkierungen auf mindestens einem Teil der vier Ecken der Werkstücke 4 als die Positionsmarkierungen 12 und 14 aufgedruckt. Beachten Sie, dass die Positionen nicht auf die vier Ecken des Werkstücks 4 beschränkt sind und an beliebigen Positionen auf dem Werkstück 4, wie etwa der Mitte, bereitgestellt werden können. Zusätzlich sind die Positionierungsmarkierungen nicht auf Kreuzmarkierungen beschränkt und sie können jedwede Form haben, wie etwa ein Rechteck, einen Kreis, eine Fächerform oder eine beliebige polygonale Form.
  • Die Positionsmarkierungen 12 und 14 werden von Kameras 102 bzw. 104 aufgenommen. Beachten Sie, dass eine einzelne Kamera die Vielzahl der Positionsmarkierungen während der Bewegung aufnehmen kann, anstatt dass eine einzelne Kamera jeder der Vielzahl der Positionsmarkierungn zugewiesen wird. Wie in (C) von 1 veranschaulicht, wird das Verarbeiten der Erkennung der Position des Werkstücks auf Basis der Bildaufnahmedaten der Positionsierungsmarken 12 und 14, die von den Kameras 102 und 104 erhalten werden, durchgeführt.
  • In einem Fall, in dem die Positionserkennung des Werkstücks 4 erfolgreich durchgeführt wurde, bewegt sich Bühnenpanel 2, wobei die Bühne 300 auf Grundlage der erkannten Positionskoordinaten des Werkstücks 4, wie in (D) in 1 veranschaulicht, gesteuert wird. Hier wird die Position des Werkstücks 4 zu einer Ausgangsposition korrigiert, falls die Position des Werkstücks 4 nicht innerhalb der erforderlichen Genauigkeit liegt. Die Position des Werkstücks 4 wird zum Beispiel korrigiert, so dass sie der Position eines montierten Elements 5, das später beschrieben wird, durch Steuern der Bühne 300 zum Drehen des Bühnenpanels 2 gegen den Uhrzeigersinn entspricht. Beachten Sie, dass die Position des Werkstücks 4 wieder auf Basis der Bilddaten, die durch erneute Bildaufnahme der Positionierungsmarkierungen durch die Kameras 102 und 104 nachdem die Position des Werkstücks 4 korrigiert wurde, erkannt wird, obwohl dies in der Zeichnung nicht veranschaulicht ist. Es wird dann festgestellt, ob die Position des Werkstücks 4 wieder innerhalb der erforderlichen Genauigkeit liegt. In einem Fall, in dem die Position des Werkstücks 4 innerhalb der erforderlichen Genauigkeit liegt, wie in (E) in 1 veranschaulicht, wird das Werkstück 4 zu einer erfolgreichen Strecke gemäß der Bewegung der Bühne 300 geleitet und das montierte Element 5 wird von Armen 931 und 932 eines Transportroboters 930 an dem Werkstück 4 angebracht. Auf diese Weise wird ein Industrieprodukt montiert.
  • In der Zwischenzeit müssen, in einem Fall, in dem die Positionserkennung des Werkstücks 4 fehlgeschlagen ist, die Positionskoordinaten, die in gewissem Umfang genau sind, festgelegt werden, selbst wenn die Genauigkeit nicht so hoch ist, wie die der Positionskoordinaten, die erfasst wurden als die Positionserkennung des Werkstücks 4 erfolgreich durchgeführt wurde, um das Werkstück 4 von der Produktionslinie problemlos nach außen zu transportieren. Ein Beispiel eines Grundes hierfür ist, dass die Breite eines Transportpfads 920 für das Transportieren des Werkstücks 4 nach außen wie in (G) von 1 veranschaulicht und später beschrieben, fixiert ist. Insbesondere in einem Fall, in dem ein Befehl, der die Positionskoordinaten in Hinblick auf Bühne 300 angibt, nicht eingegeben wurde, oder in einem Fall, in dem der Befehl, der die Positionskoordinaten in Hinblick auf die Bühne 300 angibt, eingegeben wurde, aber die Positionskoordinaten nicht angemessen sind, kann eine Situation auftreten, in der das Werkstück 4 nicht auf dem Transportpfad 920 untergebracht ist. Falls dem so ist, besteht die Besorgnis, dass die Produktionslinie stoppen könnte. Daher müssen die Positionskoordinaten, die in gewissem Ausmaß genau sind, festgelegt werden, damit, in einem Fall, in dem die Positionserkennung des Werkstücks 4 fehlgeschlagen ist, das Werkstück 4 reibungslos aufgenommen werden kann.
  • Daher soll der Benutzer die Positionskoordinaten des Werkstücks 4 in der verwandten Technik, in einem Fall, in dem die Positionserkennung des Werkstücks 4 fehlgeschlagen ist, manuell eingeben. Es gibt jedoch Fälle, in denen die Produktionslinie stoppt bis der Benutzer kommt oder eine Stoppzeit der Produktionslinie sich aufgrund einer Fehlbedienung des Benutzers verlängert, und es besteht eine Sorge, dass die Produktivität sich verschlechtert, wenn die Positionskoordinaten jedes Mal, wenn die Positionserkennung des Werkstücks 4 fehlgeschlagen ist, von dem Benutzer manuell eingegeben werden.
  • Daher werden, in dem Positionskontrollsystem 1 gemäß der Ausführungsform, die Positionskoordinaten, die in der Vergangenheit von dem Benutzer manuell eingegeben wurden (nachfolgend auch als manuelle Eingabedaten bezeichnet), den Bilddaten zugeordnet und gespeichert. Dann wird die Positionserkennungsverarbeitung zum zweiten Mal auf Basis des akkumulierten Paares manueller Eingabekoordinaten und der Bilddaten, in einem Fall, in dem die Positionserkennung des Werkstücks 4 fehlgeschlagen ist, durchgeführt. Da die Positionserkennungsverarbeitung, die das zweite Mal durchgeführt wird, robuster ist als die Positionserkennungsverarbeitung, die das erste Mal wie in (C) von 1 durchgeführt wurde, steigt die Wahrscheinlichkeit, dass die Positionserkennung erfolgreich durchgeführt wird, in der Positionserkennungsverarbeitung, die das zweite Mal durchgeführt wird, auch wenn die Positionserkennung in der Positionserkennungsverarbeitung, die das erste Mal durchgeführt wurde, fehlgeschlagen ist. Als ein Resultat können die Positionskoordinaten automatisch festgelegt werden, ohne dass der Benutzer die Positionskoordinaten manuell eingeben muss.
  • Wie in (F) von 1 veranschaulicht, werden die Positionskoordinaten von der Positionserkennungsverarbeitung, die das zweite Mal durchgeführt wird, erkannt, und die Bühne 300 wird auf Basis der Positionskoordinaten gesteuert. Die Position des Werkstücks 4 wird zum Beispiel durch Steuern der Bühne 300 zum Drehen des Bühnenpanels 2 gegen den Uhrzeigersinn gesteuert, um es in dem Transportpfad 920 unterzubringen. Dann wird das Werkstück 4 zu einer Fehlerstrecke gemäß der Bewegung der Bühne 300 geleitet und das Werkstück 4 wird von dem Transportpfad 920 wie in (G) von 1 veranschaulicht von der Produktionslinie nach außen transportiert.
  • <Gesamtkonfiguration des Positionskontrollsystems>
  • 2 ist ein Diagramm, das eine Gesamtkonfiguration des Positionskontrollsystems 1 gemäß der Ausführungsform veranschaulicht. Wie in 2 beinhaltet das Positionskontrollsystem 1 eine Positionserkennungsvorrichtung 100, eine Bewegungssteuereinrichtung 200 und eine Bühne 300.
  • Die Positionserkennungsvorrichtung 100 spezifiziert die Position des Werkstücks 4 durch Akquirieren der Bilddaten, die durch Erfassen von Bildern mit einer oder mehreren Kameras (die Kameras 102 und 104 in dem Beispiel in 2) aufgenommen wurden, und durch Erfassen der Positionen der Positionierungsmarkierungen 12 und 14, die in den akquirierten Bilddaten enthalten sind. Die Positionserkennungsvorrichtung 100 gibt einen Befehl für das Anordnen des Werkstücks 4 an der genauen Position an die Bewegungssteuereinrichtung 200 auf Basis der spezifizierten Position des Werkstücks 4 aus.
  • Die Bewegungssteuereinrichtung 200 realisiert eine Ausrichtung des Werkstücks 4, indem Sie der Bühne 300 einen Befehl gemäß dem Befehl von der Positionserkennungsvorrichtung 100 gibt.
  • Die Bühne 300 kann eine gewisse Freiheit haben, solange die Bühne 300 ein Mechanismus ist, mit dem das Werkstück 4 an der genauen Position angeordnet werden kann. In der Ausführungsform kann die Bühne 300 dem Werkstück 4 horizontale Verschiebung und umlaufende Verschiebung geben.
  • <Gesamtkonfiguration der Positionserkennungsvorrichtung>
  • 3 ist ein Diagramm, das eine Hardwarekonfiguration der Positionserkennungsvorrichtung 100 gemäß der Ausführungsform veranschaulicht. Wie in 3 veranschaulicht verfügt die Positionserkennungsvorrichtung 100 typischerweise über eine Struktur gemäß einer Allzweckcomputerarchitektur und realisiert verschiedene Verarbeitungsarten, die später beschrieben werden, durch einen Prozessor, der ein Programm ausführt, das im Voraus installiert wurde.
  • Konkreter beinhaltet die Positionserkennungsvorrichtung 100 einen Prozessor 110, wie etwa eine zentrale Verarbeitungseinheit (CPU) und eine Mikroverarbeitungseinheit (MPU), einen RAM 112 (Random Access Memory (RAM) 112), eine Displaysteuereinrichtung 114, eine Systemsteuereinrichtung 116, eine Eingabe/Ausgabe (I/O) Steuereinrichtung 118, eine Festplatte 120, eine Kameraschnittstelle 122, eine Eingabeschnittstelle 124, eine Bewegungssteuerungsschnittstelle 126, eine Kommunikationsschnittstelle 128 und eine Speicherkartenschnittstelle 130. Diese jeweiligen Teile sind um die Systemsteuereinrichtung 116 miteinander verbunden, um das Kommunizieren von Daten zu ermöglichen.
  • Der Prozessor 110 realisiert Zielrechenverarbeitung durch Austausch von Programmen (Codes) und dergleichen mit der Systemsteuereinrichtung 116 und Ausführen der Programme in einer vorbestimmten Reihenfolge.
  • Die Systemsteuereinrichtung 116 ist mit dem Prozessor 110, dem RAM 112, der Displaysteuereinrichtung 114 und die I/O-Steuereinrichtung 118 über einen Bus verbunden, tauscht Daten mit den jeweiligen Teilen aus und verwaltet das Verarbeiten der gesamten Positionserkennungseinheit 100.
  • Der RAM 112 ist typischerweise eine flüchtige Speichervorrichtung, wie etwa ein dynamischer Direktzugriffsspeicher (DRAM), und hält ein Programm, das von der Festplatte 120 gelesen wird, oder Kamerabilder (Bilddaten), die von den Kameras 102 und 104 aufgenommen wurden, Daten in Bezug auf die Bilddaten (manuelle Eingabekoordinaten und dergleichen), Werkstückdaten und dergleichen.
  • Die Displaysteuereinrichtung 114 ist mit einer Displayeinheit 132 verbunden und gibt ein Signal zum Anzeigen diverser Arten von Informationen an die Displayeinheit 132 gemäß einem internen Befehl von der Systemsteuereinrichtung 116 aus.
  • Die I/O-Steuereinrichtung 118 steuert Datenaustausch mit einem Aufzeichnungsmedium oder einer externen Vorrichtung, die mit der Positionserkennungsvorrichtung 100 verbunden ist. Konkreter ist die I/O-Steuereinrichtung 118 mit der Festplatte 120, der Kameraschnittstelle 122, der Eingabeschnittstelle 124, der Bewegungssteuerungsschnittstelle 126, der Kommunikationsschnittstelle 128 und der Speicherkartenschnittstelle 130 verbunden.
  • Die Festplatte 120 ist typischerweise eine nichtflüchtige magnetische Speichervorrichtung und speichert diverse Einstellungswerte zusätzlich zu einem Steuerprogramm 150, wie etwa Algorithmen, die von dem Prozessor 110 ausgeführt werden. Das Steuerprogramm 150, das auf der Festplatte 120 installiert ist, ist in einem Zustand verteilt, in dem das Steuerprogramm 150 in der Speicherkarte 136 oder dergleichen gespeichert ist. Beachten Sie, dass eine Halbleiterspeichervorrichtung, wie etwa ein Flash-Speicher oder eine optische Speichervorrichtung, wie etwa Digital Versatile Disc Random Access Memory (DVD-RAM), statt der Festplatte 120 eingesetzt werden kann.
  • Die Kameraschnittstelle 122 akquiriert die Bilddaten, die aus der Bildaufnahme des Werkstücks erhalten wurden, und leitet die Datenübertragung zwischen dem Prozessor 110 und den Kameras 102 und 104 weiter. Die Kameraschnittstelle 122 enthält Bildpuffer 122a und 122b zum vorübergehenden Akkumulieren der Bilddaten von den Kameras 102 bzw. 104. Obwohl ein einzelner Bildpuffer, der von den Kameras geteilt werden kann, für die Vielzahl der Kameras bereitgestellt werden kann, ist es vorzuziehen, eine Vielzahl von Puffern, die den jeweiligen Kameras entsprechen, unabhängig anzuordnen, um die Verarbeitungsgeschwindigkeit zu erhöhen.
  • Die Eingabeschnittstelle 124 leitet die Datenübertragung mit dem Prozessor 110 und einer Eingabevorrichtung, wie etwa eine Tastatur 134, eine Maus 138, ein Touchpanel oder eine spezielle Konsole, weiter.
  • Die Bewegungssteuerungsschnittstelle 126 leitet die Datenübertragung zwischen dem Prozessor 110 und der Bewegungssteuereinrichtung 200 weiter.
  • Die Kommunikationsschnittstelle 128 leitet die Datenübertragung zwischen dem Prozessor 110 und einem anderen Personal Computer, einer Servervorrichtung oder dergleichen, die in der Zeichnung nicht veranschaulicht sind, weiter. Die Kommunikationsschnittstelle 128 ist typischerweise Ethernet (eingetragenes Warenzeichen), ein Universal Serial Bus (USB) oder dergleichen.
  • Die Speicherkartenschnittstelle 130 leitet die Datenübertragung zwischen dem Prozessor 110 und der Speicherkarte 136, die ein Aufzeichnungsmedium ist, weiter. Die Speicherkarte 136 ist in einem Zustand verteilt, in dem das Steuerprogramm 150 und dergleichen, das von der Positionserkennungsvorrichtung 100 ausgeführt wird, gespeichert ist, und die Speicherkartenschnittstelle 130 liest das Steuerprogramm aus der Speicherkarte 136. Die Speicherkarte 136 ist eine Allzweck-Halbleiterspeichervorrichtung, wie etwa eine sichere digitale (SD), ein magnetisches Aufzeichnungsmedium, wie etwa eine Diskette, ein optisches Aufzeichnungsmedium, wie etwa ein Compact Disc Read Only Memory (CD-ROM) oder dergleichen. Alternativ kann ein Programm, das von einem Verteilungsserver oder dergleichen heruntergeladen wurde, auf der Positionserkennungsvorrichtung 100 über die Kommunikationsschnittstelle 128 installiert sein.
  • In einem Fall, in dem ein Computer mit einer Struktur, die einer Allzweckcomputerarchitektur wie vorstehend beschrieben folgt, verwendet wird, kann ein Betriebssystem (OS) für das Bereitstellen grundlegender Funktionen des Computers zusätzlich zu einer Anwendung für das Bereitstellen der Funktionen gemäß der Ausführungsform installiert sein. In diesem Fall kann das Steuerprogramm gemäß der Ausführungsform notwendige Module aus Programmmodulen, die als ein Teil des OS bereitgestellt werden, in einer vorbestimmten Reihenfolge und/oder zu vorbestimmten Zeitpunkten abrufen und das Verarbeiten ausführen.
  • Ferner kann das Steuerprogramm gemäß der Ausführungsform als ein Teil eines anderen Programms eingefügt sein und bereitgestellt werden. Das Programm selber enthält keine Module, die in dem anderen Programm, das vorstehend beschrieben ist, mit dem es selbst in diesem Fall kombiniert ist, und die Verarbeitung wird in Kooperation mit dem anderen vorstehend beschriebenen Programm ausgeführt. Das heißt, das Steuerprogramm gemäß der Ausführungsform kann in einer Form sein, in der das Steuerprogramm in das andere Programm aufgenommen ist.
  • Beachten Sie, dass alternativ manche oder alle Funktionen, die durch Ausführen des Steuerprogramms bereitgestellt werden, als eine spezielle Hardwareschaltung implementiert sein können.
  • <Gesamtkonfiguration der Motorsteuereinrichtung>
  • 4 ist ein Diagramm, das eine Hardwarekonfiguration der Bewegungssteuereinrichtung 200 gemäß der Ausführungsform veranschaulicht. Wie in 4 veranschaulicht enthält die Bewegungssteuereinrichtung 200 eine Hauptsteuereinrichtung 210 und eine Vielzahl von Servoeinheiten 240, 242 und 244. In dem Positionskontrollsystem 1 gemäß der Ausführungsform, ist ein Beispiel veranschaulicht, in dem die Bühne 300 über Servomotoren 310, 312 und 314 entsprechend der drei Achsen verfügt, und die Servoeinheiten 204, 242 und 244, die der Anzahl der Achsen entsprechen, sind in der Bewegungssteuereinrichtung 200 enthalten.
  • Die Hauptsteuereinheit 210 verwaltet Gesamtsteuerung, die von der Bewegungssteuereinrichtung 200 durchgeführt wird. Die Hauptsteuereinheit 210 ist mit den Servoeinheiten 240, 242 und 244 über einen internen Bus 226 verbunden und sie tauschen gegenseitig Daten aus. Die Servoeinheiten 240, 242 bzw. 244 geben Steuerbefehle (typischerweise Antriebspulse) an die Servotreiber 205, 252, 254 gemäß interner Befehle oder dergleichen von der Hauptsteuereinheit 210 aus. Die Servotreiber 250, 252 bzw. 254 treiben die Servomotoren 310, 312 und 314, die damit verbunden sind, an.
  • Die Hauptsteuereinheit 210 enthält ein Chipset 212, einen Prozessor 214, einen nichtflüchtigen Speicher 216, einen Hauptspeicher 218, eine Systemuhr 220, eine Speicherkartenschnittstelle 222, eine Kommunikationsschnittstelle 228 und eine interne Bus-Steuereinrichtung 230. Das Chipset 212 und andere Komponenten sind jeweils über diverse Buse verbunden.
  • Der Prozessor 214 und das Chipset 212 verfügen typischerweise über Konfigurationen gemäß Allzweckcomputerarchitekturen. Das heißt, der Prozessor 214 interpretiert Reihenfolgecodes und führt diese aus, die sequenziell gemäß einem internen Taktgeber von dem Chipset 212 geliefert werden. Das Chipset 212 tauscht interne Daten mit diversen Komponenten, die damit verbunden sind, aus und generiert Reihenfolgecodes, die für den Prozessor 214 notwendig sind. Die Systemuhr 220 produziert einen Systemtakt in einem vorbestimmten Zyklus und stellt die Systemuhr dem Prozessor 214 bereit. Das Chipset 212 hat eine Funktion zur Zwischenspeicherung von Daten und dergleichen, die als ein Resultat des Ausführens der Rechenverarbeitung in dem Prozessor 214 erhalten wird.
  • Die Hauptsteuereinheit 210 hat einen nichtflüchtigen Speicher 216 und einen Hauptspeicher 218. Der nichtflüchtige Speicher 216 hält ein OS, ein Systemprogramm, ein Benutzerprogramm, Datendefinitionsinformationen, Protokollinformationen und dergleichen in einer nichtflüchtigen Weise. Der Hauptspeicher 218 ist eine flüchtige Speicherregion, hält diverse Programme, die von dem Prozessor 214 auszuführen sind, und wird auch als ein Operationsspeicher verwendet, wenn die diversen Programme ausgeführt werden.
  • Die Hauptsteuereinheit 210 verfügt über die Kommunikationsschnittstelle 228 und die interne Bussteuereinrichtung 230 als Kommunikationsabschnitte. Diese Kommunikationsschaltungen senden und empfangen Daten.
  • Die Kommunikationsschnittstelle 228 tauscht Daten mit der Positionserkennungsvorrichtung 100 aus. Die interne Bus-Steuereinrichtung 230 steuert den Austausch von Daten über den internen Bus 226. Konkreter enthält die interne Bussteuereinrichtung 230 einen Pufferspeicher 236 und eine DMA 232 (Dynamic Memory Access (DMA) Steuerschaltung 232).
  • Die Speicherkartenschnittstelle 222 verbindet die abnehmbare Speicherkarte 224 und das Chipset 212 mit der Hauptsteuereinheit 210.
  • <Bildschirmdarstellungsbeispiel, wenn der Prozessfluss festgelegt wird>
  • 5 und 6 sind Diagramme, die ein Bildschirmdarstellungsbeispiel veranschaulichen, wenn ein Verarbeitungsfluss in der Positionerserkennungsvorrichtung 100 gemäß der Ausführungsform festgelegt wird. 5 und 6 veranschaulichen ein Beispiel der Bildverarbeitung in einem Fall, in dem Algorithmen für Sucherkennungsverarbeitung als der Verarbeitungsfluss festgelegt werden. Beachten Sie, dass der Prozessor 110 und eine Grafikkarte und dergleichen, die in der Zeichnung nicht veranschaulicht sind, in der Positionserkennungsvorrichtung 100 miteinander kooperieren, wodurch sie die Bildschirme wie in 5 und 6 darstellen. Solch eine Bildschirmdarstellung wird durch ein grafische Benutzerschnittstelle (GUI) Programm dargestellt, das als ein Teil eines Betriebssystems (OS) eingefügt ist, und die GUI stellt auch eine Umgebung für das Durchführen diverser Arten von Benutzereinstellungen durch Verwendung eines Cursors oder eines Pfeilsysmbols, die durch den Benutzer durch die Tastatur 134 oder die Maus 138 bedient werden, auf dem Bildschirm dar.
  • Der „Prozessfluss“ sind Algorithmen und Parametereinstellungswerte, die für die Positionserkennung verwendet werden. Der Benutzer kann Algorithmen und Parametereinstellungswerte, die für die Positionserkennung verwendet werden, als den Verarbeitungsfluss über die in 5 und 6 veranschaulichten Bildschirme auswählen.
  • Die „Erkennungsverarbeitungssuche“ ist das Verarbeiten spezifischer Positionskoordinaten durch Registrieren von zu erkennenden Merkmalsabschnitten des Werkstücks als ein Bildmuster (Model) im Voraus und das Suchen nach den registrierten Merkmalsabschnitten des Modells in den Bilddaten. In einem Beispiel erkennt die Positionserkennungsvorrichtung 100 die Positionen der Positionsmarkierungen durch Berechnen eines Dunkelheitsgrades für jede Koordinate und Spezifizieren von Merkmalsabschnitten während des Abtastens der Bilddaten und Berechnen von Ähnlichkeit zwischen den spezifizierten Merkmalsabschnitten und den Merkmalsabschnitten des registrierten Modells. Beachten Sie, dass die Sucherkennungsverarbeitung nicht auf das vorstehend erwähnte Verfahren beschränkt ist, und dass ein bekanntes Verfahren verwendet werden kann.
  • Beachten Sie, dass für die Positionserkennung, ungeachtet der Sucherkennungsverarbeitung, auch andere Verarbeitung verwendet werden kann. Es kann dem Benutzer zum Beispiel erlaubt sein, Randerkennungsverarbeitung für die Positionserkennung auszuwählen. Die „Randerkennungsverarbeitung“ ist das Verarbeiten spezifizierender Positionskoordinaten durch Berechnen eines Dunkelheitsgrades für jede Koordinate durch Abtasten der Bilddaten sowohl von der X-Achse (zum Beispiel die horizontale Achse) und der Y-Achse (zum Beispiel die vertikale Achse) und Spezifizieren als einen Rand eines Abschnitts, wo eine Differenz zwischen Dunkelheitsgraden zwischen benachbarten Koordinaten einen Schwellenwert überschreitet. Die Abtastregion kann im Voraus vom Benutzer als eine Randregion festgelegt werden. Beachten Sie, dass die Randerkennungsverarbeitung nicht auf das vorstehend erwähnte Verfahren beschränkt ist, und dass ein bekanntes Verfahren verwendet werden kann.
  • Wie in 5 veranschaulicht, wird, wenn eine Registerkarte 401 für „Modellregistrierung“ ausgewählt wird, ein Einstellungsbildschirm 400A auf der Displayeinheit 132 angezeigt. Der Einstellungsbildschirm 400A enthält einen Modellregistrierungsbereich 401#, einen Bilddarstellungsbereich 404, einen Gesamtdarstellungsbereich 406 und eine Darstellungssteuersymbolgruppe 408.
  • Bilddaten, die von den Kameras 102 und 104 akquiriert werden, werden in dem Bilddarstellungsbereich 404 dargestellt. Während diverser Arten von Einstellung wird ein Bild, das in dem Bilddarstellungsbereich 404 dargestellt wird, in Echtzeit aktualisiert. Die von den Kameras 102 und 104 erhaltenen Bilddaten werden in dem gesamten Darstellungsbereich 406 auf eine ähnliche Weise, wie die in dem Bilddarstellungsbereich 404, dargestellt. Die gesamten Zielbilddaten werden jedoch in dem gesamten Darstellungsbereich 406 unabhängig von der Darstellungsreichweite in dem Bilddarstellungsbereich 404 dargestellt. Ferner werden die Darstellungsreichweite und Darstellungsgenauigkeit der in dem Bilddarstellungsbereich 404 darzustellenden Bilddaten gemäß der Operation des Benutzers (Vergrößerung, Größenreduzierung oder dergleichen), die an der Darstellungssteuersymbolgruppe 408 durchgeführt werden, verändert.
  • Eine Modellbearbeitungstaste 430, ein Registrierungsformdarstellungsfeld 432, ein Modellparametereinstellbereich 410 und ein Modellregistrierungsbildbereich 440 werden in dem Modellregistrierungsbereich 401# dargestellt.
  • In einem Fall, in dem der Benutzer ein zu suchendes Modell registriert, wird ein Referenzobjekt, einschließlich des Modells, im Voraus unter Verwendung der Kameras 102 und 104 akquiriert, und es wird eine Operation in einem Zustand durchgeführt, in dem die akquirierten Bilddaten in dem Bilddarstellungsbereich 404 und dem gesamten Darstellungsbereich 406 dargestellt werden.
  • Zuerst wird, wenn der Benutzer die Maus 138 oder dergleichen bedient und die Modellbearbeitungstaste 430 drückt, ein Beschreibungswerkzeugdialog, der in der Zeichnung nicht veranschaulicht ist, dargestellt. Der Benutzer bedient den Beschreibungswerkzeugdialog und designiert eine Reichweite, die als ein Modell in überlagerter Weise auf den in dem Bilddarstellungsbereich 404 angezeigten Bilddaten zu registrieren ist. 5 veranschaulicht einen Fall, in dem die quadrilaterale Reichweite, einschließlich der Positionierungsmarkierungen (Kreuzmarkierungen), als ein Modell 510 in dem Bilddarstellungsbereich 404 festgelegt wurde. In einem Fall, in dem ein gewisses Modell bereits registriert wurde, wird die Form des registrierten Modells (das „quadrilaterale“ im Fall von 5) in dem Registrierungsformdarstellungsfeld 432 dargestellt. Beachten Sie, dass die registrierte Form als ein Modell nicht auf das quadrilaterale beschränkt ist, und dass die Form eine beliebige Form sein kann, wie etwa ein Rechteck, ein Kreis, eine Fächerform oder ein beliebiges Polygon.
  • In einem Fall, in dem das Einstellen des registrierten Modells verändert wird, drückt der Benutzer eine notwendige Taste in dem Modellregistrierungsbildbereich 440. Die für die Modellregistrierung verwendeten Bilddaten werden gespeichert und nur Parameter in Bezug auf das registrierte Modell können später geändert werden. Konkreter werden, wenn die Registrierungsbildschirmdarstellungstaste 442 gedrückt wird, die Bilddaten, die für die Modellregistrierung verwendet wurden, dargestellt. Falls die Registrierungsbildschirmdarstellungstaste 442 wieder gedrückt wird, wird das Display umgeschaltet, so dass die Bilddaten, die aktuell eingegeben werden, dargestellt werden. Falls die Modellneuregistrierungstaste 444 gedrückt wird, wird das registrierte Modellbild ohne Änderungen erhalten und als ein Modell in einem Zustand, in dem die anderen Parameter geändert werden, neu gespeichert. Ferner wird, wenn eine Löschtaste 446 gedrückt wird, das registrierte Modell gelöscht.
  • Der Modellparametereinstellungsbereich 410 empfängt eine Auswahl eines Suchmodus als ein Einstellungsobjekt. Der Suchmodus ist für die Auswahl eines Verfahrens zum Beurteilen, wie hoch die Ähnlichkeit mit dem Modell ist. In dem Suchmodus kann durch Betätigen einer Optionsfläche 412 „Korrelation“ und „Form“ ausgewählt werden. „Korrelation“ ist ein Verfahren des Messens von Ähnlichkeit durch Berechnen eines Korrelationswerts mit dem Modell durch Normalisieren der Helligkeit der Eingabebilddaten. Derweil ist „Form“ ein Algorithmus zum Messen von Ähnlichkeit auf Basis eines Übereinstimmungsgrades mit einer Konturform des Modells. Es ist generell möglich eine Messung in dem „Korrelations“-Modus stabiler durchzuführen.
  • Falls in dem Suchmodus „Korrelation“ ausgewählt wird, ist es möglich, „Drehung“, „Stabilität“ und „Genauigkeit“ auszuwählen. Derweil ist es möglich, wenn „Form“ in dem Suchmodus ausgewählt wird, „Drehbereich“ und „Stabilität“ festzulegen.
  • Was „Drehung“ betrifft werden eine Vielzahl von Modellen intern durch Drehen eines registrierten Modells in einem vorbestimmten Winkel generiert, und Parametereinstellwerte in Bezug auf das Verarbeiten der Messähnlichkeit werden auf Basis der jeweiligen generierten Modelle in einem Fall designiert, in dem das Werkstück gedreht wird. Das heißt, falls ein Drehungs-Kontrollkästchen 414 markiert wird, dann wird die Drehungsverarbeitung aktiviert. Dann, wenn ein Drehbereich (ein oberer Grenzwert für den Drehwinkel und ein unterer Grenzwert für den Drehwinkel) bzw. ein Neigungswinkel in ein numerisches Wertfeld 415 eingegeben wurden, wird eine Generierung eines Modells durch Drehen des Werkstücks um den Neigungswinkel in dem Drehbereich designiert. Generell erhöht sich die Stabilität, aber eine Verarbeitungszeit erhöht sich mit zunehmendem Neigungswinkel. Beachten Sie, dass es möglich ist einen Smartmodus festzulegen, der dazu fähig ist, Drehungssuche mit Hochgeschwindigkeit durchzuführen.
  • Was „Stabilität“ betrifft wird die Priorität von Messstabilität oder Verarbeitungsgeschwindigkeit festgelegt. Das heißt, ein Gleitschieber 416 wird auf einen gewissen Wert in einer Spanne mit einer vorbestimmten Breite (zum Beispiel 1 bis 15) eingestellt; die Verarbeitungszeit wird mit geringerem eingestelltem Wert kürzer und die Verarbeitungszeit wird länger, während die Stabilität zunimmt, wenn der Wert höher ist.
  • Was „Genauigkeit“ betrifft wird die Priorität von Positionsgenauigkeit oder einer Verarbeitungsgeschwindigkeit festgelegt. Das heißt, ein Gleitschieber 418 wird auf einen gewissen Wert in einer Spanne mit einer vorbestimmten Breite (zum Beispiel 1 bis 3) eingestellt; die Verarbeitungszeit wird mit geringerem eingestelltem Wert kürzer und die Verarbeitungszeit wird länger, während die Genauigkeit zunimmt, wenn der Wert höher ist.
  • Der vorgenannte Inhalt ist in der Positionserkennungsverarbeitung durch Drücken einer OK-Taste 407 wiedergegeben. Beachten Sie, dass nicht wiedergegebener Inhalt in einem Fall zurückgesetzt wird, in dem eine Abbrechen-Taste 409 gedrückt wird.
  • Falls eine Registerkarte 402 für „Regioneinstellung“ nach solch einer Modellregistrierung gewählt wird, wird ein Einstellbildschirm zum Designieren eines Bereichs aus dem das Modell gesucht wird, dargestellt (Illustration davon wurde ausgelassen). Der Benutzer kann eine beliebige Region auf dem Bilddarstellungsbereich 404 als eine Suchregion auf dem Einstellbildschirm einstellen. Beachten Sie, dass obwohl die gesamten Eingabebilddaten als die Suchregion eingestellt werden können, es möglich ist, die Verarbeitungszeit durch Einschränken der Suchregion auf eine teilweise Region zu verkürzen.
  • Falls nach der Eingabe der Regioneinstellung eine Registerkarte 403 für „Messparameter“ ausgewählt wird, wird ein Einstellbildschirm 400B, wie in 6 veranschaulicht, dargestellt. Der Einstellungsbildschirm 400B enthält einen Messparametereinstellbereich 403#, einen Bilddarstellungsbereich 404, einen Gesamtdarstellungsbereich 406 und eine Darstellungssteuersymbolgruppe 408. Es werden ein Feststellungsbedingungseinstellbereich 420, ein Messbedingungseinstellbereich 450 und eine Messungstaste 452 in dem Messparametereinstellbereich 403# dargestellt.
  • Die Positionierungsmarkierungen und eine Suchregion 500, für die sich in der Regioneinstellung entschieden wurde, werden in dem Bilddarstellungsbereich 404 dargestellt.
  • Der Messbedingungseinstellbereich 450 erhält gültig/ungültig für „Filterverarbeitung“ und gültig/ungültig für „Größenvariationsverarbeitung“ als zusätzliches Verarbeiten (nachfolgend auch als zusätzliches Verarbeiten bezeichnet) der Sucherkennungsverarbeitung.
  • Das „Filterverarbeiten“ ist für das Verarbeiten zum Ermöglichen der Erkennung der Positionierungsmarkierungen durch Betonung von Abschnitten, die den Positionierungsmarkierungen in den Bilddaten entsprechen. In einem Fall, in dem die Positionierungsmarkierungen gedruckt sind nimmt ein Unterschied der Schattierung zwischen den Positionierungsmarkierungen und ihrer Umgebung zum Beispiel ab und es wird schwieriger Grenzen dazwischen zu identifizieren, falls die Druckgenauigkeit schlecht ist. Selbst in solch einem Fall ist es möglich das Sucherkennungsverarbeiten durchzuführen nachdem der Unterschied in der Schattierung zwischen den Positionierungsmarkierungen und ihrer Umgebung betont wurde, wenn das Filterverarbeiten auf effektiv eingestellt ist. Da es jedoch zum Durchführen von Bildverarbeitung Zeit für das Angleichen des Unterschieds in der Schattierung zwischen den Positionierungsmarkierungen und ihrer Umgebung in dem Filterverarbeiten bedarf, wird die gesamte Verarbeitungszeit des Sucherkennungsverarbeitens länger.
  • Das „Größenvariationsverarbeiten“ ist das Verarbeiten zum Ermöglichen der Erkennung der Positionierungsmarkierungen durch Hinzufügen von Verarbeiten gemäß den Größen der Abschnitte entsprechend zu den Positionierungsmarkierungen in die Bilddaten, selbst in einem Fall, in dem die Größen sich von den Originalgrößen unterscheiden. Falls die Druckgenauigkeit der Positionsmarkierungen zum Beispiel schlecht ist, können die Positionsmarkierungen mit Größen gedruckt werden, die sich von jenen in dem registrierten Modellbild unterscheiden. Selbst in solch einem Fall ist es möglich das Sucherkennungsverarbeiten unter Berücksichtigung der Größen der Positionsmarkierungen durchzuführen, wenn das Größenvariationsverarbeiten auf effektiv eingestellt ist. In einem Beispiel werden, wenn Merkmalsabschnitte, die durch Abtasten der Bilddaten spezifiziert wurden, mit jenen in dem registrierten Modellbild verglichen werden, eine Vielzahl von Modellen durch Variieren der Größe des Modellbildes generiert. Danach wird die Gesamtheit oder ein Teil aller der Vielzahl von generierten Modellbildern mit den Merkmalsabschnitten verglichen. Dann werden die Positionen der Merkmalsabschnitte durch Vergleich auf Basis eines Modellbildes, das die höchste Übereinstimmung zeigt, spezifiziert. Da es jedoch zum Durchführen von Verarbeitung gemäß den Größen der Positionsmarkierungen in dem Größenvariationsverarbeiten bedarf, wird die gesamte Verarbeitungszeit der Sucherkennungsverarbeitung länger.
  • In einem Fall, in dem ein Objekt in dem Messbedingungseinstellbereich 450 festgelegt oder verändert wird, drückt der Benutzer die Messtaste 452 und veranlasst die Feststellung, ob es möglich ist das Sucherkennungsverarbeiten ordnungsgemäß auszuführen oder nicht.
  • Der Feststellungsbedingungsbereich 420 empfängt Bedingungen für das Feststellen, dass die Übereinstimmung mit dem registrierten Modell („OK“) in der Ähnlichkeit (Korrelationswerte) an den jeweiligen gemessenen Koordinaten hergestellt ist. Konkreter: Es ist möglich vier Objekte als Einstellungsobjekte festzulegen, nämlich eine Messkoordinate X, eine Messkoordinate Y, einen Messwinkel und einen Korrelationswert. Für das Messen der Koordinate X und das Messen der Koordinate Y werden die jeweiligen Koordinatenbereiche, in die die gemessenen Koordinatenwerte (der Wert der X-Koordinate und der Wert der Y-Koordinate) mit aufzunehmen sind, durch Eingeben der jeweiligen numerischen Wertbereiche in numerische Wertfelder 422 und 424 festgelegt. Für den Messwinkel wird ein Winkelbereich, in dem ein gemessener Drehwinkel des Modells aufzunehmen ist, durch Eingeben eines numerischen Wertbereichs in ein numerisches Feld 426 festgelegt. Ferner wird für den Korrelationswert ein numerischer Wert, in dem der gemessene Korrelationswert in das Modell aufzunehmen ist, durch Eingeben eines numerischen Wertbereichs in ein numerisches Wertfeld 428 festgelegt.
  • Beachten Sie, dass in dem vorgenannten Sucherkennungsverarbeiten, das Suchen danach, welche Position (Koordinaten) in dem Eingabebild eine hohe Ähnlichkeit aufweist, durch sequenzielles Aktualisieren einer Region, in der Ähnlichkeit mit dem registrierten Modell in dem Eingabebild berechnet wird, erfolgt. Daher wird Ähnlichkeit bei einer Vielzahl jeweiliger Koordinaten in dem Eingabebild als tatsächliche interne Verarbeitung berechnet. Daher können die Resultate der Erkennung der zweiten und dritten Ähnlichkeit eine Ausgabe zusätzlich zu dem höchsten Wert unter allen berechneten Ähnlichkeitswerten sein.
  • Wie vorstehend beschrieben kann der Benutzer die Registerkarte 401 für „Modellregistrierung“, die Registerkarte für 402 „Regioneinstellung“ oder die Registerkarte 403 für „Messparameter“ auswählen und einen Prozessfluss (Algorithmen, Parametereinstellwerte), die für die Positionserkennung in diversen Einstellbildschirmen, die zu dem Zeitpunkt dargestellt werden, festlegen.
  • „Algorithmen“ gemäß der Ausführungsform bedeutet ein Verfahren der Positionserkennung und zusätzliches Verarbeiten in Bezug auf das Verfahren (zusätzliches Verarbeiten). Das Verfahren der Positionserkennung beinhaltet zum Beispiel in den Algorithmen Sucherkennungsverarbeitung und Randerkennungsverarbeitung. Da die Algorithmen Hauptalgorithmen für das Durchführen der Positionserkennung sind, werden die Algorithmen nachfolgend auch als Messalgorithmus bezeichnet. Das zusätzliche Verarbeiten, das in den Algorithmen beinhaltet ist, beinhaltet das Filterverarbeiten und Größenvariationsverarbeiten.
  • Da die Algorithmen das Verfahren der Positionserkennung (Messalgorithmus) enthalten und das zusätzliche Verarbeiten in Bezug auf das Verfahren (zusätzliches Verarbeiten) enthält, verändert sich die Verarbeitungsmenge während der Positionserkennung durch Verändern der Algorithmen und dies wird von einer Änderung der Verarbeitungszeit begleitet. Wenn das zusätzliche Verarbeiten zum Beispiel als ein Algorithmus aktiviert ist, steigt die Wahrscheinlichkeit einer erfolgreichen Positionserkennung und die Robustheit nimmt zu, während die Verarbeitungsmenge während der Positionserkennung sich entsprechend des Anstiegs erhöht und die Verarbeitungszeit wird länger. Zusätzlich nimmt, wenn eine Vielzahl von Algorithmustypen verwendet werden, die Wahrscheinlichkeit erfolgreicher Positionserkennung zu und die Robustheit nimmt zu, während die Verarbeitungsmenge während der Positionserkennung um die Menge zunimmt und die Verarbeitungszeit wird länger. Beachten Sie, dass die vorstehend genannten Algorithmen nur Beispiele sind und ein Verfahren zur Positionserkennung und jedwedes zusätzliches Verarbeiten in Bezug auf das Verfahren mit aufgenommen werden kann, solange die Robustheit sich durch die Veränderung in den Algorithmen verändert.
  • Die „Parametereinstellwerte“ bedeutet diverse Einstellungswerte, die verwendet werden, wenn die Positionserkennung gemäß den Algorithmen durchgeführt wird. Zum Beispiel können diverse Parametereinstellwerte, die in dem in 5 veranschaulichten Modellparametereinstellbereich 410 eingestellt werden können, durch Auswählen der Registerkarte 402 für „Regioneinstellung“ festgelegt werden und diverse Parametereinstellwerte, die in dem in 6 veranschaulichten Bedingungseinstellbereich 420 eingestellt werden können, sind als die Parametereinstellwerte in dem Sucherkennungsverarbeiten enthalten. Da die Parametereinstellwerte diverse Einstellwerte sind, die zum Durchführen von Positionserkennung gemäß Algorithmen verwendet werden, verändert sich die Verarbeitungsmenge zum Zeitpunkt der Veränderung der Positionserkennung durch Verändern der Parametereinstellwerte, was von einer Veränderung der Verarbeitungszeit begleitet wird. Obwohl die Wahrscheinlichkeit erfolgreicher Positionserkennung zunimmt und die Robustheit zunimmt, wenn die Parametereinstellwerte zum Beispiel zum Erweitern der Suchregion festgelegt werden, steigt die Verarbeitungsmenge während der Positionserkennung und die Verarbeitungszeit steigt um die Menge des Anstiegs. Zusätzlich nimmt, obwohl die Wahrscheinlichkeit erfolgreicher Positionserkennung zunimmt und die Robustheit zunimmt, wenn eine Vielzahl von Arten von Parametereinstellwerten verwendet werden zum Beispiel, die Verarbeitungsmenge während der Positionserkennung zu und die Verarbeitungszeit nimmt um die Menge des Anstiegs zu. Beachten Sie, dass die vorgenannten Parametereinstellwerte nur Beispiele sind, und dass jedwede Arten von Parametereinstellwerten aufgenommen werden können, solange die Robustheit sich durch die Veränderung der Werte verändert.
  • <Ausrichtungsverarbeiten>
  • 7 ist ein Flussdiagramm, das Ausrichtungsverarbeiten, das die Positionserkennungsvorrichtung 100 gemäß der Ausführungsform ausführt, veranschaulicht. Beachten Sie, dass die jeweiligen Schritte in der folgenden Beschreibung der Einfachheit halber als „S“ abgekürzt werden.
  • Wie in 7 veranschaulicht akquiriert die Positionserkennungsvorrichtung 100 Bilddaten eines Werkstücks durch Bildaufnahme des Werkstücks, das von der Bühne 300 transportiert wurde, mit den Kameras 102 und 104 (S2). Die Positionserkennungsvorrichtung 100 versucht die Positionserkennung des Werkstücks auf Basis der Bilddaten in Übereinstimmung mit dem ersten Erkennungsverarbeiten, das ist das Positionserkennungsverarbeiten, das das erste Mal durchgeführt wird, durchzuführen (S4). Insbesondere versucht die Positionserkennungsvorrichtung 100 die Positionserkennung der Positionierungsmarkierungen auf der Basis der Bilddaten gemäß einem Verarbeitungsfluss, der von dem Benutzer auf den Bildschirmen, wie in 5 und 6 veranschaulicht festgelegt hat, durchzuführen.
  • Die Positionserkennungsvorrichtung 100 stellt fest, ob die Positionserkennung des Werkstücks während des ersten Erkennungsverarbeitens (S6) erfolgreich durchgeführt wurde. In einem Fall, in dem die Positionserkennung des Werkstücks erfolgreich durchgeführt wurde (JA in S6) stellt die Positionserkennungsvorrichtung 100 fest, ob eine aktuelle Position des Werkstücks innerhalb der erforderlichen Genauigkeit liegt oder nicht (S8). In einem Fall, in dem die aktuelle Position des Werkstücks innerhalb der erforderlichen Genauigkeit liegt (JA in S8), gibt die Positionserkennungsvorrichtung 100 einen Befehl zum Steuern der Position des Werkstücks an die Bühne 300 (S10) aus. Die Positionserkennungsvorrichtung 100 gibt insbesondere einen Befehl zum Leiten des Werkstücks zu der Erfolgreichstrecke und zum Transportieren des Werkstücks zu dem nächsten Prozess in der Produktionslinie an die Bewegungssteuereinrichtung 200 aus. Danach schließt die Positionserkennungsvorrichtung 100 das Verarbeiten ab.
  • Derweil berechnet, in einem Fall, in dem die aktuelle Position des Werkstücks nicht innerhalb der erforderlichen Genauigkeit liegt (NEIN in S8), die Positionserkennungsvorrichtung 100 die Steuermenge der Bühne zum Korrigieren der Position des Werkstücks zu der Ausgangsposition (S12). Danach gibt die Positionserkennungsvorrichtung 100 einen Befehl zum Steuern der Position des Werkstücks an die Bewegungssteuereinrichtung 200 auf der Basis der berechneten Steuermenge der Bühne aus (S14) und kehrt zu dem Verarbeiten in S4 zurück. Auf diese Weise wird die Position des Werkstücks zu der Ausgangsposition korrigiert.
  • In einem Fall, in dem die Positionserkennungsvorrichtung 100 bei der Durchführung der Positionserkennung des Werkstücks bei dem Verarbeiten in S6 fehlgeschlagen ist (NEIN in S6), versucht die Positionserkennungsvorrichtung 100 ein zweites Erkennungsverarbeiten, das Positionserkennungsverarbeiten ist, das zum zweiten Mal auf Basis der gleichen Bilddaten, wie die Bilddaten, die in S4 verwendet wurden, gemäß dem zweiten Erkennungsverarbeiten (S16) durchzuführen. Dieses Mal verwendet die Positionserkennungsvorrichtung 100 einen Verarbeitungsfluss, der robuster ist als der Verarbeitungsfluss, der bei dem ersten Erkennungsverarbeiten in S4 verwendet wurde.
  • Es können bei dem zweiten Erkennungsverarbeiten, anders als bei dem ersten Erkennungsverarbeiten, zum Beispiel Algorithmen verwendet werden, die robuster sind. Es können bei dem zweiten Erkennungsverarbeiten, anders als bei dem ersten Erkennungsverarbeiten, zum Beispiel Parametereinstellwerte verwendet werden, die robuster sind. Obwohl die gleichen Algorithmen und die Parametereinstellwerte, wie jene bei dem ersten Erkennungsverarbeiten, in dem zweiten Erkennungsverarbeiten verwendet werden, kann die Anzahl von Malen, zu denen die Erkennung versucht wird, größer sein als bei dem ersten Erkennungsverarbeiten. Bei dem zweiten Erkennungsverarbeiten können anders als bei dem ersten Erkennungsverarbeiten Algorithmen verwendet werden, die robuster sind, und auch die Anzahl der Male, zu denen die Erkennung versucht wird, kann größer sein als die bei dem ersten Erkennungsverarbeiten. Bei dem zweiten Erkennungsverarbeiten können anders als bei dem ersten Erkennungsverarbeiten Parametereinstellwerte verwendet werden, die robuster sind, und auch die Anzahl der Male, zu denen die Erkennung versucht wird, kann größer sein als die bei dem ersten Erkennungsverarbeiten. Auf diese Weise ist das zweite Erkennungsverarbeiten das Durchführen von Positionserkennung, die durch Differenzieren des Inhalts (Algorithmen und Parametereinstellwerte) des Prozessflusses und der Anzahl von Malen, zu denen die Erkennung gegenüber dem ersten Erkennungsverarbeiten versucht wird, robuster.
  • Die Positionserkennungsvorrichtung 100 stellt fest, ob die Positionserkennung des Werkstücks während des zweiten Erkennungsverarbeitens (S18) erfolgreich durchgeführt wurde. In einem Fall, in dem die Positionserkennung des Werkstücks erfolgreich durchgeführt wurde (JA in S18), berechnet die Positionserkennungsvorrichtung 100 die Steuermenge der Bühne für das Korrigieren der Position des Werkstücks zum Transportieren des Werkstücks von der Produktionslinie nach außen (S20). Danach gibt die Positionserkennungsvorrichtung 100 einen Befehl zum Steuern der Position des Werkstücks an die Bewegungssteuereinrichtung 200 auf der Basis der berechneten Steuermenge der Bühne aus (S22). Die Positionserkennungsvorrichtung 100 gibt insbesondere einen Befehl zum Leiten des Werkstücks zu einer Fehlerstrecke an die Bewegungssteuereinrichtung 200 aus. Danach schließt die Positionserkennungsvorrichtung 100 das Verarbeiten ab.
  • Derweil empfängt, in einem Fall, in dem die Positionserkennung des Werkstücks fehlgeschlagen ist (NEIN in S18), die Positionserkennungsvorrichtung 100 eine manuelle Eingabe der Positionskoordinaten des Werkstücks durch den Benutzer von dem Benutzer (präziser ausgedrückt, die Positionskoordinaten der Positionierungsmarkierungen) (S24). Beachten Sie, dass ein konkretes Verfahren der manuellen Eingabe der Positionskoordinaten durch den Benutzer später unter Bezugnahme auf 8 beschrieben wird.
  • Die Positionserkennungsvorrichtung 100 speichert die von dem Benutzer in S24 manuell eingegebenen Positionskoordinaten (manuelle Eingabekoordinaten) in Zuordnung zu den Bilddaten zusammen mit den Bilddaten, wenn die Positionserkennung fehlgeschlagen ist (S26).
  • Die Positionserkennungsvorrichtung 100 stellt fest, ob eine Lernstartbedingung erfüllt wurde oder nicht (S28). Die Lernstartbedingung bezieht sich auf eine Bedingung für das Starten des Verarbeitungsflussentscheidungsverarbeitens. Das Prozessflussentscheidungsverarbeiten ist Verarbeiten zum Entscheiden, durch Maschinenlernen, des Verarbeitungsflusses, dem das zweite Erkennungsverarbeiten folgt und eine konkrete Beschreibung wird unter Bezugnahme auf 9 gegeben.
  • Beim Verarbeiten des Flussentscheidungsverarbeitens kann ein angemessener Verarbeitungsfluss nicht ohne einige Beispieldaten entschieden werden. Für das Lernen, ob die Startbedingung erfüllt wurde, ist es daher nur notwendig, dass die Anzahl der Paare von Bilddaten und manuellen Eingabekoordinaten, wenn die Positionserkennung fehlgeschlagen ist, eine vorbestimmte Anzahl übersteigt. Beachten Sie, dass die Lernstartbedingung nicht auf die Anzahl von Beispieldatenobjekten beschränkt ist, und es kann eine andere Bedingung, wie etwa eine abgelaufene Zeit, die Anzahl der Werkstücke, die zu der Produktionslinie transportiert wurden, ungeachtet dessen, ob die Positionserkennung erfolgreich durchgeführt wurde oder fehlgeschlagen ist, oder dergleichen durchgeführt werden.
  • In einem Fall, in dem die Lernstartbedingung erfüllt wurde (JA in S28), führt die Positionserkennungsvorrichtung 100 das Verarbeitungsflussentscheidungsverarbeitens (S30) durch und fährt mit dem Verarbeiten in und nach S20 fort. Derweil fährt die Positionerkennungsvorrichtung 100, in einem Fall, in dem die Lernstartbedingung nicht erfüllt wurde (NEIN in S28), mit dem Verarbeiten in und nach S20 fort ohne das Verarbeitungsflussentscheidungsverarbeiten auszuführen.
  • Auf diese Weise erkennt die Positionserkennungsvorrichtung 100 die Position des Werkstücks auf Basis der Bilddaten in Übereinstimmung mit dem ersten Erkennungsverarbeiten (S4), gibt den Steuerbefehl für das Steuern der Position des Werkstücks in einem Fall aus, in dem die Position des Werkstücks erkannt wurde (S10), oder erkennt die Position des Werkstücks auf Basis der Bilddaten gemäß dem zweiten Erkennungsverarbeiten, das robuster ist als das erste Erkennungsverarbeiten in einem Fall, in dem die Position des Werkstücks nicht erkannt wurde (S16), und gibt den Steuerbefehl für das Steuern der Position des Werkstücks auf Basis eines Resultats der Erkennung aus (S22).
  • Zusätzlich gibt die Positionserkennungsvorrichtung 100 den Steuerbefehl für das Steuern der Position des Werkstücks zum Transportieren des Werkstücks von der Produktionslinie nach außen aus, ungeachtet dessen, ob die Position des Werkstücks in dem zweiten Erkennungsverarbeiten erkannt wurde oder nicht (S22).
  • <Bildschirmanzeigebeispiel wenn die Positionserkennung fehlgeschlagen ist>
  • 8 ist ein Diagramm, das ein Bildschirmanzeigebeispiel veranschaulicht, wenn die Positionserkennung in der Positionserkennungsvorrichtung 100 gemäß der Ausführungsform fehlgeschlagen ist. Wie in 8 veranschaulicht wird auf der Displayeinheit 132 in einem Fall, in dem die Positionserkennung bei dem zweiten Erkennungsverarbeiten fehlgeschlagen ist (in einem Fall von NEIN in S18 in 7) ein Koordinateneinstellbildschirm 400C dargestellt. Nachfolgend wird der Koordinateneinstellbildschirm 400C beschrieben.
  • Der Koordinateneinstellbildschirm 400C beinhaltet einen Bilddarstellungsbereich 490, einen Dateneinstellbereich 470, einen Koordinatenanzeigebereich 480 und eine Darstellungssteuersymbolgruppe 488.
  • Die Bilddaten, mit denen die Positionserkennung durchgeführt wurde, werden in dem Bilddarstellungsbereich 490 dargestellt. Obwohl die Positionierungsmarkierungen, die in dem Bild, das in dem Bilddarstellungsbereich 490 dargestellt wird, repräsentiert sind, nimmt der Unterschied der Schattierung zwischen den Positionsmarkierungen und ihrer Umgebung ab und es ist schwierig, aufgrund der schlechten Druckgenauigkeit ihre Grenzen zu identifizieren. Zusätzlich wird ein Cursor 460, einschließlich eines Kreuzsymbols 465, in dem Bilddarstellungsbereich 490 dargestellt. Der Benutzer kann den Cursor 460 durch Auswählen einer Kreuztaste 474 bewegen, was später beschrieben wird, indem er die Tastatur 134 oder die Maus 138 verwendet und er kann Koordinaten als manuelle Eingabekoordinaten festlegen, an denen sich der Mittelpunkt des Kreuzsymbols 465 befindet.
  • Ein Datendarstellungsabschnitt 471, ein X-Koordinatenwertabschnitt 472, ein Y-Koordinatenwertabschnitt 473, die Kreuztaste 474 werden in dem Dateneinstellbereich 470 dargestellt. Eine Referenznummer, Messkoordinaten (Pixel) und ein Zustand werden in dem Datendarstellungsabschnitt 471 dargestellt. Ein X-Koordinatenwert der Koordinaten, an denen sich der Mittelpunkt des Kreuzsymbols 465 befindet, wird in dem X-Koordinatenwertabschnitt 472 repräsentiert. Ein Y-Koordinatenwert der Koordinaten, an denen sich der Mittelpunkt des Kreuzsymbols 465 befindet, wird in dem Y-Koordinatenwertabschnitt 473 repräsentiert.
  • Die von den Kameras 102 und 104 akquirierten Bilddaten werden schematisch repräsentiert und die X-Achse und die Y-Achse werden zum leichteren Verständnis der Koordinaten in dem Koordinatendarstellungsbereich 480 repräsentiert. Wenn der Benutzer den Cursor 460 durch Auswählen der Kreuztaste 474 auswählt, bewegt sich ein Zeiger 485 in dem Koordinatendarstellungsbereich 480 in Übereinstimmung mit der Bewegung. Ferner werden die Darstellungsreichweite und die Darstellungsgenauigkeit der in dem Koordinatendarstellungsbereich 480 darzustellenden Bilddaten gemäß der Operation eines Benutzers (Vergrößerung, Größenreduzierung oder dergleichen), die an der Darstellungssteuersymbolgruppe 488 durchgeführt werden, verändert. Der Benutzer kann die Positionskoordinaten der Positionierungsmarkierungen durch Auswählen der Kreuztaste 474 während des Prüfens der Position des Zeigers 485 besser entscheiden.
  • Wenn der Benutzer eine OK-Taste 495 drückt, werden die Positionskoordinaten, für die sich der Benutzer entschieden hat, als Einstellwerte der manuellen Eingabekoordinaten wiedergegeben. Auf diese Weise kann der Benutzer die Positionskoordinaten festlegen, während er visuell das Bild, das auf dem Koordinateneinstellbildschirm 400C dargestellt wird in einem Fall prüfen, in dem die Positionserkennung bei dem zweiten Erkennungsverarbeiten fehlgeschlagen ist.
  • <Verarbeitungsflussentscheidungsverarbeiten>
  • 9 ist ein Flussdiagramm, das Verarbeitungsflussentscheidungsverarbeitung veranschaulicht, die die Positionserkennungsvorrichtung 100 gemäß der Ausführungsform ausführt. Beachten Sie, dass die jeweiligen Schritte in der folgenden Beschreibung der Einfachheit halber als „S“ abgekürzt werden.
  • Wie in 9 veranschaulicht extrahiert die Positionserkennungsvorrichtung 100 einen Verarbeitungsfluss, der bei dem laufenden zweiten Erkennungsverarbeiten verwendet wird (S3202). Die Positionserkennungsvorrichtung 100 extrahiert insbesondere einen Verarbeitungsfluss, der in dem zweiten Erkennungsverarbeiten in S16 in 7 verwendet wird.
  • Die Positionserkennungsvorrichtung 100 generiert Verarbeitungsflusskandidaten auf Basis des extrahierten Verarbeitungsflusses (S3204). Die Positionserkennungsvorrichtung 100 generiert zum Beispiel eine Vielzahl von Arten von Verarbeitungsflusskandidaten durch Aktualisieren von mindestens entweder den Algorithmen oder den Parametereinstellwerten unter Bezugnahme auf die Algorithmen und die Parametereinstellwerte, die in dem laufenden Verarbeitungsfluss enthalten sind. Beachten Sie, dass jedwedes Verfahren als das Verfahren zum Generieren der Verarbeitungsflusskandidaten verwendet werden kann. Die Vielzahl der Arten von Verarbeitungsflusskandidaten kann zum Beispiel durch Maschinenlernen auf Basis der Anzahl der Male, die die Positionserkennung in dem zweiten Erkennungsverarbeiten in der Vergangenheit fehlgeschlagen ist, und des Inhalts der Verarbeitungsflüsse, die zu diesem Zeitpunkt verwendet wurden, generiert werden.
  • Die Positionserkennungsvorrichtung 100 versucht, wenn die Positionserkennung fehlgeschlagen ist, die Positionserkennung unter Verwendung der Bilddaten, die akkumuliert und in dem Verarbeiten in S26 in 7 gespeichert wurden, auf Basis der genierten jeweiligen Verarbeitungsflüsse durchzuführen (S3206). Zu diesem Zeitpunkt kann die Positionserkennungsvorrichtung 100 versuchen, die Positionserkennung unter Verwendung aller Bilddatenobjekte, die in der Vergangenheit akkumuliert und gespeichert wurden, durchzuführen, oder die Anzahl der Bilddatenobjekte kann beschränkt sein.
  • Die Positionserkennungsvorrichtung 100 beurteilt, ob die generierten jeweiligen Verarbeitungsflüsse angemessen sind oder nicht auf Basis des Resultats der Erkennung auf Grundlage der generierten jeweiligen Verarbeitungsflüsse und der manuellen Eingabekoordinaten, die den Bilddaten zugeordnet und mit diesen gespeichert sind, wenn die Positionserkennung fehlgeschlagen ist (S3208).
  • Die Positionserkennungsvorrichtung 100 entscheidet einen optimalen Verarbeitungsfluss aus den generierten jeweiligen Verarbeitungsflüssen auf Basis des Resultats der Beurteilung, die aus dem Verarbeiten in S3208 erhalten wurde und setzt den entschiedenen Verarbeitungsfluss als einen Verarbeitungsfluss für das folgende zweite Erkennungsverarbeiten ein (S3210). Danach schließt die Positionserkennungsvorrichtung 100 das Verarbeiten ab. Beachten Sie, dass die Entscheidung des optimalen Verarbeitungsflusses später unter Bezugnahme auf 11 beschrieben wird.
  • Auf diese Weise entscheidet die Positionserkennungsvorrichtung 100 den optimalen Verarbeitungsfluss durch Aktualisieren von mindestens den Algorithmen oder der Parametereinstellwerte, dass das zweite Erkennungsverarbeiten auf Basis der gespeicherten Bilddaten und den Positionsdaten, die den Bilddaten zugeordnet sind, abläuft.
  • <Überblick über das Verarbeitungsflussentscheidungsverarbeiten>
  • 10 ist ein Diagramm zum Erläutern eines Überblicks der Verarbeitungsflussentscheidungsverarbeitung, die die Positionserkennungsvorrichtung 100 gemäß der Ausführungsform ausführt.
  • Wie in 10 veranschaulicht extrahiert die Positionserkennungsvorrichtung 100 den Prozessfluss, der in dem laufenden zweiten Erkennungsverarbeiten verwendet wird, durch eine ständige Verarbeitungsflussanwendung 40. Als nächstes generiert die Positionserkennungsvorrichtung 100 Verarbeitungsflusskandidaten 60 auf Basis des extrahierten Verarbeitungsflusses durch eine Verarbeitungsflusskandidatengenerierungsanwendung 50. Die Positionserkennungsvorrichtung 100 versucht, wenn die Positionserkennung fehlgeschlagen ist, die Positionserkennung durch Verwendung eines Bilddatenobjekts 10a in einer Datengruppe 10, die akkumuliert und gespeichert wurde, auf Basis der generierten jeweiligen Verarbeitungsflüsse 60 durch eine Erkennungsverarbeitungsanwendung 22 durchzuführen.
  • Die Positionserkennungsvorrichtung 100 beurteilt, ob die generierten jeweiligen Verarbeitungsflüsse 60 angemessen sind, auf Basis eines Resultats der Erkennung 26 Ausgabe durch die Erkennungsverarbeitungsanwendung 22 und gibt manuelle Eingabekoordinaten 10b entsprechend der Bilddaten 10a, für die die Positionserkennung versucht wird, durch eine Beurteilungsverarbeitungsanwendung 32 ein.
  • Die Positionserkennungsvorrichtung 100 entscheidet einen optimalen Verarbeitungsfluss aus den generierten jeweiligen Verarbeitungsflüssen 60 auf Basis eines Resultats der Beurteilung 70, das von der Beurteilungsverarbeitungsanwendung 32 erhalten wurde.
  • <Überblick über das Beurteilungsresultat>
  • 11 ist ein Diagramm zum Erläutern eines Resultats der Beurteilung von Verarbeitungsflüssen in der Positionserkennungsvorrichtung 100 gemäß der Ausführungsform.
  • Wie in 11 veranschaulicht enthält das Resultat der Beurteilung einen Verarbeitungsfluss, einschließlich Algorithmen 1200 und Parametereinstellwerten 1300, und ein Resultat der Beurteilung davon 1400, das den generierten jeweiligen Verarbeitungsflusskandidaten 1100 entspricht.
  • Die Algorithmen 1200 enthalten Messalgorithmen 1210 und zusätzliches Verarbeiten 1220. Die Messalgorithmen 1210 enthalten Sucherkennungsverarbeiten 1211 und Randerkennungsverarbeiten 1212. Das zusätzliche Verarbeiten 1220 enthält Filterverarbeiten 1221 und Größenvariationsverarbeiten 1222. Die Parametereinstellwerte 1300 enthalten eine Suchregion 1301. Beachten Sie, dass diese Algorithmen 1200 und die Parametereinstellwerte 1300 nur Beispiele sind, und dass die Resultate der Beurteilung andere Algorithmen und Parametereinstellwerte enthalten können.
  • In diesem Beispiel werden sechs Arten von Kandidaten als Verarbeitungsflusskandidaten generiert. Für jedweden der Kandidaten wird als die Messalgorithmen das Sucherkennungsverarbeiten auf effektiv gesetzt und das Randerkennungsverarbeiten wird auf ineffektiv gesetzt. Zusätzlich werden für die Kandidaten 1 bis 3 weder das Filterverarbeiten, noch das Größenvariationsverarbeiten auf ineffektiv als das zusätzliche Verarbeiten gesetzt. Für die Kandidaten 4 bis 6 wird als das zusätzliche Verarbeiten das Filterverarbeiten auf ineffektiv gesetzt, während das Größenvariationsverarbeiten auf effektiv gesetzt wird. Zusätzlich sind, obwohl die Suchregionen als die Parametereinstellwerte für die Kandidaten eingestellt sind, die Suchregionen zwischen den Kandidaten gemäß den Einstellwerten unterschiedlich. Für die Kandidaten 1 und 4 sind die Suchregionen zum Beispiel die breitesten in allen Kandidaten. Gleichzeitig sind die Suchregionen in allen Kandidaten für die Kandidaten 3 und 6 die engsten.
  • Obwohl die Kandidaten, für die das Filterverarbeiten auf effektiv gesetzt wurde, robuster sind als die Kandidaten, für die das Filterverarbeiten aus ineffektiv gesetzt wurde, ist die Verarbeitungszeit der Kandidaten, für die das Filterverarbeiten auf effektiv gesetzt wurde, tendenziell länger. Zusätzlich sind die Kandidaten, für die die Suchregionen auf breiter gesetzt wurden, robuster als die Kandidaten, für die die Suchregionen auf enger gesetzt wurden, wobei die Verarbeitungszeit von Kandidaten, für die die Suchregionen auf breiter gesetzt wurde, tendenziell länger ist.
  • Die Positionserkennungsvorrichtung 100 entscheidet einen optimalen Verarbeitungsfluss aus den aufgeführten Kandidaten 1 bis 6 auf Basis einer vorbestimmten Einsatzreferenz, falls das Resultat der Beurteilung, wie in 11 veranschaulicht, erhalten wird. Die Einsatzreferenz kann von dem Benutzer entsprechend festgelegt werden.
  • Die Positionserkennungsvorrichtung 100 kann zum Beispiel als den optimalen Verarbeitungsfluss einen Kandidaten mit der kleinsten Abweichung 1401 zwischen den Positionskoordinaten, die zum Zeitpunkt der Beurteilung erkannt wurden, und den manuellen Eingabekoordinaten, die in der Vergangenheit gespeichert wurden, entscheiden. In einem Fall, in dem der Kandidat mit der geringsten Abweichung 1401 ausgewählt wird, wird für einen robusteren Verarbeitungsfluss entschieden.
  • Zusätzlich kann die Positionserkennungsvorrichtung 100 als einen optimalen Verarbeitungsfluss einen Kandidaten mit der kürzesten Verarbeitungszeit 1402 entscheiden. In einem Fall, in dem der Kandidat mit der kürzesten Verarbeitungszeit 1402 gewählt wird, wird für einen Verarbeitungsfluss mit einer kürzeren Verarbeitungszeit entschieden.
  • Ferner kann die Positionserkennungsvorrichtung 100 eine gewichtete Abweichung zwischen den Positionskoordinaten, die zum Zeitpunkt der Beurteilung erkannt wurden, und die Abweichung von manuellen Eingabekoordinaten 1401, die in der Vergangenheit gespeichert wurden, und der gewichteten Verarbeitungszeit 1402 berechnen und einen optimalen Verarbeitungsfluss auf Basis der beurteilten Werte entscheiden. Beachten Sie, dass ein Verfahren zum Gewichten der Abweichung 1401 und der Verarbeitungszeit 1402, des Gewichtungsverhältnisses und dergleichen möglicherweise von dem Benutzer gesetzt werden oder durch die Positionserkennungsvorrichtung 100 durch Maschinenlernen auf Basis akkumulierter Daten entschieden werden kann. Auf diese Weise wird der optimale Verarbeitungsfluss unter Berücksichtigung der Robustheit und der Verarbeitungszeit in einem Fall entschieden, in dem die Kandidaten unter Berücksichtigung der Abweichung und der Verarbeitungszeit ausgewählt werden.
  • <Spezifische Beispiele>
  • 12 bis 15 sind Diagramme, die Beispiele zum Erklären der Unterschiede in der Robustheit zwischen dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten in der Positionserkennungsvorrichtung 100 gemäß der Ausführungsform veranschaulichen.
  • 12 veranschaulicht ein Beispiel eines Falles, in dem die Algorithmen die gleichen sind und die Parametereinstellwerte in dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten unterschiedlich sind. Insbesondere wird das Sucherkennungsverarbeiten verwendet, während das zusätzliche Verarbeiten als die Algorithmen in dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten auf ineffektiv gesetzt ist. Jedoch ist in dem ersten Erkennungsverarbeiten ein Teil der Suchregion festgelegt, während in dem zweiten Erkennungsverarbeiten die gesamte Suchregion festgelegt ist.
  • (A-1) von (A) in 12 zeigt „Position wurde erfolgreich erkannt“, (A-2) von (A) in 12 zeigt „Positionserkennung ist fehlgeschlagen“, (B-1) von (B) in 12 zeigt „Position wurde erfolgreich erkannt“ und (B-2) von (B) in 12 zeigt „Position wurde erfolgreich erkannt“. Beachten Sie, dass die Positionserkennung in den Beispielen, die jeweils in (A-1) von (A) in 12 und (B-1) von (B) in 12 veranschaulicht sind, für die gleichen, normalen Bilddaten (nachfolgend auch als Normalzustandsbilddaten bezeichnet) durchgeführt wird. Die Bilddaten in dem Normalzustand sind zum Beispiel Bilddaten, die durch Bildaufnahme des Werkstücks, auf dem die Positionierungsmarkierungen normal gedruckt wurden, das in einer normalen Position auf der Bühne angeordnet ist, erhalten wurden. Gleichzeitig wird die Positionserkennung für Bilddaten, die nicht normal sind (nachfolgend auch als Abnormzustandsbilddaten bezeichnet), die in den beiden Beispielen, die in (A-2) von (A) in 12 und (B-2) von (B) in 12 veranschaulicht sind, durchgeführt. Die Abnormzustandsbilddaten in diesem Beispiel sind Bilddaten des Werkstücks, auf dem die Positionierungsmarkierungen normal gedruckt sind, das an einer Position auf der Bühne angeordnet ist, die nicht normal ist (die Positionen weichen auf der oberen linken Seite von den Normalpositionen in diesem Beispiel ab).
  • Wenn das erste Erkennungsverarbeiten für die Normalzustandsbilddaten, wie in (A-1) von (A) in 12 veranschaulicht, durchgeführt wird, befinden die Positionierungsmarkierungen sich in der Suchregion 500 und die Positionserkennungsvorrichtung 100 kann die Positionierungsmarkierungen somit erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Normalzustandsbilddaten, wie in (B-1) von (B) in 12 veranschaulicht, durchgeführt wird, befinden sich die Positionierungsmarkierungen auf eine Weise in der Suchregion 500, die der in dem ersten Erkennungsverarbeiten ähnlich ist und die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen erkennen.
  • Wenn das erste Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (A-2) von (A) in 12 veranschaulicht, durchgeführt wird, befinden sich die Positionierungsmarkierungen nicht in der Suchregion 500 und die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen nicht erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (B-2) von (B) in 12 veranschaulicht, durchgeführt wird, befinden sich die Positionierungsmarkierungen in der Suchregion 500 und die Positionserkennungsvorrichtung 100 kann die Positionierungsmarkierungen somit erkennen. Es bedarf jedoch einer längeren Verarbeitungszeit für das zweite Erkennungsverarbeiten, da die Verarbeitungsmenge zum Zeitpunkt der Positionserkennung im Vergleich zu dem ersten Verarbeitungserkennen um die Menge steigt, um die die breite Suchregion 500 breit ist.
  • 13 veranschaulicht ein Beispiel eines Falls, in dem die Algorithmen unterschiedlich sind und die Parametereinstellwerte in dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten gleich sind. Insbesondere wird das Filterverarbeiten, obwohl das Sucherkennungsverarbeiten als Algorithmen in dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten verwendet wird, für das erste Erkennungsverarbeiten auf ineffektiv gesetzt, während das Filterverarbeiten für das zweite Erkennungsverarbeiten als das zusätzliche Verarbeiten auf effektiv gesetzt ist.
  • (A-1) von (A) in 13 zeigt „Position wurde erfolgreich erkannt“, (A-2) von (A) in 13 zeigt „Positionserkennung ist fehlgeschlagen“, (B-1) von (B) in 13 zeigt „Position wurde erfolgreich erkannt“ und (B-2) von (B) in 13 zeigt „Position wurde erfolgreich erkannt“. Beachten Sie, dass die Positionserkennung in den Beispielen, die jeweils in (A-1) von (A) in 13 und (B-1) von (B) in 13 veranschaulicht ist, für die gleichen Normalzustandsbilddaten durchgeführt wird. Derweil wird die Positionserkennung für die Abnormzustandsbilddaten in den beiden Beispielen durchgeführt, die jeweils in (A-2) von (A) in 13 und (B-2) von (B) in 13 veranschaulicht sind. Die Abnormzustandsbilddaten in dem Beispiel sind Bilddaten des Werkstücks, für das es schwierig wird, die Grenzen zwischen den Positionierungsmarkierungen und ihrer Umgebung zu identifizieren.
  • Wenn das erste Erkennungsverarbeiten für die Normalzustandsbilddaten, wie in (A-1) von (A) in 13 veranschaulicht, durchgeführt wird, sind die Positionierungsmarkierungen klar und die Positionserkennungsvorrichtung 100 kann die Positionierungsmarkierungen somit erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Normalzustandsbilddaten, wie in (B-1) von (B) in 13 veranschaulicht, durchgeführt wird, sind die Positionierungsmarkierungen auf eine Weise klar, die jener in dem ersten Erkennungsverarbeiten ähnlich ist; die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen erkennen.
  • Wenn das erste Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (A-2) von (A) in 13 veranschaulicht, durchgeführt wird, sind die Positionierungsmarkierungen nicht klar und somit kann die Positionserkennungsvorrichtung 100 die Positionierungsmarkierungen nicht erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (B-2) von (B) in 13 veranschaulicht, durchgeführt wird werden die Positionierungsmarkierungen durch das Filterverarbeiten klar; die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen erkennen. Es bedarf jedoch einer längeren Verarbeitungszeit für das zweite Erkennungsverarbeiten, da die Verarbeitungsmenge zum Zeitpunkt der Bilderkennung im Vergleich zu dem ersten Erkennungsverarbeiten um die Menge zunimmt, die der Ausführung des Filterverarbeitens entspricht.
  • 14 veranschaulicht ein Beispiel eines Falles, in dem Algorithmen unterschiedlich sind und Parametereinstellwerte in dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten gleich sind. Insbesondere wird das Filterverarbeiten, obwohl das Sucherkennungsverarbeiten als die Algorithmen in dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten verwendet wird, und das Größenvariationsverarbeiten für das erste Erkennungsverarbeiten auf ineffektiv gesetzt ist, während das Größenvariationsverarbeiten für das zweite Erkennungsverarbeiten als das zusätzliche Verarbeiten auf effektiv gesetzt ist.
  • (A-1) von (A) in 14 zeigt „Position wurde erfolgreich erkannt“, (A-2) von (A) in 14 zeigt „Positionserkennung ist fehlgeschlagen“, (B-1) von (B) in 14 zeigt „Position wurde erfolgreich erkannt“ und (B-2) von (B) in 14 zeigt „Position wurde erfolgreich erkannt“. Die Positionserkennung wird in den beiden Beispielen, die jeweils in (A-1) von (A) in 14 und (B-1) von (B) in 14 veranschaulicht sind, für die gleichen Normalzustandsbilddaten durchgeführt. Derweil wird die Positionserkennung für die Abnormzustandsbilddaten in den beiden Beispielen durchgeführt, die jeweils in (A-2) von (A) in 14 und (B-2) von (B) in 14 veranschaulicht sind. Die Abnormzustandsbilddaten in diesem Beispiel sind Bilddaten des Werkstücks, für das die Positionierungsmarkierungen größer als die Originalgrößen gedruckt wurden.
  • Wenn das erste Erkennungsverarbeiten für die Normalzustandsdaten, wie in (A-1) von (A) in 14 veranschaulicht, durchgeführt wird, sind die Positionierungsmarkierungen in Originalgrößen gedruckt und die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Normalzustandsbilddaten, wie in (B-1) von (B) in 14 veranschaulicht, durchgeführt wird, sind die Positionierungsmarkierungen auf eine Weise in Originalgrößen gedruckt, die der in dem ersten Erkennungsverarbeiten ähnlich sind, und die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen erkennen.
  • Wenn das erste Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (A-2) von (A) in 14 veranschaulicht, durchgeführt wird, sind die Positionierungsmarkierungen größer als in Originalgrößen gedruckt und die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen nicht erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (B-2) von (B) in 14 veranschaulicht, durchgeführt wird, wird das Sucherkennungsverarbeiten auf Basis einer Vielzahl von Modellbildern durchgeführt, die gemäß den Größen der Positionierungsmarkierungen durch das Größenvariationsverarbeiten generiert wurden, und die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen erkennen. Es bedarf jedoch einer längeren Verarbeitungszeit für das zweite Erkennungsverarbeiten, da die Verarbeitungsmenge zum Zeitpunkt der Positionserkennung im Vergleich zu dem ersten Erkennungsverarbeiten um die Menge zunimmt, die der Ausführung des Größenvariationsverarbeitens entspricht.
  • 15 veranschaulicht ein Beispiel eines Falles, in dem Algorithmen unterschiedlich sind und Parametereinstellwerte in dem ersten Erkennungsverarbeiten und dem zweiten Erkennungsverarbeiten ebenfalls unterschiedlich sind. Insbesondere wird für das erste Erkennungsverarbeiten das Randerkennungsverarbeiten verwendet, während für das zweite Erkennungsverarbeiten als Messalgorithmen das Sucherkennungsverarbeiten verwendet wird. Zusätzlich werden für das erste Erkennungsverarbeiten Parameter für das Randerkennungsverarbeiten verwendet, während für das zweite Erkennungsverarbeiten als die Parametereinstellwerte Parameter für Sucherkennungsverarbeiten verwendet werden. Eine Randregion, die zum Beispiel in dem ersten Erkennungsverarbeiten verwendet wird, ist zum Beispiel teilweise festgelegt, während die Suchregion, die in dem zweiten Verarbeiten verwendet wird, vollständig festgelegt ist.
  • (A-1) von (A) in 15 zeigt „Position wurde erfolgreich erkannt“, (A-2) von (A) in 15 zeigt „Positionserkennung ist fehlgeschlagen“, (B-1) von (B) in 15 zeigt „Position wurde erfolgreich erkannt“ und (B-2) von (B) in 15 zeigt „Position wurde erfolgreich erkannt“. Beachten Sie, dass die Positionserkennung, die in den beiden Beispielen, die jeweils in (A-1) von (A) in 15 und (B-1) von (B) in 15 veranschaulicht sind, für die gleichen Normalzustandsbilddaten durchgeführt wird. Derweil wird die Positionserkennung für Abnormzustandsbilddaten in den beiden Beispielen durchgeführt, die jeweils in (A-2) von (A) in 15 und (B-2) von (B) in 15 veranschaulicht sind. Die Abnormzustandsbilddaten in diesem Beispiel sind Bilddaten des Werkstücks, die in Positionen angeordnet sind, die auf der Bühne nicht normal sind (Positionen weichen in diesem Beispiel auf der oberen linken Seite von den normalen Positionen ab), obwohl die Positionierungsmarkierungen (Kreise in diesem Beispiel) normal gedruckt sind.
  • Wenn das erste Erkennungsverarbeiten für die Normalzustandsdaten, wie in (A-1) von (A) in 15 veranschaulicht, durchgeführt wird, befinden die Positionierungsmarkierungen sich in der Randregion 600 und die Positionserkennungsvorrichtung 100 kann die Positionierungsmarkierungen somit erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Normalzustandsdaten, wie in (B-1) von (B) in 15 veranschaulicht, durchgeführt wird, befinden sich die Positionierungsmarkierungen in der Suchregion 500 und die Positionserkennungsvorrichtung 100 kann die Positionierungsmarkierungen somit erkennen.
  • Wenn das erste Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (A-2) von (A) in 15 veranschaulicht, durchgeführt wird, befinden sich die Positionierungsmarkierungen nicht in der Randregion 600 und die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen nicht erkennen. Wenn derweil das zweite Erkennungsverarbeiten für die Abnormzustandsbilddaten, wie in (B-2) von (B) in 15 veranschaulicht, durchgeführt wird, befinden sich die Positionierungsmarkierungen in der Suchregion 500; die Positionserkennungsvorrichtung 100 kann somit die Positionierungsmarkierungen erkennen. Die Verarbeitungsmenge des Sucherkennungsverarbeitens, die in dem zweiten Erkennungsverarbeiten verwendet wird, ist jedoch größer als die des Randerkennungsverarbeitens, das in dem ersten Erkennungsverarbeiten verwendet wird, und die Abtastregion in dem zweiten Erkennungsverarbeiten ist breiter. Es bedarf daher für das zweite Erkennungsverarbeiten einer längeren Verarbeitungszeit als für das erste Erkennungsverarbeiten.
  • Auf diese Weise ist das zweite Erkennungsverarbeiten ein Verarbeiten, das eine größere Verarbeitungsmenge und eine längere Verarbeitungszeit erforderlich macht, während es robuster als das erste Erkennungsverarbeiten ist.
  • Wie vorstehend beschrieben erkennt die Positionserkennungsvorrichtung 100 in einem Fall, in dem die Position des Werkstücks auf Basis der Bilddaten gemäß dem ersten Erkennungsverarbeiten nicht erkannt werden kann, die Position des Werkstücks auf Basis der gleichen Bilddaten gemäß dem zweiten Erkennungsverarbeiten, das robuster ist als das erste Erkennungsverarbeiten. Dann berechnet, in einem Fall, in dem die Position des Werkstücks in dem zweiten Erkennungsverarbeiten erkannt werden kann, berechnet die Positionserkennungsvorrichtung 100 den Steuerbetrag der Bühne 300 unter Verwendung der erkannten Positionskoordinaten und gibt einen Befehl zum Steuern der Position des Werkstücks an die Bewegungssteuereinrichtung 200 auf Basis des berechneten Steuerbetrags der Bühne aus. Auf diese Weise ist es möglich, eine Häufigkeit zu reduzieren, mit der der Benutzer die Position visuell prüft und manuell die Positionskoordinaten eingibt und dadurch wird verhindert, dass die Produktivität sich in vollem Ausmaß verschlechtert, selbst in einem Fall, in dem die Position des Werkstücks nicht erkannt wurde.
  • Zusätzlich empfängt die Positionserkennungsvorrichtung 100 in einem Fall, in dem die Position des Werkstücks nicht auf Basis der Bilddaten gemäß dem zweiten Erkennungsverarbeiten erkannt werden kann, die manuelle Eingabe des Benutzers und ordnet die manuellen Eingabekoordinaten, die von dem Empfang erhalten wurden, den Bilddaten zu und speichert sie. Dann, wenn die Anzahl der Paare akkumulierter und gespeicherter Bilddaten und der manuellen Eingabedaten eine vorbestimmte Anzahl überschreitet, entscheidet die Positionserkennungsvorrichtung 100 einen optimalen Verarbeitungsfluss für das zweite Erkennungsverarbeiten unter Berücksichtigung der Robustheit und der Verarbeitungszeit über das Verarbeitungsflussentscheidungsverarbeiten. Die Positionserkennungsvorrichtung 100 kann ab dem nächsten Mal das zweite Erkennungsverarbeiten unter Verwendung des entschiedenen optimalen Verarbeitungsflusses ausführen.
  • <Modifikationsbeispiele>
  • In dem Positionssteuersystem 1 gemäß der Ausführungsform gibt die Positionserkennungsvorrichtung 100 den Befehl für das Steuern der Position des Werkstücks, um das Werkstück von der Produktionslinie nach außen zu transportieren, an die Bewegungssteuereinrichtung 200 ungeachtet dessen aus (S22), ob die Position des Werkstücks in dem zweiten Erkennungsverarbeiten (ungeachtet des Resultats in S18) erkannt wurde, wie in 7 veranschaulicht. Die Positionserkennungsvorrichtung 100 kann jedoch das Verarbeiten wie in 16 veranschaulicht ausführen.
  • 16 ist ein Flussdiagramm, das Ausrichtungsverarbeitung, die die Positionserkennungsvorrichtung 100 gemäß einem Modifikationsbeispiel der Ausführungsform ausführt, veranschaulicht. Insbesondere kann die Positionserkennungsvorrichtung 100 in einem Fall, in dem die Position des Werkstücks in dem zweiten Erkennungsverarbeiten erkannt wurde (JA in S18a), mit dem Verarbeiten in S8 fortfahren, um den gleichen Fluss zu durchlaufen, der auch eingesetzt wird, wenn die Position des Werkstücks in dem ersten Erkennungsverarbeiten erkannt wurde (JA in S6). Die Abnormzustandsbilddaten, die in 12 und 15 veranschaulicht sind, sind zum Beispiel nur an einer Position angeordnet, die auf der Bühne nicht normal ist, und die Positionsmarkierungen sind auf dem Werkstück selber normal gedruckt. Daher ist es, wie in 16 veranschaulicht, in einem Fall, in dem die Position des Werkstücks in dem zweiten Erkennungsverarbeiten, das robuster als das erste Erkennungsverarbeiten ist, erkannt wurde, möglich einen Ertrag durch Bewegen zu einem Fluss für das Transportieren des Werkstücks zu dem nächsten Prozess der Produktionslinie zu verbessern.
  • In dem Positionskontrollsystem 1 gemäß der Ausführungsform führt die Positionserkennungsvorrichtung 100 die Positionserkennung des Werkstücks aus, berechnet ferner die Steuermenge der Bühne 300 und gibt einen Befehl für das Steuern der Bühne 300 aus. Das Positionskontrollsystem 1 kann jedoch eine Vorrichtung enthalten, die andere Funktionen zusätzlich zu den Funktionen, die die Positionserkennungsvorrichtung 100 hat, aufweist. Zusätzlich kann die Positionserkennungsvorrichtung 100 nur die Funktion des Erkennens des Werkstücks aufweisen und eine Vorrichtung, die separat von der Positionserkennungsvorrichtung 100 oder der Bewegungssteuereinrichtung 200 ist, kann die Funktion des Berechnens der Steuermenge der Bühne 300 und die Funktion des Ausgebens des Befehls für das Steuern der Bühne 300 in dem Positionskontrollsystem 1 haben.
  • Obwohl die Positionserkennungsvorrichtung 100 nur die Bilddaten akkumuliert und speichert, für die die Positionserkennung fehlgeschlagen ist, ist in dem Verarbeiten in S26 in 7 in dem Positionssteuersystem 1 gemäß der Ausführungsform, die Positionserkennungsvorrichtung 100 nicht darauf beschränkt. Die Positionserkennungsvorrichtung 100 kann zum Beispiel bei dem Verarbeiten in S18 mit den erkannten Positionskoordinaten auch nicht nur die Bilddaten zuordnen und akkumulieren, für die die Positionserkennung fehlgeschlagen ist, sondern auch Bilddaten, für die die Positionserkennung erfolgreich durchgeführt wurde. Zusätzlich kann ein optimaler Prozessfluss in dem Verarbeitungsflussentscheidungsverarbeiten nicht nur auf Basis der Bilddaten entschieden werden, für die die Positionserkennung fehlgeschlagen ist, sondern auch für die Bilddaten, für die die Positionserkennung erfolgreich durchgeführt wurde.
  • <Vorteile>
  • Gemäß dem Positionskontrollsystem 1 und der Positionserkennungsvorrichtung 100 der Ausführungsform ist es möglich die Häufigkeit zu reduzieren mit der der Benutzer die Position prüft und die Positionskoordinaten manuell eingibt, auch in einem Fall, in dem die Position des Werkstücks nicht erkannt wurde, und dadurch wird verhindert, dass Produktivität sich in vollem Ausmaß verschlechtert.
  • Es muss berücksichtigt werden, dass die hierin offenbarten Ausführungsformen ausschließlich veranschaulichenden Zwecken in Hinsicht auf die angesprochenen Punkte dienen und nicht einschränkend sind. Der Umfang der vorliegenden Erfindung wird durch die Ansprüche repräsentiert und nicht von der vorstehenden Beschreibung und es ist beabsichtigt, dass er alle Modifikationen innerhalb der Bedeutungen und einen Bereich, der zu den Ansprüchen äquivalent ist, beinhaltet.
  • Bezugszeichenliste
  • 1
    Positionskontrollsystem
    2
    Bühnenpanel
    4
    Werkstück
    5
    Montiertes Element
    100
    Positionserkennungsvorrichtung
    102, 104
    Kamera
    110, 214
    Prozessor
    112
    RAM
    114
    Displaysteuereinrichtung
    116
    Systemsteuereinrichtung
    118
    Steuereinrichtung
    120
    Festplatte
    122
    Kameraschnittstelle
    122a, 122b
    Bildpuffer
    124
    Eingabeschnittstelle
    126
    Bewegungssteuerungsschnittstelle
    128, 228
    Kommunikationsschnittstelle
    130, 222
    Speicherkartenschnittstelle
    132
    Displayeinheit
    134
    Tastatur
    136, 224
    Speicherkarte
    138
    Maus
    200
    Bewegungssteuerungseinrichtung
    210
    Hauptsteuereinheit
    212
    Chipset
    216
    Nichtflüchtiger Speicher
    218
    Hauptspeicher
    220
    Systemuhr
    226
    Interner Bus
    230
    Interne Bussteuereinrichtung
    232
    Steuerschaltung
    236
    Pufferspeicher
    240, 242, 244
    Servoeinheit
    250, 252, 254
    Servotreiber
    300
    Bühne
    310, 312, 314
    Servomotor

Claims (10)

  1. Positionskontrollsystem (1), das eine Position eines Objekts (4) kontrolliert, das von einem Bewegungsmechanismus bewegt wird, wobei das Positionskontrollsystem (1) umfasst: einen Steuerabschnitt (200), der den Bewegungsmechanismus (300) steuert; einen Akquisitionsabschnitt (102, 104), der Bilddaten akquiriert, die durch Bildaufnahme von dem Objekt erhalten werden; einen ersten Erkennungsabschnitt (110), der eine Position des Objekts auf Basis der Bilddaten gemäß einem ersten Erkennungsverarbeiten erkennt; einen ersten Ausgabeabschnitt (120), der einen ersten Steuerbefehl zum Steuern der Position des Objekts an den Steuerabschnitt in einem Fall ausgibt, in dem der erste Erkennungsabschnitt die Position des Objekts erkannt hat; einen zweiten Erkennungsabschnitt (110), der die Position des Objekts auf Basis der Bilddaten gemäß einer zweiten Erkennungsverarbeitung, die robuster ist als die erste Erkennungsverarbeitung, in einem Fall erkennt, in dem der erste Erkennungsabschnitt die Position des Objekts nicht erkannt hat; und einen zweiten Ausgabeabschnitt (120), der einen zweiten Steuerbefehl zum Steuern der Position des Objekts an den Steuerabschnitt auf Basis eines Erkennungsresultats, das von dem zweiten Erkennungsabschnitt durchgeführt wird, ausgibt.
  2. Positionserkennungsvorrichtung (100), die eine Position eines Objekts (4), das von einem Bewegungsmechanismus (300) bewegt wird, erkennt, wobei die Positionserkennungsvorrichtung umfasst: einen Akquisitionsabschnitt (102, 104), der Bilddaten akquiriert, die durch Bildaufnahme von dem Objekt erhalten werden; einen ersten Erkennungsabschnitt (110), der eine Position des Objekts auf Basis der Bilddaten gemäß einem ersten Erkennungsverarbeiten erkennt; einen ersten Ausgabeabschnitt (120), der einen ersten Steuerbefehl zum Steuern der Position des Objekts in einem Fall ausgibt, in dem der erste Erkennungsabschnitt die Position des Objekts erkannt hat; einen zweiten Erkennungsabschnitt (110), der die Position des Objekts auf Basis der Bilddaten gemäß zweiter Erkennungsverarbeitung, die robuster ist als die erste Erkennungsverarbeitung, in einem Fall erkennt, in dem der erste Erkennungsabschnitt die Position des Objekts nicht erkannt hat; und einen zweiten Ausgabeabschnitt (120), der einen zweiten Steuerbefehl zum Steuern der Position des Objekts auf Basis eines Erkennungsresultats, das von dem zweiten Erkennungsabschnitt durchgeführt wird, ausgibt.
  3. Positionserkennungsvorrichtung (100) nach Anspruch 2, wobei sich Algorithmen, denen das zweite Erkennungsverarbeiten folgt, von Algorithmen, denen das erste Erkennungsverarbeiten folgt, unterscheiden.
  4. Positionserkennungsvorrichtung (100) nach Anspruch 2 oder 3, wobei sich Parametereinstellwerte, denen das zweite Erkennungsverarbeiten folgt, von Parametereinstellwerten, denen das erste Erkennungsverarbeiten folgt, unterscheiden.
  5. Positionserkennungsvorrichtung (100) nach einem der Ansprüche 2 bis 4, wobei eine Anzahl von Malen der Positionserkennung des Objekts durch das zweite Erkennungsverarbeiten größer ist als die Anzahl von Malen der Positionserkennung des Objekts durch das erste Erkennungsverarbeiten.
  6. Positionserkennungsvorrichtung (100) nach einem der Ansprüche 2 bis 5, ferner umfassend: einen Empfangsabschnitt (118), der die Positionsdaten empfängt, mit denen die Position des Objekts in einem Fall spezifiziert werden kann, in dem der zweite Erkennungsabschnitt die Position des Objekts nicht erkannt hat.
  7. Positionserkennungsvorrichtung (100) nach Anspruch 6, ferner umfassend: einen Speicherabschnitt (120), der die Positionsdaten, die den Bilddaten entsprechen, zusammen mit den Bilddaten speichert; und einen Aktualisierungsabschnitt (116), der mindestens entweder Algorithmen oder Parametereinstellwerte, denen das zweite Erkennungsverarbeiten folgt, auf Basis der Bilddaten und der Positionsdaten, die in dem Speicherabschnitt gespeichert sind, aktualisiert.
  8. Positionserkennungsvorrichtung (100) nach einem der Ansprüche 2 bis 7, wobei der zweite Steuerbefehl ein Befehl für das Steuern der Position des Objekts zum Transportieren des Objekts von einer Produktionslinie nach außen ist, und der zweite Ausgabeabschnitt den zweiten Steuerbefehl ungeachtet dessen ausgibt, ob der zweite Erkennungsabschnitt die Position des Objekts erkannt hat oder nicht.
  9. Positionserkennungsvorrichtung (100) nach einem der Ansprüche 2 bis 7, wobei der erste Steuerbefehl ein Befehl für das Steuern der Position des Objekts (4), um das Objekt zu einem nächsten Prozess der Produktionslinie zu transportieren, ist, der zweite Steuerbefehl ein Befehl für das Steuern der Position des Objekts zum Transportieren des Objekts von der Produktionslinie nach außen ist, und der zweite Ausgabeabschnitt (120) den ersten Steuerbefehl in einem Falls ausgibt, in dem der zweite Erkennungsabschnitt die Position des Objekts erkannt hat, und den zweiten Steuerbefehl in einem Fall ausgibt, in dem der zweite Erkennungsabschnitt die Position des Objekts nicht erkannt hat.
  10. Steuerprogramm (150), das dadurch, dass es von einem Computer (132, 134, 138) ausgeführt wird, eine Positionserkennungsvorrichtung (100) realisiert, die eine Position eines Objekts (4) erkennt, das von einem Bewegungsmechanismus (300) bewegt wird, wobei das Steuerprogramm den Computer veranlasst auszuführen: einen Akquisitionsschritt des Akquirierens von Bilddaten, die durch Bildaufnahme des Objekts erhalten werden; einen ersten Erkennungsschritt, der eine Position des Objekts auf Basis der Bilddaten gemäß einem ersten Erkennungsverarbeiten erkennt; einen ersten Ausgabeschritt des Ausgebens eines ersten Steuerbefehls zum Steuern der Position des Objekts in einem Fall, in dem die Position des Objekts in dem ersten Erkennungsschritt erkannt wurde, einen zweiten Erkennungsschritt des Erkennens der Position des Objekts auf Basis der Bilddaten gemäß eines zweiten Erkennungsverarbeitens, das robuster ist als das erste Erkennungsverarbeiten, in einem Fall, in dem die Position des Objekts in dem ersten Erkennungsschritt nicht entdeckt wurde; und einen zweiten Ausgabeschritt des Ausgebens eines zweiten Steuerbefehls zum Steuern der Position des Objekts auf Basis eines Erkennungsresultats in dem zweiten Erkennungsschritt.
DE102018102833.4A 2017-06-30 2018-02-08 Positionskontrollsystem, positionserkennungsvorrichtung und steuerprogramm Pending DE102018102833A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017128749A JP7167418B2 (ja) 2017-06-30 2017-06-30 位置制御システム、位置検出装置、および制御プログラム
JP2017-128749 2017-06-30

Publications (1)

Publication Number Publication Date
DE102018102833A1 true DE102018102833A1 (de) 2019-01-03

Family

ID=64662193

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018102833.4A Pending DE102018102833A1 (de) 2017-06-30 2018-02-08 Positionskontrollsystem, positionserkennungsvorrichtung und steuerprogramm

Country Status (4)

Country Link
US (1) US10664939B2 (de)
JP (1) JP7167418B2 (de)
CN (1) CN109213090B (de)
DE (1) DE102018102833A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
US11745354B2 (en) 2018-08-16 2023-09-05 Mitutoyo Corporation Supplementary metrology position coordinates determination system including an alignment sensor for use with a robot
US10871366B2 (en) * 2018-08-16 2020-12-22 Mitutoyo Corporation Supplementary metrology position coordinates determination system for use with a robot
US11002529B2 (en) 2018-08-16 2021-05-11 Mitutoyo Corporation Robot system with supplementary metrology position determination system
US10913156B2 (en) 2018-09-24 2021-02-09 Mitutoyo Corporation Robot system with end tool metrology position coordinates determination system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19882963T1 (de) * 1998-12-22 2001-05-10 Mitsubishi Electric Corp Positionsfehler-Messverfahren und Einrichtung unter Verwendung einer Positionsmarke und Bearbeitungseinrichtung zum Korrigieren einer Position auf Grundlage eines Ergebnisses oder eines Messpositionsfehlers unter Verwendung einer Positionsmarke
JP2001344592A (ja) * 2000-05-31 2001-12-14 Toyo Jidoki Co Ltd キャップ取付け状態検査方法
JP2002140694A (ja) * 2000-10-31 2002-05-17 Keyence Corp 画像処理装置、画像処理方法および画像処理プログラムを記録した記録媒体
US7636449B2 (en) * 2004-11-12 2009-12-22 Cognex Technology And Investment Corporation System and method for assigning analysis parameters to vision detector using a graphical interface
JP2006214816A (ja) * 2005-02-02 2006-08-17 Nikon Corp 半導体検査装置
US8609441B2 (en) * 2006-12-12 2013-12-17 Asml Netherlands B.V. Substrate comprising a mark
JP6167622B2 (ja) 2013-04-08 2017-07-26 オムロン株式会社 制御システムおよび制御方法

Also Published As

Publication number Publication date
CN109213090A (zh) 2019-01-15
US10664939B2 (en) 2020-05-26
JP7167418B2 (ja) 2022-11-09
US20190005600A1 (en) 2019-01-03
JP2019012016A (ja) 2019-01-24
CN109213090B (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
DE102018102833A1 (de) Positionskontrollsystem, positionserkennungsvorrichtung und steuerprogramm
DE102015011914B4 (de) Konturlinienmessvorrichtung und Robotersystem
DE102017111203B4 (de) Videoverarbeitungsvorrichtung, videoverarbeitungsverfahren und programm
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE102017001667A1 (de) Bildverarbeitungseinrichtung zum Anzeigen eines Objekts, das anhand einer Eingabebildaufnahme erkannt wird
DE102018215826A1 (de) Robotersystem und Werkstückgreifverfahren
DE102018207414A1 (de) Bildverarbeitungssystem
DE102016120775A1 (de) System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE102013210478A1 (de) Geometrische vorkorrektur zur automatischen nummernschilderkennung
DE102016003294A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Speichermedium
DE102019208700A1 (de) Werkstückmessvorrichtung, Werkstückmessverfahren und Programm
DE10354752A1 (de) Verfahren und Vorrichtung zur automatischen Entzerrung von einkanaligen oder mehrkanaligen Bildern
DE102020118635A1 (de) 3D-Datenerzeugungsvorrichtung und Robotersteuersystem
DE102019124810A1 (de) Bildverarbeitungsgerät und Bildverarbeitungsverfahren
DE102018113589A1 (de) Vorrichtung und Programm zur Positionserfassung
DE202019105838U1 (de) Anordnung mit einem Koordinatenmessgerät oder Mikroskop
DE112019007852B4 (de) Informationsverarbeitungsvorrichtung, Werkstückerkennungsvorrichtung und Werkstückaufgreifvorrichtung
DE112020005223T5 (de) Objektverfolgungseinrichtung und Objektverfolgungsverfahren
KR100647750B1 (ko) 화상 처리 장치
DE102020126610A1 (de) Mikroskopiesystem und verfahren zum erzeugen von trainingsdaten
DE102020126602A1 (de) Mikroskopiesystem und verfahren zur bildsegmentierung
DE102019216321A1 (de) Bildverarbeitungsvorrichtung
DE102018116245B4 (de) Programmiervorrichtung, die ein Betriebsprogramm erstellt, sowie Verfahren zur Programmerstellung
DE102019124809A1 (de) Bildgebungsvorrichtung und Bildgebungssystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: BECKER-KURIG-STRAUS PATENTANWAELTE PARTNERSCHA, DE

Representative=s name: BECKER & KURIG PARTNERSCHAFT PATENTANWAELTE MB, DE

Representative=s name: BECKER & KURIG PARTNERSCHAFT PATENTANWAELTE PA, DE

Representative=s name: BECKER, KURIG, STRAUS, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009320000

Ipc: G06V0030146000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06V0030146000

Ipc: G06V0020520000

R016 Response to examination communication