-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Robotersystem, das abnormale Arbeitsabläufe eines Industrieroboters erfasst.
-
2. Beschreibung des Standes der Technik
-
Eine bekannte Vorrichtung erfasst eine Beschleunigung und eine Geschwindigkeit eines Endabschnitts eines Roboterarms. Wenn entweder die Beschleunigung oder die Geschwindigkeit größer als ein vorbestimmter Wert sind, wird ein abnormer Zustand des Roboter festgestellt und der Roboter zu einem Nothalt gebracht. Diese Vorrichtung ist in der japanischen Veröffentlichungsschrift (kokai) Nr. H 06-91587 (
JP 6-91587 A ) beschrieben.
-
Wenn ein Sensor zum Erfassen der Geschwindigkeit oder Beschleunigung versagt, kann die in
JP 6-91587 A beschriebene Vorrichtung einen abnormen Arbeitsablauf des Roboters nicht verhindern.
-
Abriss der Erfindung
-
Gemäß einer Ausführungsform der Erfindung umfasst ein Robotersystem einen Servomotor; einen von dem Servomotor angetriebenen Roboterarm; eine Robotersteuerung zum Steuern der Arbeitsabläufe des Roboterarms; einen ersten Erfassungsbereich zum Erfassen eines Rotationsbetrags des Servomotors; einen an einem Endabschnitt des Roboterarms angebrachten zweiten Erfassungsbereich, der eine Geschwindigkeit oder Beschleunigung des Endabschnitts des Roboterarms erfasst; einen Berechnungsbereich zum Berechnen der Geschwindigkeit oder Beschleunigung des Endabschnitts des Roboterarms basierend auf den von dem ersten Erfassungsbereich erfassten Werten und zum Berechnen einer Abweichung zwischen der berechneten Geschwindigkeit oder Beschleunigung und der von dem zweiten Erfassungsabschnitt erfassten Geschwindigkeit oder Beschleunigung; und einen Nothaltebereich zum Auslösen eines Nothalts des Servomotors, wenn die von dem Berechnungsbereich berechnete Größe der Abweichung größer als ein Referenzwert ist.
-
Kurzbeschreibung der Figuren
-
Die Aufgabe, Merkmale und Vorteile der vorliegenden Erfindung werden von der folgenden Beschreibung der Ausführungsformen mit Bezugnahme auf die beigefügten Figuren ersichtlich, in denen:
-
1 eine Darstellung ist, die die Anordnung eines Robotersystems gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
-
2 eine schematische Darstellung ist, die den Aufbau eines Roboters gemäß 1 zeigt; und
-
3 ein Flussdiagramm ist, das ein Beispiel eines von einem Steuerungsbereich gemäß 1 ausgeführten Verfahren darstellt.
-
Detaillierte Beschreibung
-
Im Folgenden werden mit Bezug auf die 1 bis 3 Ausführungsformen der vorliegenden Erfindung beschrieben.
-
1 ist eine Darstellung, die eine Anordnung des Robotersystems 100 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Das Robotersystem 100 umfasst einen Gelenkroboter 10 und eine Robotersteuerung 20, die den Roboter 10 steuert.
-
2 ist eine schematische Darstellung, die den Aufbau des Roboters 10 zeigt. Der Roboter 10 ist ein typischer 6-Achs Vertikal-Gelenkroboter und hat eine an einem Boden angebrachte Basis 11 und einen Roboterarm 12, der drehbar mit der Basis 11 gekoppelt ist. Der Roboter 12 hat einen Unterarm 121; einen Oberarm 122, der drehbar mit einem Endabschnitt des Unterarms 121 verbunden ist. Eine Arbeitsvorrichtung 123 (z. B. eine Punktschweißzange) ist drehbar an dem Endabschnitt des Oberarms 122 angebracht ist.
-
Der Roboter 10 umfasst eine Vielzahl von Servomotoren 15 zum Antreiben des Roboters (nur ein Servomotor ist zur Beibehaltung der Übersichtlichkeit in der Figur dargestellt). Jeder Servomotor 15 ist mit einem Encoder 16 (der auch als Positionssensor bezeichnet werden kann) versehen, der einen axialen Rotationswinkel des Servomotors 15 erfasst. Der erfasste Rotationswinkel wird an die Robotersteuerung 20 (einem Servoverstärker 22) zurückgeführt, sodass die Position und Orientierung der Arbeitsvorrichtung 123 an dem Endabschnitt des Roboterarms durch eine Rückkopplungsregelung in der Robotersteuerung 20 gesteuert wird.
-
Ein 3-Achs-Beschleunigungssensor 17 ist an der Arbeitsvorrichtung 123 angebracht, sodass der Beschleunigungssensor 17 die Beschleunigungen des Endabschnitts des Roboterarms in Richtung der drei Achsen messen kann. Der Beschleunigungssensor 17 kann nicht nur eine dynamische Beschleunigung „a” messen, während der Roboterarm angetrieben wird, sondern auch eine statische Beschleunigung oder eine Erdbeschleunigung „as”, wenn der Roboterarm stillsteht. Die Erdbeschleunigung „as” verändert sich mit der Orientierung des Endabschnitts des Roboterarms.
-
Wie in 1 gezeigt ist, umfasst die Robotersteuerung 20 einen Steuerungsbereich 21, einen Servorverstärker 22, der elektrischen Strom entsprechend der Rückkopplungsregelung dem Servomotor 15 zuführt, und einen Nothaltebereich 23, der die Zufuhr des elektrischen Stroms von dem Servoverstärker 22 unterbricht. Beispielsweise weist der Nothaltebereich 23 einen Schalter auf, der, wenn der Beschleunigungssensor 17 versagt, zum Abschalten des elektrischen Stroms des Servoverstärkers 22 geschalten wird, um den Servomotor 15 zu einem Nothalt zu veranlassen.
-
Der Steuerungsbereich 21 umfasst eine arithmetische Verarbeitungseinheit mit einer CPU 211, einem RAM 212, einem ROM 213, einem nicht flüchtigen Speicher 214 und anderen peripheren Schaltkreisen. Verschiedene Systemprogramme sind in dem ROM 213 gespeichert. Verschiedene Programme und vorbestimmte Werte der Arbeitsabläufe des Roboters 10 sind in dem nicht flüchtigen Speicher 214 gespeichert.
-
Nicht nur das Signal von dem Beschleunigungssensor 17 (die Beschleunigungsinformation), sondern auch das Signal von dem Positionssensor 16 (die Positionsinformation), werden über den Servoverstärker 22 in den Steuerungsbereich 21 eingegeben. Die CPU 211 führt ein vorbestimmtes Verfahren basierend auf diesen eingegebenen Signalen aus, und gibt Steuersignale an den Servoverstärker 22 und den Nothaltebereich 23 aus, um deren Betätigung zu steuern.
-
3 ist ein Flussdiagramm, das ein Beispiel eines von der CPU 211 ausgeführten Verfahrens zeigt. Das in diesem Flussdiagramm dargestellte Verfahren wird beispielsweise durch Schalten der Robotersteuerung 20 gestartet. Im Schritt S1 wird die Beschleunigungsinformation von jedem der Beschleunigungssensoren 17 und die Positionsinformation von jedem der Positionssensoren 16 eingelesen. Die Beschleunigungsinformation umfasst die dynamische Beschleunigung „a” und die Erdbeschleunigung „as”.
-
In Schritt S2 wird basierend auf der Positionsinformation von dem Positionssensor 16 eine Geschwindigkeit v1, eine dynamische Beschleunigung a1 und eine Erdbeschleunigung a2 des Endabschnitts des Roboterarms oder die Position, an der der Beschleunigungssensor 17 angebracht ist, berechnet. Die Geschwindigkeit v1 kann durch Berechnen einer Koordinatenposition des Endabschnitts des Roboterarms in vorbestimmten Zeitintervallen berechnet werden und die Zeitintervalle mit Bezug auf die Zeit unterscheiden.
-
Die Erdbeschleunigung a2 kann durch Bestimmen der Orientierung (Neigung) des Anbringungspunkts des Beschleunigungssensors bestimmt werden. Im Folgenden werden die Beschleunigungen „a” und „as”, die basierend auf der Beschleunigungsinformation erhalten wurden, als erfasste Beschleunigung und erfasste Erdbeschleunigung bezeichnet und die Beschleunigungen a1 und a2, die basierend auf der Positionsinformation ermittelt werden, werden als berechnete Beschleunigung und berechnete Erdbeschleunigung bezeichnet.
-
In Schritt S3 wird basierend auf der berechneten Geschwindigkeit v1 bestimmt, ob der Endabschnitt des Roboterarms angehalten wurde oder nicht. Beispielsweise wird dann, wenn die Geschwindigkeit v1 kleiner oder gleich einem vorbestimmter Wert ist, festgestellt, dass der Endabschnitt des Roboterarms angehalten wurde. In Schritt S3 fährt das Verfahren zu Schritt S4 fort, wenn ermittelt wurde, dass der Endabschnitt des Roboterarms nicht angehalten wurde.
-
In Schritt S4 wird ein Referenzwert α gewähl, der ein Kriterium zum Ermitteln eines Fehlers des Beschleunigungssensors 17 ist. In diesem Fall wird eine Beziehung, in der die Geschwindigkeit v1 abnimmt und der Referenzwert α ebenfalls abnimmt in einem Speicher im Voraus gespeichert. Unter Verwendung dieser Beziehung wird der Referenzwert α entsprechend der Geschwindigkeit v1 gewählt. Die Relation, dass, wenn die Geschwindigkeit v1 zunimmt, der Referenzwert α linear oder in einer schrittweise abnimmt, kann in dem Speicher gespeichert werden.
-
In Schritt S5 wird eine Abweichung (a–a1) zwischen der erfassten Beschleunigung „a” und der berechneten Beschleunigung a1 berechnet und es wird bestimmt, ob die Größe (der absolute Wert) größer als der Referenzwert α ist oder nicht. Kann eine positive Entscheidung in Schritt S5 gefällt werden, fährt das Verfahren mit Schritt S6 fort. Falls eine negative Entscheidung in Schritt S5 gefällt wird, lässt das Verfahren Schritt 56 aus und kehrt zurück.
-
In Schritt 56 wird ein Nothaltesignal an den Nothaltebereich 23 ausgegeben, um den elektrischen Strom des Servoverstärkers 22 zu unterbrechen. Als Ergebnis wird der Nothalt für jeden Servomotor 15 zum Antreiben des Roboterarms ausgeführt und die Arbeitsabläufe des Roboters 10 werden angehalten.
-
Andererseits fährt das Verfahren dann, wenn in Schritt S3 festgestellt wurde, dass der Endabschnitt des Roboterarms angehalten wurde, mit Schritt S7 fort. In Schritt S7 wird basierend auf der Beziehung zwischen der Geschwindigkeit v1 und dem im Voraus in dem Speicher gespeicherten Referenzwert α der Referenzwert α zu der Zeit des Anhaltens des Roboterarms festgelegt.
-
In Schritt S8 wird eine Abweichung (as–a2) zwischen der erfassten Erdbeschleunigung „as” und der berechneten Erdbeschleunigung a2 berechnet. Somit wird bestimmt, ob die Größe der Abweichung (der absolute Wert) größer ist als der in Schritt S7 festgelegte Referenzwert α oder nicht. Wenn eine bejahende Entscheidung in Schritt S8 getroffen werden kann, fährt das Verfahren mit Schritt 56 fort. Im Falle einer negativen Entscheidung in Schritt S8, kehrt das Verfahren zurück.
-
Die Abläufe des Robotersystems gemäß dieser Ausführungsform können wie folgt zusammengefasst werden. Während des Arbeitsablaufs des Roboterarms 12, wird die Abweichung zwischen der von dem Beschleunigungssensor 17 erfassten Beschleunigung „a” und der berechneten Beschleunigung a1, die unter Verwendung des Signals von dem Positionsdetektor 16 berechnet wurde, berechnet. Anschließend wird bestimmt, ob die Größe der Abweichung größer als der Referenzwert α oder nicht ist (Schritt 55). Falls die Abweichung kleiner oder gleich dem Referenzwert α ist, liegt keine Abnormalität in dem erfassten Wert des Beschleunigungssensors 17 vor und folglich gibt der Steuerungsbereich 21 kein Nothaltesignal aus.
-
Andererseits wird dann, wenn die Größe der Abweichung zwischen der erfassten Beschleunigung „a” und der berechneten Beschleunigung a1 größer als der Referenzwert α ist, das Nothaltesignal an den Nothaltebereich 23 ausgegeben, um den elektrischen Strom des Servoverstärkers 22 (Schritt S6) zu unterbrechen. Somit kann dann, wenn der Beschleunigungssensor 17 versagt, der Arbeitsablauf des Roboters 10 gestoppt werden. Dementsprechend kann ein abnormer Arbeitsablauf des Roboters 10 aufgrund eines Fehlers des Sensors verhindert werden, bevor der Fehler auftritt. In diesem Fall wird dann, wenn die Geschwindigkeit v1 des Endabschnitts des Roboterarms kleiner ist, der Referenzwert α ebenfalls kleiner. Wenn der Endabschnitt des Roboterarms langsam arbeitet, kann ein Fehler des Sensors 17 genauer erfasst werden.
-
Wenn der Roboterarm 12 angehalten wird, wird die Abweichung zwischen der von dem Beschleunigungssensor 17 erfassten Erdbeschleunigung „as” und der unter Verwendung des Signals von den Positionsdetektor 16 berechneten Erdbeschleunigung a2 berechnet. Anschließend wird bestimmt, ob die Größe der Abweichung größer als der Referenzwert α oder nicht ist (Schritt S8). Wenn die Abweichung größer als der Referenzwert α ist, wird ein Nothaltesignal an den Nothaltebereich 23 ausgegeben, um den elektrischen Strom des Servoverstärkers 22 (Schritt S6) zu unterbrechen. Folglich kann, wenn der Roboterarm angehalten wird, ein abnormer Arbeitsablauf des Roboters 10 aufgrund eines Fehlers des Sensors zuverlässig verhindert werden.
-
Gemäß dieser Ausführungsform der Erfindung können die folgenden Wirkungen erzielt werden:
- (1) Während des Arbeitsablaufs des Roboters 12 wird die Beschleunigung a1 des Endabschnitts des Roboterarms unter Verwendung des Signals von dem Positionssensor 16 berechnet. Falls die Abweichung zwischen der berechneten Beschleunigung a1 und der durch den Beschleunigungssensor 17 erfassten Beschleunigung „a” größer ist als der Referenzwert α, wird ein Nothalt des Servomotors 15 ausgeführt. Somit kann ein abnormer Arbeitsablauf des Roboters 10 aufgrund eines Fehlers des Sensors verhindert werden. Anders ausgedrückt kann, bevor ein abnormer Arbeitsablauf des Roboters 10 auftritt, ein Nothalt des Roboters 10 ausgeführt werden. Dies ist unter dem Gesichtspunkt der Sicherheit vorteilhaft.
- (2) Wenn der Roboterarm 12 angehalten wird, wird die Orientierung des Endabschnitts des Roboterarms unter Verwendung des Signals von dem Positionsdetektor 16 bestimmt und die Erdbeschleunigung a2 des Endabschnitts des Roboterarms wird berechnet. Wenn die Größe der Abweichung zwischen dieser berechneten Erdbeschleunigung a2 und der von dem Beschleunigungssensor 17 erfassten Erdbeschleunigung „as” größer als der Referenzwert α ist, wird ein Nothalt des Servomotors 15 ausgeführt. Folglich kann selbst dann, wenn der Roboterarm angehalten wurde, der abnorme Arbeitsablauf des Roboters 10 aufgrund eines Fehlers des Sensors verhindern werden, bevor der Fehler auftritt.
- (3) Die Geschwindigkeit v1 des Endabschnitts des Roboterarms wird unter Verwendung des Signals von dem Positionsdetektor 16 berechnet, und wenn diese Geschwindigkeit v1 kleiner ist, wird der Referenzwert α ebenfalls kleiner. Dies führt dazu, dass dann, wenn der Endabschnitt des Roboterarms mit einer niedrigen Geschwindigkeit arbeitet, der Fehler des Beschleunigungssensors 17 genauer ermittelt werden kann.
-
Obwohl der Rotationsbetrag des Servomotors 15 in der voranstehend beschriebenen Ausführungsform durch den Positionsdetektor 16 (Encoder) erfasst wird, kann der Positionsdetektor 16 als erster Erfassungsbereich in jeder anderen Art ausgeführt sein. Auch wenn die dynamische Beschleunigung „a” und die Erdbeschleunigung „as” des Endabschnitts des Roboterarms durch den Beschleunigungssensor 17 erfasst werden, kann die Geschwindigkeit v des Endabschnitts des Roboterarms basierend auf der Beschleunigungsinformation von dem Beschleunigungssensor 17 erfasst werden. Solange der zweite Erfassungsbereich an dem Endabschnitt des Roboterarms angebracht ist und die Geschwindigkeit v, die dynamische Beschleunigung „a” oder die Erdbeschleunigung „as” des Endabschnitts des Roboterarms erfassen kann, ist der zweite Erfassungsbereich nicht auf den Beschleunigungssensor 17 beschränkt. Zum Beispiel kann ein Kreiselsensor, ein Trägheitssensor oder ähnliches als zweiter Erfassungsbereich verwendet werden.
-
In der voranstehend beschriebenen Ausführungsform wird die Beschleunigung a1 des Endabschnitts des Roboterarms unter Verwendung des Signals von dem Positionsdetektor 16 berechnet und die Abweichung (Beschleunigungsabweichung) zwischen der berechneten Beschleunigung a1 und der erfassten Beschleunigung „a” wird berechnet. Der Aufbau des Steuerungsbereichs 21 als Berechnungsbereich ist nicht auf den voranstehend beschriebenen Aufbau beschränkt. Zum Beispiel kann dann, wenn die Geschwindigkeit v des Endabschnitts des Roboterarms, wie voranstehend beschrieben, erfasst wird, eine Abweichung (Geschwindigkeitsabweichung) zwischen der Geschwindigkeit (berechneter Geschwindigkeit) v1, die unter Verwendung des Signals von dem Positionsdetektor 16 berechnet wurde, und der erfassten Geschwindigkeit v berechnet werden. In diesem Fall wird dann, wenn die Größe der Geschwindigkeitsabweichung größer als ein Referenzwert ist, der Nothalt des Servomotors 15 aufgrund des Signals von dem Steuerungsbereich 21 ausgeführt.
-
Der elektrische Strom des Servoverstärkers 22 wird durch Schalten des Nothaltebereichs 23 unterbrochen. Solange jedoch der Nothalt des Servomotors 15 ausgeführt wird, wenn die Größe der Geschwindigkeitsabweichung oder der Beschleunigungsabweichung größer als der Referenzwert ist, kann der Nothaltebereich auf jede andere Weise ausgeführt sein. In der voranstehend beschriebenen Ausführungsform wird der Referenzwert α zum Bestimmen des Fehlers des Sensors gemäß der Geschwindigkeit v1 des Endabschnitts des Roboterarms festgelegt, die unter Verwendung des Signals von dem Positionsdetektor 16 berechnet wurde. Der Referenzwert α kann jedoch auch gemäß der berechneten Orientierung oder gemäß den Beschleunigungen a1 oder a2 des Endabschnitts des Roboterarms festgelegt werden.
-
Gemäß der vorliegenden Erfindung wird die Geschwindigkeit oder die Beschleunigung des Endabschnitts des Roboterarms basierend auf dem erfassten Wert des Rotationsbetrags des Servomotors berechnet und der Nothalt des Servomotors wird gemäß der Abweichung zwischen dieser Geschwindigkeit oder Beschleunigung und der tatsächlich erfassten Geschwindigkeit oder Beschleunigung ausgeführt. Folglich wird, selbst dann, wenn der Sensor zum Erfassen der Geschwindigkeit oder Beschleunigung versagt, der abnorme Arbeitsablaufs des Roboters zuverlässig verhindert.
-
Auch wenn die vorliegende Erfindung mit Bezug auf die bevorzugten Ausführungsformen beschrieben wurde, erkennt ein Fachmann, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne sich vom Schutzbereich der beigefügten Ansprüche zu entfernen.
-
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 6-91587 A [0002, 0003]