-
Die vorliegende Erfindung bezieht sich auf eine Roboterprogrammiervorrichtung zum Durchführen einer Simulation eines Roboters und zum Erzeugen oder Korrigieren eines Betriebsprogramms des Roboters offline.
-
Bei einem System, das einen Roboter und Peripherieausrüstung wie z. B. eine Werkzeugmaschine umfasst, wird häufig ein zusammenwirkender Betrieb durchgeführt, wobei ein vom Roboter gehaltenes Werkstück bewegt und in der Werkzeugmaschine positioniert wird und das Werkstück von der Werkzeugmaschine verarbeitet wird. Ein solches System kann von einem bestimmten Bewegungsprogramm gesteuert werden, wohingegen es erforderlich ist, das Bewegungsprogramm entsprechend zu modifizieren, wenn der Typ des Roboters, der Werkzeugmaschine oder des Werkstücks verändert wird.
-
Als Dokument aus dem verwandten Stand der Technik offenbart die
JP 3 905 075 B2 eine Betriebsprogrammgenerierungsvorrichtung, wobei ein Betriebsprogramm in ein erstes Programm, das je nach einem Werkstück zu modifizieren ist, und ein zweites Programm, das nicht vom Werkstücktyp abhängt, unterteilt ist, und das Betriebsprogramm, das einem neuen Werkstück entspricht, lediglich durch Modifizieren des ersten Programms generiert werden kann.
-
Des Weiteren offenbart
JP 5 058 063 B2 die eine Entwicklungsunterstützungsvorrichtung für ein Steuersystem, die so konfiguriert ist, dass sie Programmeinheiten (oder Programmblöcke) zum Durchführen jeweiliger Operationen kombiniert, um ein Steuerprogramm für das Steuersystem zu generieren, das eine Mehrzahl von Operationen durchführt.
-
Andererseits ist es eine hinlänglich bekannte Technik, eine Offline-Simulation auf Basis eines erzeugten Bewegungsprogramms durchzuführen, um eine Effektivität usw. des Bewegungsprogramms zu beurteilen. Beispielsweise offenbart die
JP 2013 -
099815 A eine Roboterprogrammiervorrichtung, die so konfiguriert ist, dass sie dreidimensionale Modelle eines Roboters, eines Werkstücks und von Peripherieausrüstung anzeigt. Wenn eine Störung zwischen jedem Lernpunkt eines Bewegungsprogramms auftreten könnte, kann die Roboterprogrammiervorrichtung die Position des Lernpunkts automatisch korrigieren, um die Störung zu verhindern.
-
Des Weiteren offenbart die
JP 2014-144523 A eine Bewegungsprogrammgenerierungsvorrichtung, wobei ein Ausführungsschalter angeordnet ist und in Bezug auf jeden bzw. jede einer Mehrzahl von Blöcken oder Betriebseinheiten eines Bewegungsprogramms angezeigt wird und jeder Block durch Betreiben des Ausführungsschalters ausgeführt werden kann, um die Bewegung zu prüfen.
-
EP 2 047 955 A2 offenbart eine Vorrichtung zum Setzen der Arbeitsreichweite eines jeden Arms eines Roboters und eines Werkzeugs des Roboters. Um zu verhindern, dass Teile des Roboters mit der Peripherie bei einem plötzlichen Abschalten des Roboters kollidieren, wird die Massenträgheit der Teile des Roboters berücksichtigt und die damit verbundene Bewegungsdistanz ermittelt. Darauf basierend kann ein Bediener die Arbeitsreichweite des Roboters anpassen.
-
EP 2 025 477 A2 offenbart ein Roboterprogramm für einen Roboterarm mit einer Vielzahl an Achsen. Mittels Simulation kann eine Überlastung einer Achse auf Basis eines Betriebsprogramms des Roboters ermittelt werden. Um die Überlastung der Achse zu beseitigen, wird ein zusätzlicher Schritt mit Einbezug einer anderen Achse in das Betriebsprogramm eingefügt.
-
EP 1 584 999 A1 offenbart eine Offline-Programmiervorrichtung zum Erkennen einer Beeinträchtigung eines Schweißroboters durch eine ein Werkstück einspannende Einspannvorrichtung basierend auf einer Simulation mit Modellen des Roboters, des Werkstücks und der Einspannvorrichtung. Wird eine Beeinträchtigung erkannt, wird aus einer Bibliothek ein Bewegungspfad ausgewählt, der die Beeinträchtigung verhindert und das Schweißprogramm anpasst. Der neue Bewegungspfad wird in Bezug auf einen Referenzpunkt des Bewegungspfads eingesetzt.
-
US 5 231 693 A offenbart eine Steuerung für entfernte Roboter wie Roboter im Weltraum oder Unterwasser. Arbeitsschritte werden mit einem Simulator für einen entfernt gelegenen Roboter simuliert, interaktiv entwickelt, modifiziert und zu einer Aufgabenfolge zusammengefügt, sodass mit der erstellten Aufgabenfolge der entfernt gelegene Roboter gesteuert wird.
-
US 2012 / 0 290 130 A1 offenbart ein Verfahren zum Modellieren einer Arbeitszelle eines Roboters, wobei basierend auf dem Modell der Arbeitszelle die Steuerung des Roboters programmiert wird. Zweidimensionale Bilder von potentiell die Bewegung des Roboters behindernden Komponenten in der tatsächlichen Arbeitszelle werden aufgenommen. Bereits vorhandene dreidimensionale Modelle für Komponenten in der Arbeitszelle werden in ein dreidimensionales Modell der Arbeitszelle integriert. Fehlende Komponenten werden aus den aufgenommenen zweidimensionalen Bildern erstellt und ebenfalls integriert.
-
JP 2014 - 213 399 A offenbart eine Online-Lernvorrichtung zum Einlernen eines Roboters.
-
Wenn die Peripherieausrüstung verschoben oder die Roboterhand oder das Werkstück bewegt wird, wenn der Roboter betrieben wird, wird ein Störungsbereich zwischen dem Roboter und der Peripherieausrüstung verändert. Wenn es erforderlich ist, einen Lernpunkt im Offline-Roboterprogramm zu korrigieren oder generieren, ist es auch erforderlich, den Lernpunkt zu korrigieren, indem der Roboter nach Verschieben der Peripherieausrüstung bewegt wird, und somit ist eine solche Korrektur mühsam.
-
Auch wenn ein Systemlayout (wie z. B. die Größe und/oder die Position der Peripherieausrüstung) verändert wird, verändert sich der Störungsbereich. Aus diesem Grund ist es erforderlich, eine Störungsprüfung in Bezug auf jeden Lernpunkt durchzuführen und den Roboter manuell zu betreiben, um den Lernpunkt zu korrigieren oder einen weiteren Lernpunkt hinzuzufügen. Des Weiteren ist es, wenn die Störung auf einem Weg zwischen den Lernpunkten auftreten könnte, erforderlich, den Roboter manuell zu betreiben, um den Lernpunkt zu korrigieren oder einen weiteren Lernpunkt hinzuzufügen.
-
Aus diesem Grund liegt eine Aufgabe der vorliegenden Erfindung in der Bereitstellung einer Roboterprogrammiervorrichtung, die in der Lage ist, eine Störung zwischen einem Roboter und Peripherieausrüstung auf einfache Weise zu prüfen, wodurch die Störung auf einfache Weise automatisch oder von einem Benutzer manuell vermieden werden kann.
-
Die erfindungsgemäße Aufgabe wird durch eine Roboterprogrammiervorrichtung nach Anspruch 1 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen beschrieben.
-
Gemäß einem Aspekt wird eine Roboterprogrammiervorrichtung zum Anordnen eines Roboters, von Peripherieausrüstung und eines Werkstücks in einem dreidimensionalen virtuellen Raum und zum Einlernen des Roboters bereitgestellt, wobei die Roboterprogrammiervorrichtung umfasst: einen Simulationsdurchführteil, der eine Simulation einer Bewegung der Peripherieausrüstung und einer Öffnungs-/Schließbewegung einer Hand des Roboters unter Verwendung eines Steuersignals durchführt; einen Signaleinstellteil, der das Steuersignal zum Durchführen der Simulation der Bewegung der Peripherieausrüstung und der Öffnungs-/Schließbewegung der Hand des Roboters in Bezug auf einen Lernpunkt oder eine Bewegungsbahn zwischen den Lernpunkten, die in einem vorab definierten Roboterbetriebsprogramm umfasst sind, oder in Bezug auf einen Lernpunkt oder eine Bewegungsbahn zwischen den Lernpunkten, die in einer Programmvorlage umfasst sind, in der das Roboterbetriebsprogramm beschrieben ist, einstellt, wobei das Steuersignal als Attributdaten jedes Lernpunkts oder jeder Bewegungsbahn eingestellt wird; einen Bewegungsteil, der den Roboter zum Lernpunkt oder zu der Bewegungsbahn zwischen den Lernpunkten bewegt; und einen Anzeigeeinstellteil, der ermittelt, ob das Werkstück angezeigt oder ausgeblendet wird, in Bezug auf den Lernpunkt oder die Bewegungsbahn zwischen den Lernpunkten, zu dem bzw. der der Roboter bewegt wird.
-
Bei einer bevorzugten Ausführungsform umfasst die Roboterprogrammiervorrichtung des Weiteren: einen Störungsvermeidungsbedingungs-Einstellteil, der eine Bewegungsrichtung und einen Bewegungsbereich des Roboters zum Suchen nach einer Position zum Vermeiden einer Störung einstellt, wobei die Bewegungsrichtung und der Bewegungsbereich des Roboters als Attributdaten für den Lernpunkt eingestellt werden; und einen Störungsvermeidungslernpunkt-Einstellteil, der dann, wenn eine Störung in Bezug auf den vom Bewegungsteil zum Lernpunkt bewegten Roboter auftritt, den Roboter an eine Position bewegt, an der die Störung vermieden werden kann, auf Basis der Einstellung des Störungsvermeidungsbedingungs-Einstellteils, und danach die Position, an der die Störung vermieden werden kann, automatisch als Lernpunkt einstellt.
-
Bei einer weiteren bevorzugten Ausführungsform umfasst die Roboterprogrammiervorrichtung des Weiteren: einen Störungsvermeidungsbedingungs-Einstellteil, der eine Bewegungsrichtung und einen Bewegungsbereich des Roboters zum Suchen nach einer Position zum Vermeiden einer Störung einstellt, wobei die Bewegungsrichtung und der Bewegungsbereich des Roboters als Attributdaten für die Bewegungsbahn zwischen den Lernpunkten eingestellt werden; und einen Störungsvermeidungslernpunkt-Einstellteil, der dann, wenn ein Störungsabschnitt in Bezug auf den Roboter auf der Bewegungsbahn zwischen den Lernpunkten, an die der Roboter vom Bewegungsteil bewegt wird, vorliegt, beide Enden des Störungsabschnitts auf Basis der Einstellung des Störungsvermeidungsbedingungs-Einstellteils bewegt und danach Positionen der bewegten Enden des Störungsabschnitts automatisch als Lernpunkte einstellt.
-
Die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschreibung der bevorzugten Ausführungsformen dieser unter Bezugnahme auf die beiliegenden Zeichnungen näher hervor, wobei:
- 1 ein Strukturbeispiel für eine Roboterprogrammiervorrichtung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt;
- 2 ein Ablaufplan ist, der ein Beispiel für einen Betriebsablauf eines Roboters zeigt, wenn der Roboter ein Werkstück zu einer Werkzeugmaschine befördert;
- 3 ein Strukturbeispiel für ein Robotersystem zeigt, bei dem die Roboterprogrammiervorrichtung von 1 angewandt werden kann.
- 4 ein Ablaufplan ist, der ein Beispiel für eine Verfahrensweise zum Bewegen einer Bewegungsbahn zwischen Lernpunkten zum Vermeiden einer Störung zeigt;
- 5 ein Beispiel für eine Bewegungsbahn zwischen den Lernpunkten zeigt, bevor die Verfahrensweise von 4 durchgeführt wird; und
- 6 ein Beispiel für eine Bewegungsbahn zwischen den Lernpunkten zeigt, nachdem die Verfahrensweise von 4 durchgeführt wurde.
-
1 ist eine Ansicht, die ein Strukturbeispiel für eine Offline-Roboterprogrammiervorrichtung (im Folgenden lediglich als „Programmvorrichtung“ bezeichnet) 10 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt. Die Programmiervorrichtung 10 umfasst einen Anzeigeteil (Anzeige) 14, der in der Lage ist, ein dreidimensionales Modell eines Robotersystems 12 anzuzeigen, das sich innerhalb eines dreidimensionalen virtuellen Raums befindet, und eine Steuereinheit 16 mit Funktionen, wie nachstehend erläutert. Das Robotersystem 12 umfasst einen Roboter 22 mit einem beweglichen Teil (Roboterarm) 20, der mit einer öffenbaren Hand 18 versehen ist, und Peripherieausrüstung (z. B. eine Werkzeugmaschine) 30 mit einer öffenbaren Tür 24, einem Arbeitstisch 26 und einer öffenbaren Spannvorrichtung 28. Die Hand 18, die Tür 24 und die Spannvorrichtung 28 werden von einem E/A-Signal (Steuersignal) des Roboters 22 gesteuert.
-
Die Hand 18 ist konfiguriert zum: Greifen eines Werkstücks 32, das von der Werkzeugmaschine 30 zu verarbeiten ist; Eintreten in die Werkzeugmaschine 30, während sie das Werkstück 32 hält, wenn die Tür 24 geöffnet ist; Anordnen des Werkstücks 32 am Arbeitstisch 26 der Werkzeugmaschine 30; und Austreten aus der Werkzeugmaschine 30, nachdem sie das Werkstück 32 angeordnet hat. Andererseits ist die Spannvorrichtung 28 so konfiguriert, dass sie das Werkstück 32 auf dem Arbeitstisch 26 hält, der vom Roboter 22 angeordnet wurde, wodurch die Werkzeugmaschine 30 einen vorab definierten Prozess für das von der Spannvorrichtung 28 gehaltene Werkstück 32 durchführen kann.
-
Die Steuereinheit 16 umfasst: einen Simulationsdurchführteil 34, der eine Simulation einer Bewegung einer Peripherieausrüstung 30 und einer Öffnungs-/Schließbewegung einer Hand 18 auf Basis des Steuersignals durchführt; einen Signaleinstellteil 36, der das Steuersignal zum Durchführen der Simulation der Bewegung der Peripherieausrüstung 30 und der Öffnungs-/Schließbewegung der Hand 18 in Bezug auf einen Lernpunkt oder eine Bewegungsbahn zwischen den Lernpunkten, die in einem vorab definierten Roboterbetriebsprogramm umfasst sind, oder in Bezug auf einen Lernpunkt oder eine Bewegungsbahn zwischen den Lernpunkten, die in einer Programmvorlage umfasst sind, in der das Roboterbetriebsprogramm vorab beschrieben wurde, einstellt, wobei das Steuersignal als Attributdaten jedes Lernpunkts oder jeder Bewegungsbahn eingestellt wird; einen Bewegungsteil (Bewegungsbefehlsteil) 38, der den Roboter 22 zum Lernpunkt oder zu der Bewegungsbahn zwischen den Lernpunkten bewegt; und einen Anzeigeeinstellteil 40, der ermittelt, ob das Werkstück 32 anzuzeigen oder auszublenden ist, in Bezug auf den Lernpunkt oder die Bewegungsbahn zwischen den Lernpunkten, zu dem bzw. der der Roboter 22 bewegt wird.
-
Optional kann die Steuereinheit 16 umfassen: einen Störungsvermeidungsbedingungs-Einstellteil 42, der eine Bewegungsrichtung und einen Bewegungsbereich des Roboters 22 zum Suchen nach einer Position zum Vermeiden einer Störung einstellt, wobei die Bewegungsrichtung und der Bewegungsbereich des Roboters 22 als Attributdaten für den Lernpunkt eingestellt werden; und einen Störungsvermeidungslernpunkt-Einstellteil 44, der, wenn eine Störung in Bezug auf den vom Bewegungsteil 38 zum Lernpunkt bewegten Roboter 22 auftritt, den Roboter 22 an eine Position bewegt, an der die Störung vermieden werden kann, auf Basis der Einstellung des Störungsvermeidungsbedingungs-Einstellteils 42, und danach die Position, an der die Störung vermieden werden kann, automatisch als Lernpunkt einstellt.
-
Alternativ kann die Steuereinheit 16 umfassen: einen Störungsvermeidungsbedingungs-Einstellteil 42, der eine Bewegungsrichtung und einen Bewegungsbereich des Roboters 22 zum Suchen nach einer Position zum Vermeiden einer Störung einstellt, wobei die Bewegungsrichtung und der Bewegungsbereich als Attributdaten für die Bewegungsbahn zwischen den Lernpunkten eingestellt werden; und einen Störungsvermeidungslernpunkt-Einstellteil 44, der, wenn ein Störungsabschnitt (ein Abschnitt C0 bis C1, wie nachstehend erläutert) in Bezug auf den Roboter 22 auf der Bewegungsbahn zwischen den Lernpunkten, an die der Roboter 22 vom Bewegungsteil 38 bewegt wird, vorliegt, beide Enden des Störungsabschnitts auf Basis der Einstellung des Störungsvermeidungsbedingungs-Einstellteils 42 bewegt und danach Positionen der bewegten Enden des Störungsabschnitts automatisch als Lernpunkte einstellt.
-
Im Folgenden wird ein Beispiel der Verfahrensweise der Programmiervorrichtung 10 erläutert. Wie in den 2 und 3 gezeigt, wird bei diesem Beispiel ein vorab definiertes Roboterbetriebsprogramm zum Durchführen einer Reihe von Operationen oder eine Programmvorlage, in der das Betriebsprogramm beschrieben ist, vorab generiert (z. B. in einem geeigneten Speicher gespeichert). bei der Operationsreihe bewegt die Hand 18, die das unverarbeitete Werkstück 32 greift, sich vor die Werkzeugmaschine 30 (P1); tritt die Hand 18 in die Werkzeugmaschine 30 ein und nähert sich einer Werkstückanordnungsposition, nachdem die Tür 24 geöffnet wurde (P2); ordnet die Hand 18 das Werkstück 32 auf dem Arbeitstisch 26 an (P3); bewegt sich die Hand 18 von der Werkstückanordnungsposition weg, nachdem das Werkstück 32 von der geschlossenen Spannvorrichtung 28 gehalten wird (P4); bewegt sich die Hand 18 vor die Werkzeugmaschine 30 (tritt aus dieser heraus) (P5); und bewegt sich die Hand 18 in eine vorab definierte Warteposition (P6).
-
Tabelle 1 zeigt Attributdaten jedes des Lernpunkts P1 bis P6. Im Detail umfassen die Attributdaten jedes Lernpunkts: ein Steuersignal DO[1] zum Öffnen/Schließen der Tür 24; ein Steuersignal RO[1] zum Öffnen/Schließen der Hand 18; ein Steuersignal DO[2] zum Öffnen/Schließen der Spannvorrichtung 28; ein Signal „gegriffenes Werkstück“ zum Einstellen, ob das von der Hand 18 gegriffene Werkstück angezeigt oder ausgeblendet (nicht angezeigt) wird; und ein Signal „angeordnetes Werkstück“ zum Einstellen, ob das auf dem Arbeitstisch 26 angeordnete Werkstück angezeigt oder ausgeblendet (nicht angezeigt) wird.
-
Durch Einstellen der Signale wie in Tabelle 1 angezeigt können die folgenden Prozesse automatisch durchgeführt werden: bis das Werkstück
32 auf dem Arbeitstisch
26 angeordnet ist (
P1 bis
P3), wird das gegriffene Werkstück angezeigt und wird das angeordnete Werkstück ausgeblendet; und ab dem Zeitpunkt, an dem die Hand
18 von der Werkstückanordnungsposition wegbewegt wird, bis zum Zeitpunkt, an dem die Hand
18 zurück in die Warteposition gelangt (
P4 bis
P4), wird das gegriffene Werkstück ausgeblendet und wird das angeordnete Werkstück angezeigt. Anders ausgedrückt kann das virtuelle Werkstück, wenn der Roboter
22 (Hand
18) an einen beliebigen Lernpunkt bewegt wird, je nach tatsächlicher Bewegung automatisch angezeigt oder ausgeblendet werden. Aus diesem Grund kann der Benutzer die Störung zwischen dem Roboter
22 und der Werkzeugmaschine
30 usw. an jedem Lernpunkt auf einfache Weise und korrekt prüfen und kann somit auf einfache Weise den Lernpunkt korrigieren oder einen neuen Lernpunkt hinzufügen, wenn die Störung auftreten könnte.
Tabelle 1
Attributdaten eines Lernpunkts |
Name des Lernpunkts | Name des Signals | Wert (Signaleinstellung | Inhalt |
Vor der Maschine (Eintreten) (P1) | DO[1] | EIN | Schließen der Tür |
RO[1] | EIN | Schließen der Hand |
DO[2] | AUS | Öffnen der Spannvorrichtung |
Gegriffenes Werkstück | Anzeige | Anzeigen des gegriffenen Werkstücks |
Angeordnetes Werkstück | Ausblenden | Ausblenden des angeordneten Werkstücks |
Annähern der Werk-stück-anordnungs-position (P2) | DO[1] | AUS | Öffnen der Tür |
RO[1] | EIN | Schließen der Hand |
DO[2] | AUS | Öffnen der Spannvorrichtung |
Gegriffenes Werkstück | Anzeige | Anzeigen des gegriffenen Werkstücks |
Angeordnetes Werkstück | Ausblenden | Ausblenden des angeordneten Werkstücks |
Anordnen des un-verarbeiteten Werk-stücks (P3) | DO[1] | AUS | Öffnen der Tür |
RO[1] | EIN | Schließen der Hand |
DO[2] | AUS | Öffnen der Spannvorrichtung |
Gegriffenes Werkstück | Anzeige | Anzeigen des gegriffenen Werkstücks |
Angeordnetes Werkstück | Ausblenden | Ausblenden des angeordneten Werkstücks |
Verlassen der Werk-stück-anordnungs-position (P4) | DO[1] | AUS | Öffnen der Tür |
RO[1] | AUS | Öffnen der Hand |
DO[2] | EIN | Schließen der Spannvorrichtung |
Gegriffenes Werkstück | Ausblenden | Ausblenden des gegriffenen Werkstücks |
Angeordnetes Werkstück | Anzeige | Anzeigen des angeordneten Werkstücks |
Vor der Maschine | DO[1] | EIN | Schließen der Tür |
(Austreten) (P5) | RO[1] | AUS | Öffnen der Hand |
DO[2] | EIN | Schließen der Spannvorrichtung |
Gegriffenes Werkstück | Ausblenden | Ausblenden des gegriffenen Werkstücks |
Angeordnetes Werkstück | Anzeige | Anzeigen des angeordneten Werkstücks |
Warten (P6) | DO[1] | EIN | Schließen der Tür |
RO[1] | AUS | Öffnen der Hand |
DO[2] | EIN | Schließen der Spannvorrichtung |
Gegriffenes Werkstück | Ausblenden | Ausblenden des gegriffenen Werkstücks |
Angeordnetes Werkstück | Anzeige | Anzeigen des angeordneten Werkstücks |
-
Tabelle 2 zeigt Attributdaten jeder Bewegungsbahn zwischen den Lernpunkten P1 bis P6. Im Detail umfassen die Attributdaten jeder Bewegungsbahn ähnlich Tabelle 1: ein Steuersignal DO[1] zum Öffnen/Schließen der Tür 24; ein Steuersignal RO[1] zum Öffnen/Schließen der Hand 18; ein Steuersignal DO[2] zum Öffnen/Schließen der Spannvorrichtung 28; ein Signal „gegriffenes Werkstück“ zum Einstellen, ob das von der Hand 18 gegriffene Werkstück angezeigt oder ausgeblendet wird; und ein Signal „angeordnetes Werkstück“ zum Einstellen, ob das auf dem Arbeitstisch 26 angeordnete Werkstück angezeigt oder ausgeblendet wird.
-
Durch Einstellen der Signale wie in Tabelle 2 angezeigt können die folgenden Prozesse automatisch durchgeführt werden: bis das Werkstück
32 auf dem Arbeitstisch
26 angeordnet ist (
P1 bis
P3), wird das gegriffene Werkstück angezeigt und wird das angeordnete Werkstück ausgeblendet; und ab dem Zeitpunkt, an dem die Hand
18 von der Werkstückanordnungsposition wegbewegt wird, bis zum Zeitpunkt, an dem die Hand
18 zurück in die Warteposition gelangt (
P4 bis
P4), wird das gegriffene Werkstück ausgeblendet und wird das angeordnete Werkstück angezeigt. Anders ausgedrückt kann das virtuelle Werkstück, wenn der Roboter
22 (Hand
18) an einen beliebigen Lernpunkt bewegt wird, je nach tatsächlicher Bewegung automatisch angezeigt oder ausgeblendet werden. Aus diesem Grund kann der Benutzer die Störung zwischen dem Roboter
22 und der Werkzeugmaschine
30 usw. an jedem Lernpunkt auf einfache Weise und korrekt überwachen und kann somit auf einfache Weise den Lernpunkt korrigieren oder einen neuen Lernpunkt hinzufügen, wenn die Störung auftreten könnte.
Tabelle 2
Attributdaten zwischen Lernpunkten |
Name der Bewegungsbahn zwischen Lernpunkten | Name des Signals | Wert (Signaleinstellung | Inhalt |
Von (vor der Maschine (Eintreten)) bis (Annähern der Werkstückanordnungsposition) | DO[1] | AUS | Öffnen der Tür |
RO[1] | EIN | Schließen der Hand |
DO[2] | AUS | Öffnen der Spannvorrichtung |
Gegriffenes Werkstück | Anzeige | Anzeigen des gegriffenen Werkstücks |
Angeordnetes Werkstück | Ausblenden | Ausblenden des angeordneten Werkstücks |
Von (Annähern der Werkstückanordnungsposition) bis (Anordnen des unverarbeiteten Werkstücks) | DO[1] | AUS | Öffnen der Tür |
RO[1] | EIN | Schließen der Hand |
DO[2] | AUS | Öffnen der Spannvorrichtung |
Gegriffenes Werkstück | Anzeige | Anzeigen des gegriffenen Werkstücks |
Angeordnetes Werkstück | Ausblenden | Ausblenden des angeordneten Werkstücks |
Von (Anordnen des unverarbeiteten Werkstücks) bis (Verlassen der Werkstückanordnungsposition) | DO[1] | AUS | Öffnen der Tür |
RO[1] | AUS | Öffnen der Hand |
DO[2] | EIN | Schließen der Spannvorrichtung |
Gegriffenes Werkstück | Ausblenden | Ausblenden des gegriffenen Werkstücks |
Angeordnetes Werkstück | Anzeige | Anzeigen des angeordneten Werkstücks |
Von (Verlassen der Werkstückanordnungsposition) bis (Vor der Maschine (Austreten)) | DO[1] | AUS | Öffnen der Tür |
RO[1] | AUS | Öffnen der Hand |
DO[2] | EIN | Schließen der Spannvorrichtung |
Gegriffenes Werkstück | Ausblenden | Ausblenden des gegriffenen Werkstücks |
Angeordnetes Werkstück | Anzeige | Anzeigen des angeordneten Werkstücks |
Von (Vor der Maschine (Austreten) bis (Warten) | DO[1] | EIN | Schließen der Tür |
RO[1] | AUS | Öffnen der Hand |
DO[2] | EIN | Schließen der Spannvorrichtung |
Gegriffenes Werkstück | Ausblenden | Ausblenden des gegriffenen Werkstücks |
Angeordnetes Werkstück | Anzeige | Anzeigen des angeordneten Werkstücks |
-
Tabelle 3 zeigt Attributdaten zu einem Prozess zum automatischen Korrigieren oder Hinzufügen eines Lernpunkts zum Vermeiden der Störung unter Verwendung des Störungsvermeidungsbedingungs-Einstellteils
42 und des Störungsvermeidungslernpunkt-Einstellteils
44, wie oben erläutert. Bei einem nicht-einschränkenden Beispiel sind Suchachsen zum Bewegen des Roboters
22 (Hand
18) zum Vermeiden der Störung als drei Achsen (X, Y und Z) festgelegt und, wie in
3 gezeigt, entspricht die X-Achse der horizontalen Richtung vom Roboter
22 hin zur Werkzeugmaschine
30, entspricht die Z-Achse der vertikalen Richtung und verläuft die Y-Achse lotrecht zu sowohl der X- als auch der Z-Achse.
Tabelle 3
Attributdaten eines Lernounkts (zum Vermeiden einer Störung) |
Name des Lernpunkts | Suchachse | Suchrichtung | Bewegungsbereich(±) |
Vor der Maschine (Eintreten) (P1) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
Annähern der Werkstückanordnungsposition (P2) | Z | Von + bis - | 1000 |
X | Von - bis + | 1000 |
Y | Von + bis - | 1000 |
Anordnen des unverarbeiteten Werkstücks (P3) | Z | Von + bis - | 1000 |
X | Von - bis + | 1000 |
Y | Von + bis - | 1000 |
Verlassen der Werkstückanordnungsposition (P4) | Z | Von + bis - | 1000 |
X | Von - bis + | 1000 |
Y | Von + bis - | 1000 |
Vor der Maschine (Austreten) (P5) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
Warten (P6) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
-
Wenn die Störung an dem Lernpunkt auftritt, an den der Roboter 22 durch den Betrieb durch den Benutzer bewegt wird, wie in Tabelle 3 gezeigt, wird zumindest eine Suchachse am Lernpunkt entlang einer Suchrichtung davon innerhalb eines vorab definierten Bewegungsbereichs (oder eines Suchbereichs) bewegt, wodurch der Lernpunkt automatisch korrigiert werden kann, um die Störung zu vermeiden. Bei dem Beispiel von Tabelle 3 kann, auch wenn der Bewegungsbereich jeder Suchachse als ± 1000 mm festgelegt ist, dieser Bereich auf Basis der Form oder Größe des Roboters 22, der Werkzeugmaschine 30 oder des Werkstücks 32 usw. festgelegt oder modifiziert werden.
-
Tabelle 4 zeigt Attributdaten zu einem Prozess zum automatischen Korrigieren oder Hinzufügen einer Bewegungsbahn zwischen Lernpunkten zum Vermeiden der Störung unter Verwendung des Störungsvermeidungsbedingungs-Einstellteils
42 und des Störungsvermeidungslernpunkt-Einstellteils
44, wie oben erläutert. Bei einem nicht-einschränkenden Beispiel von Tabelle 4 ähnlich Tabelle 3 sind Suchachsen zum Bewegen des Roboters
22 (Hand
18) zum Vermeiden der Störung als drei Achsen (X, Y und Z) festgelegt und, wie in
3 gezeigt, entspricht die X-Achse der horizontalen Richtung vom Roboter
22 hin zur Werkzeugmaschine
30, entspricht die Z-Achse der vertikalen Richtung und verläuft die Y-Achse lotrecht zu sowohl der X- als auch der Z-Achse.
Tabelle 4
Attributdaten zwischen Lernpunkten (zum Vermeiden einer Störung) |
Name der Bewegungsbahn zwischen Lernpunkten | Suchachse | Suchrichtung | Bewegungsbereich(±) |
Von (Vor der Maschine (Eintreten)) bis (Annähern der Werkstück-anordnungsposition) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
Von (Annähern der Werkstückanordnungs-position) bis (Anordnen des unverarbeiteten Werkstücks) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
Von (Anordnen des unverarbeiteten Werkstücks) bis (Verlassen der Werkstückanordnungs-position) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
Von (Verlassen der Werkstückanordnungs-position) bis (Vor der Maschine (Austreten)) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
Von (Vor der Maschine (Austreten) bis (Warten) | X | Von - bis + | 1000 |
Z | Von + bis - | 1000 |
Y | Von + bis - | 1000 |
-
4 zeigt einen Ablaufplan, der ein Beispiel für eine Verfahrensweise zum automatischen Korrigieren der Bewegungsbahn zwischen den Lernpunkten zum Vermeiden der Störung zeigt, und die 5 und 6 zeigen ein Beispiel für eine Bewegungsbahn zwischen den Lernpunkten, vor und nachdem die Verfahrensweise von 4 durchgeführt wird bzw. wurde. Wie in 5 gezeigt, tritt bei diesem Beispiel die Störung nicht an Lernpunkten P0 bis P1 auf, während der Roboter 22 eine Störung mit einem Objekt 46 auf der Bewegungsbahn zwischen den Lernpunkten P0 und P1 erfährt.
-
Des Weiteren werden Lernpunkte an beiden Enden des Störungsabschnitts als Lernpunkte C0 und C1 festgelegt oder berechnet.
-
Zunächst wird der Roboter 22 in Schritt S1 vom Lernpunkt P0 zu P1 bewegt und danach wird eins (1) durch ein Flag substituiert (Schritt S2). Danach wird in Schritt S3 beurteilt, ob die Störung auftreten wird. Wenn die Störung auftritt, werden Lernpunkte (C0 und C1) an den beiden Enden des Störungsabschnitts berechnet (Schritt S4) und danach wird null (0) durch das Flag substituiert (Schritt S5).
-
Im nächsten Schritt S6 werden die Lernpunkte C0 und C1 um eine vorab definierte Distanz bewegt (oder versetzt), indem die ausgewiesene Suchachse entlang der Suchrichtung davon innerhalb des vorab definierten Bewegungsbereichs bewegt wird. Danach wird der Roboter in Schritt S7 zu den Lernpunkten P0 -> C0 -> C1 -> P1, in dieser Reihenfolge, bewegt und danach wird erneut beurteilt, ob die Störung auftritt (Schritt S3). Die Verfahrensweise von Schritt S3 bis S7 wird wiederholt, bis die Störung nicht auftritt.
-
Wenn beurteilt wird, dass die Störung nicht auftritt, wird in Schritt S8 eine Flag-Beurteilung durchgeführt und danach werden die Lernpunkte C0 und C1, nachdem sie bewegt wurden, zwischen den Lernpunkten P0 und P1 eingesetzt (Schritt S9). Angesichts dessen kann eine neue Bewegungsbahn zum Vermeiden der Störung zwischen dem Roboter und dem Objekt 46 erhalten werden, wie in 6 gezeigt.
-
Wie oben erläutert, kann, sogar wenn die Störung auf der Bewegungsbahn zwischen den Lernpunkten auftritt, an die der Roboter 22 durch den Betrieb durch den Benutzer bewegt wird, die Bewegungsbahn automatisch korrigiert werden, um die Störung zu vermeiden, indem die Lernpunkte an beiden Enden des Störungsabschnitts entlang der vorab definierten Suchrichtung innerhalb des vorab definierten Bewegungsbereichs (Suchbereichs) bewegt werden. Bei dem Beispiel von Tabelle 4 kann, auch wenn der Bewegungsbereich jeder Suchachse als ± 1000 mm festgelegt ist, dieser Bereich auf Basis der Form oder Größe des Roboters 22, der Werkzeugmaschine 30 oder des Werkstücks 32 usw. festgelegt oder modifiziert werden.
-
Bei der obigen Ausführungsform wird das Signal zum Durchführen der Simulation der Bewegung der Peripherieausrüstung und der Öffnungs-/Schließbewegung der Hand in Bezug auf jeden Lernpunkt oder jede Bewegungsbahn zwischen den Lernpunkten im Roboterbetriebsprogramm eingestellt und das Anzeigen/Ausblenden des Werkstücks wird gewechselt. In dieser Hinsicht kann das Roboterbetriebsprogramm durch eine Mehrzahl von Blöcken (oder eine Programmvorlage) gebildet sein, die jeweils eine Betriebseinheiten bilden, und in diesem Fall kann der gleiche Prozess in Bezug auf einen Lernpunkt oder eine Bewegungsbahn zwischen den Lernpunkten, die in der Programmvorlage umfasst sind, durchgeführt werden.
-
Die Roboterprogrammiervorrichtung gemäß der obigen Ausführungsform kann im Wesentlichen integral in eine Steuereinheit zum Steuern eines tatsächlichen Roboters integriert werden. Alternativ kann die Roboterprogrammiervorrichtung als weitere Vorrichtung (wie z. B. ein Personal Computer) angeordnet sein, der von der Steuereinheit getrennt ist. Außerdem kann jede Funktion der Steuereinheit z. B. durch eine CPU umgesetzt sein.
-
Gemäß der vorliegenden Erfindung kann die Bewegung der Peripherieausrüstung und das Anzeigen/Ausblenden des Werkstücks in Bezug auf jeden Lernpunkt oder jede Bewegungsbahn zwischen den Lernpunkten durchgeführt werden. Aus diesem Grund kann die Störung des Roboters auf einfache und genaue Weise geprüft werden und kann der Lernpunkt auf einfache Weise korrigiert werden.
-
Durch Einstellen der Bedingung zum Vermeiden einer Störung in Bezug auf den Lernpunkt oder die Bewegungsbahn zwischen den Lernpunkten als Attributdaten kann die Position zum Vermeiden der Störung automatisch erkannt werden und kann die Lernposition automatisch korrigiert oder eingesetzt werden, je nach Bewegung der Peripherieausrüstung und/oder des Vorhandenseins des Werkstücks.