DE112021003127T5 - Programmiervorrichtung - Google Patents

Programmiervorrichtung Download PDF

Info

Publication number
DE112021003127T5
DE112021003127T5 DE112021003127.9T DE112021003127T DE112021003127T5 DE 112021003127 T5 DE112021003127 T5 DE 112021003127T5 DE 112021003127 T DE112021003127 T DE 112021003127T DE 112021003127 T5 DE112021003127 T5 DE 112021003127T5
Authority
DE
Germany
Prior art keywords
instruction
icon
imaging device
imaging
programming
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
DE112021003127.9T
Other languages
English (en)
Inventor
Shoutarou Ogura
Yuta Namiki
Hiromitsu Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE112021003127T5 publication Critical patent/DE112021003127T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31474Icon display for quick access of detailed information
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32162Tasks or control icons are linked to form a job
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40392Programming, visual robot programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40613Camera, laser scanner on end effector, hand eye manipulator, local

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Es wird eine Programmiervorrichtung bereitgestellt, die in der Lage ist, die Belastung für einen Bediener zu verringern, der ein Steuerprogramm erstellt, das einen Befehl beinhaltet, der einer Funktion einer Bildgebungsvorrichtung entspricht. Es wird eine Programmiervorrichtung 10 zum Programmieren von Industriemaschinen bereitgestellt, wobei die Programmiervorrichtung 10 umfasst: eine Befehlserzeugungseinheit 11, die Informationen bezüglich einer Bildgebungsvorrichtung, die mit einer Steuervorrichtung 20 der Industriemaschinen verbunden ist, erfasst und die basierend auf den erfassten Informationen ein Symbol oder eine Befehlsanweisung, die einen Befehl ausdrückt, unter Verwendung eines Bilds, das durch die Bildgebungsvorrichtung erfasst wird, erzeugt; und eine Befehlsanzeigeeinheit 12, die das erzeugte Symbol oder die Befehlsanweisung auf einem Anzeigebildschirm anzeigt.

Description

  • GEBIET
  • Die vorliegende Erfindung betrifft eine Programmiervorrichtung für eine Industriemaschine.
  • HINTERGRUND
  • Da es üblich ist, die Programmierung eines Roboters unter Verwendung einer textbasierten Anweisung durchzuführen, kann ein Bediener vorzugsweise Kenntnis von einer Programmiersprache für den Roboter haben. Um die intuitive Eingabe eines Steuerprogramms für einen Roboter durch einen Bediener zu unterstützen, wurde eine Programmerzeugungsvorrichtung vorgeschlagen, die die Programmierung unter Verwendung eines Symbols ermöglicht, das jede Anweisung der Robotersteuerung darstellt (siehe z. B. PTL 1).
  • [ZITIERUNGSLISTE]
  • [PATENTLITERATUR]
  • [PTL 1] Japanisches Patent Nr. 6498366 B
  • ZUSAMMENFASSUNG
  • [TECHNISCHE AUFGABE]
  • Ein Satz von Instruktionen zum Programmieren in einem Robotersystem, das eine Bildgebungsvorrichtung beinhaltet, beinhaltet eine Instruktion, die einer Funktion zum Aufnehmen eines Bilds eines Werkstücks unter Verwendung der Bildgebungsvorrichtung, Verarbeiten des aufgenommenen Bilds und Detektieren des Werkstücks entspricht. Wenn im Allgemeinen eine Anweisung, die einer solchen Funktion entspricht, die eine Bildgebungsvorrichtung verwendet, in einem Steuerprogramm für einen Roboter enthalten ist, kann vorzugsweise ein Vorgang zum Einfügen einer Anweisung, die einer Funktion entspricht, die eine Bildgebungsvorrichtung verwendet, in ein Steuerprogramm für einen Roboter durchgeführt werden, und dann kann vorzugsweise eine Bildgebungsvorrichtung, die gemäß der Anweisung zu starten ist, ausgewählt und separat eingestellt werden. Die Anzahl von Bildgebungsvorrichtungen, die in dem Robotersystem platziert sind, kann eins oder mehrere sein. In dem letzteren Fall kann ein Bediener vorzugsweise eine Vielzahl von Anweisungen, die den Funktionen der Bildgebungsvorrichtungen entsprechen, in das Programm einfügen und dann die Auswahl einer Bildgebungsvorrichtung, die gemäß jeder eingefügten Anweisung zu starten ist, wiederholen, wodurch eine größere Belastung für den Bediener entsteht. Bei der Programmierung eines Steuerprogramms für eine Industriemaschine besteht ein Bedarf an einer Programmiervorrichtung, die die Belastung für einen Bediener verringern kann, der ein Steuerprogramm erstellt, das eine Instruktion beinhaltet, die der Funktion einer Bildgebungsvorrichtung entspricht.
  • [LÖSUNG DER AUFGABE]
  • Ein Aspekt der vorliegenden Offenbarung stellt eine Programmiervorrichtung zum Durchführen einer Programmierung einer Industriemaschine bereit, wobei die Vorrichtung einen Instruktionserzeugungsabschnitt, der dazu konfiguriert ist, Informationen bezüglich einer Bildgebungsvorrichtung, die mit einer Steuerung für die Industriemaschine verbunden ist, zu erfassen und eines von einem Symbol und einer Anweisung, die eine Instruktion zum Verwenden eines Bilds, das durch die Bildgebungsvorrichtung aufgenommen wird, darstellt, basierend auf den erfassten Informationen zu erzeugen, und einen Instruktionsanzeigeabschnitt, der dazu konfiguriert ist, das erzeugte eine von dem Symbol und der Anweisung auf einem Anzeigebildschirm anzuzeigen, beinhaltet.
  • [VORTEILHAFTE EFFEKTE DER ERFINDUNG]
  • Mit der vorstehend erwähnten Konfiguration ist es bei der Programmierung eines Steuerprogramms für eine Industriemaschine möglich, die Belastung für einen Bediener zu verringern, der ein Steuerprogramm erstellt, das eine Instruktion beinhaltet, die der Funktion einer Bildgebungsvorrichtung entspricht.
  • Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung einer beispielhaften Ausführungsform davon, wie in den beigefügten Zeichnungen veranschaulicht, deutlicher, in denen:
  • Figurenliste
    • 1 ist ein Diagramm, das die Konfiguration eines Robotersystems darstellt, das eine Lehrvorrichtung (Programmiervorrichtung) gemäß einer Ausführungsform beinhaltet.
    • 2 ist ein Funktionsblockdiagramm der Lehrvorrichtung.
    • 3 ist ein Ablaufdiagramm, das eine Instruktionserzeugung und eine Anzeigeverarbeitung veranschaulicht.
    • 4 veranschaulicht ein erstes Beispiel einer Erzeugung und Anzeige eines Symbols einer Bildgebungsvorrichtung durch die Instruktionserzeugung und die Anzeigeverarbeitung.
    • 5 veranschaulicht ein zweites Beispiel einer Erzeugung und Anzeige eines Symbols einer Bildgebungsvorrichtung durch die Instruktionserzeugung und die Anzeigeverarbeitung.
    • 6 veranschaulicht einen beispielhaften Bildschirm, der angezeigt wird, wenn eine Detailregisterkarte in einem Programmerzeugungsbildschirm gedrückt wird.
    • 7 veranschaulicht einen beispielhaften Programmerzeugungsbildschirm für eine detaillierte Programmierung, die der Funktion einer Bildgebungsvorrichtung zugeordnet ist.
    • 8 ist ein Diagramm, das einen beispielhaften textbasierten Programmerzeugungsbildschirm in einer allgemeinen Lehrvorrichtung als ein Vergleichsbeispiel veranschaulicht.
    • 9 ist ein Diagramm, das einen beispielhaften textbasierten Programmerzeugungsbildschirm in dieser Ausführungsform veranschaulicht.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Eine Ausführungsform der vorliegenden Offenbarung wird im Folgenden unter Bezugnahme auf die Zeichnungen beschrieben. In den Zeichnungen, auf die Bezug genommen werden soll, bezeichnen gleiche oder ähnliche Bezugszeichen gleiche oder ähnliche Komponenten oder Funktionsteile. Um das Verständnis zu erleichtern, verwenden diese Zeichnungen gegebenenfalls unterschiedliche Maßstäbe. Ferner sind die in den Zeichnungen veranschaulichten Modi lediglich Beispiele zum Ausführen der vorliegenden Erfindung, die nicht auf die in den Zeichnungen veranschaulichten Modi beschränkt ist.
  • 1 ist ein Diagramm, das die Konfiguration eines Robotersystems 100 darstellt, das eine Lehrvorrichtung (Programmiervorrichtung) 10 gemäß einer Ausführungsform beinhaltet. Das Robotersystem 100 beinhaltet einen Roboter 30 mit einer Hand 31, die an seinem distalen Armende montiert ist, Sichtsensoren 41 und 42, eine Robotersteuerung 20, die den Roboter 30 steuert, und die Lehrvorrichtung 10, die mit der Robotersteuerung 20 verbunden ist, wie in 1 veranschaulicht. Der Roboter 30 ist in diesem Fall als ein vertikaler Gelenkroboter implementiert, aber andere Arten von Robotern können verwendet werden. Die Robotersteuerung 20 steuert die Bewegung des Roboters 30 gemäß einem Steuerprogramm oder als Reaktion auf einen Befehl, der von der Lehrvorrichtung 10 ausgegeben wird. Die Robotersteuerung 20 kann die Konfiguration eines allgemeinen Computers aufweisen, der z. B. eine CPU, ein ROM, ein RAM, eine Speichervorrichtung, einen Betriebsabschnitt, einen Anzeigeabschnitt, eine E/A-Schnittstelle und eine Netzwerkschnittstelle beinhaltet.
  • Der Sichtsensor 41 ist am distalen Armende des Roboters 30 montiert. Der Sichtsensor 42 ist an einer Position fixiert, die das Aufnehmen eines Bilds eines Werkstücks 1 in einem Arbeitsraum ermöglicht, in dem der Roboter 30 installiert ist. In dem Robotersystem 100 wird die Position des Werkstücks 1 durch die Sichtsensoren 41 und 42 detektiert und das auf einem Arbeitstisch 2 platzierte Werkstück 1 wird von der Hand 31 des Roboters 30 gehandhabt.
  • Die Sichtsensoren 41 und 42 sind mit der Robotersteuerung 20 verbunden und betreiben unter der Steuerung der Robotersteuerung 20. Die Robotersteuerung 20 beinhaltet auch die Funktion einer Bildverarbeitungsvorrichtung, die Bilder erfasst, die durch Sichtsensoren (Sichtsensoren 41 und 42) aufgenommen werden, und Bildverarbeitung, wie etwa Werkstückdetektion, für die aufgenommenen Bilder durchführt. Die Robotersteuerung 20 hält ein Modellmuster für ein Werkstück und detektiert das Werkstück durch Musterabgleich zwischen dem Werkstück in den aufgenommenen Bildern und dem Modellmuster. Die Robotersteuerung 20 kann eine Einlernposition basierend auf der detektierten Position des Werkstücks 1 kompensieren und z. B. Aufnehmen des Werkstücks 1 durchführen.
  • Die Sichtsensoren 41 und 42 können als Kameras (2D-Kameras) dienen, die Graustufenbilder oder Farbbilder aufnehmen, oder können als Stereokameras oder dreidimensionale Sensoren (3D-Kameras) dienen, die Entfernungsbilder oder dreidimensionale Punktwolken aufnehmen können. Als ein Beispiel nimmt diese Ausführungsform an, dass der Sichtsensor 41 als eine 2D-Kamera dient und der Sichtsensor 42 als eine 3D-Kamera dient. 1 veranschaulicht ein Beispiel, in dem insgesamt zwei Bildgebungsvorrichtungen: eine 2D-Kamera und eine 3D-Kamera in dem Robotersystem 100 platziert sind, aber die Anzahl von Bildgebungsvorrichtungen, die in dem Robotersystem 100 bereitgestellt sind, kann eins oder drei oder mehr sein. Zusätzlich kann eine Mehrzahl von Bildgebungsvorrichtungen der gleichen Art (z. B. eine Mehrzahl von 2D-Kameras oder eine Mehrzahl von 3D-Kameras) in dem Robotersystem 100 platziert sein.
  • Die Lehrvorrichtung 10 wird verwendet, um ein Steuerprogramm zu erstellen, um den Roboter 30 zu veranlassen, das Werkstück 1 zu handhaben. Die Lehrvorrichtung 10 kann z. B. als ein Tablet-Endgerät oder ein Lehranhänger, der mit der Robotersteuerung 20 verbunden ist, implementiert sein. Alternativ kann die Lehrvorrichtung 10 als eine Programmiervorrichtung (z. B. ein PC) zum Durchführen von Programmierung offline implementiert sein. Die Lehrvorrichtung 10 kann die Hardwarekonfiguration eines allgemeinen Computers aufweisen, der z. B. eine CPU, ein ROM, ein RAM, eine Speichervorrichtung, eine E/A-Schnittstelle und eine Netzwerkschnittstelle beinhaltet.
  • 2 ist ein Funktionsblockdiagramm der Lehrvorrichtung 10. 2 stellt auch die Verbindungsbeziehung zwischen der Lehrvorrichtung 10 und anderen Vorrichtungen dar. Die Lehrvorrichtung 10 beinhaltet einen Instruktionserzeugungsabschnitt 11, einen Instruktionsanzeigeabschnitt 12, einen Programmbearbeitungsabschnitt 13 und einen Programmerzeugungsabschnitt 14, wie in 2 veranschaulicht.
  • Der Instruktionserzeugungsabschnitt 11 erfasst Informationen bezüglich einer oder mehrerer Bildgebungsvorrichtungen, die mit der Robotersteuerung 20 verbunden sind, von der Robotersteuerung 20 und erzeugt ein Symbol oder eine Instruktion, die eine Anweisung zum Verwenden eines Bilds, das durch jede der einen oder mehreren Bildgebungsvorrichtungen aufgenommen wird, darstellt, in einer Darstellungsform, die eine Identifizierung jeder der einen oder mehreren Bildgebungsvorrichtungen basierend auf den erfassten Informationen ermöglicht. Die „Informationen bezüglich einer Bildgebungsvorrichtung“ bedeutet hier Informationen (z. B. ein Produktmodell), die eine Identifizierung der Art jeder Bildgebungsvorrichtung ermöglichen, die mit der Robotersteuerung 20 verbunden ist. Daher kann der Instruktionserzeugungsabschnitt 11 z. B. eine 2D-Kamera (monochrom), eine 2D-Kamera (Farbe) oder eine 3D-Kamera als die Art der Bildgebungsvorrichtung identifizieren, die in dem Robotersystem 100 bereitgestellt ist.
  • Die „Informationen bezüglich einer Bildgebungsvorrichtung“ können ferner Informationen beinhalten, die eine Identifizierung der Installationsposition der Bildgebungsvorrichtung ermöglichen. Ein Beispiel für die Informationen, die eine Identifizierung der Installationsposition ermöglichen, können Informationen sein, die angeben, ob die Bildgebungsvorrichtung als eine Kamera (Handkamera) dient, die an einem Roboter montiert ist, oder eine feste Kamera, die in dem Arbeitsraum fixiert ist. Da ein Verbindungskabel für eine Kamera, die an einem Roboter montiert ist, im Allgemeinen durch das Innere des Roboters verdrahtet und mit einer spezifischen E/A-Schnittstelle einer Robotersteuerung verbunden ist, kann die Robotersteuerung die Installationsposition der Bildgebungsvorrichtung identifizieren (ob die Bildgebungsvorrichtung als eine Handkamera oder eine feste Kamera dient), basierend darauf, mit welcher E/A-Schnittstelle die Bildgebungsvorrichtung verbunden ist (z. B. Informationen, die angeben, mit welchem Port die Bildgebungsvorrichtung verbunden ist). Detailliertere Positionsinformationen (z. B. Koordinateninformationen der Bildgebungsvorrichtung in dem Arbeitsraum, wenn die Bildgebungsvorrichtung als eine feste Kamera dient) können als die Informationen bereitgestellt werden, die die Installationsposition der Bildgebungsvorrichtung darstellen.
  • Alternativ können, wenn ein Roboter bei der Montage einer Bildgebungsvorrichtung an dem Roboter ausgeliefert wird, Informationen, die angeben, dass die verwendete Kamera z. B. als eine Handkamera dient, in dieser Kamera als Teil von Produktinformationen gehalten werden. In dem Robotersystem 100 mit der in 1 veranschaulichten Konfiguration erfasst der Instruktionserzeugungsabschnitt 11 z. B. die folgenden Informationen von der Robotersteuerung 20 als Informationen bezüglich der Sichtsensoren 41 und 42:
    • Informationen bezüglich des Sichtsensors 41: 2D-Kamera (Farbe); Handkamera
    • Informationen bezüglich des Sichtsensors 42: 3D-Kamera; feste Kamera
  • Beim Erfassen der „Informationen bezüglich einer Bildgebungsvorrichtung“, wie oben beschrieben, kann der Instruktionserzeugungsabschnitt 11 ein Symbol oder eine Anweisung jeder Bildgebungsvorrichtung in einer Darstellungsform erzeugen, die eine Identifizierung der Arten, der Anzahl und der Installationspositionen von Bildgebungsvorrichtungen ermöglicht, die mit der Robotersteuerung 20 verbunden sind. Der Instruktionsanzeigeabschnitt 12 zeigt das vorstehend erwähnte Symbol oder die Anweisung, die durch den Instruktionserzeugungsabschnitt 11 erzeugt wird, in einem vorbestimmten Anzeigebereich einer Anzeigevorrichtung 18 an.
  • Der Programmbearbeitungsabschnitt 13 zeigt auf der Anzeigevorrichtung 18 einen Bearbeitungsbildschirm (Programmerzeugungsbildschirm) zum Erstellen eines Steuerprogramms für den Roboter 30 an und empfängt einen Bearbeitungsvorgang für das Steuerprogramm. Das Steuerprogramm beinhaltet hier eine Instruktion zum Steuern des Roboters 30 und eine Instruktion, die dem Aufnehmen eines Bilds durch einen Sichtsensor und dem Verarbeiten des aufgenommenen Bilds zugeordnet ist. Der Programmerzeugungsabschnitt 14 erzeugt ein Steuerprogramm aus einem Symbol, das in einem Programmerzeugungsbereich innerhalb des Bearbeitungsbildschirms platziert ist, oder einer Anweisung, die in dem Programmerzeugungsbereich innerhalb des Bearbeitungsbildschirms beschrieben ist.
  • Im Folgenden werden zwei Beispiele gegeben, die sich auf die Erzeugung und Anzeige eines Symbols oder einer Anweisung durch die Lehrvorrichtung 10 beziehen. Beispiel 1 veranschaulicht ein Vorgangsbeispiel, wenn die Lehrvorrichtung 10 ein Symbol erzeugt und anzeigt, das eine Instruktion zum Verwenden eines durch eine Bildgebungsvorrichtung aufgenommenen Bilds darstellt, und Beispiel 2 veranschaulicht ein Vorgangsbeispiel, wenn die Lehrvorrichtung 10 eine Anweisung (Text) erzeugt und anzeigt, die eine Instruktion zum Verwenden eines durch eine Bildgebungsvorrichtung aufgenommenen Bilds darstellt. 3 ist ein Ablaufdiagramm, das eine Verarbeitung (im Folgenden auch als „Instruktionserzeugung und Anzeigeverarbeitung“ bezeichnet) zum Erzeugen und Anzeigen eines Symbols oder einer Anweisung veranschaulicht, die eine Instruktion zum Verwenden eines durch eine Bildgebungsvorrichtung aufgenommenen Bilds darstellt. Da das in 3 veranschaulichte Ablaufdiagramm den Beispielen 1 und 2 gemein ist, werden diese zwei Beispiele im Folgenden gegebenenfalls unter Bezugnahme auf das in 3 veranschaulichte Ablaufdiagramm beschrieben. Die in 3 veranschaulichte Verarbeitung wird unter der Steuerung der CPU der Lehrvorrichtung 10 durchgeführt.
  • (Beispiel 1)
  • In Beispiel 1 erzeugt und zeigt die Lehrvorrichtung 10 ein Symbol, das eine Instruktion zum Verwenden eines durch eine Bildgebungsvorrichtung aufgenommenen Bilds darstellt. In diesem Fall fungiert der Instruktionserzeugungsabschnitt 11 als ein Symbolerzeugungsabschnitt, und der Instruktionsanzeigeabschnitt 12 fungiert als ein Symbolanzeigeabschnitt. Beim Start der Lehrvorrichtung 10 oder als Reaktion auf einen auf der Lehrvorrichtung 10 durchgeführten vorbestimmten Vorgang zum Öffnen eines Programmerzeugungsbildschirms wird die in 3 veranschaulichte Instruktionserzeugung und Anzeigeverarbeitung gestartet. Die Lehrvorrichtung 10 (Programmbearbeitungsabschnitt 13) zeigt zunächst einen Programmerzeugungsbildschirm (Bearbeitungsbildschirm) 400 auf der Anzeigevorrichtung 18 an (Schritt S1). 4 und 5 veranschaulichen zwei Beispiele des in diesem Fall erstellten Programmerzeugungsbildschirms 400. Der Programmerzeugungsbildschirm 400 beinhaltet einen Programmerzeugungsbereich 300 und einen Symbolanzeigebereich 200, wie in 4 und 5 veranschaulicht.
  • Die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) erfasst dann Informationen bezüglich einer Bildgebungsvorrichtung, die mit der Robotersteuerung 20 verbunden ist, von der Robotersteuerung 20 (Schritt S2). Die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) erzeugt ein Symbol der Bildgebungsvorrichtung basierend auf den Informationen bezüglich der Bildgebungsvorrichtung (Schritt S3).
  • Die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) bestätigt, ob Symbole für alle Bildgebungsvorrichtungen, die mit der Robotersteuerung 20 verbunden sind, basierend auf den Informationen bezüglich der Bildgebungsvorrichtung (Schritt S4) erzeugt wurden. Die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) wiederholt Schritt S3 (NEIN in Schritt S4), in dem ein Symbol erzeugt wird, bis Symbole für alle Bildgebungsvorrichtungen, die mit der Robotersteuerung 20 verbunden sind, erzeugt werden. Wenn Symbole für alle Bildgebungsvorrichtungen, die mit der Robotersteuerung 20 verbunden sind, erzeugt wurden (JA in Schritt S4), schreitet der Prozess zu Schritt S5 voran.
  • In Schritt S5 zeigt die Lehrvorrichtung 10 (Instruktionsanzeigeabschnitt 12) die durch die vorstehend erwähnte Verarbeitung erzeugten Symbole in einem vorbestimmten Anzeigebereich (Symbolanzeigebereich 200) an (Schritt S5). Die Symbole, auf die in dieser Beschreibung Bezug genommen wird, können alle grafischen Darstellungen von Instruktionen an verschiedene Vorrichtungen in Form von z. B. Figuren, Mustern oder Symbolen beinhalten. Daher beinhalten die Symbole nicht nur die in dieser Ausführungsform angegebenen Beispiele, sondern auch z. B. grafische Objekte (z. B. Blöcke, die bei der grafischen Programmierung in Puzzleform verwendet werden), wie jene, die in einem visuellen Programmierwerkzeug verwendet werden.
  • Zwei Beispiele einer Erzeugung und Anzeige eines Symbols einer Bildgebungsvorrichtung durch die in 3 veranschaulichte Instruktionserzeugung und Anzeigeverarbeitung werden im Folgenden unter Bezugnahme auf die 4 und 5 angegeben.
  • 4 veranschaulicht ein erstes Beispiel einer Erzeugung und Anzeige eines Symbols einer Bildgebungsvorrichtung durch die Instruktionserzeugung und die Anzeigeverarbeitung. Der Programmerzeugungsbildschirm 400 beinhaltet einen Symbolanzeigebereich 200 zum Anzeigen einer Liste von Symbolen, die zum Programmieren verwendet werden können, und einen Programmerzeugungsbereich 300 zum Erstellen eines Steuerprogramms durch Anordnen der Symbole in der Bewegungsreihenfolge, wie in 4 veranschaulicht. Es sei hier angenommen, dass der Sichtsensor 41 als eine 2D-Kamera dient und der Sichtsensor 42 als eine 3D-Kamera dient. In Schritt S3 erzeugt die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) ein Symbol 201 mit einer Figur, die das Erscheinungsbild einer 2D-Kamera darstellt, als ein Symbol des Sichtsensors 41 (2D-Kamera). Das Symbol 201 kann mit einem Text „Aufnehmen durch Betrachten mit 2D-Kamera A“ als Wörter hinzugefügt werden, die die Funktion dieses Symbols ausdrücken, wie in 4 veranschaulicht. Die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) erzeugt ferner ein Symbol 202 mit einer Figur, die das Erscheinungsbild einer 3D-Kamera darstellt, als ein Symbol des Sichtsensors 42 (3D-Kamera). Das Symbol 202 kann mit einem Text „Aufnehmen durch Betrachten mit 3D-Kamera A“ als Wörter hinzugefügt werden, die die Funktion dieses Symbols ausdrücken, wie in 4 veranschaulicht.
  • Die Lehrvorrichtung 10 (Instruktionsanzeigeabschnitt 12) zeigt die Symbole 201 und 202 in dem Symbolanzeigebereich 200 zusammen mit den Symbolen 101 bis 104 zur Steuerung (Steuerprogramm) des Roboters 30 an. Da die Symbole 201 und 202 ausgelegt sind, um eine Identifizierung des Sichtsensors 41 (2D-Kamera) und des Sichtsensors 42 (3D-Kamera) zu ermöglichen, kann der Bediener sofort die Arten und Anzahl von verfügbaren Bildgebungsvorrichtungen (d. h. Bildgebungsvorrichtungen, die mit der Robotersteuerung 20 verbunden sind) durch Betrachten der Symbole 201 und 202, die in dem Symbolanzeigebereich 200 angezeigt werden, kennen. Der Programmerzeugungsbildschirm 400 kann mit einer Schaltfläche zum Durchführen eines Vorgangs zum Umschalten zwischen Anzeige und Nichtanzeige von Textinformationen (z. B. „Fangen“ oder „Freigeben“), die zu jedem der Symbole 101 bis 104, 201 und 202 hinzugefügt werden, versehen sein.
  • Die Symbole 101 bis 104, 201 und 202, die in dem Symbolanzeigebereich 200 angezeigt werden, stellen die folgenden Vorgangsinstruktionen dar:
    • Symbol 101: Instruktion zum Schließen der Hand und Fangen des Werkstücks
    • Symbol 102: Instruktion zum Öffnen der Hand
    • Symbol 103: Instruktion zum Bewegen des distalen Armendes des Roboters im linearen Pfad
    • Symbol 104: Instruktion zum Bewegen des distalen Armendes des Roboters im kreisförmigen Pfad
    • Symbol 201: Position des Werkstücks durch 2D-Kamera detektieren
    • Symbol 202: Position des Werkstücks durch 3D-Kamera detektieren
  • Der Programmbearbeitungsabschnitt 13 empfängt einen Vorgang durch den Bediener zum Platzieren der Symbole, die in dem Symbolanzeigebereich 200 angezeigt werden, in dem Programmerzeugungsbereich 300 durch einen Drag-and-Drop-Vorgang. Der Programmerzeugungsabschnitt 14 erzeugt ein Steuerprogramm gemäß den Symbolen, die in dem Programmerzeugungsbereich 300 platziert sind. In dem in 4 veranschaulichten Programmerzeugungsbereich 300 sind das Symbol 103, das Symbol 201, das Symbol 101, das Symbol 103 und das Symbol 104 in der Bewegungsreihenfolge angeordnet. In diesem Steuerprogramm wird eine Bewegung ausgeführt, bei der das distale Armende des Roboters 30 linear in eine Zielposition bewegt wird, die Position eines Werkstücks durch eine 2D-Kamera detektiert wird, eine Einlernposition basierend auf der detektierten Position kompensiert wird und das Werkstück durch die Hand 31 gegriffen und bewegt wird.
  • 5 veranschaulicht ein zweites Beispiel einer Erzeugung und Anzeige eines Symbols einer Bildgebungsvorrichtung durch die Instruktionserzeugung und die Anzeigeverarbeitung. Es sei hier angenommen, dass beide Sichtsensoren 41 und 42 als 2D-Kameras dienen. In diesem Fall beinhalten Informationen bezüglich einer Bildgebungsvorrichtung, die von der Robotersteuerung 20 durch die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) erfasst werden, nicht nur die Art der Bildgebungsvorrichtung, sondern auch Informationen bezüglich der Installationsposition der Bildgebungsvorrichtung. Die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) bestimmt, dass der Sichtsensor 41 als eine Handkamera dient, die am distalen Armende des Roboters 30 platziert ist, und der Sichtsensor 42 als eine feste Kamera dient, die in dem Arbeitsraum fixiert ist, basierend auf den Informationen bezüglich der Bildgebungsvorrichtung, die von der Robotersteuerung 20 erfasst werden.
  • Mit diesem Vorgang erzeugt die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) ein Symbol 212, das eine Figur beinhaltet, die den Bediener daran erinnert, dass der Sichtsensor 41 als eine Kamera dient, die am distalen Armende eines Roboters montiert ist, als ein Symbol des Sichtsensors 41. Das Symbol 212 kann mit Wörtern (in diesem Fall „Aufnehmen durch Betrachten mit 2D-Handkamera“) hinzugefügt werden, die das Verständnis der Funktion und der Installationsposition erleichtern, die durch das Symbol 212 angegeben werden, wie in 5 veranschaulicht. Die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) erzeugt ferner ein Symbol 211 mit einer Figur, die den Bediener daran erinnert, dass der Sichtsensor 42 als eine feste Kamera dient, als ein Symbol der Funktion, die durch den Sichtsensor 42 implementiert ist. Das Symbol 211 kann mit Wörtern (in diesem Fall „Aufnehmen durch Betrachten mit 2D-Festkamera“) hinzugefügt werden, die das Verständnis der Funktion und der Installationsposition erleichtern, die durch das Symbol 211 angegeben werden, wie in 5 veranschaulicht.
  • Die Lehrvorrichtung 10 (Instruktionsanzeigeabschnitt 12) zeigt die Symbole 211 und 212 in dem Symbolanzeigebereich 200 zusammen mit den Symbolen 101 bis 104 zur Steuerung des Roboters 30 an. Da die Symbole 211 und 212 ausgelegt sind, um eine Identifizierung des Sichtsensors 41 (Handkamera) und des Sichtsensors 42 (Festkamera) zu ermöglichen, kann der Bediener sofort die Arten, Anzahl und Installationspositionen von verfügbaren Bildgebungsvorrichtungen (d. h. Bildgebungsvorrichtungen, die mit der Robotersteuerung 20 verbunden sind) durch Betrachten der Symbole 211 und 212, die in dem Symbolanzeigebereich 200 angezeigt werden, kennen.
  • Der Programmbearbeitungsabschnitt 13 empfängt einen Vorgang durch den Bediener zum Platzieren der Symbole, die in dem Symbolanzeigebereich 200 angezeigt werden, in dem Programmerzeugungsbereich 300 durch einen Drag-and-Drop-Vorgang. Der Programmerzeugungsabschnitt 14 erzeugt ein Steuerprogramm gemäß den Symbolen, die in dem Programmerzeugungsbereich 300 platziert sind. In dem in 5 veranschaulichten Programmerzeugungsbereich 300 sind das Symbol 103, das Symbol 211, das Symbol 101, das Symbol 103 und das Symbol 104 in der Bewegungsreihenfolge angeordnet. In diesem Steuerprogramm wird eine Bewegung ausgeführt, bei der das distale Armende des Roboters 30 linear in eine Zielposition bewegt wird, die Position eines Werkstücks durch eine feste 2D-Kamera detektiert wird, eine Einlernposition basierend auf der detektierten Position kompensiert wird und das Werkstück durch die Hand 31 gegriffen und bewegt wird.
  • Ein Vorgang, der ausgeführt wird, wenn eine detaillierte Programmierung für die Symbole (Symbole 201 und 202 oder Symbole 211 und 212) durchgeführt wird, die der Funktion einer Bildgebungsvorrichtung (einer Instruktion zum Verwenden eines durch eine Bildgebungsvorrichtung aufgenommenen Bilds) zugeordnet sind, die durch den Instruktionserzeugungsabschnitt 11 erzeugt wird, wird nachstehend beschrieben. 6 veranschaulicht als den Programmerzeugungsbildschirm 400, wie in 4 oder 5 veranschaulicht, einen beispielhaften Programmerzeugungsbildschirm 400, in dem der Bediener ein Symbol (z. B. das Symbol 201) auswählt, das der Funktion einer Bildgebungsvorrichtung zugeordnet ist, die in dem Programmerzeugungsbereich 300 platziert ist, und eine Detailregisterkarte 262 drückt, die in dem Programmerzeugungsbildschirm 400 bereitgestellt ist. In diesem Fall erscheinen eine Erstellungsschaltfläche 501 und ein Dropdown-Menü 502 im unteren Bereich des Programmerzeugungsbildschirms 400, wie in 6 veranschaulicht. Beim Erstellen eines neuen detaillierten Programms, das der Funktion einer Bildgebungsvorrichtung zugeordnet ist, drückt der Bediener die Erstellungsschaltfläche 501. Ein Programm, das der Funktion einer Bildgebungsvorrichtung zugeordnet ist, die in der Lehrvorrichtung 10 registriert ist, wird im Dropdown-Menü 502 angezeigt. Der Bediener kann ein gewünschtes Programm öffnen, indem er dieses Programm aus dem Dropdown-Menü 502 auswählt und eine Öffnungsschaltfläche 503 drückt.
  • Ein Livebild 550 einer Bildgebungsvorrichtung, die dem Symbol (z. B. dem Symbol 201) entspricht, das in dem Programmerzeugungsbereich 300 ausgewählt ist, kann im unteren Bereich des Programmerzeugungsbildschirms 400 angezeigt werden, der in 6 veranschaulicht ist. Mit einer solchen Konfiguration kann der Bediener zuverlässiger erkennen, welche Bildgebungsvorrichtung dem Symbol entspricht, das in dem Programmerzeugungsbereich 300 ausgewählt ist, indem er das Livebild 550 betrachtet. Eine solche Anzeigefunktion des Livebilds 550 kann z. B. unter Verwendung des Programmbearbeitungsabschnitts 13 implementiert werden, um von der Robotersteuerung 20 eine Übertragung eines Livebilds einer Bildgebungsvorrichtung anzufordern, die dem Symbol entspricht, das in dem Programmerzeugungsbereich 300 ausgewählt ist.
  • Wenn eine Programmierregisterkarte 261 in dem Programmerzeugungsbildschirm 400 ausgewählt wird, der in 6 veranschaulicht ist, kehrt der untere Bereich des Programmerzeugungsbildschirms 400 zu dem Symbolanzeigebereich 200 zurück, der eine Liste von Symbolen anzeigt, und es erfolgt wiederum eine Rückkehr in den Zustand, in dem der Bediener eine Programmierung eines Roboters durchführen kann.
  • 7 veranschaulicht einen Programmerzeugungsbildschirm 400A für eine detaillierte Programmierung, die der Funktion einer Bildgebungsvorrichtung zugeordnet ist, die beim Drücken der Erstellungsschaltfläche 501 oder der Öffnungsschaltfläche 503 in dem in 6 veranschaulichten Bildschirm angezeigt wird. Der Programmerzeugungsbildschirm 400A, der der Funktion einer Bildgebungsvorrichtung zugeordnet ist, weist auch die gleiche Bildschirmkonfiguration wie die des Programmerzeugungsbildschirms 400 auf, der beim Erstellen eines Steuerprogramms für einen Roboter verwendet wird, wie in 7 veranschaulicht. Der Programmerzeugungsbildschirm 400A beinhaltet einen Symbolanzeigebereich 200A zum Anzeigen eines Symbols, das der Steuerung einer Bildgebungsvorrichtung zugeordnet ist, und einen Programmerzeugungsbereich 300A zum Erstellen eines detaillierten Programms für eine Funktion, die der Bildgebungsvorrichtung zugeordnet ist. Wie in dem Fall, in dem ein Steuerprogramm für einen Roboter bearbeitet wird, kann der Bediener ein detailliertes Programm erstellen, das der Funktion einer Bildgebungsvorrichtung zugeordnet ist, indem er Symbole aus dem Symbolanzeigebereich 200A auswählt und sie in dem Programmerzeugungsbereich 300A durch einen Drag-and-Drop-Vorgang anordnet.
  • In dem in 7 veranschaulichten Beispiel beinhalten die Symbole, die in dem Symbolanzeigebereich 200A angezeigt werden, ein Bildgebungssymbol 252, das eine Funktion darstellt, die der Bildgebung zugeordnet ist, ein Detektionssymbol 253, das eine Funktion zum Detektieren eines Werkstücks darstellt, und ein Kompensationsberechnungssymbol 254, das die Berechnung eines Kompensationsbetrags darstellt. Der Bediener kann einen vorbestimmten Vorgang durchführen, indem er jedes Symbol auswählt, das in dem Programmerzeugungsbereich 300A platziert ist, einen Parametereinstellungsbildschirm in dem unteren Abschnitt des Programmerzeugungsbildschirms 400A anzeigen und eine detaillierte Parametereinstellung durchführen. Die Parametereinstellung des Bildgebungssymbols 252 wird für die folgenden Einstellungselemente durchgeführt:
    • Belichtungszeit
    • EIN oder AUS der LED-Beleuchtung
    • Bildreduktionsverhältnis
  • Die Parametereinstellung des Detektionssymbols 253 wird für die folgenden Einstellungselemente durchgeführt:
    • Bild verwendet
    • zu findende Form
    • Schwellenwert für den Übereinstimmungsgrad
    • Schwellenwert für den Kontrast
    wobei „Schwellenwert für den Übereinstimmungsgrad“ und „Schwellenwert für den Kontrast“ Parameter sind, die Schwellenwerten in der Bildverarbeitung zur Detektion eines Werkstücks zugeordnet sind.
  • In dem Kompensationsberechnungssymbol 254 wird ein Kompensationsbetrag zum Kompensieren einer Einlernposition eines Roboters z. B. durch Berechnen der Position eines Werkstücks in dem Bild basierend auf dem durch das Detektionssymbol 253 erhaltenen Detektionsergebnis und Umwandeln der berechneten Position in dem Bild in 3-dimensionale Koordinaten in einem Roboterkoordinatensystem erhalten.
  • In einem Programm (im Folgenden als Sichtprogramm 604 bezeichnet) für den in 7 veranschaulichten Programmerzeugungsbereich 300A wird zuerst ein Bildgebungssymbol 252 platziert, dann wird ein Hilfssymbol 257, das einem Detektionsvorgang entspricht, platziert und zwei Detektionssymbole 253 werden in dem Rahmen des Hilfssymbols 257 platziert. Das Sichtprogramm 604 implementiert die folgenden Vorgänge: Zuerst wird ein Bild eines Werkstücks durch das Bildgebungssymbol 252 aufgenommen. Dann wird die Form des gesamten Werkstücks durch das Hilfssymbol 257 zur Detektion detektiert und ein Merkmal (z. B. ein Loch) an dem Werkstück wird durch die zwei Detektionssymbole 253 in dem Hilfssymbol 257 detektiert. Dies ermöglicht es, ein Werkstück mit zwei darin ausgebildeten Löchern zu detektieren. Die Koordinaten des Werkstücks in dem Roboterkoordinatensystem werden berechnet und als Daten zur Positionskompensation durch das Kompensationsberechnungssymbol 254 eingestellt.
  • (Beispiel 2)
  • Im Folgenden wird Beispiel 2 gegeben, das sich auf die Erzeugung und Anzeige eines Symbols oder einer Instruktion durch die Lehrvorrichtung 10 bezieht. In Beispiel 2 erzeugt und zeigt die Lehrvorrichtung 10 eine Anweisung (Text), die eine Instruktion zum Verwenden eines durch eine Bildgebungsvorrichtung aufgenommenen Bilds darstellt. 9 veranschaulicht einen beispielhaften textbasierten Programmerzeugungsbildschirm 400B, der durch die Lehrvorrichtung 10 gemäß dieser Ausführungsform erzeugt wird, und 8 veranschaulicht einen beispielhaften textbasierten Programmerzeugungsbildschirm 140 in einer allgemeinen Lehrvorrichtung als ein Vergleichsbeispiel. 8 und 9 veranschaulichen beide Programmerzeugungsbildschirme zum Ausführen derselben Bewegung in einem Robotersystem, das zwei Bildgebungsvorrichtungen beinhaltet, wie in 1 veranschaulicht.
  • 9 veranschaulicht den Programmerzeugungsbildschirm 400B, der durch den Programmbearbeitungsabschnitt 13 der Lehrvorrichtung 10 gemäß dieser Ausführungsform angezeigt wird. Der Programmerzeugungsbildschirm 400B beinhaltet einen Programmerzeugungsbereich 300B zum Durchführen einer textbasierten Programmierung. Ein Popup-Menü 200B zum Anzeigen einer Liste von Anweisungen kann angezeigt werden, indem ein vorbestimmter Vorgang (z. B. ein Vorgang zum Drücken einer Instruktionslistenschaltfläche (nicht veranschaulicht), die in dem Programmerzeugungsbildschirm 400B angezeigt wird) über eine Eingabevorrichtung 19 der Lehrvorrichtung 10 durchgeführt wird, wobei der Programmerzeugungsbildschirm 400B angezeigt wird. Durch Bewegen eines Cursors zu einer Position mit einer gewünschten Zeilennummer in dem Programmerzeugungsbereich 300B und Auswählen einer gewünschten Anweisung aus dem Popup-Menü 200B kann der Bediener die Anweisung an der Position des Cursors einfügen.
  • Die Erzeugung und Anzeigeverarbeitung einer Anweisung durch die Lehrvorrichtung 10 wird im Folgenden unter Bezugnahme auf das in 3 veranschaulichte Ablaufdiagramm beschrieben. Zu Beginn wird beim Start der Lehrvorrichtung 10 oder als Reaktion auf einen auf der Lehrvorrichtung 10 durchgeführten vorbestimmten Vorgang zum Öffnen eines Programmerzeugungsbildschirms die in 3 veranschaulichte Verarbeitung gestartet. Die Lehrvorrichtung 10 (Programmbearbeitungsabschnitt 13) öffnet zunächst den Programmerzeugungsbildschirm 400B (Schritt S1). Der Instruktionserzeugungsabschnitt 11 erfasst dann Informationen bezüglich einer Bildgebungsvorrichtung, die mit der Robotersteuerung 20 verbunden ist, von der Robotersteuerung 20 (Schritt S2). In diesem Fall werden Informationen von zwei Sichtsensoren erfasst. Die zwei Kameras sind der Einfachheit halber als Kameras A und B definiert. Der Instruktionserzeugungsabschnitt 11 erzeugt eine Instruktion für jede der zwei Kameras A und B. Der Instruktionserzeugungsabschnitt 11 erzeugt zum Beispiel Instruktionen „CAMERA_A VISION RUN_FIND“ und „CAMERA_B VISION RUN_FIND“ zum Ausgeben von Befehlen an die Kameras A bzw. B bezüglich einer Instruktion „VISION RUN_FIND“, die als eine Instruktion zum Aufnehmen eines Bilds durch eine Bildgebungsvorrichtung dient (Schritt S3). Der Instruktionserzeugungsabschnitt 11 erzeugt ferner Anweisungen „CAMERA_A VISION GET_OFFSET“ und „CAMERA_B VISION GET_OFFSET“ zum Ausgeben von Befehlen an die Kameras A bzw. B bezüglich einer Instruktion „VISION GET_OFFSET“, die als eine Instruktion zum Detektieren der Position eines Werkstücks aus dem aufgenommenen Bild dient (Schritte S3 und S4).
  • Der Instruktionsanzeigeabschnitt 12 enthält zum Beispiel in dem Popup-Menü 200B nicht nur eine Anweisung, die der Steuerung eines Roboters zugeordnet ist, sondern auch die Anweisungen „CAMERA_A VISION RUN_FIND“, „CAMERA_B VISION RUN_FIND“, „CAMERA_A VISION GET_OFFSET“ und „CAMERA_B VISION GET_OFFSET“, die den Funktionen der Bildgebungsvorrichtungen zugeordnet sind, die durch den Instruktionserzeugungsabschnitt 11 erzeugt werden, und zeigt diese Anweisungen als Reaktion auf einen Auswahlvorgang auf einer Instruktionslistenschaltfläche (nicht veranschaulicht) an (Schritt S5). Der Bediener kann sofort die Arten und Anzahl von Bildgebungsvorrichtungen, die mit dem Robotersystem verbunden sind, durch Betrachten eines solchen Popup-Menüs 200B (einer Liste von Anweisungen) kennen. 9 veranschaulicht den Fall, in dem die zwei Kameras als „CAMERA_A“ und „CAMERA_B“ dargestellt sind, aber zum Beispiel der Abschnitt von „CAMERA_A“ als „2D_HANDHELD_CAMERA“ dargestellt sein kann und der Abschnitt von „CAMERA_B“ als „3D_FIXED_CAMERA“ dargestellt sein kann, so dass „2D_HANDHELD_CAMERA VISION RUN_FIND“, „3D_FIXED_CAMERA VISION RUN_FIND“, „2D_HANDHELD_CAMERA VISION GET_OFFSET“ und „3D_FIXED_CAMERA VISION GET_OFFSET“ im Popup-Menü 200B als Anweisungen enthalten sind. In diesem Fall kann der Bediener die Arten, die Anzahl und die Installationspositionen von Bildgebungsvorrichtungen, die in dem Robotersystem 100 montiert sind, kennen.
  • Der Bediener erstellt ein Steuerprogramm, wie im Programmerzeugungsbereich 300B beschrieben, durch Wiederholen eines Bearbeitungsvorgangs zum Auswählen einer gewünschten Anweisung aus der Liste von Anweisungen, die im Popup-Menü 200B angezeigt werden, und Einfügen derselben in eine Zeile, auf die der Cursor zeigt. In diesem Fall wird die Position eines Werkstücks durch die Kamera A gemäß Anweisungen (Zeilen 3 und 4) detektiert, die definiert sind, um die Kamera A direkt zu spezifizieren, und eine Bewegung zum Greifen des Werkstücks während des Kompensierens der Position eines Roboters basierend auf der detektierten Position wird implementiert (Zeilen 6 bis 10). Zusätzlich wird die Position des Werkstücks durch die Kamera B gemäß Anweisungen (Zeilen 13 und 14) detektiert, die definiert sind, um die Kamera B direkt zu spezifizieren, und eine Bewegung zum Greifen des Werkstücks während des Kompensierens der Position des Roboters basierend auf der detektierten Position wird implementiert (Zeilen 16 bis 20).
  • Eine allgemeine Lehrvorrichtung führt keine Verarbeitung zum Erzeugen einer Anweisung für jede Bildgebungsvorrichtung durch. Daher zeigt, wie in 8 veranschaulicht, in dem Programmerzeugungsbildschirm 140, der von der allgemeinen Lehrvorrichtung verwendet wird, ein Popup-Menü 120 zum Anzeigen einer Liste von Anweisungen nur Anweisungen „VISION RUN_FIND“ und „VISION GET_OFFSET“ an, die definiert sind, um keine Bildgebungsvorrichtung zu spezifizieren, als Anweisungen, die einer Bildgebungsvorrichtung zugeordnet sind. In diesem Fall kann der Bediener beispielsweise vorzugsweise die Anweisung „VISION RUN_FIND“ aus dem Popup-Menü 120 auswählen, sie in einen Programmerzeugungsbereich 130 einfügen und dann eine Kamera auswählen, die in der Anweisung „VISION RUN_FIND“ als Parameter verwendet wird. In einem solchen Popup-Menü 120 kann es dem Bediener nicht erlaubt sein, die Arten, die Anzahl und die Installationspositionen von Bildgebungsvorrichtungen, die in dem Robotersystem montiert sind, zu kennen.
  • Der Fall, in dem eine Mehrzahl von Bildgebungsvorrichtungen in dem Robotersystem platziert sind, wurde in der vorstehend beschriebenen Ausführungsform beschrieben, aber selbst wenn nur eine Bildgebungsvorrichtung in dem Robotersystem platziert ist, wird ein Symbol mit der Bildgebungsvorrichtung, die ausgewählt wird, in dem Symbolanzeigebereich 200 in Beispiel 1 (4 und 5) angezeigt, und eine Anweisung mit der Bildgebungsvorrichtung, die ausgewählt wird, wird in dem Popup-Menü 200B in Beispiel 2 (9) angezeigt. Wenn beispielsweise in Beispiel 1 nur eine Bildgebungsvorrichtung (Sichtsensor 41) in dem Robotersystem platziert ist, wird das Symbol 201 in dem Symbolanzeigebereich 200 angezeigt. Wenn in Beispiel 2 nur eine Bildgebungsvorrichtung (Kamera A) in dem Robotersystem platziert ist, werden „CAMERA_A VISION RUN_FIND“ und „CAMERA_A VISION GET_OFFSET“ im Popup-Menü 200B angezeigt. Selbst wenn nur eine Bildgebungsvorrichtung in dem Robotersystem platziert ist, kann der Bediener daher vorzugsweise keinen Vorgang zum Auswählen einer Kamera als detaillierte Einstellung für ein Symbol oder eine Anweisung durchführen.
  • Gemäß dieser Ausführungsform ist es daher möglich, bei der Programmierung eines Steuerprogramms für eine Industriemaschine die Belastung für einen Bediener zu verringern, der ein Steuerprogramm erstellt, das eine Instruktion beinhaltet, die der Funktion einer Bildgebungsvorrichtung entspricht.
  • Obwohl die vorliegende Erfindung vorstehend unter Bezugnahme auf beispielhafte Ausführungsformen beschrieben wurde, werden Fachleute auf dem Gebiet erkennen, dass das Vorstehende und verschiedene andere Änderungen, Auslassungen oder Hinzufügungen an den vorstehend beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen.
  • Die vorstehend beschriebene Ausführungsform betrifft die Erzeugung eines Steuerprogramms in einem Robotersystem, ist aber auf eine Programmiervorrichtung für ein Steuerprogramm in einem System anwendbar, das durch Verbinden einer oder mehrerer Bildgebungsvorrichtungen mit einer Steuerung für eine Werkzeugmaschine und verschiedene andere Industriemaschinen gebildet wird.
  • Die Funktionsblöcke der Lehrvorrichtung 10, die in 2 veranschaulicht sind, können durch Ausführen verschiedener Arten von Software, die in der Speichervorrichtung gespeichert ist, durch die CPU der Lehrvorrichtung 10 implementiert werden, oder können durch eine Konfiguration implementiert werden, die hauptsächlich durch Hardware wie eine ASIC (anwendungsspezifische integrierte Schaltung) gebildet wird.
  • Das Funktionslayout des Funktionsblockdiagramms, das in 2 veranschaulicht ist, ist lediglich ein Beispiel, und einige der Funktionen, die in der Lehrvorrichtung 10 angeordnet sind, können in der Robotersteuerung 20 angeordnet sein.
  • Der Zeitpunkt, zu dem die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) Informationen bezüglich einer Bildgebungsvorrichtung von der Robotersteuerung 20 erfasst und ein Symbol oder eine Anweisung erzeugt, ist nicht auf das Beispiel beschränkt, das in der vorstehend beschriebenen Ausführungsform gegeben ist, und verschiedene Beispiele sind verfügbar, wie etwa der Zeitpunkt, zu dem eine Bildgebungsvorrichtung mit der Robotersteuerung 20 verbunden ist. Der Zeitpunkt, zu dem die Lehrvorrichtung 10 (Instruktionserzeugungsabschnitt 11) Informationen bezüglich einer Bildgebungsvorrichtung von der Robotersteuerung 20 erfasst und ein Symbol oder eine Anweisung erzeugt, kann auf einen von vorbestimmten Startzeitpunkten eingestellt werden, wie etwa die Zeit des Starts der Lehrvorrichtung 10, die Zeit der Verbindung einer Bildgebungsvorrichtung mit der Robotersteuerung 20 und die Zeit, zu der der Programmerzeugungsbildschirm 400 geöffnet wird, oder kann auf eine Mehrzahl von Zeitpunkten unter diesen Startzeitpunkten eingestellt werden.
  • Ein Programm zum Ausführen der Instruktionserzeugung und der Anzeigeverarbeitung von 3 in der vorstehend beschriebenen Ausführungsform kann auf verschiedenen computerlesbaren Aufzeichnungsmedien aufgezeichnet werden (z. B. einem ROM, einem EEPROM, einem Halbleiterspeicher, wie etwa einem Flash-Speicher, einem magnetischen Aufzeichnungsmedium oder einer optischen Platte, wie etwa einer CD-ROM oder einer DVD-ROM).
  • Bezugszeichenliste
  • 1
    Werkstück
    2
    Arbeitstisch
    10
    Lehrvorrichtung
    11
    Instruktionserzeugungsabschnitt
    12
    Instruktionsanzeigeabschnitt
    13
    Programmbearbeitungsabschnitt
    14
    Programmerzeugungsabschnitt
    18
    Anzeigevorrichtung
    19
    Eingabevorrichtung
    20
    Robotersteuerung
    30
    Roboter
    41, 42
    Sichtsensor
    31
    Hand
    200
    Symbolanzeigebereich
    200B
    Popup-Menü
    300, 300B
    Programmerzeugungsbereich
    400, 400B
    Programmerzeugungsbildschirm
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 6498366 B [0003]

Claims (8)

  1. Programmiervorrichtung zum Durchführen einer Programmierung einer Industriemaschine, wobei die Vorrichtung umfasst: einen Instruktionserzeugungsabschnitt, der dazu konfiguriert ist, Informationen bezüglich einer Bildgebungsvorrichtung, die mit einer Steuerung für die Industriemaschine verbunden ist, zu erfassen und eines von einem Symbol und einer Anweisung, die eine Instruktion zum Verwenden eines Bilds, das durch die Bildgebungsvorrichtung aufgenommen wird, darstellt, basierend auf den erfassten Informationen zu erzeugen; und einen Instruktionsanzeigeabschnitt, der dazu konfiguriert ist, das erzeugte eine von dem Symbol und der Anweisung auf einem Anzeigebildschirm anzuzeigen.
  2. Programmiervorrichtung nach Anspruch 1, wobei der Instruktionserzeugungsabschnitt die Informationen bezüglich der Bildgebungsvorrichtung von der Steuerung, die mit der Programmiervorrichtung verbunden ist, zu mindestens einem von vorbestimmten Startzeitpunkten einschließlich einer Zeit des Starts der Programmiervorrichtung, einer Zeit der Verbindung der Bildgebungsvorrichtung mit der Steuerung und einer Zeit, zu der ein Programmerzeugungsbildschirm geöffnet wird, erfasst.
  3. Programmiervorrichtung nach Anspruch 1, wobei der Instruktionserzeugungsabschnitt die Informationen bezüglich der Bildgebungsvorrichtung von der Steuerung, die mit der Programmiervorrichtung verbunden ist, als Reaktion auf einen vorbestimmten Vorgang, der zum Starten eines Programmerzeugungsbildschirms über eine Eingabevorrichtung der Programmiervorrichtung durchgeführt wird, erfasst.
  4. Programmiervorrichtung nach einem der Ansprüche 1 bis 3, wobei die Informationen bezüglich der Bildgebungsvorrichtung Informationen bezüglich mindestens einem von einer Art der Bildgebungsvorrichtung, einer Installationsposition der Bildgebungsvorrichtung und einem Port, der mit der Bildgebungsvorrichtung verbunden ist, beinhalten.
  5. Programmiervorrichtung nach Anspruch 4, wobei die Informationen bezüglich der Bildgebungsvorrichtung Informationen bezüglich einer Mehrzahl von Bildgebungsvorrichtungen, die mit der Steuerung verbunden sind, umfassen, und der Instruktionserzeugungsabschnitt eines von dem Symbol und der Anweisung, die eine Instruktion zum Verwenden eines durch jede der Mehrzahl von Bildgebungsvorrichtungen aufgenommenen Bilds darstellt, in einer Darstellungsform erzeugt, die eine Identifizierung jeder der Mehrzahl von Bildgebungsvorrichtungen ermöglicht.
  6. Programmiervorrichtung nach Anspruch 5, wobei die Informationen bezüglich der Bildgebungsvorrichtung Informationen bezüglich einer Art jeder der Mehrzahl von Bildgebungsvorrichtungen beinhalten, und der Instruktionserzeugungsabschnitt eines von dem Symbol und der Anweisung, die eine Instruktion zum Verwenden eines durch jede der Mehrzahl von Bildgebungsvorrichtungen aufgenommenen Bilds darstellt, in einer Darstellungsform erzeugt, die eine Identifizierung der Art jeder der Mehrzahl von Bildgebungsvorrichtungen ermöglicht.
  7. Programmiervorrichtung nach Anspruch 5 oder 6, wobei die Informationen bezüglich der Bildgebungsvorrichtung Informationen bezüglich einer Installationsposition jeder der Mehrzahl von Bildgebungsvorrichtungen beinhalten, und der Instruktionserzeugungsabschnitt eines von dem Symbol und der Anweisung, die eine Instruktion zum Verwenden eines durch jede der Mehrzahl von Bildgebungsvorrichtungen aufgenommenen Bilds darstellt, in einer Darstellungsform erzeugt, die eine Identifizierung der Installationsposition jeder der Mehrzahl von Bildgebungsvorrichtungen ermöglicht.
  8. Programmiervorrichtung nach einem der Ansprüche 1 bis 7, ferner umfassend einen Programmbearbeitungsabschnitt, der dazu konfiguriert ist, einen Programmerzeugungsbildschirm zum Durchführen der Programmierung anzuzeigen und einen Bearbeitungsvorgang auf dem Programmerzeugungsbildschirm zu empfangen, wobei der Instruktionserzeugungsabschnitt das Symbol erzeugt, das die Instruktion zum Verwenden des durch die Bildgebungsvorrichtung aufgenommenen Bilds darstellt, der Instruktionsanzeigeabschnitt das erzeugte Symbol in einem vorbestimmten Anzeigebereich innerhalb des Programmerzeugungsbildschirms anzeigt, der Programmerzeugungsbildschirm einen Programmerzeugungsbereich zum Erstellen eines Programms durch Platzieren eines aus dem vorbestimmten Anzeigebereich ausgewählten Symbols in dem Programmerzeugungsbereich beinhaltet, und der Programmbearbeitungsabschnitt als Reaktion auf einen Vorgang zum Auswählen des in dem Programmerzeugungsbereich platzierten Symbols ein Livebild der Bildgebungsvorrichtung anzeigt, das dem ausgewählten Symbol entspricht.
DE112021003127.9T 2020-06-05 2021-06-01 Programmiervorrichtung Pending DE112021003127T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020-098761 2020-06-05
JP2020098761 2020-06-05
PCT/JP2021/020897 WO2021246416A1 (ja) 2020-06-05 2021-06-01 プログラミング装置

Publications (1)

Publication Number Publication Date
DE112021003127T5 true DE112021003127T5 (de) 2023-03-23

Family

ID=78831173

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021003127.9T Pending DE112021003127T5 (de) 2020-06-05 2021-06-01 Programmiervorrichtung

Country Status (5)

Country Link
US (1) US20230219223A1 (de)
JP (1) JPWO2021246416A1 (de)
CN (1) CN115803155A (de)
DE (1) DE112021003127T5 (de)
WO (1) WO2021246416A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023112342A1 (ja) * 2021-12-17 2023-06-22 ファナック株式会社 教示装置、制御装置、及び機械システム
JP2023142042A (ja) * 2022-03-24 2023-10-05 エスペック株式会社 設定装置、プログラム、環境形成装置、及び設定方法
WO2023223395A1 (ja) * 2022-05-16 2023-11-23 ファナック株式会社 画像処理装置、ビジョンシステムおよび画像処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6498366B1 (ja) 2018-07-10 2019-04-10 三菱電機株式会社 教示装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249026A (ja) * 1995-03-10 1996-09-27 Fanuc Ltd ロボットを含むシステムのプログラミング方法
JP3269005B2 (ja) * 1997-05-12 2002-03-25 川崎重工業株式会社 ロボット制御装置
AU2003283693A1 (en) * 2002-12-19 2004-07-14 Koninklijke Philips Electronics N.V. System and method for controlling a robot
EP3875230A4 (de) * 2018-11-01 2022-07-27 Canon Kabushiki Kaisha Externe eingabevorrichtung, robotersystem, steuerungsverfahren für robotersystem, steuerungsprogramm und aufzeichnungsmedium
CN111273572A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作分子模板的创建方法及装置、设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6498366B1 (ja) 2018-07-10 2019-04-10 三菱電機株式会社 教示装置

Also Published As

Publication number Publication date
JPWO2021246416A1 (de) 2021-12-09
CN115803155A (zh) 2023-03-14
US20230219223A1 (en) 2023-07-13
WO2021246416A1 (ja) 2021-12-09

Similar Documents

Publication Publication Date Title
DE112021003127T5 (de) Programmiervorrichtung
DE102018215057B4 (de) Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE102018109463B3 (de) Verfahren zur Benutzung einer mehrgliedrigen aktuierten Kinematik, vorzugsweise eines Roboters, besonders vorzugsweise eines Knickarmroboters, durch einen Benutzer mittels einer mobilen Anzeigevorrichtung
DE102012110508B4 (de) Roboter Einstellvorrichtung mit 3-D Display
DE102019006800A1 (de) Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität
DE60025683T2 (de) Graphische Anzeigevorrichtung für ein Robotersystem
DE60127644T2 (de) Lehrvorrichtung für einen Roboter
DE102015209899B4 (de) Auswahl eines Gerätes oder eines Objektes mit Hilfe einer Kamera
DE102016102902A1 (de) Numerische Steuereinheit zur Steuerung einer Werkzeugmaschine
DE102018009023A1 (de) Einlernvorrichtung zum ausführen von robotereinlernvorgängen und einlernverfahren
DE102018107857A1 (de) Vorrichtung, System und Verfahren zur automatischen Erzeugung eines Bewegungspfads eines Roboters
EP3040818B1 (de) Programm und system zum erkennen eines objektes in einer bildschirmdarstellung
DE102015111080A1 (de) Robotervorrichtung mit maschinellem Sehen
WO2019072512A1 (de) Verfahren zur bereitstellung einer haptischen rückmeldung an einen bediener einer berührungssensitiven anzeigeeinrichtung
DE102010014423A1 (de) Starten einer Messprozedur zum Messen von Koordinaten eines Werkstücks
DE102021103726A1 (de) Messparameter-Optimierungsverfahren und -Vorrichtung sowie Computersteuerprogramm
BE1029597A1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
DE102017216093B4 (de) Verfahren zur Parametrierung eines robotischen Manipulators
DE3854232T2 (de) Verfahren zum verbessern eines bildelements.
DE112022000322T5 (de) Einlernvorrichtung
DE112021002451T5 (de) Programmbearbeitungsvorrichtung
DE102019101634A1 (de) Werkstückbilderzeugungsvorrichtung
DE112021004779T5 (de) Vorrichtung zum Einstellen eines Parameters, Robotersystem, Verfahren und Computerprogramm
DE112021004632T5 (de) Robotersteuerungsvorrichtung und robotersystem
DE102004032996A1 (de) Einfache Roboterprogrammierung