-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Robotersteuervorrichtung, die einen Industrieroboter steuert.
-
2. Beschreibung des zugehörigen Standes der Technik
-
Bei der üblichen Vorgehensweise wird, nachdem ein Betriebsprogramm für einen Roboter ausgearbeitet wurde, ein Roboter einem Testlauf unterzogen, um den Inhalt des Betriebsprogramms zu überprüfen. Zu diesem Zeitpunkt ist es wünschenswert, um die Sicherheit von Gegenständen und Arbeitern in der Nähe des Roboters zu gewährleisten, den Roboter mit niedriger Geschwindigkeit oder niedriger Leistung zu betreiben.
-
Gemäß dem Stand der Technik wird die Leistung einer Achse begrenzt, um die Sicherheit von Gegenständen und Arbeitern im Arbeitsbereich des Roboters zu erhöhen. Die
japanische Patentveröffentlichung Nr. 2000-108065 offenbart einen Skalarroboter, der dazu eingerichtet ist, gemäß einem Befehl vom Bediener mit einem geringeren Drehmoment angetrieben zu werden als während eines normalen Betriebs und die Arbeitssicherheit zu bestätigen. Die
japanische Patentveröffentlichung Nr. S62-166410 offenbart ein Verfahren zum Betreiben eines Roboters, das sicherstellt, dass während eines Verfahrens zum Überprüfen eines dem Roboter beigebrachten Bewegungsweges eines Werkzeugs die Leistung eines Motors in einen sicheren Bereich fällt.
-
Die
japanische Patentveröffentlichung Nr. 2014-176934 offenbart ein Robotersystem, das abhängig von der Situation in der Nähe des Roboters einen Bewegungsmodus wechselt, um einen Roboter mit einer niedrigeren Leistung als bei einem normalen Bewegungsmodus zu betreiben. Die
japanische Patentveröffentlichung Nr. 2004-216504 offenbart eine Robotersteuervorrichtung, die eine Ladeeinrichtung zum Be- und Entladen von Werkstücken in und aus einer Werkzeugmaschine steuert, bei der die Ladeeinrichtung bei Aktivierung für eine vorgegebene Zeitspanne oder eine vorgegebene Anzahl Zyklen mit einer niedrigeren Geschwindigkeit als normal betrieben wird.
-
Die
japanische Patentveröffentlichung Nr. 2009-142903 offenbart eine Robotersteuervorrichtung, die dazu eingerichtet ist, spezielle Parameter zu verwenden, die sich von beim allgemeinen Betrieb angewandten allgemeinen Parametern unterscheiden, wenn ein bestimmter Betrieb in einem bestimmten Raum durchgeführt wird, der in einem Arbeitsraum des Roboters ausgewiesen ist. Gemäß der in der
japanischen Patentveröffentlichung Nr. 2009-142903 offenbarten Erfindung werden die speziellen Parameter nur beim Durchführen eines Betriebs angewandt, der höhere Präzision verlangt, wodurch die erforderliche Präzision erzielt und gleichzeitig die Arbeitseffizienz erhalten wird.
-
Bei einem bestehenden System, bei dem Betriebsbegrenzungsmodi automatisch gewechselt werden, wird entweder ein normaler Modus, bei dem ein Roboter mit normaler Leistung betrieben wird, oder ein Niedrigleistungsmodus, bei dem er mit niedrigerer Leistung betrieben wird, selektiv angewandt. Aus diesem Grund soll zum Zeitpunkt der Durchführung eines Testlaufs, selbst nachdem die Sicherheit für einen Teil des Betriebsprogramms bestätigt worden ist, das gesamte Betriebsprogramm gemäß dem Niedrigleistungsmodus ablaufen. Dadurch wird häufig die für den Testlauf erforderliche Zeit verlängert und die Effizienz verringert. Bei einem System, das dafür ausgelegt ist, dass ein Bediener die Begrenzung des Betriebs manuell auswählt, besteht das Risiko, dass ein Testlauf gemäß dem normalen Modus abläuft, obwohl die Sicherheit tatsächlich noch zu bestätigen ist. Bei einem System, das dafür ausgelegt ist, abhängig vom Arbeitsraum den Begrenzungsmodus zu wechseln, kann, selbst nachdem die Sicherheit bestätigt worden ist, der Testlauf gemäß dem Niedrigleistungsmodus durchgeführt werden.
-
Daher besteht Bedarf an einer Robotersteuervorrichtung, bei der der Roboter zu einem geeigneten Zeitpunkt in den Niedriggeschwindigkeitsmodus oder Niedrigleistungsmodus geschaltet wird, ohne dabei auf komplizierte Zusatzgeräte angewiesen zu sein.
-
Zusammenfassung der Erfindung
-
Gemäß einem ersten Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung bereitgestellt, die dazu eingerichtet ist, einem Betrieb wenigstens einer einen Roboter antreibenden Antriebseinrichtung eine Begrenzung aufzuerlegen, wenn eine vorgegebene Begrenzungsbedingung erfüllt ist, wobei die Robotersteuervorrichtung umfasst: ein Beurteilungsteil, das dazu eingerichtet ist, gemäß Betriebsausführungsergebnissen des Roboters zu entscheiden, ob die Begrenzungsbedingung erfüllt ist, und ein Begrenzungsteil, das dazu eingerichtet ist, einem Betrieb der wenigstens einen Antriebseinrichtung eine Begrenzung aufzuerlegen, wenn das Beurteilungsteil entscheidet, dass die Begrenzungsbedingung erfüllt ist.
-
Gemäß einem zweiten Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung nach dem ersten Aspekt bereitgestellt, wobei die Robotersteuervorrichtung dazu eingerichtet ist, den Roboter gemäß wenigstens einer in einem Betriebsprogramm enthaltenen Betriebsanweisung zu steuern, wobei die Robotersteuervorrichtung ferner ein Zählteil umfasst, das dazu eingerichtet ist, die Anzahl der Ausführungen der wenigstens einen Betriebsanweisung zu zählen, und wobei das Beurteilungsteil dazu eingerichtet ist, zu entscheiden, dass die Begrenzungsbedingung erfüllt ist, wenn die Anzahl der Ausführungen der wenigstens einen Betriebsanweisung gleich oder kleiner als ein vorgegebener erster Schwellenwert ist.
-
Gemäß einem dritten Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung nach dem ersten Aspekt der Erfindung bereitgestellt, wobei die Robotersteuervorrichtung ferner ein Zählteil umfasst, das dazu eingerichtet ist, während des Betriebs des Roboters die Anzahl der Eintritte des Roboters in jeden einer Mehrzahl Teilbereiche zu zählen, die durch Unterteilen des Arbeitsraums des Roboter gebildet werden, wobei das Beurteilungsteil dazu eingerichtet ist, zu entscheiden, dass die Begrenzungsbedingung erfüllt ist, wenn die Anzahl der Eintritte gleich oder kleiner als ein vorgegebener zweiter Schwellenwert ist.
-
Gemäß einem vierten Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung nach einem der ersten bis dritten Aspekte bereitgestellt, wobei das Begrenzungsteil, dazu eingerichtet ist, einem Drehmomentbefehlswert für die wenigstens eine Antriebseinrichtung innerhalb eines vorgegebenen Bereichs eine Begrenzung aufzuerlegen, wenn die Begrenzungsbedingung erfüllt ist.
-
Gemäß einem fünften Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung nach einem der ersten bis vierten Aspekte bereitgestellt, wobei die Robotersteuervorrichtung ferner umfasst: ein Krafterfassungsteil, das dazu eingerichtet ist, eine auf den Roboter ausgeübte externe Kraft zu erfassen, und ein Betriebseinstellungsteil, das dazu eingerichtet ist, den Betrieb des Roboters einzustellen, wenn die durch das Krafterfassungsteil erfasste externe Kraft einen vorgegebenen dritten Schwellenwert übersteigt, wobei das Begrenzungsteil dazu eingerichtet ist, den dritten Schwellenwert durch einen vierten Schwellenwert zu ersetzen, der kleiner als der dritte Schwellenwert ist, wenn die Begrenzungsbedingung erfüllt ist.
-
Gemäß einem sechsten Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung nach einem der ersten bis fünften Aspekte bereitgestellt, wobei die wenigstens eine Antriebseinrichtung dazu eingerichtet ist, basierend auf einem erfassten Wert einer Stellung und/oder Drehzahl gemäß einer Rückkopplungsregelung gesteuert zu werden, und wobei das Begrenzungsteil dazu eingerichtet ist, eine Stellungsschleifenverstärkung und/oder eine Drehzahlschleifenverstärkung zu verringern, die bei der Rückkopplungsregelung der Antriebseinrichtung verwendet werden, wenn die Begrenzungsbedingung erfüllt ist.
-
Gemäß einem siebten Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung nach einem der ersten bis sechsten Aspekte bereitgestellt, wobei das Begrenzungsteil dazu eingerichtet ist, der Drehzahl der wenigstens einen Antriebseinrichtung eine Begrenzung aufzuerlegen, wenn die Begrenzungsbedingung erfüllt ist.
-
Gemäß einem achten Aspekt der Erfindung der vorliegenden Anmeldung wird eine Robotersteuervorrichtung nach dem zweiten Aspekt bereitgestellt, wobei die Robotersteuervorrichtung ferner ein Rücksetzteil umfasst, das dazu eingerichtet ist, die Anzahl der Ausführungen auf einen Ausgangswert zurückzusetzen, wenn das Betriebsprogramm geändert wird.
-
Diese und andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der genauen Beschreibung ihrer beispielhaften Ausführungsformen, die in den Zeichnungen dargestellt sind, genauer hervor.
-
Kurzbeschreibung der Zeichnungen
-
1 zeigt eine beispielhafte Konfiguration einer Robotersteuervorrichtung gemäß einer Ausführungsform.
-
2 ist ein Funktionsblockdiagramm einer Servoschaltung einer Robotersteuervorrichtung.
-
3 ist ein Funktionsblockdiagramm einer Robotersteuervorrichtung gemäß einer Ausführungsform.
-
4 ist ein Flussdiagramm zum Durchführen eines Testlaufs eines Roboters unter Verwendung einer Robotersteuervorrichtung gemäß einer Ausführungsform.
-
5 zeigt ein Beispiel eines Bildes, das beim Einstellen eines Begrenzungsziels auf einer Anzeigeeinrichtung eines Lernpendants angezeigt wird.
-
6 zeigt ein Beispiel eines Bildes, das beim Anwenden einer Drehzahlbegrenzung auf einen Motor auf einer Anzeigeeinrichtung eines Lernpendants angezeigt wird.
-
7 zeigt ein Beispiel eines Bildes, das beim Einstellen der Inhalte von Begrenzungsbedingungen auf einer Anzeigeeinrichtung eines Lernpendants angezeigt wird.
-
8 ist ein Flussdiagramm zum Durchführen von Verfahren, die während eines Testlaufs eines Roboters durch eine Robotersteuervorrichtung ausgeführt werden.
-
9 zeigt ein Beispiel für Teilbereiche, die durch Unterteilen eines Arbeitsraums eines Roboters gebildet werden.
-
10 zeigt ein Beispiel eines Bildes, das beim Einstellen von Begrenzungsbedingungen auf einer Anzeigeeinrichtung eines Lernpendants angezeigt wird.
-
11 ist ein Flussdiagramm zum Durchführen von Verfahren, die durch eine vorgegebene Steuerperiode in einer Robotersteuervorrichtung gemäß einer zweiten Ausführungsform mehrfach ausgeführt werden.
-
12 ist ein Funktionsblockdiagramm einer Robotersteuervorrichtung gemäß einer Abwandlung der ersten Ausführungsform.
-
Beschreibung der Ausführungsformen
-
Ausführungsformen der vorliegenden Erfindung sind unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. Die Bestandteile der dargestellten Ausführungsformen sind nach Bedarf im Maßstab abgewandelt, um das Verständnis der vorliegenden Erfindung zu erleichtern. Gleiche oder entsprechende Bestandteile sind mit denselben Bezugszeichen versehen.
-
1 zeigt eine beispielhafte Konfiguration eines Robotersystems 1, das eine Robotersteuervorrichtung 10 gemäß einer Ausführungsform umfasst. Das Robotersystem 1 umfasst eine Robotersteuervorrichtung 10, einen Roboter 100, der durch die Robotersteuervorrichtung 10 gesteuert wird, und ein Lernpendant 200, das mit der Robotersteuervorrichtung 10 verbunden ist. Der Roboter 100 ist ein Mehrgelenkroboter, der eine beliebige bekannte Konfiguration hat. Bezug nehmend auf 1 sind aus Gründen der Einfachheit nur Motoren 102, die als Antriebseinrichtungen zum Antreiben der Gelenke des Roboters 100 fungieren, und Encoder (Drehgeber) 104 zum Erfassen von Drehstellungen, Drehzahlen, etc. der Motoren 102 dargestellt.
-
Das Lernpendant 200 ist mit einer bekannten Anzeigeeinrichtung 202, wie etwa einem Flüssigkristallbildschirm, und einer bekannten Eingabeeinrichtung 204 ausgestattet, wie etwa einer Tastatur. Die Anzeigeeinrichtung 202 kann ein Bildschirm-Tastenfeld (Touch Panel) sein, das auch die Funktion einer Eingabeeinrichtung hat. Die Eingabeeinrichtung 204 wird zum Eingeben und Editieren von Daten und Parametern verwendet. Die Eingabeeinrichtung 204 kann auch dazu verwendet werden, beim Durchführen einer Handeingabeverarbeitung Befehle an einen Roboter manuell einzugeben.
-
Die Robotersteuervorrichtung 10 ist mit einer Host-CPU 11, die die Robotersteuervorrichtung 10 insgesamt steuert, einem ROM 12, das verschiedene Systemprogramme speichert, einem RAM 13, das Daten zwischenspeichert, wie etwa Berechnungsergebnisse der Host-CPU 11, und einem nichtflüchtigen Speicher 14 ausgestattet, der verschiedene Programme, wie etwa ein Betriebsprogramm für einen Roboter, und diesen Programmen zugehörige Parameter speichert.
-
Wie in 1 gezeigt, ist eine Mehrzahl gemeinsam genutzter RAMs (Shared RAMs) 15 mit der Host-CPU 11 verbunden. Die gemeinsam genutzten RAMs 15 sind mit Servoschaltungen 20 verbunden.
-
Die gemeinsam genutzten RAMs 15 empfangen Befehle und andere Steuersignale von der Host-CPU 11 und geben diese an die Servoschaltungen 20 aus. Des Weiteren empfangen die gemeinsam genutzten RAMs 15 verschiedene Signale von den Servoschaltungen 20 und geben diese an die Host-CPU 11 aus. Obgleich dies nicht dargestellt ist, haben die Servoschaltungen 20 jeweils Hardware-Konfigurationen, die CPUs, ROMs, RAMs, etc. umfassen.
-
In 1 sind aus Gründen der Einfachheit nur drei gemeinsam genutzte RAMs 15 und drei Servoschaltungen 20 dargestellt, es kann jedoch eine der Anzahl der Gelenke des Roboters 100 entsprechende Anzahl gemeinsam genutzter RAMs 15 und Servoschaltungen 20 bereitgestellt werden. Das bedeutet, dass, wenn der Roboter 100 ein vertikaler Mehrgelenkroboter mit sechs Gelenken ist, sechs gemeinsam genutzte RAMs 15, sechs Servoschaltungen 20, sechs Motoren 102 und sechs Encoder 104 bereitgestellt werden.
-
2 ist ein Funktionsblockdiagramm einer Servoschaltung 20. Die Servoschaltung 20 ist eine digitale Schaltung, die mit einem ersten Subtrahierer 21, einem Stellungssteuerteil 22, einem zweiten Subtrahierer 23, einem Differenzierer 24, einem Drehzahlsteuerteil 25, einem Drehmomentbegrenzungsteil 26 und einem Stromsteuerteil 27 ausgestattet ist.
-
Der erste Subtrahierer 21 subtrahiert die erfasste Stellung des Motors 102 von der Zielstellung des Motors 102, die in einem Stellungsbefehl enthalten ist. Der Stellungsbefehl wird gemäß dem Betriebsprogramm durch die Host-CPU 11 (siehe 1) generiert. Der Stellungsbefehl wird über das gemeinsam genutzte RAM 15 in den ersten Subtrahierer 21 der Servoschaltung 20 eingegeben. Die erfasste Stellung des Motors 102 wird durch den Encoder 104 eingeholt. Der Betrag der Stellungsabweichung wird durch den ersten Subtrahierer 21 berechnet und in das Stellungssteuerteil 22 eingegeben.
-
Das Stellungssteuerteil 22 multipliziert den durch den ersten Subtrahierer 21 berechneten Betrag der Stellungsabweichung mit einer vorgegebenen Stellungsschleifenverstärkung, um einen Drehzahlbefehl zu erhalten. Der durch das Stellungssteuerteil 22 erhaltene Drehzahlbefehl wird in den zweiten Subtrahierer 23 eingegeben.
-
Der zweite Subtrahierer 23 subtrahiert die erfasste Drehzahl des Motors 102 von dem durch das Stellungssteuerteil 22 berechneten Drehzahlbefehl. Die erfasste Drehzahl des Motors 102 wird durch Differenzieren der erfassten Stellungen, die durch den Encoder 104 eingeholt werden, durch den Differenzierer 24 ermittelt. Der durch den zweiten Subtrahierer 23 berechnete Betrag der Drehzahlabweichung wird in das Drehzahlsteuerteil 25 eingegeben.
-
Das Drehzahlsteuerteil 25 multipliziert den durch den zweiten Subtrahierer 23 berechneten Betrag der Drehzahlabweichung mit einer vorgegebenen Drehzahlschleifenverstärkung, um einen Drehmomentbefehl zu erhalten. Der durch das Drehzahlsteuerteil 25 erhaltene Drehmomentbefehl wird über das Drehmomentbegrenzungsteil 26 in das Stromsteuerteil 27 eingegeben.
-
Das Drehmomentbegrenzungsteil 26 ist zum Schutz des Motors 102 vorgesehen. Um beispielsweise zu verhindern, dass ein Strom, der größer ist als der für den Motor 102 festgelegte Maximalstrom, an den Motor 102 angelegt wird, weist das Drehmomentbegrenzungsteil 26 die Funktion auf, den Drehmomentbefehl auf einem dem Maximalstrom entsprechenden Wert zu halten. Die Funktionen des Drehmomentbegrenzungsteils 26 sind jedoch nicht auf die vorstehend erläuterten beschränkt. Das Drehmomentbegrenzungsteil 26 kann auch dazu eingerichtet sein, den Drehmomentwert auf einer bestimmten vorgegebenen Wertobergrenze oder Wertuntergrenze zu halten.
-
Das Stromsteuerteil 27 generiert gemäß einem über das Drehmomentbegrenzungsteil 26 eingegebenen Drehmomentbefehl einen Strombefehl zum Antreiben des Motors 102. Der Motor 102 wird in Antwort auf den Strom angetrieben, der gemäß dem Strombefehl vom Stromsteuerteil 27 angelegt wird.
-
3 ist ein Funktionsblockdiagramm einer Robotersteuervorrichtung 10 gemäß einer Ausführungsform. Die Robotersteuervorrichtung 10 ist mit einem Krafterfassungsteil 31, einem Betriebseinstellungsteil 32, einem Zählteil 33, einem Beurteilungsteil 34 und einem Begrenzungsteil 35 ausgestattet.
-
Das Krafterfassungsteil 31 erfasst in Zusammenwirkung mit einem Kraftsensor 106 eine auf den Roboter 100 wirkende externe Kraft. Der Kraftsensor 106 kann beispielsweise an jedem Gelenk des Roboters 100 vorgesehen sein. Das Krafterfassungsteil 31 erfasst die Kraft, die auf ein Gelenk wirkt, an dem der Kraftsensor 106 angebracht ist.
-
Das Betriebseinstellungsteil 32 stellt den Betrieb des Roboters 100 durch die Host-CPU 11 oder die Servoschaltung 20 ein, wenn die durch das Krafterfassungsteil 31 erfasste Kraft einen vorgegebenen Schwellenwert übersteigt.
-
Das Zählteil 33 hat die Funktion, die Betriebsergebnisse des Roboters 100 beim Durchführen eines Testlaufs des Roboters 100 zu sammeln. Bei einer Ausführungsform zählt das Zählteil 33 die Anzahl der Ausführungen wenigstens einer Betriebsanweisung, die im Betriebsprogramm enthalten ist.
-
Das Beurteilungsteil 34 vergleicht die Betriebsergebnisse des Roboters 100 vom Zählteil 33, zum Beispiel die Anzahl der Ausführungen der Betriebsanweisung, mit einem vorgegebenen Schwellenwert, um zu entscheiden, ob die Begrenzungsbedingung erfüllt ist, oder, mit anderen Worten, ob der Betrieb des Motors 102 begrenzt werden sollte.
-
Das Begrenzungsteil 35 begrenzt den Betrieb des Motors 102, wenn das Beurteilungsteil 34 entscheidet, dass der Betrieb des Motors 102 begrenzt werden sollte. Beispielsweise begrenzt das Begrenzungsteil 35 die Leistung des Motors 102 und wechselt den Begrenzungsmodus des Roboters 100, um ihn gemäß dem Niedrigleistungsmodus zu betreiben. Alternativ begrenzt das Begrenzungsteil 35 die Drehzahl des Motors 102 und wechselt den Begrenzungsmodus des Roboters 100, um ihn gemäß dem Niedrigdrehzahlmodus zu betreiben.
-
4 ist ein Flussdiagramm zum Durchführen eines Testlaufs des Roboters 100 unter Verwendung einer Robotersteuervorrichtung 10 gemäß einer Ausführungsform. Die Schritte S401 bis S403 sind vorbereitende Verfahren, die vor dem Testlauf durchgeführt werden. In Schritt S401 wird ein zum Gewährleisten der Sicherheit des Testlaufs zu begrenzendes Begrenzungsziel eingestellt. Gemäß einer Ausführungsform kann die Leistung des Motors 102 begrenzt werden. Gemäß einer anderen Ausführungsform kann die Drehzahl des Motors 102 begrenzt werden.
-
In Schritt S402 wird das Begrenzungsverfahren eingestellt. Gemäß einer Ausführungsform kann die Stellungsschleifenverstärkung oder Drehzahlschleifenverstärkung, die bei der Rückkopplungsregelung des Motors 102 verwendet wird, verringert werden. Gemäß einer anderen Ausführungsform wird ein Drehmomentbefehlswert für den Motor 102 begrenzt, so dass er in einem vorgegebenen Bereich zwischen einer vorgegebenen Wertobergrenze und Wertuntergrenze enthalten ist.
-
In Schritt S403 wird die Begrenzungsbedingung eingestellt. Gemäß einer Ausführungsform wird, wenn die Anzahl der Ausführungen derselben Betriebsanweisung, die in einem Betriebsprogramm enthalten ist, einem vorgegebenen Schwellenwert entspricht oder darunter liegt, beim Ausführen der Betriebsanweisung dem Betrieb des Motors 102 eine Begrenzung auferlegt.
-
Nachdem die vorbereitenden Verfahren der Schritte S401 bis S403 abgeschlossen sind, fährt das Verfahren mit Schritt S404 fort, in dem der Testlauf des Roboters 100 durchgeführt wird. Es wird darauf hingewiesen, dass die Ausführungsreihenfolge der Schritte S401 bis S403 nicht auf das dargestellte Beispiel beschränkt ist. Der Testlauf des Roboters 100 wird gemäß dem Betriebsprogramm durchgeführt. Alternativ kann der Bediener durch eine Handeingabeverarbeitung unter Verwendung des Lernpendants 200 dem Roboter 100 sukzessive Befehle geben, um einen Testlauf des Roboters 100 durchzuführen.
-
Bezug nehmend auf 5 wird das Verfahren von Schritt S401 aus 4 genauer erläutert. 5 zeigt ein Beispiel eines Bildes, das beim Einstellen des Begrenzungsziels auf der Anzeigeeinrichtung 202 des Lernpendants 200 angezeigt wird. Bei diesem Beispiel ist der Bildschirm beim Begrenzen der Leistung des Motors 102 gezeigt. Gemäß einer Ausführungsform können die Begrenzungen der sechs Gelenke J1 bis J6 gewechselt werden, um diese alle auf einmal wirksam oder unwirksam zu machen. Die Begrenzungen können jedoch auch einzeln für die Gelenke J1 bis J6 wirksam oder unwirksam gemacht werden. Bei dem dargestellten Beispiel ist das Lernpendant 200 dazu eingerichtet, die Parameter für die Gelenke J1 bis J6 einzeln einstellen zu können.
-
Wie in 5 gezeigt, sind die jeweiligen Positionen, ”Steifigkeit”, ”Drehmoment” und ”Kollision”, auf ”wirksam” gestellt. Daher sind bei dem dargestellten Beispiel die den jeweiligen Feldern entsprechenden Begrenzungen auf wirksam gestellt.
-
Das Feld ”Steifigkeit” wird zum Ändern der im Stellungssteuerteil 22 verwendeten Stellungsschleifenverstärkung oder der im Drehzahlsteuerteil 25 verwendeten Drehzahlschleifenverstärkung verwendet. Gemäß einer Ausführungsform sind die Stellungsschleifenverstärkung und die Drehzahlschleifenverstärkung, denen die Leistungsbegrenzungen auferlegt sind, prozentual zur Stellungsschleifenverstärkung und Drehzahlschleifenverstärkung angegeben, denen keine Leistungsbegrenzungen auferlegt sind. Die derart eingestellte Stellungsschleifenverstärkung und Drehzahlschleifenverstärkung werden im nichtflüchtigen Speicher 14 (siehe 1) gespeichert.
-
Die Größe des durch das Stellungssteuerteil 22 generierten Drehzahlbefehls und die Größe des durch das Drehzahlsteuerteil 25 generierten Drehmomentbefehls sind jeweils proportional zur Stellungsschleifenverstärkung und Drehzahlschleifenverstärkung. Aus diesem Grund wird, wenn die Stellungsschleifenverstärkung oder die Drehzahlschleifenverstärkung klein eingestellt ist, die Leistung des Motors 102 verringert. Daher nimmt, selbst wenn der Roboter 100 während des Betriebs mit einem Gegenstand oder Arbeiter in der Umgebung in Kontakt kommt, die vom Roboter 100 auf den Gegenstand oder Arbeiter ausgeübte Kraft ab und es kann verhindert werden, dass sich ein schwerer Unfall ereignet.
-
In dem in 5 gezeigten Feld ”Drehmoment” werden die Wertobergrenzen und Wertuntergrenzen der auf die Gelenke J1 bis J6 anzulegenden Drehmomente eingestellt. Das heißt, die Toleranzen der Drehmomente der Gelenke J1 bis J6 können in das Feld eingegeben werden. Insbesondere werden, wenn die Drehmomentbegrenzung wirksam ist, die Drehmomente der Gelenke J1 bis J6 auf den Bereich ”Drehmoment zur Startzeit ± Toleranz (Eingabewert)” begrenzt. Das ”Drehmoment zur Startzeit” ist das Drehmoment, das der auf den Roboter 100 wirkenden Schwerkraft entgegenwirkt und zum Stützen des Roboters 100 erforderlich ist. Die Wertobergrenze und Wertuntergrenze für die Drehmomentbegrenzung werden im nichtflüchtigen Speicher 14 gespeichert. Auf diese Weise nimmt, durch Festlegen der Drehmomente der Gelenke J1 bis J6 entsprechend der Wertobergrenze oder Wertuntergrenze, selbst wenn der Roboter 100 mit einem Gegenstand oder Arbeiter in der Umgebung in Kontakt kommt, die vom Roboter 100 auf einen Gegenstand oder Arbeiter ausgeübte Kraft ab und es kann verhindert werden, dass sich ein schwerer Unfall ereignet.
-
Das Feld ”Kollision” wird zum Einstellen des Schwellenwerts verwendet, der im Betriebseinstellungsteil 32 für einen Vergleich mit der durch das Krafterfassungsteil 31 erfassten Kraft verwendet wird. Das Betriebseinstellungsteil 32 stellt den Betrieb des Roboters 100 ein, wenn der Krafterfassungswert einen Schwellenwert übersteigt, und zwar unabhängig davon, ob die Leistungsbegrenzung oder Drehzahlbegrenzung des Motors 102 wirksam oder unwirksam ist. Der in 5 gezeigte Eingabewert entspricht dem Schwellenwert, der verwendet werden sollte, wenn die Leistungsbegrenzung wirksam ist, prozentual zu einem Bezugsschwellenwert, der verwendet wird, wenn die Leistungsbegrenzung unwirksam ist. Durch ein derartiges Einstellen des Schwellenwerts zur Kollisionsbewertung auf einen kleinen Wert, ist es möglich, den Roboter 100 schnell zu stoppen, wenn der Roboter 100 mit einem Gegenstand oder Arbeiter in der Umgebung in Kontakt kommt. Daher ist es möglich, zu verhindern, dass sich schwere Unfälle ereignen.
-
6 zeigt ein Beispiel eines Bildes, das beim Auferlegen einer Drehzahlbegrenzung auf den Motor 102 auf der Anzeigeeinrichtung 202 des Lernpendants 200 angezeigt wird. Bei diesem Beispiel werden die Wirksamkeit und Unwirksamkeit der Drehzahlbegrenzung für sämtliche der Gelenke J1 bis J6 gleichzeitig untereinander gewechselt. In das Feld ”Gelenkobergrenze” kann die Wertobergrenze der Drehzahlen der Gelenke J1 bis J6 prozentual zur Maximaldrehzahl eingegeben werden. Des Weiteren kann in das Feld ”Obergrenze rechtwinkliger Koordinaten” eine Wertobergrenze der Drehzahl in das rechtwinklige Koordinatensystem des Endeffektors des Roboters 100 eingegeben werden.
-
Wenn die Drehzahlbegrenzung wirksam ist, ist es wahrscheinlicher, dass ein Inkontaktkommen des Roboters 100 mit einem Gegenstand oder Arbeiter in der Umgebung vor dem tatsächlichen Kontakt erkannt wird. Die Drehzahlbegrenzung kann beispielsweise durch Ändern des Stellungsbefehls auferlegt werden, der von der Host-CPU 11 an die Servoschaltung 20 ausgegeben wird. Insbesondere kann, wenn die Drehzahl, die durch Differenzieren der im Stellungsbefehl enthaltenen Zielstellungen erhalten wird, die Wertobergrenze übersteigt, die Zielstellung gemäß der auf die Wertobergrenze festgelegten Drehzahl geändert werden.
-
Bezug nehmend auf 7 wird das Verfahren von Schritt S403 aus 4 genauer beschrieben. 7 zeigt ein Beispiel eines Bildes, das beim Einstellen der Inhalte der Begrenzungsbedingungen auf der Anzeigeeinrichtung 202 des Lernpendants 200 angezeigt wird. In das Feld ”Anzahl Überprüfungen” kann eingegeben werden, wie oft (Schwellenwert) die Leistungsbegrenzung oder Drehzahlbegrenzung beim Ausführen des Betriebsprogramms auferlegt werden sollte. In dem Feld ”Begrenzungsverfahren” wird entweder der ”Niedrigleistungsmodus” oder ”Niedrigdrehzahlmodus” ausgewählt.
-
Bei dem dargestellten Beispiel wird der Testlauf gemäß dem ”Niedrigleistungsmodus” durchgeführt bis eine Betriebsanweisung des Betriebsprogramms zweimal ausgeführt wurde. Wenn andererseits eine bestimmte Betriebsanweisung dreimal oder öfter ausgeführt wird, wird die Betriebsanweisung im normalen Modus ausgeführt, in dem keine Begrenzungen auferlegt sind. Gemäß einer Ausführungsform wird für alle Betriebsanweisungen des Betriebsprogramms ein gemeinsamer Schwellenwert eingestellt, Schwellenwerte können bei Bedarf jedoch auch für jede Betriebsanweisung einzeln eingestellt werden.
-
Bezug nehmend auf 8 wird das Verfahren von Schritt S404 aus 4 erläutert. 8 ist ein Flussdiagramm eines Verfahrens, das beim Durchführen eines Testlaufs des Roboters 100 durch die Robotersteuervorrichtung 10 ausgeführt wird. Der Testlauf des Roboters 100 wird automatisch durchgeführt, wenn ein Startsignal eingegeben wird, um den Roboter 100 gemäß einem wenigstens eine Betriebsanweisung enthaltenden Betriebsprogramm zu betreiben.
-
Die Robotersteuervorrichtung 10 überwacht die Eingabe eines Startsignals. In Schritt S801 wird beurteilt, ob ein Startsignal eingegeben wurde. Wenn kein Startsignal eingegeben wurde (wenn das Ergebnis der Beurteilung in Schritt S801 negativ ist), fährt das Verfahren mit Schritt S802 fort, in dem eine Handeingabeverarbeitung durchgeführt und der Roboter 100 gesteuert wird, um einen Befehl auszuführen, der unter Verwendung der Eingabeeinrichtung 204 des Lernpendants 200 eingegeben wird. Wenn andererseits ein Startsignal eingegeben wird (wenn das Ergebnis der Beurteilung von Schritt S801 positiv ist), fährt das Verfahren mit Schritt S803 fort, in dem beurteilt wird, ob das Betriebsprogramm zeitweise gestoppt wurde.
-
Wenn entschieden wird, dass das Betriebsprogramm zeitweise gestoppt wurde (wenn das Ergebnis der Beurteilung in Schritt S803 positiv ist), fährt das Verfahren mit Schritt S804 fort, in dem das Zählteil 33 eine ”1” zur Anzahl der Ausführungen der aktuellen Betriebsanweisung addiert. Wenn andererseits das Ergebnis der Beurteilung in Schritt S803 negativ ist, fährt das Verfahren mit Schritt S805 fort, in dem die erste Betriebsanweisung des Betriebsprogramms auf die aktuelle Betriebsanweisung gesetzt wird.
-
In Schritt S806 beurteilt das Beurteilungsteil 34, ob die Anzahl der Ausführungen der aktuellen Betriebsanweisung einen vorgegebenen Schwellenwert überschritten hat. Wenn entschieden wird, dass die Anzahl der Ausführungen den Schwellenwert überschritten hat (wenn das Ergebnis der Beurteilung in Schritt S806 positiv ist), wird die Begrenzung des Motors 102 in Schritt S807 unwirksam gemacht und das Verfahren fährt mit Schritt S809 fort, in dem die aktuelle Betriebsanweisung ausgeführt wird.
-
Wenn andererseits entschieden wird, dass die Anzahl der Ausführungen gleich oder kleiner als der Schwellenwert ist (wenn das Ergebnis der Beurteilung in Schritt S806 negativ ist), wird die Begrenzung des Motos 102 in Schritt S808 wirksam gemacht und die aktuelle Betriebsanweisung dann ausgeführt.
-
In Schritt S810 wird beurteilt, ob die aktuelle Betriebsanweisung die letzte Betriebsanweisung des Betriebsprogramms ist. Wenn das Ergebnis der Beurteilung in Schritt S810 positiv ist, wird das Verfahren zum Überprüfen der Sicherheit des Betriebsprogramms beendet. Wenn andererseits das Ergebnis der Beurteilung in Schritt S810 negativ ist, fährt das Verfahren mit Schritt S811 fort, in dem die aktuelle Betriebsanweisung durch die nächste Betriebsanweisung ersetzt wird. Dann kehrt das Verfahren zu Schritt S804 zurück und die Schritte S806 bis S810 werden für die nächste Betriebsanweisung wiederholt.
-
Mit einer Robotersteuervorrichtung gemäß der vorliegenden Ausführungsform können die folgenden Effekte erzielt werden:
- (1) Gemäß der Anzahl der Ausführungen einer einzelnen im Betriebsprogramm enthaltenen Betriebsanweisung wird der Betriebsbegrenzungsmodus in den Niedrigleistungs- oder Niedrigdrehzahlmodus geschaltet, um die Betriebsanweisung auszuführen. Wenn die Anzahl der Ausführungen einer bestimmten Betriebsanweisung niedrig ist und davon ausgegangen wird, dass die Sicherheit der Betriebsanweisung nicht bestätigt ist, wird die Betriebsanweisung mit niedriger Leistung oder niedriger Drehzahl ausgeführt. Somit ist es möglich, die Sicherheit von Gegenständen oder Arbeitern in der Nähe des Roboters während der Durchführung eines Testlaufs nach Bedarf zu gewährleisten.
- (2) Das Schalten in den Niedrigleistungsmodus oder Niedrigdrehzahlmodus wird gemäß der Anzahl der Ausführungen der Betriebsanweisung automatisch ausgeführt. Es ist nicht nötig, dass ein Bediener den Betriebsbegrenzungsmodus manuell wechselt, weshalb es möglich ist, zu verhindern, dass sich betriebliche Fehler ereignen, und die Arbeitseffizienz zu verbessern.
- (3) Zusätzliche Geräte zum Schalten des Betriebsbegrenzungsmodus in den Niedrigleistungsmodus oder den Niedrigdrehzahlmodus sind nicht erforderlich. Daher kann eine kostengünstige Robotersteuervorrichtung bereitgestellt werden.
-
Bezug nehmend auf 9 bis 11 wird eine Robotersteuervorrichtung 10 gemäß einer zweiten Ausführungsform erläutert. Gemäß der vorliegenden Ausführungsform wird abhängig von der Anzahl der Eintritte in durch Unterteilen des Arbeitsraums des Roboters 100 gebildete Teilbereiche bestimmt, ob der Betrieb des Motors 102 begrenzt wird.
-
9 zeigt ein Beispiel für Teilbereiche, die durch Unterteilen des Arbeitsraums 110 des Roboters 100 gebildet werden. In der Figur zeigt der durchgezogene Kreis den Arbeitsraum 110 des Roboters 100. Im Besonderen ist der Weg des Endeffektors des Roboters 110 bei maximalem Hub als Kreis dargestellt. Bei einer Ausführungsform ist der Arbeitsraum 110 in drei Abschnitte gleichen Abstands vom Zentrum des Kreises radial nach außen aufgeteilt und alle 30 Grad um das Zentrum in zwölf Abschnitte unterteilt. Auf diese Weise wird der Arbeitsraum 110 in 36 Teilbereiche unterteilt.
-
Wie gezeigt, ist die Stellung P des Endeffektors in einem bestimmten Teilbereich 120 enthalten. Das Zählteil 33 (siehe 3) zählt die Anzahl der Eintritte eines Endeffektors in den Teilbereich 120. Die Anzahl der Eintritte wird in einem nichtflüchtigen Speicher 14 (siehe 1) gespeichert.
-
Die Host-CPU 11 der Robotersteuervorrichtung 10 (siehe 1) nimmt auf bekannte geometrische Informationen der Roboterkomponenten Bezug und erfasst die Stellung P des Endeffektors anhand der aktuellen Stellung des Motors 102 jedes Gelenks. Die Host-CPU 11 kann anhand der Stellung P des Endeffektors den Teilbereich 120 ermitteln, in dem sich der Endeffektor befindet. Bei dem dargestellten Beispiel ist der Arbeitsraum 110 beispielshaft im zweidimensionalen Raum in Teilbereiche aufgeteilt, es kann jedoch auch ein dreidimensionaler Raum ebenso in eine Mehrzahl Teilbereiche unterteilt werden.
-
10 zeigt ein Beispiel eines Bildes, das bei der vorliegenden Ausführungsform beim Einstellen von Begrenzungsbedingungen auf einer Anzeigeeinrichtung 202 des Lernpendants 200 angezeigt wird. Bei dem dargestellten Beispiel wird ”1” als Schwellenwert eingegeben, der vom Beurteilungsteil 34 im Beurteilungsverfahren verwendet wird. Demgemäß wird, wenn die Anzahl der Eintritte in den Teilbereich 120 0 oder 1 beträgt, dem Betrieb des Motors 102 eine Begrenzung auferlegt.
-
11 ist ein Flussdiagramm, zum Durchführen von Verfahren, die durch eine vorgegebene Steuerperiode in der Robotersteuervorrichtung 10 gemäß der zweiten Ausführungsform mehrfach ausgeführt werden.
-
In Schritt S1101 wird ein aktueller Bereich (Teilbereich 120) ermittelt, in dem sich der Endeffektor des Roboters 100 befindet. Die Stellung P des Endeffektors wird, wie vorstehend beschrieben, basierend auf der aktuellen Stellung des Motors 102, die durch den Encoder 104 erfasst wird, und den geometrischen Informationen der Roboterkomponenten durch die Host-CPU 11 berechnet.
-
In Schritt S1102 wird beurteilt, ob der in Schritt S1101 ermittelte aktuelle Bereich mit dem unmittelbar vorhergehenden Bereich übereinstimmt, der in der vorherigen Steuerperiode in Schritt S1101 angegeben wurde. Wenn der aktuelle Bereich nicht mit dem unmittelbar vorhergehenden Bereich übereinstimmt (wenn das Ergebnis der Beurteilung in Schritt S1102 negativ ist), fährt das Verfahren mit Schritt S1103 fort, in dem das Zählteil 33 eine ”1” zur Anzahl der Eintritte in den aktuellen Bereich addiert. Wenn andererseits der aktuelle Bereich mit dem unmittelbar vorhergehenden Bereich übereinstimmt (wenn das Ergebnis der Beurteilung in Schritt S1102 positiv ist), umgeht das Verfahren Schritt S1103 und fährt mit Schritt S1104 fort. Wenn Schritt S1102 zum ersten Mal ausgeführt wird, ist das Ergebnis der Beurteilung in Schritt S1102 immer positiv und das Verfahren fährt mit Schritt S1104 fort.
-
In Schritt S1104 entscheidet das Beurteilungsteil 34, ob die Anzahl der Eintritte in den aktuellen Bereich einen vorgegebenen Schwellenwert überschritten hat. Wenn beispielsweise, wie vorstehend unter Bezugnahme auf 10 beschrieben, der Schwellenwert auf ”1” gesetzt ist und die Anzahl der Eintritte in den aktuellen Bereich zwei oder mehr beträgt, ist das Ergebnis der Beurteilung in Schritt S1104 positiv.
-
Wenn die Anzahl der Eintritte in den aktuellen Bereich gleich oder kleiner als der Schwellenwert ist (wenn das Ergebnis der Beurteilung in Schritt S1104 negativ ist), fährt das Verfahren mit Schritt S1105 fort, in dem eine voreingestellte Begrenzung des Motors 102 wirksam gemacht wird. Wenn andererseits das Ergebnis der Beurteilung in Schritt S1104 positiv ist, fährt das Verfahren mit Schritt S1106 fort, in dem die Begrenzung des Motors 102 unwirksam gemacht wird.
-
In Schritt S1107 wird der für die Beurteilung in Schritt S1102 verwendete ”unmittelbar vorhergehende Bereich” in der nächsten Steuerperiode durch den in Schritt S1101 ermittelten ”aktuellen Bereich” ersetzt. Die Schritte S1101 bis S1107 werden mehrfach ausgeführt bis der Roboter 100 eine Reihe von Verarbeitungen abschließt, die durch das Betriebsprogramm bestimmt wird.
-
12 ist ein Funktionsblockdiagramm einer Robotersteuervorrichtung 10 gemäß einer Abwandlung der vorstehend genannten ersten Ausführungsform. Die Robotersteuervorrichtung 10 gemäß der vorliegenden Abwandlung umfasst ferner ein Rücksetzteil 36, das die Anzahl der Ausführungen einer Betriebsanweisung zurücksetzt, die im nichtflüchtigen Speicher 14 gespeichert ist. Wenn beispielsweise an einem Betriebsprogramm eine Änderung durchgeführt wird, um die Inhalte der Betriebsanweisung zu beeinflussen, wird die Anzahl der Ausführungen der beeinflussten Betriebsanweisung auf null zurückgesetzt, wodurch die Sicherheit des Betriebsprogramms nach der Änderung gewährleistet wird.
-
Effekt der Erfindung
-
Gemäß einer Robotersteuervorrichtung gemäß der vorliegenden Erfindung wird beim Betreiben eines Betriebsprogramms abhängig von den Betriebsausführungsergebnissen der Betriebsbegrenzungsmodus für wenigstens einen Teil des Betriebsprogramms automatisch auf eine niedrige Drehzahl oder niedrige Leistung geschaltet. Daher ist es möglich, den Betrieb des Roboters zu einem geeigneten Zeitpunkt nach Bedarf zu begrenzen, ohne dabei auf komplizierte Zusatzgeräte angewiesen zu sein. Dies gewährleistet die Sicherheit von Gegenständen und Arbeitern in der Nähe des Roboters und erhält gleichzeitig die Arbeitseffizienz.
-
Obgleich vorstehend verschiedene Ausführungsformen und Varianten der vorliegenden Erfindung beschrieben sind, ist es für einen Fachmann auf dem Gebiet ersichtlich, dass die angestrebten Funktionen und Effekte auch durch andere Ausführungsformen und Varianten erzielt werden können. Insbesondere ist es möglich, einen Bestandteil der Ausführungsformen und Varianten wegzulassen oder zu ersetzen oder zusätzlich ein bekanntes Mittel vorzusehen, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Des Weiteren ist es für einen Fachmann ersichtlich, dass die vorliegende Erfindung durch eine beliebige Kombination der Merkmale der Ausführungsformen umgesetzt werden kann, die hierin entweder explizit oder implizit offenbart sind.
-
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 2000-108065 [0003]
- JP 62-166410 [0003]
- JP 2014-176934 [0004]
- JP 2004-216504 [0004]
- JP 2009-142903 [0005, 0005]