DE102016210097A1 - Roboter - Google Patents

Roboter Download PDF

Info

Publication number
DE102016210097A1
DE102016210097A1 DE102016210097.1A DE102016210097A DE102016210097A1 DE 102016210097 A1 DE102016210097 A1 DE 102016210097A1 DE 102016210097 A DE102016210097 A DE 102016210097A DE 102016210097 A1 DE102016210097 A1 DE 102016210097A1
Authority
DE
Germany
Prior art keywords
variable
parameter
point
identification information
program
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.)
Granted
Application number
DE102016210097.1A
Other languages
English (en)
Other versions
DE102016210097B4 (de
Inventor
Kenichiro Hiruma
Yoshikazu Suganuma
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.)
Janome Corp
Original Assignee
Janome Sewing Machine Co Ltd
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 Janome Sewing Machine Co Ltd filed Critical Janome Sewing Machine Co Ltd
Publication of DE102016210097A1 publication Critical patent/DE102016210097A1/de
Application granted granted Critical
Publication of DE102016210097B4 publication Critical patent/DE102016210097B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36497Select program, main and secondary program
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36507Select program or execute command, control instructions as function of axis position
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/41Tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Ein Roboter, der zum Einsatz einer Mehrzahl von Parameterkandidaten in einen Punkt durch eine Einzelart-Anweisungssequenz in Übereinstimmung mit dem Punkt in der Lage ist, wird bereitgestellt. Ein Roboter speichert ein Hauptprogramm, ein Unterprogramm, auf das Bezug genommen wird, wenn das Hauptprogramm ausgeführt wird, und eine Mehrzahl von Parametern. Das Unterprogramm enthält eine Anweisungssequenz, die eine Variable enthält, und definiert Steuerdetails. Die Parameter sind Einsetzkandidaten für die einzelne Art von Variable. Der in die einzige Art von Variable einzusetzende Parameter wird bestimmt und einer der Speicherbereiche, wo der Parameter gespeichert wird, ist mit der Variable gemäß einem Bestimmungsergebnis verknüpft.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung basiert auf und beansprucht den Nutzen der Priorität der Japanischen Patentanmeldung Nr. 2015-120201 , eingereicht am 15. Juni 2015, deren gesamte Inhalte hier unter Bezugnahme inkorporiert seien.
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein Programm, das einen Roboter steuert.
  • HINTERGRUND
  • Verschiedene Industrieroboter werden populär. Roboter werden zum Schrauben-Festziehen, Schweißen und Lackieren an einem Werkstück, Transport des Werkstücks, Anbringen eines Teils am Werkstück und Löten etc. eingesetzt. Solche Roboter beinhalten beispielsweise eine vertikale Mehrverbindungstyp-Bewegungseinheit und ein Werkzeug ist an der Bewegungseinheit angebracht. Ein Computer, der ein Programm ausführt, steuert die Bewegungseinheit und das Werkzeug. Unter der Steuerung des Computers wird das Werkzeug zu einem vorbestimmten Punkt bewegt und betätigt.
  • Das Programm kann in einer Punkt-basierten Robotersprache beschrieben sein. Dieses Programm beinhaltet Punktaussagen, die in Abfolge angeordnet sind, und jede Punktaussage gilt für einen Punkt. Die Punktaussage hält eine Punktnummer, die ein Kopf ist, Punktart-Information und Punktkoordinaten-Information. Die Punktart-Information ist ein sogenannter Funktionsidentifizierer und identifiziert eine Anweisungssequenz, die Arbeitsdetails zu einem Punkt, und ein Bewegungsverfahren dahin definiert.
  • Der Roboter steuert die Bewegungseinheit und das Arbeitswerkzeug gemäß der durch die Punktart-Information identifizierten Anweisungssequenz, bewegt das Arbeitswerkzeug zu einem durch die Koordinateninformation angegebenen Punkt und führt eine Arbeit am Punkt durch. Parameter, die Operationsgrößen, wie etwa verschiedene Distanzen, verschiedene Winkel, und verschiedene andere Größen angeben, sind für die Bewegung zu einem Punkt und für die Arbeit an diesem Punkt notwendig. Beispielsweise wird eine Mehrzahl von Punkten für ein Werkstück eingestellt. Jeder Punkt ist eine Schraubenbefestigungsposition. Ein Arbeitswerkzeug, das ein elektrischer Schraubendreher ist, wird zuerst oberhalb jedes Punkts positioniert. Zweitens bewegt sich das Arbeitswerkzeug zum Punkt, während eine Schraube gedreht wird. Ein Abwärtsbewegungsbetrag ist äquivalent zu einer Schraubenlänge. Dieser Abwärtsbewegungsbetrag wird durch einen Parameter angegeben, welcher durch die Schraubenlänge spezifiziert ist.
  • Es gilt nicht immer, dass an dem Punkt zu befestigende Schrauben vom selben Typ sind. Es können Schrauben, die für jeden Punkt eine unterschiedliche Schraubenlänge aufweisen, befestigt werden. Schrauben können beispielsweise in eine an einem Punkt einmalige Schraube, eine Schraube die erheblich für dasselbe Werkstück verwendet wird, und eine Schraube, die erheblich und unabhängig vom Werkstück verwendet wird, klassifiziert werden. Da der Abwärtsbewegungsbetrag des Arbeitswerkzeugs zum Punkt hin abhängig von der Schraubenlänge variiert, kann jedes Mal deklariert eine Variable werden, wenn die Punktaussage deklariert wird, und kann ein angemessener Parameter in diese Variable eingesetzt werden. Diesem Schema entsprechend ist es eine jedoch zeitaufwändige Arbeit, die Variable jedes Mal, wenn die Punktaussage ausgeführt wird, zu initialisieren.
  • Daher verbessert sich, wenn entsprechende Systemvariablen, die mit Speicherbereichen verlinkt sind, die verschiedene Schraubenlängen speichern, vorab vorbereitet werden, die Anwenderfreundlichkeit. Wenn beispielsweise eine einmalige Schraube an einem Punkt zu befestigen ist, wird vorher eine Systemvariable, die „CondScrewL” ist, entsprechend einer solchen Schraubenlänge eingerichtet. Wenn eine Schraube, die im selben Werkstück stark eingesetzt wird, zu befestigen ist, wird vorher eine Variable, die „ProgScrewL” ist, entsprechend einer solchen Schraubenlänge eingerichtet. Wenn eine Schraube, die unabhängig vom Werkstück stark verwendet wird, zu befestigen ist, wird eine Systemvariable, die „CommongScrewL” ist, einer solchen Schraubenlänge entsprechend eingerichtet. Als Nächstes wird die Systemvariable, die „CondScrewL”, „ProgScrewL”, oder „CommongScrewL” ist, auf eine Anweisungssequenz angewendet, die ein Bewegungsverfahren und Arbeitsdetails definiert.
  • Die Anweisungssequenz, auf welche die Systemvariable „CondScrewL” angewendet wird, die Anweisungssequenz, auf welche die Systemvariable „ProgScrewL” angewendet wird und die Anweisungssequenz, auf welche die Systemvariable „CommongScrewL” angewendet wird, weisen die gemeinsame Operation auf, nämlich, eine Schraube zu befestigen. Daher sind in der Anweisungssequenz andere Codes als die Systemvariable im Wesentlichen konsistent.
  • Da jedoch die Systemvariable anders ist, ist die Anweisungssequenz selbst anders. Vom Standpunkt eines Programmierers aus, der eine durch die Punktart-Information identifizierte Anweisungssequenz erzeugt, ist es eine zeitraubende Arbeit, individuell eine Mehrzahl von Anweisungssequenzen zu erzeugen, die nur eine Differenz aufweisen, welche die Systemvariable ist. Zusätzlich führt eine solche zeitaufwendige Arbeit zu einem Anstieg bei den Kosten des Roboters.
  • Die vorliegende Erfindung ist vorgeschlagen worden, um die obigen technischen Probleme konventioneller Technologien anzugehen und es ist eine Aufgabenstellung, einen Roboter bereitzustellen, der eine Substituierung einer Mehrzahl von Parameterkandidaten in einem Punkt durch eine Einzelart-Anweisungssequenz in Entsprechung zu dem Punkt ermöglicht.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Um die obige Aufgabenstellung zu erzielen, beinhaltet ein Roboter gemäß einem Aspekt der vorliegenden Erfindung:
    ein Arbeitswerkzeug, das eine Bearbeitung an einer Mehrzahl von Punkten auf einem Werkstück ausführt;
    eine Bewegungseinheit, die das Arbeitswerkzeug zu dem Punkt bewegt; und
    eine Steuerung, die das Arbeitswerkszeug und die Bewegungseinheit gemäß einem Programm steuert,
    wobei: die Steuerung beinhaltet:
    einen ersten Speicher, der ein erstes Programm speichert, wobei das erste Programm Aussagen enthält, die in Abfolge angeordnet sind, für jeden der Punkte, wobei die Aussage Artinformation enthält, die Steuerdetails durch die Steuerung angibt und Koordinateninformation zu dem Punkt;
    einen zweiten Speicher, der ein zweites Programm speichert, das durch die Artinformation identifiziert ist, beinhaltend eine Anweisungsabfolge, die eine Variable enthält und die Steuerdetails definiert;
    einen dritten Speicher, der eine Mehrzahl von Parametern speichert, wobei der Parameter ein Einsetzungskandidat für eine einzelne Art der Variable ist;
    eine Bestimmungseinheit, die den in die einzelne Art von Variable einzusetzenden Parameter für jede der Aussagen bestimmt; und
    eine Änderungseinheit, die wieder einen von Speicherbereichen, wo die Parameter gespeichert sind, mit der Variable für jede der Aussagen in Übereinstimmung mit einem vorbestimmten Ergebnis durch die Bestimmungseinheit verknüpft.
  • Arbeitsdetails für die Mehrzahl von Punkten können konsistent sein, außer dem Parameter;
    jede der Aussagen kann dieselbe Artinformation enthalten; und
    die Steuerung kann sich auf dasselbe zweite Programm beziehen, wenn jede der Aussagen ausgeführt wird.
  • Der Roboter kann weiter ein Programmierwerkzeug enthalten, welches das erste Programm in Übereinstimmung mit einer Anwendermanipulation erzeugt und editiert, wobei:
    das Programmierwerkzeug in der Lage sein kann, die Aussage mit Identifikationsinformation über den Parameter entsprechend der Anwendermanipulation zu assoziieren;
    die Bestimmungseinheit bestimmen kann, ob es die assoziierte Identifikationsinformation gibt oder nicht; und
    die Änderungseinheit den Speicherbereich für den durch die Identifikationsinformation angegebenen Parameter mit der Variablen verknüpfen kann, wenn es die assoziierte Identifikationsinformation gibt.
  • Die Änderungseinheit kann den Speicherbereich für den Parameter, der angewendet wird, wenn es keine Identifikationsinformation gibt, mit der Variablen verknüpfen.
  • Einer der Mehrzahl von Parametern, die angewendet werden, wenn es nicht die Identifikationsinformation gibt, kann mit einem, eine Anwendbarkeit anzeigenden Flag assoziiert sein;
    die Bestimmungseinheit kann bestimmen, ob es nicht die Identifikationsinformation gibt, und das Flag gibt eine Anwendbarkeit an; und
    die Änderungseinheit kann den Speicherbereich für den Parameter, der angewendet wird, wenn es keine Identifikationsinformation gibt, und das Flag die Anwendbarkeit angibt, mit der Variablen verknüpfen.
  • Die Bestimmungseinheit kann bestimmen, ob es nicht die Identifikationsinformation gibt und das Flag eine Nicht-Anwendbarkeit anzeigt; und
    die Änderungseinheit kann den Speicherbereich für den Parameter, der angewendet wird, wenn es die Identifikationsinformation nicht gibt und das Flag die Nicht-Anwendbarkeit anzeigt, mit der Variablen verknüpfen.
  • Das Arbeitswerkzeug kann ein elektrischer Schraubendreher sein, der eine Schraube mit einer anderen Schraubenlänge für jeden der Punkte befestigt; und
    die Variable kann in der Instruktionssequenz auf solche Weise enthalten sein, dass die Schraubenlänge in die Variable eingesetzt wird.
  • Gemäß der vorliegenden Erfindung, da der in die Variable einzusetzende Parameter aus der Mehrzahl von Kandidaten bestimmbar ist, ist eine Arbeit an jedem Punkt durch die gemeinsame Anweisungssequenz ausführbar, selbst wenn es verschiedene Parameter gibt, die einem Programmierer ermöglichen, die Instruktionsanweisung zu erzeugen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein beispielhaftes Diagramm, das eine Gesamtstruktur eines Roboters illustriert;
  • 2 ist ein Blockdiagramm, das eine Struktur einer Steuerung illustriert;
  • 3 ist ein beispielhaftes Programm, das einen Beispielbetrieb eines Roboters zeigt;
  • 4 ist ein beispielhaftes Diagramm, welches eine Gesamtstruktur eines Hauptprogramms illustriert;
  • 5 ist ein beispielhaftes Diagramm, das eine Gesamtstruktur eines Parameters illustriert;
  • 6 ist ein beispielhaftes Diagramm, das eine Gesamtstruktur eines Unterprogramms illustriert;
  • 7 ist ein Flussdiagramm, das einen Ausführungsbetrieb von Programmen durch die Steuerung illustriert;
  • 8 ist ein Blockdiagramm, das eine Funktion der Steuerung illustriert;
  • 9 ist ein beispielhaftes Diagramm, das einen Übergang im Parameter-Einstellbildschirm durch ein Programmierwerkzeug illustriert;
  • 10 ist ein beispielhaftes Diagramm, das eine erste Beispielausführung einer Punktaussage illustriert;
  • 11 ist ein beispielhaftes Diagramm, das eine zweite Beispielausführung einer Punktaussage illustriert;
  • 12 ist ein beispielhaftes Diagramm, das eine dritte Beispielausführung einer Punktaussage illustriert; und
  • 13 ist ein beispielhaftes Diagramm, das eine vierte Beispielausführung einer Punktaussage illustriert.
  • KURZE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Roboterstruktur
  • Ein Roboter gemäß einer Ausführungsform der vorliegenden Erfindung wird unten im Detail unter Bezugnahme auf die beigefügten Zeichnungen erläutert. Wie in 1 illustriert, beinhaltet ein Roboter 1 eine Bewegungseinheit 2 und eine Steuereinheit 3a. Ein Arbeitswerkzeug 4 ist an der Bewegungseinheit 2 angebracht. Der Roboter 1 positioniert das Arbeitswerkzeug 4 durch die Bewegungseinheit 2 an einer gewünschten Position und betätigt das Arbeitswerkzeug 4. In dieser Ausführungsform ist das Arbeitswerkzeug 4 ein elektrischer Schraubendreher und befestigt eine Schraube an einem Werkstück.
  • Die Bewegungseinheit 2 bewegt das Arbeitswerkzeug 4 in einer X-Achsenrichtung, einer Y-Achsenrichtung und einer Z-Achsenrichtung und positioniert das Arbeitswerkzeug 4 an einem spezifizierten Punkt. Die X-Achsenrichtung ist eine erste Richtung parallel zu einer Ebene, auf der ein Werkstück platziert ist. Die Y-Achsenrichtung ist eine zweite Richtung parallel zur Ebene und orthogonal zur X-Achsenrichtung. Die Z-Achsenrichtung ist eine Höhenrichtung. Die Bewegungseinheit 2 beinhaltet einen X-Linearschieber 21 der das Arbeitswerkzeug 4 in der X-Achsenrichtung bewegt, einen Y-Linearschieber 22, der das Arbeitswerkzeug 4 in Y-Achsenrichtung bewegt und einen Z-Linearschieber 23, der das Arbeitswerkzeug 4 in der Z-Achsenrichtung bewegt.
  • Der X-Linearschieber 21 weist den Y-Linearschieber 22 verschiebbar auf einer Schiene vorgesehen auf, die sich in der X-Achsenrichtung erstreckt und weist den Y-Linearschieber 22 mit einem Endlosriemen, der in X-Achsenrichtung läuft, befestigt auf, was orthogonal zum Y-Linearschieber 22 ist. Der Endlosriemen wird durch einen X-Achsenmotor zum Bewegen des Y-Linearschiebers 22 längs der X-Achsenrichtung angetrieben.
  • Der Y-Linearschieber 22 weist den verschiebbar auf einer Schiene vorgesehenen Z-Linearschieber 23 auf, der sich in der Y-Achsenrichtung erstreckt und weist den mit einem Endlosriemen, der in der Y-Achsenrichtung läuft, befestigten Z-Linearschieber 23 auf. Der Endlosriemen wird durch einen Y-Achsenmotor zum Bewegen des Z-Linearschiebers 23 längs der Y-Achsenrichtung angetrieben. Beispiel-Übertragungsmechanismen für die X- und Y-Linearschieber 21, 22 sind, zusätzlich zu Endlosriemen, verschiedene Aktuatoren, einschließlich eines Zylinders und einer Leitspindel.
  • Der Z-Linearschieber 23 beinhaltet einen Arm mit einer Achse, welche parallel zur Z-Achsenrichtung ist und das Arbeitswerkzeug 4 ist am Führungsende dieses Armes angebracht. Dieser Z-Linearschieber 23 beinhaltet beispielweise einen Zahnstangenmechanismus, weist die in der Z-Achsenrichtung ausgedehnte Zahnstange auf und weist den an dieser Zahnstange fixierten Arm auf. Das Ritzel wird durch einen Z-Achsenmotor gedreht, um den Arm in der Z-Achsenrichtung zu bewegen. Dieser Z-Linearschieber 23 bewegt das Arbeitswerkzeug 4 in der Z-Achsenrichtung.
  • Wie in 2 illustriert, ist die Steuerung 3 ein sogenannter Computer, der einen Prozessor 31, einen Speicher 32, einen Speicher 33 und Peripherievorrichtungen beinhaltet. Die Peripherievorrichtungen sind ein Motortreiber 34 und eine Manipulationsvorrichtung 35. Der Speicher 32 speichert Programme, wie etwa Hauptprogramme 6, ein Unterprogramm 7 und Parameter 8. Das Hauptprogramm 6 ist eine Hauptroutine, das Unterprogramm 7 ist eine Unterroutine und die Parameter 8 sind Einsetzungskandidaten für eine Variable 75 im Unterprogramm 7.
  • Der Prozessor 31 führt einen Rechenprozess und einen Steuerprozess für die Peripherievorrichtung anhand des Hauptprogramms 6 aus. Der Prozessor 31 bezieht sich nach Bedarf auf das Unterprogramm 7 und die Parameter 8, beim Ausführen des Hauptprogramms 6. Die Programme werden in den Speicher 33 nach Bedarf entwickelt und Rechenergebnisse durch den Prozessor 31 werden darin zeitweilig gespeichert. Der Motortreiber 34 liefert Strompulse an entsprechende Motoren in Übereinstimmung mit einem Anweisungssignal, das aus dem Prozessor 31 als ein Ergebnis des Steuerprozesses eingegeben wird.
  • Die Manipulationsvorrichtung 35 beinhaltet eine Anzeigeneinheit wie eine Flüssigkeitskristallanzeige, eine Maus, eine Tastatur und ein Programmierhandgerät. Die Programme werden über eine Lehrmanipulation unter Verwendung der Manipulationsvorrichtung 35 erzeugt und editiert. Der Speicher 32 ist zum Speichern der Mehrzahl von Hauptprogrammen 6 in der Lage. Das auszuführende Hauptprogramm 6 wird durch eine Manipulation unter Verwendung der Manipulationsvorrichtung 35 ausgewählt.
  • Es wird eine Beispieloperation des Roboters 1 gemäß solchen Programmen erläutert. Wie in 3 illustriert, werden im Hauptprogramm 6 Punkte P1, P2 und P3 an einem Werkstück eingestellt und wird das Unterprogramm 7, das eine Bewegung zu jedem Punkt P1, P2, P3 und eine Schraubenbefestigungsarbeit definiert, benannt. Jedoch variiert ein in eine Variable 75 des Unterprogramms 7 einzusetzender Wert abhängig von den Punkten P1, P2 und P3. Eine Schraube, die eine einmalige Schraubenlänge von 3 mm bis zum Punkt P1 aufweist, ist an diesem Punkt zu befestigen. Eine Schraube, die eine einmalige Schraubenlänge von 5 mm zum Punkt P2 aufweist, ist an diesem Punkt zu befestigen. Eine Schraube, die eine Schraubenlänge von 10 mm aufweist und massiv für dieses Werkstück verwendet wird, oder eine Schraube, die unabhängig vom Werkstück eine Schraubenlänge von 8 mm aufweist, wird am Punkt P3 befestigt.
  • Die Steuerung 3 positioniert das Arbeitswerkzeug 4 genau über den Punkten P1, P2 und P3 in dieser Reihenfolge und betätigt das Arbeitswerkzeug 4, während sie gleichzeitig das Arbeitswerkzeug 4 herunterbewegt. Jedoch positioniert die Steuerung 3 das Arbeitswerkzeug 4 vom Punkt P1 um eine Höhe entfernt, die 3 mm beträgt, und bewegt das Arbeitswerkzeug 4 um die Höhe, die 3 mm beträgt, herunter. Die Steuerung 3 positioniert das Arbeitswerkzeug 4 um eine Höhe vom Punkt P2 entfernt, die 5 mm beträgt und bewegt das Arbeitswerkzeug 4 um die Höhe, die 5 mm beträgt, herunter. Die Steuerung 3 positioniert das Arbeitswerkzeug 4 vom Punkt P3 um eine Höhe entfernt, die 10 oder 8 mm beträgt, und bewegt das Arbeitswerkzeug 4 um die Höhe, die 10 oder 8 mm beträgt, herunter.
  • Programmstruktur
  • 4 ist ein Beispieldiagramm, welches die Gesamtstruktur des Hauptprogramms 6 illustriert. Das Hauptprogramm 6 weist Punktaussagen 61 für entsprechende Punkte P1 bis P3, die in Abfolge angeordnet sind, auf. Die Punktaussage 61 gibt die Position des Punkts an und steuert Details. In der Punktaussage 61, wobei eine Punktnummer 62 als ein Kopf dient, sind eine Punktart-Information 63 und eine Punktkoordinaten-Information 64 in Abfolge angeordnet. Einige Punktaussagen 61 weisen weiter eine Parameternummer 65, die in Abfolge angeordnet ist, auf.
  • Die Punktnummer 62 klärt eine Erklärung, dass die Punktaussage 61 in einer Punkt-basierten Satzstruktur und ein Trennzeichen ist und unterteilt jede Punktaussage 61. Die Punktkoordinateninformation 64 identifiziert die Position des Punkts im Koordinatensystem des Roboters 1. Beispielsweise werden die entsprechenden Koordinaten der Punkte P1 bis P3 identifiziert.
  • Die Punktart-Information 63 ist ein sogenannter Funktionsidentifizierer, der das Unterprogramm 7 anzeigt, welches die Steuerdetails am Punkt definiert. Beispielsweise ist die Punktart-Information 61 des Unterprogramms 7, die ein Bewegungsverfahren und die Arbeitsdetails des Schraubenanziehens definiert, in Abfolge angeordnet. Wenn in der Punktaussage 61 definiert, identifiziert der Parameter 65 einen Einsetzwert in die im Unterprogramm 7 deklarierte Variable 75. Beispielsweise identifiziert die Parameternummer 65 einen Herunterbewegbetrag des Arbeitswerkzeugs 4 zum Zeitpunkt der Schraubenbefestigungsoperation.
  • 5 ist ein beispielhaftes Diagramm, welches die Gesamtstruktur des Parameters 8 illustriert. Der Speicher 33 speichert die Mehrzahl von Parametern, welche Einsetzkandidaten an die Variable 75 im Unterprogramm 7 sind. Das heißt, dass der Speicher 33 mehrere Arten von Punkt-einmaligen Parametern 81, die durch die Parameternummern 65 identifiziert sind, und einen Programm-einmaligen Parameter 62, der einem einzelnen Hauptprogramm 6 gemeinsam ist und einen gemeinsamen Parameter 83, der unabhängig vom Hauptprogramm 6 anzuwenden ist, speichert. Der Programm-einmalige-Parameter 82 weist ein damit assoziiertes Flag 84 auf. Dieses Flag 84 gibt an, ob der assoziierte Programm-einmalige-Parameter 82 anzuwenden ist oder nicht. Die Details im Flag 84 werden durch eine Manipulation unter Verwendung der Manipulationsvorrichtung 35 wieder geschrieben.
  • 6 ist ein beispielhaftes Diagramm, welches die Gesamtstruktur des Unterprogramms 7 illustriert. Das Unterprogramm 7 wird durch die Punktart-Information 71 identifiziert, die ein sogenannter Funktionsidentifizierer ist. Im Unterprogramm 7 sind eine Bewegungsverfahren-Anweisungssequenz 72, eine Vorbewegungs-Arbeitsanweisungssequenz 73 und eine Nachbewegungs-Arbeitsanweisungssequenz 74 beschrieben. Die Bewegungsverfahren-Anweisungssequenz 72 ist ein Bündel von Aussagen zur Steuerung eines Bewegungsverfahrens zu dem Punkt. Beispielsweise gibt die Bewegungsverfahren-Anweisungssequenz 72 eine PTP-Bewegung etc. an, die das Arbeitswerkzeug 4 linear bewegt, um so die angrenzenden Punkte zu verbinden. Die Bewegungsverfahren-Anweisungssequenz 72 kann ein Funktionsidentifizierer einer vorab definierten externen Funktion sein.
  • Die Vorbewegungsarbeits-Anweisungssequenz 73 ist ein Bündel von Aussagen, die vor der Bewegung für den Punkt auszuführen sind. Beispielsweise wird die Vorbewegungs-Arbeitsanweisungssequenz 73 mit einer Operation des Haltens einer Schraube beschrieben. Die Nachbewegungs-Arbeitsanweisungssequenz 74 ist ein Bündel von Aussagen, die nach der Bewegung zu dem Punkt auszuführen ist. Beispielsweise wird die Nachbewegungs-Arbeitsanweisungssequenz 74 mit einer Operation des Herabbewegens des Arbeitswerkzeugs 4, während das Arbeitswerkzeug 4 betätigt wird, beschrieben. Das Unterprogramm 7 enthält die Variable 75. Um beispielsweise das Arbeitswerkzeug 4 zu dem Punkt herunterzubewegen, wird die Nachbewegungsarbeits-Anweisungssequenz 74 mit einem Satz von Abwärtsbewegungsanweisung und Abwärtsbewegungsvariable beschrieben.
  • Es wird eine Erläuterung zu einer Ausführungsoperation jener Programme gegeben. 7 ist ein Flussdiagramm, welches einen Prozess des Hauptprogramms 6 durch die Steuerung 3 illustriert. Die Steuerung 3 bestimmt (Schritt S01), ob die Punktaussage 61, welche die Punktnummer 62 aufweist, die N ist, mit der Parameternummer 65 assoziiert ist. Der Anfangswert von N beträgt 1. Wenn die Punktaussage 61 mit der Parameternummer 65 assoziiert ist (Schritt S01: Ja), wird der durch die Parameternummer 65 identifizierte Punkt-einmalige-Parameter 81 in die Variabel 75 eingesetzt (Schritt S02).
  • Wenn die Punktaussage 61 nicht mit der Parameternummer 65 assoziiert ist (Schritt S01: Nein), prüft die Steuerung 3 (Schritt S03) das Flag 84. Wenn das Flag 85 einen Wert aufweist, der 1 ist, das heißt der Wert ist, der angibt, dass der Programm-einmalige-Parameter 82 anzuwenden ist (Schritt S03: Ja), setzt die Steuerung 3 den Programm-einmaligen-Parameter 82 in die Variable 75 ein (Schritt S04).
  • Wenn das Flag 84 einen Wert aufweist, der 0 ist, das heißt den Wert, der angibt, dass der Programm-einmalige-Parameter 82 nicht anzuwenden ist (Schritt S03: Nein), setzt die Steuerung 3 den gemeinsamen Parameter 83 in die Variable 75 ein (Schritt S05).
  • Nach Vollenden des Einsetzens in die Variable 75 ruft die Steuerung 3 das Unterprogramm 7, das durch dieselbe Punktidentifikationsinformation 71 wie die in der N-ten Punktaussage 61 angeordnete Punktart-Information 63 identifiziert ist, auf (Schritt S06) und führt dieses Unterprogramm 7 aus (Schritt S07). Nach Abschluss der Ausführung des Unterprogramms 7 kehrt der Prozess zum Hauptprogramm 6 zurück und wird der ab dem Schritt S01 beginnende Prozess für die nächste Punktaussage 61 wiederholt.
  • Wie oben erläutert, fungiert, wie in 8 illustriert, die Steuerung 3 als Steuereinheit 3a für den Roboter 1, eine Bestimmungseinheit 3b, welche den Parameter 8 für die Variable 75 festlegt und eine Änderungseinheit 3c, welche die Details bei der Variable 75 auf den vorbestimmen Parameter 8 ändert. Die Bestimmungseinheit 3b bestimmt Anwesenheit oder Abwesenheit der Parameternummer 65 in jeder Punktaussage 61 und die Details des Flags 84, das mit dem Programm-einmaligen-Parameter 82 assoziiert ist. Die Änderungseinheit 3c verknüpft die Variable 75 mit einem Speicherbereich, wo der Punkt-einmalige-Parameter 81, der Programm-einmalige-Parameter 82 oder der gemeinsame Parameter 83 gemäß dem Bestimmungsergebnis durch die Bestimmungseinheit 3b gespeichert ist.
  • Wie in 8 illustriert, fungiert die Steuerung 3 weiter als Programmierwerkzeug 3d und erzeugt und editiert neu die Programme in Reaktion auf eine Eingabe, die der Manipulationsvorrichtung 35 gegeben wird. Wenn die Programme erzeugt und editiert werden, zeigt das Programmierwerkzeug 3d die Details des Hauptprogramms 6 auf der Anzeigeeinheit an und assoziiert die Parameternummer 65 mit der Punktaussage 61 in Reaktion auf eine an die Manipulationsvorrichtung 35 gegebene Eingabe.
  • Zusätzlich, wie in 9 illustriert, wird ein Parametereinstellbildschirm für das Hauptprogramm 6 angezeigt. Im Parameter-Einstellbildschirm wird eine Auswahl getroffen, ob der Programm-einmalige Parameter 82 oder gemeinsame Parameter 83 in die Variable 75 in der Punktaussage 61 eingesetzt wird, die keine Parameternummer 65 aufweist. Entsprechend der Auswahl durch die Manipulationsvorrichtung 35 schreibt das Programmierwerkzeug 3d die Details des Flags 84 neu. Zusätzlich werden in diesem Parameter-Einstellbildschirm der Punkt-einmalige Parameter 81, der Programm-einmalige Parameter 82 und der gemeinsame Parameter 83 eingerichtet. Das Programmierwerkzeug 3d speichert den Untergrenzwert und den Obergrenzwert in jedem Parameter 8 und wenn der eingegebene Parameter 8 niedriger als der Untergrenzwert ist oder den Obergrenzwert übersteigt, wird eine Fehlermitteilung herausgegeben.
  • Aktion
  • Wie in 10 illustriert, gibt beispielsweise die in Abfolge im Hauptprogramm 6 angeordnete erste Punktaussage 61 „#1 Schraubenbefestigungspunkt X = X1, Y = Y1, Z = Z1 Parameternummer 1” an. Zusätzlich wird an der Adresse des Speichers 33, der durch die „Parameternummer 1” identifiziert ist, ein Wert, der 3 mm beträgt, gespeichert.
  • Zuerst identifiziert die Steuerung 3 den Begrenzer der Punktaussage 61, basierend auf der Punktnummer 62, die „#1” ist. Die Steuerung 3 führt eine Initialisierung des Einsetzens von X1, Y1 und Z1 in eine X-Koordinatenvariable X, eine Y-Koordinatenvariable Y bzw. eine Z-Koordinatenvariable Z aus. Zusätzlich, da die Parameternummer 65, die „Parameternummer 1” ist, assoziiert wird, führt die Steuerung 3 eine Initialisierung des Einsetzens des durch die „Parameternummer 1” identifizierten Werts, der 3 mm beträgt, in die Variable 75, die „ScrewL” ist, deklariert als die Schraubenlänge, aus.
  • Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 entsprechend dem Unterprogramm 7, welches dieselbe Punktart-Information 71 wie die Punktart-Information 63 aufweist, die „Schraubenbefestigungspunkt” ist, gesteuert. Das Unterprogramm 7 enthält einen Anweisungsabfolgeblock zum Bewegen und Betätigen des Arbeitswerkzeugs 4.
  • Einer der Blöcke der Instruktionsanweisungen ist die Bewegungsverfahren-Anweisungssequenz 72 und wird mit einem Funktionsidentifizierer beschrieben, der „PTPpoint” ist, für eine PTP-Bewegung. Eine externe Funktion von „PTPpoint” enthält die Variable für „ScrewL” die „Bewege X Y Z + ScrewL” ist. Zusätzlich ist einer Blöcke von Anweisungssequenzen die nach Bewegungsarbeits-Anweisungssequenz 74 und ist die Nachbewegungs-Arbeitsinstruktionsanweisung 74 mit einem Satz von Funktionsidentifizierer „downZ” und der Variable 75, die „ScrewL” ist, beschrieben.
  • Zuerst bewegt die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X1, Y1, Z1 + 3) um so den Wert zu erreichen, der die Höhe von 3 mm ist, angegeben durch die Variable 75 von ScrewL in Reaktion auf eine Bewegungsanweisung. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen durch den Wert der Variablen 75 von ScrewL angegebenen Betrag, der 3 mm beträgt, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
  • Wie in 11 illustriert, gibt beispielweise die in Abfolge im Hauptprogramm 6 angeordnete zweite Punktaussage 61 „#2 Schraubenbefestigungspunkt X = X2 Y = Y2 Z = Z2 Parameternummer 2” an. In der Adresse des Speichers 33, die durch „Parameternummer 2” identifiziert ist, wird ein Wert, der 5 mm beträgt, gespeichert.
  • Zuerst identifiziert die Steuerung 3 den Begrenzer der Punktaussage 61, basierend auf der Punktnummer 62, die „#2” beträgt. Die Steuerung 3 führt eine Initialisierung des Einsetzens von X2, Y2, Z2 in die X-Koordinatenvariable X, die Y-Koordinatenvariable Y und die Z-Koordinatenvariable Z ein. Zusätzlich, da die Parameternummer 65, die „Parameternummer 2” ist, assoziiert wird, führt die Steuerung 3 eine Initialisierung des Einsetzten des durch „Parameternummer 2” identifizierten Werts, der 5 mm beträgt, in die Variable 75, die „ScrewL” ist, die als die Schraubenlänge deklariert ist, aus.
  • Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 anhand desselben Unterprogramms 7 wie dasjenige der Punktaussage 61 für „#1”, welche „Schraubenbefestigungspunkt” ist, gesteuert. Das heißt, dass einer der Blöcke von Anweisungssequenzen in dem Bewegungsverfahren-Anweisungsabfolge 72 mit dem Funktionsidentifizierer für eine „PTP-Bewegung” beschrieben wird. Eine externe Funktion von „PTP-Bewegung” enthält die Variable 75 für „ScrewL”, welche „Bewege X Y Z + ScrewL” ist. Zusätzlich ist einer der Blöcke von Anweisungssequenzen die Nachbewegungsarbeits-Anweisungssequenz 74 und wird die Nachbewegungs-Arbeitsanweisungssequenz 74 mit einem Satz des Funktionsidentifizierers „downZ” und der Variable 75, die „ScrewL” ist, beschrieben.
  • Nachdem das Festschrauben der ersten Schraube abgeschlossen ist, bewegt die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X2, Y2, Z2 + 5) um so zum Wert zu passen, welcher die Höhe von 5 mm ist, der durch die Variable 75 von ScrewL in Reaktion auf einer Bewegungsanweisung angegeben wird. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen Betrag herunter, der durch den Wert der Variablen 75 von ScrewL angegeben ist, der 5 mm beträgt, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
  • Wie in 12 illustriert, gibt beispielsweise die in Abfolge im Hauptprogramm 6 angeordnete dritte Punktaussage 61 „#3 Schraubenbefestigungspunkt X = X3 Y = Y3 Z = Z3” an. Zusätzlich ist das Flag 84 „1”, was Anwendbarkeit anzeigt. An der Adresse des Speichers 33, der als ein Bereich für einen Programm-einmaligen Parameter 82 gesichert ist, wird ein Wert, der 10 mm ist, gespeichert.
  • Zuerst identifiziert die Steuerung 3 den Begrenzer der Punktaussage 61, basierend auf der Punktnummer 62, die „#3” ist. Die Steuerung 3 führt eine Initialisierung des Einsetzens von X3, Y3 und Z3 in die X-Koordinatenvariable X, die Y-Koordinatenvariable Y bzw. die Z-Koordinatenvariable Z aus. Zusätzlich, da keine Parameternummer 65 assoziiert ist, ist das Flag 84 „1”, führt die Steuerung 3 eine Initialisierung des Einsetzens des durch den Programm-einmaligen-Parameter 82, der 10 mm ist, identifizierten Wert in die Variable 75, die „ScrewL” ist, deklariert als die Schraubenlänge, aus.
  • Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 gemäß demselben Unterprogramm 7 wie jene der Punktaussagen 61 für „#1” und „#2”, die „Schraubenbefestigungspunkt” sind, gesteuert. Das heißt, dass, nachdem das Befestigen der zweiten Schraube abgeschlossen ist, die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X3, Y3, Z + 10) bewegt, so dass es zu dem Wert passt, der die Höhe von 10 mm ist, der durch die Variable 75 von ScrewL angegeben ist, in Reaktion auf eine Bewegungsanweisung. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen durch den Wert der Variablen 75 von ScrewL, der 10 mm ist, angegebenen Wert herunter, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
  • Wie in 13 illustriert, gibt beispielsweise die in einem anderen Hauptprogramm 8 angeordnete Punktaussage 61 „#3 Schraubenbefestigungspunkt X = X3 Y = Y3 Z = Z3” an. Zusätzlich ist das Flag 84 „Null” was Unanwendbarkeit angibt. In der Adresse des Speichers 33, der als ein Bereich für einen gemeinsamen Parameter 83 gesichert ist, wird ein Wert, der 8 mm ist, gespeichert.
  • Da keine Parameternummer 65 assoziiert ist und das Flag 84 „Null” ist, führt die Steuerung 3 eine Initialisierung des Einsetzens eines Werts, der 8 mm ist, der durch den gemeinsamen Parameter 83 identifiziert ist, in die Variable 75 von „ScrewL”, welche als die Schraubenlänge deklariert ist, aus.
  • Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 gemäß demselben Unterprogramm 7 wie jenes der Startaussagen 61 für „#1” und „#2”, welches „Schraubenbefestigungspunkte” sind, gesteuert. Das heißt, dass, nachdem das Befestigen der zweiten Schraube abgeschlossen ist, die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X3, Y3, Z3 + 8) bewegt, um so zu dem Wert zu passen, welcher die durch die Variable 75 von ScrewL angegebenen Höhe von 8 mm ist, in Reaktion auf eine Bewegungsanweisung. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen Betrag herunter, der durch den Wert der Variablen 75 von ScrewL, welcher 8 mm ist, angegeben ist, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
  • Wie oben erläutert, dient gemäß dem Roboter 1 dieser Ausführungsform die Deklaration der Variablen 75 nicht dazu, den Bereich im Speicher 83 sicherzustellen. Zusätzlich wird keine Variable 75, die einen unterschiedlichen Variablennamen aufweist, um jeden Parameter 8 zu substituieren, vorbereitet, und es wird kein Parameter 8 für die Variable 75 verändert. Mehrere Arten von Kandidaten, welche der Punkt-einmalige Parameter 81, der Programm-einmalige Parameter 82 und der gemeinsame Parameter 83 sind, werden im Speicher 33 vorab gespeichert und der Speicherbereich des Parameters 8 für die Variable 75 wird selektiv verändert.
  • Daher ist es ausreichend, falls eine einzelne Art von Unterprogramm, das unterschiedliche Parameter aufweist, die einzusetzen sind, aber welches dieselben Prozessdetails definiert, vorbereitet wird. Das heißt, anders als konventionelle Techniken, wenn Schrauben, die Schraubenlängen von 3 mm, 8 mm und 10 mm aufweisen, am selben Werkstück zu befestigen sind, es unnötig ist, verschiedene Unterprogramme 7 vorzubereiten, welche das Unterprogramm 7 sind, welches die Variable 75 aufweist, die beispielsweise „condScrewL” ist, deklarierend den Bereich, wo der Wert 3 mm gespeichert ist, und welches die konsistenten verbleibenden beschriebenen Details aufweist, das Unterprogramm 7, welches die Variable 75 aufweist, die beispielsweise „ProgScrewL” ist, welche den Bereich deklariert, wo der Wert 8 mm gespeichert ist, und welche die konsistenten verbleibenden beschriebenen Details aufweist, und das Unterprogramm 7, welches die Variable 75 aufweist, die beispielsweise „CommongScrewL” ist, die den Bereich deklariert, wo der Wert 10 mm gespeichert ist, und welches die konsistenten verbleibenden beschriebenen Details aufweist.
  • Gemäß dem Roboter 1 dieser Ausführungsform, selbst falls Schrauben, welche die Schraubenlängen von 3 mm, 8 mm und 10 mm aufweisen, am selben Werkstück zu befestigen sind, ist es ausreichend, falls ein einzelnes Unterprogramm 7, das die Variable 75 enthält, die beispielsweise „ScrewL” ist.
  • Effekt
  • Wie oben erläutert, speichert dieser Roboter 1 das Hauptprogramm 6, welches die Punktaussagen 61 enthält, die in Abfolge Punkt-für-Punkt angeordnet sind, und enthält die Punktaussage 61 die Punktart-Information 63 und die Punktkoordinateninformation 64, welche die Steuerdetails auf der Bewegungseinheit 2 und dem Arbeitswerkzeug 4 durch die Steuerung 3 angeben. Zusätzlich speichert der Roboter 1 das Unterprogramm 7, welches durch die Punktart-Information 71 identifiziert ist, beinhaltet die Variable 75 enthaltende Anweisungssequenzen und definiert die Steuerdetails. Noch weiterhin speichert der Roboter 1 die Mehrzahl von Parametern 8, die Einsetzkandidaten in einer einzelnen Art von Variable 75 sind.
  • Der Parameter 8, der in die einzelne Art von Variable 75 einzusetzen ist, wird für jede Punktaussage 61 bestimmt und einer der Speicherbereiche wo der Parameter 8 gespeichert ist, wird wieder mit der Variable 75 für jede Punktaussage 61 anhand des Bestimmungsergebnisses verknüpft.
  • Dies ermöglicht ein Einsetzen des anderen Parameters 8 in die einzelne Art von Variable 75 gemäß dem Bestimmungsergebnis und somit wird es unnötig, entsprechende Programme vorzubereiten, welche die unterschiedlichen Variablen 75 deklarieren, aufgrund der Differenz beim Parameter 8. Das heißt, dass es ausreicht, falls ein einzelnes Programm mit denselben Arbeitsdetails vorbereitet wird, selbst falls der Parameter 8 anders ist. Daher wird eine Zeit zum Erzeugen des Programms reduziert, wodurch die Herstellkosten des Roboters 1 reduziert werden.
  • Daher, wenn die Arbeitsdetails für die Mehrzahl von Punkten konsistent sind, außer dem Parameter, ist es angemessen, dieselbe Punktart-Information 63 für jede Punktaussage 61 ausgewählt wird, und bezieht sich die Steuerung 3 auf dasselbe Unterprogramm 7 beim Ausführen jeder Punktaussage 61. Dies ermöglicht dem Anwender, der eine Lehrmanipulation am Roboter 1 gibt, eine Auswahlmanipulation des Unterprogramms 7 zu eliminieren, welches gemäß dem Parameter 8, der anzuwenden ist, angewendet wird, wodurch der Arbeitsaufwand reduziert wird.
  • Bei dieser Ausführungsform ist ein Beispielfall gegeben worden, bei welchem die Variable 75 die Schraubenlänge ist und in der Bewegungsverfahren-Anweisungssequenz 72 und in der Nachbewegungs-Anweisungssequenz 74 enthalten ist. Jedoch ist die vorliegende Erfindung nicht auf diesen Beispielfall beschränkt und ist auf verschiedene Variablen 75 anwendbar, wie etwa Schraubengang und Umdrehungsanzahl des elektrischen Schraubendrehers. Zusätzlich ist bei dieser Ausführungsform die Erläuterung eines Beispielfalls gegeben worden, bei welchem das Arbeitswerkzeug 4 ein elektrischer Schraubendreher zum Schraubenbefestigen ist, aber verschiedene Arbeitswerkzeuge, wie etwa ein Schweißer, eine Lackierpistole, eine Lackiernadel, ein Löteisen und ein Greifer sind anwendbar und die Variable 75, die im Unterprogramm 7 enthalten ist, ist gemäß den Arbeitsdetails, die auf die vorliegende Erfindung anwendbar sind, veränderbar.
  • Andere Ausführungsformen
  • Oben ist eine Ausführungsform der vorliegenden Erfindung erläutert worden, aber verschiedene Weglassungen, Austäusche und Modifikationen können daran gemacht werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Solche Ausführungsformen und modifizierten Beispiele derselben liegen im Umfang der vorliegenden Erfindung und sind auch innerhalb der Erfindung gemäß den anhängigen Ansprüchen und deren Äquivalenzbereich.
  • Beispielsweise ist die Erläuterung eines Beispielfalls gegeben worden, bei welchem die Programmierung für den Roboter 1 direkt dem Roboter 1 gegeben wird, aber die vorliegende Erfindung ist nicht auf diesen Beispielfall beschränkt und es kann beispielsweise die Programmierung durch das Programmierwerkzeug 3d durchgeführt werden, dass beispielsweise ein anderer Computer als der Roboter 1 ist, und die Programme können in den Roboter 1 geladen werden.
  • 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 2015-120201 [0001]

Claims (7)

  1. Roboter, umfassend: ein Arbeitswerkzeug, das eine Bearbeitung an einer Mehrzahl von Punkten auf einem Werkstück ausführt; eine Bewegungseinheit, die das Arbeitswerkzeug zu dem Punkt bewegt; und eine Steuerung, die das Arbeitswerkszeug und die Bewegungseinheit gemäß einem Programm steuert, wobei: die Steuerung umfasst: einen ersten Speicher, der ein erstes Programm speichert, wobei das erste Programm Aussagen enthält, die in Abfolge angeordnet sind, für jeden der Punkte, wobei die Aussage Artinformation enthält, die Steuerdetails durch die Steuerung und Koordinateninformation zu dem Punkt angibt; einen zweiten Speicher, der ein zweites Programm speichert, das durch die Artinformation identifiziert ist, beinhaltend eine Anweisungsabfolge, die eine Variable enthält und die Steuerdetails definiert; einen dritten Speicher, der eine Mehrzahl von Parametern speichert, wobei der Parameter ein Einsetzungskandidat für eine einzelne Art der Variable ist; eine Bestimmungseinheit, die den in die einzelne Art von Variable einzusetzenden Parameter für jede der Aussagen bestimmt; und eine Änderungseinheit, die wieder einen von Speicherbereichen, wo die Parameter gespeichert sind, mit der Variable für jede der Aussagen in Übereinstimmung mit einem vorbestimmten Ergebnis durch die Bestimmungseinheit verknüpft.
  2. Roboter gemäß Anspruch 1, wobei: Arbeitsdetails für die Mehrzahl von Punkten konsistent sind, außer dem Parameter; jede der Aussagen dieselbe Artinformation enthält; und die Steuerung sich auf dasselbe zweite Programm bezieht, wenn jede der Aussagen ausgeführt wird.
  3. Roboter gemäß Anspruch 1 oder, weiter umfassend ein Programmierwerkzeug, welches das erste Programm in Übereinstimmung mit einer Anwendermanipulation erzeugt und editiert, wobei: das Programmierwerkzeug in der Lage ist, die Aussage mit Identifikationsinformation über den Parameter entsprechend der Anwendermanipulation zu assoziieren; die Bestimmungseinheit bestimmt, ob es die assoziierte Identifikationsinformation gibt oder nicht; und die Änderungseinheit den Speicherbereich für den durch die Identifikationsinformation angegebenen Parameter mit der Variablen verknüpft, wenn es die assoziierte Identifikationsinformation gibt.
  4. Roboter gemäß Anspruch 3, wobei die Änderungseinheit den Speicherbereich für den Parameter, der angewendet wird, wenn es keine Identifikationsinformation gibt, mit der Variablen verknüpft.
  5. Roboter gemäß Anspruch 4, wobei einer der Mehrzahl von Parametern, die angewendet werden, wenn es nicht die Identifikationsinformation gibt, mit einem, eine Anwendbarkeit anzeigenden Flag assoziiert ist; die Bestimmungseinheit bestimmt, ob es nicht die Identifikationsinformation gibt, und das Flag eine Anwendbarkeit angibt; und die Änderungseinheit den Speicherbereich für den Parameter, der angewendet wird, wenn es nicht die Identifikationsinformation gibt, und das Flag die Anwendbarkeit angibt, mit der Variablen verknüpft.
  6. Roboter gemäß Anspruch 5, wobei: die Bestimmungseinheit bestimmt, ob es nicht die Identifikationsinformation gibt und das Flag eine Nicht-Anwendbarkeit anzeigt; und die Änderungseinheit den Speicherbereich für den Parameter, der angewendet wird, wenn es die Identifikationsinformation nicht gibt und das Flag die Nicht-Anwendbarkeit anzeigt, mit der Variablen verknüpft.
  7. Roboter gemäß einem der Ansprüche 1–6, wobei: das Arbeitswerkzeug ein elektrischer Schraubendreher ist, der eine Schraube mit einer anderen Schraubenlänge für jeden der Punkte befestigt; und die Variable in der Instruktionssequenz auf solche Weise enthalten ist, dass die Schraubenlänge in die Variable eingesetzt wird.
DE102016210097.1A 2015-06-15 2016-06-08 Roboter Active DE102016210097B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-120201 2015-06-15
JP2015120201A JP6585393B2 (ja) 2015-06-15 2015-06-15 ロボット

Publications (2)

Publication Number Publication Date
DE102016210097A1 true DE102016210097A1 (de) 2016-12-15
DE102016210097B4 DE102016210097B4 (de) 2019-05-02

Family

ID=57395329

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016210097.1A Active DE102016210097B4 (de) 2015-06-15 2016-06-08 Roboter

Country Status (4)

Country Link
US (1) US10226867B2 (de)
JP (1) JP6585393B2 (de)
DE (1) DE102016210097B4 (de)
TW (1) TWI574803B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019150888A (ja) * 2018-02-28 2019-09-12 蛇の目ミシン工業株式会社 ロボット、制御方法およびプログラム
CN114845843A (zh) * 2020-01-16 2022-08-02 欧姆龙株式会社 程序生成装置、程序生成方法以及生成程序
TWI744147B (zh) 2020-12-24 2021-10-21 財團法人工業技術研究院 可動式機械的動作測試方法與控制主機

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015120201A (ja) 2008-11-04 2015-07-02 ザ・ナノスティール・カンパニー・インコーポレーテッド 薄い製品形態における、産業用途のための変形メカニズムの開発

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030094261A (ko) 2001-03-08 2003-12-11 인터내셔널 비지네스 머신즈 코포레이션 웹페이지에서 개인용 프리젠테이션을 위한 시스템 및 방법
US9378065B2 (en) * 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
JP5862611B2 (ja) 2013-04-02 2016-02-16 トヨタ自動車株式会社 作業変更装置、作業変更方法、及び作業変更プログラム
JP6297792B2 (ja) * 2013-05-17 2018-03-20 蛇の目ミシン工業株式会社 ロボット、ロボットの制御方法、及びロボットの制御プログラム
US10108172B2 (en) * 2014-10-13 2018-10-23 Autodesk, Inc. Spiral toolpaths for high-speed machining of polygonal pockets
EP3045986A1 (de) * 2015-01-15 2016-07-20 Siemens Aktiengesellschaft Fertigungsmaschine mit Eigenfunktionalitätsprüfung und Verfahren
JP6585391B2 (ja) * 2015-06-11 2019-10-02 蛇の目ミシン工業株式会社 ロボット

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015120201A (ja) 2008-11-04 2015-07-02 ザ・ナノスティール・カンパニー・インコーポレーテッド 薄い製品形態における、産業用途のための変形メカニズムの開発

Also Published As

Publication number Publication date
DE102016210097B4 (de) 2019-05-02
US10226867B2 (en) 2019-03-12
TWI574803B (zh) 2017-03-21
JP2017004414A (ja) 2017-01-05
US20160361817A1 (en) 2016-12-15
JP6585393B2 (ja) 2019-10-02
TW201643015A (zh) 2016-12-16

Similar Documents

Publication Publication Date Title
DE112009003656B4 (de) Verfahren und System zur In-Produktionsoptimierung der Parameter eines zur Montage verwendeten Roboters
DE102018001026B4 (de) Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren
DE102012112900A1 (de) Numerische Steuerungsprogrammausrichtung durch Roboter
DE102016210096B4 (de) Roboter
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102017004366B4 (de) Numerische Steuervorrichtung
DE102014117346B4 (de) Roboter, Robotersteuerungsverfahren und Robotersteuerungsprogramm zur Werkstückkorrektur
DE102013010853B4 (de) Numerische Steuervorrichtung, die eine Programmneustartfunktion aufweist
DE102016210097B4 (de) Roboter
DE102015014236B4 (de) Programmkorrekturvorrichtung und Programmkorrekturverfahren eines Industrieroboters
DE102009003003A1 (de) Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
DE102015009210A1 (de) Numerische Steuerung mit Unterstützung eines linkshändigen Koordinatensystems
DE112019001539T5 (de) Nc-programmkonvertierungsverfahren und bearbeitungssystem
DE102019000890A1 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren
DE102014118899B4 (de) Roboter, Robotersteuerungsverfahren und Robotersteuerungsprogramm
DE102015214045B4 (de) Robot
DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
DE102017216093B4 (de) Verfahren zur Parametrierung eines robotischen Manipulators
DE102016009436A1 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
WO2023072630A2 (de) Verfahren und system zum steuern eines lasttragenden roboters sowie zum ermitteln eines parameters der last des roboters
DE102014225252A1 (de) Verfahren zum Überwachen wenigstens eines Industrieroboters, Industrieroboter und System mit mehreren Industrierobotern
DE102017010244A1 (de) Verfahren und Steuermittel zum Steuern einer Roboteranordnung
WO2020178435A1 (de) Verfahren, system sowie nichtflüchtiges speichermedium
DE112019007603T5 (de) Numerische Steuerungsvorrichtung
DE112021005419T5 (de) Robotersteuerungsvorrichtung und Robotersystem

Legal Events

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

Owner name: JANOME CORPORATION, JP

Free format text: FORMER OWNER: JANOME SEWING MACHINE CO., LTD., HACHIOJI-SHI, TOKYO, JP