-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf ein Robotersystem und eine Robotersteuerungsvorrichtung.
-
Stand der Technik
-
Es ist ein kollaborativer Roboter bekannt, der mit einer Person zusammenarbeitet für Sicherheit sorgt, indem er anhält, wenn ein Sensor eine äußere Kraft erkennt.
-
Zum Beispiel ist eine Technik bekannt, bei der, um einen Roboter nicht aufgrund der Erkennung einer Last auf dem Roboter als eine externe Kraft in einem Fall, in dem die Last schwankt, anzuhalten, die Größe der Kraft, die von einem Sensor erfasst wird, wenn ein oder mehrere Betriebsbefehle, die in einem Betriebsprogramm zur Ausführung einer Arbeit enthalten sind, ausgeführt werden, in Verbindung mit den Betriebsbefehlen in einem Zustand gespeichert wird, in dem keine äußere Kraft auf den Roboter einwirkt, und das Vorhandensein oder Nichtvorhandensein der äußeren Kraft basierend auf der Größe der Kraft, die in Verbindung mit den Betriebsbefehlen gespeichert wird, und der Größe der Kraft, die von dem Sensor erfasst wird, wenn die Betriebsbefehle des Betriebsprogramms in einem Zustand ausgeführt werden, in dem die äußere Kraft auf den Roboter einwirken kann, bestimmt wird.
-
Zitierliste
-
Patentdokument
-
Patentdokument 1:
Japanisches Patent Nr. 6526097
-
Offenbarung der Erfindung
-
Durch die Erfindung zu lösende Probleme
-
Da in Patentdokument 1 die auf den Roboter wirkende Kraft (Last) als externe Kraft erkannt wird, wenn die Größe der Kraft (Last) gespeichert wird, muss der Roboter so eingestellt werden, dass er aufgrund der Erkennung externer Kräfte nicht anhält (Kontaktstopp). Die Sicherheit des kollaborierenden Roboters kann jedoch nicht gewährleistet werden, wenn der Kontaktstopp verhindert wird. Aus diesem Grund muss die Umgebung/Einstellung so konfiguriert werden, dass die Sicherheit gewährleistet ist, z. B. durch die Installation eines Sicherheitszauns, wie bei einem normalen Roboter, was Zeit und Kosten verursacht.
-
Außerdem kann sich die gespeicherte Größe der Kraft (Last) ändern, z. B. je nach Umgebung oder Jahreszeit, in der der Roboter eingesetzt wird.
-
Es besteht die Forderung, die auf den Roboter wirkende Last in Abhängigkeit von einer zeitlichen Veränderung zu erfassen, ohne die Umgebung/Einsatzbedingungen des Roboters zu verändern.
-
Mittel zur Lösung der Probleme
-
Ein Aspekt des Robotersystems der vorliegenden Offenbarung ist ein Robotersystem mit einem Roboter, einer Robotersteuerungsvorrichtung, die den Roboter steuert, und einem Sensor, der in der Lage ist, Informationen über eine auf den Roboter wirkende Kraft zu erfassen. Die Robotersteuerungsvorrichtung umfasst eine Aufzeichnungsverarbeitungseinheit, die so konfiguriert ist, dass sie ein erstes Referenzlastprofil in einer Speichereinheit speichert, und eine Bestimmungseinheit, die so konfiguriert ist, dass sie zumindest das Vorhandensein oder Nichtvorhandensein einer externen Kraft, die auf den Roboter wirkt, basierend auf dem ersten Referenzlastprofil und einer Last, die auf den Roboter wirkt und von dem Sensor erfasst wird, bestimmt. Die Aufzeichnungsverarbeitungseinheit speichert in der Speichereinheit die Last als ein zweites Referenzlastprofil entsprechend dem Zustand der äußeren Kraft.
-
Ein Aspekt der Robotersteuerungsvorrichtung der vorliegenden Offenbarung ist eine Robotersteuerungsvorrichtung mit einer Aufzeichnungsverarbeitungseinheit, die so konfiguriert ist, dass sie ein erstes Referenzlastprofil in einer Speichereinheit speichert, und einer Bestimmungseinheit, die so konfiguriert ist, dass sie zumindest das Vorhandensein oder Nichtvorhandensein einer externen Kraft, die auf einen Roboter wirkt, basierend auf dem ersten Referenzlastprofil und einer Last, die auf den Roboter wirkt und von einem Sensor erfasst wird, bestimmt. Die Aufzeichnungsverarbeitungseinheit speichert in der Speichereinheit die Last als ein zweites Referenzlastprofil entsprechend dem Zustand der äußeren Kraft.
-
Ein Aspekt der Robotersteuerungsvorrichtung der vorliegenden Offenbarung ist eine Robotersteuerungsvorrichtung mit einer Aufzeichnungsverarbeitungseinheit, die so konfiguriert ist, dass sie ein erstes Referenzlastprofil in einer Speichereinheit speichert, und einer Bestimmungseinheit, die so konfiguriert ist, dass sie die Größe einer auf einen Roboter wirkenden externen Kraft basierend auf dem ersten Referenzlastprofil und einer auf den Roboter wirkenden und von einem Sensor erfassten Last bestimmt. Die Aufzeichnungsverarbeitungseinheit speichert in der Speichereinheit die Last als ein zweites Referenzlastprofil entsprechend einem Ergebnis der Bestimmung der externen Kraft.
-
Ein Aspekt der Robotersteuerungsvorrichtung der vorliegenden Offenbarung ist eine Robotersteuerungsvorrichtung mit mindestens einem Speicher und mindestens einem Prozessor. In dem mindestens einen Speicher ist ein erstes Referenzlastprofil gespeichert. Der mindestens eine Prozessor ist so konfiguriert, dass er eine auf einen Roboter wirkende und von einem Sensor erfasste Last erfasst, die Größe einer auf den Roboter wirkenden externen Kraft basierend auf dem ersten Referenzlastprofil und der Last bestimmt und die Last in dem mindestens einen Speicher als ein zweites Referenzlastprofil entsprechend einem Ergebnis der Bestimmung der externen Kraft speichert.
-
Auswirkungen der Erfindung
-
Einem Aspekt zufolge kann die auf den Roboter wirkende Last entsprechend der zeitlichen Veränderung erfasst werden, ohne dass die Umgebung/Einsatzbedingungen des Roboters verändert werden.
-
Kurze Beschreibung der Zeichnungen
-
- 1 ist eine Ansicht, die ein Beispiel für die Konfiguration eines Robotersystems gemäß einer ersten Ausführungsform zeigt;
- 2 ist ein funktionelles Blockdiagramm, das ein funktionelles Konfigurationsbeispiel einer Robotersteuerungsvorrichtung gemäß der ersten Ausführungsform zeigt;
- 3 ist ein Diagramm, das ein Beispiel für eine Last eines temporären Referenzlastprofils, einen Sensorwert einer Last und eine berechnete externe Kraft zeigt;
- 4 ist ein Diagramm, das ein Beispiel für eine zeitliche Änderung eines Referenzlastprofils zeigt;
- 5 ist ein Flussdiagramm zur Beschreibung der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung;
- 6 ist eine Ansicht, die ein Beispiel für die Konfiguration eines Robotersystems gemäß einer zweiten Ausführungsform zeigt;
- 7 ist ein funktionelles Blockdiagramm, das ein funktionelles Konfigurationsbeispiel einer Robotersteuerungsvorrichtung gemäß der zweiten Ausführungsform zeigt;
- 8A ist eine Ansicht, die ein Beispiel für den Betrieb eines Roboters zeigt;
- 8B ist eine Ansicht, die ein Beispiel für den Betrieb des Roboters zeigt;
- 8C ist eine Ansicht, die ein Beispiel für den Betrieb des Roboters zeigt;
- 9 ist ein Diagramm, das ein Beispiel für eine berechnete Änderung einer auf den Roboter wirkenden Last zeigt;
- 10 ist eine Ansicht, die ein Beispiel für die Konfiguration eines Robotersystems gemäß einer dritten Ausführungsform zeigt;
- 11 ist ein funktionelles Blockdiagramm, das ein Beispiel für eine funktionelle Konfiguration der Robotersteuerungsvorrichtung gemäß der dritten Ausführungsform zeigt;
- 12 ist ein Diagramm, das ein Beispiel für eine externe Kraft zeigt, die zum Zeitpunkt der ersten Ausführung der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung berechnet wird;
- 13 ist ein Diagramm, das ein Beispiel für eine externe Kraft zeigt, die zum Zeitpunkt der zweiten Ausführung der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung berechnet wird;
- 14 ist eine Ansicht, die ein Beispiel für einen Roboter zeigt, der z. B. einen Schlauch oder ein Kabel ergreift;
- 15 ist ein Diagramm, das ein Beispiel für eine aufgezeichnete Referenzlast zeigt; und
- 16 ist ein Diagramm, das ein Beispiel für eine zeitliche Änderung der Referenzlast zeigt.
-
Bevorzugte Ausführungsform der Erfindung
-
Bevor spezifische Ausführungsformen eines Robotersystems und einer Robotersteuerungsvorrichtung beschrieben werden, wird kurz auf herkömmliche Probleme eingegangen.
-
14 zeigt ein Beispiel für einen Roboter, der z.B. einen Schlauch oder ein Kabel greift. 14 zeigt schematisch das Ausfahren und Zusammenziehen einer Feder B1 als Kraft (Last), die auf einen Roboter R1 wirkt.
-
Wie in 14 gezeigt, wird der Roboter R1 beispielsweise basierend auf einem Arbeitsprogramm in einem Zustand betrieben, in dem keine äußere Kraft auf ihn einwirkt, und die Größe der Kraft (Last), wie z. B. Spannung, eines gegriffenen Schlauchs H1 wird von einem nicht gezeigten Sensor erfasst, und die erfasste Größe der Kraft (Last) wird als Referenz gespeichert (im Folgenden auch als „Referenzlast“ bezeichnet).
-
15 ist ein Diagramm, das ein Beispiel für die aufgezeichnete Referenzlast zeigt. Die vertikale Achse von 15 zeigt die Spannung (Referenzlast), und die horizontale Achse von 15 zeigt den Fortschritt (z. B. Zeit oder Position) des Arbeitsprogramms. 15 zeigt die vom Sensor (nicht dargestellt) erfasste Last (gestrichelte Linie) und die Referenzlast (durchgezogene Linie), bei der es sich um die erfasste Last handelt, die in Form einer Stufenfunktion in Verbindung mit dem Programmfortschritt aufgezeichnet wird.
-
Zum Zeitpunkt des Betriebs in einem Zustand, in dem die externe Kraft auf den Roboter R1 einwirken kann (d.h. ein Zustand, in dem der Roboter R1 und z.B. eine Person oder eine Ausrüstung in der Nähe einander berühren können), wird unter Bezugnahme auf die gespeicherte Referenzlast bestimmt, ob der absolute Wert einer Differenz zwischen der Referenzlast und der vom Sensor (nicht gezeigt) erfassten Last (d.h. einer auf den Roboter R1 einwirkenden externen Kraft) einen voreingestellten Schwellenwert überschreitet oder nicht. Wenn die externe Kraft den Schwellenwert überschreitet, wird festgestellt, dass der Roboter R1 z. B. die Person berührt hat, und der Roboter R1 wird angehalten.
-
Wie in 16 gezeigt, ändert sich jedoch die Größe der Kraft (Last) z. B. des Schlauchs H1 im Laufe der Zeit, z. B. aufgrund einer Verschlechterung des Schlauchs H1 oder weil die Flüssigkeit im Schlauch H1 zähflüssiger wird oder sich aufgrund einer niedrigen Temperatur verfestigt. Zu beachten ist, dass in 16 die Referenzlast aus 15 durch eine durchgezogene Linie und die vom Sensor (nicht dargestellt) erfasste Kraft (Last), die sich im Laufe der Zeit ändert, durch eine gestrichelte Linie dargestellt ist. In diesem Fall überschreitet die aus dem Absolutwert der Differenz zwischen der Referenzlast aus 15 und der sich zeitlich verändernden Kraft (Last) berechnete äußere Kraft den Schwellenwert, auch wenn der Roboter R1 z. B. die Person nicht berührt. Aus diesem Grund wird der Roboter R1 angehalten. Aus diesem Grund muss eine neue Referenzlast (angezeigt durch eine Kettenlinie) mit einer Assoziation zwischen der sich über die Zeit ändernden Spannung (Last) und dem Programmfortschritt erneut gespeichert werden. Für eine solche Neuspeicherung muss jedoch die Umgebung/Einstellung erneut geändert werden, was für den Benutzer eine große Belastung darstellt.
-
Die herkömmlichen Programme wurden oben kurz beschrieben.
-
Nachfolgend werden spezifische erste bis dritte Ausführungsformen des Robotersystems und der Robotersteuerungsvorrichtung unter Bezugnahme auf die Zeichnungen im Detail beschrieben.
-
Hier sind diese Ausführungsformen in einer Konfiguration üblich, in der eine äußere Kraft aufgrund eines unbeabsichtigten Kontakts (Störung), z. B. mit einer Person oder einem Gerät in der Umgebung, von einer auf einen Roboter wirkenden Last erfasst wird.
-
Man beachte, dass in der ersten Ausführungsform zur Speicherung einer Referenzlast (im Folgenden auch als „Referenzlastprofil“ bezeichnet) zur Erfassung der externen Kraft der Roboter vorab basierend auf einem Arbeitsprogramm in einem Zustand der ungültigen externen Krafterfassung betrieben wird, in dem keine unbeabsichtigte Störung zwischen dem Roboter und seiner Umgebung verursacht wird, und eine Änderung der auf den Roboter wirkenden und von einem Sensor erfassten Last als Referenzlastprofil in Verbindung mit der ausgeführten Arbeit gespeichert wird. Andererseits unterscheidet sich die zweite Ausführungsform von der ersten Ausführungsform dadurch, dass die Simulation der Arbeit des Roboters im Voraus basierend auf dem Arbeitsprogramm ausgeführt wird und eine berechnete Änderung der auf den Roboter wirkenden Last als Referenzlastprofil gespeichert wird. Darüber hinaus unterscheidet sich die dritte Ausführungsform von der ersten Ausführungsform und der zweiten Ausführungsform dadurch, dass der Roboter basierend auf dem Arbeitsprogramm in einem gültigen Zustand der Erfassung einer externen Kraft in einem Zustand betrieben wird, in dem die Störung verursacht werden kann, und eine Änderung der auf den Roboter wirkenden und vom Sensor erfassten Last als Referenzlastprofil gespeichert wird, bis die Arbeit des Roboters aufgrund einer fehlerhaften Erfassung der Störung aufgrund einer Last, die einen Kontaktanschlagschwellenwert überschreitet, angehalten wird.
-
Nachfolgend wird zunächst die erste Ausführungsform im Detail beschrieben, und dann werden hauptsächlich die Unterschiede der zweiten und dritten Ausführungsform zur ersten Ausführungsform beschrieben.
-
<Erste Ausführungsform>
-
1 ist eine Ansicht, die ein Beispiel für die Konfiguration des Robotersystems gemäß der ersten Ausführungsform zeigt.
-
Wie in 1 dargestellt, handelt es sich bei einem Robotersystem 1 um ein System, das mit einem von einer Person und einem Roboter 10 gemeinsam genutzten Arbeitsbereich ohne Schutzzaun betrieben wird und den Roboter 10, eine Robotersteuerungsvorrichtung 20 und einen Kraftsensor 30 aufweist.
-
Der Roboter 10, die Robotersteuerungsvorrichtung 20 und der Kraftsensor 30 können über eine nicht dargestellte Verbindungsschnittstelle direkt miteinander verbunden sein. Es ist zu beachten, dass der Roboter 10, die Robotersteuerungsvorrichtung 20 und der Kraftsensor 30 über ein nicht dargestelltes Netzwerk, wie z. B. ein lokales Netzwerk (LAN) oder das Internet, miteinander verbunden sein können. In diesem Fall enthalten der Roboter 10, die Robotersteuerungsvorrichtung 20 und der Kraftsensor 30 nicht dargestellte Kommunikationseinheiten für die gegenseitige Kommunikation über eine solche Verbindung.
-
Der Roboter 10 ist ein kollaborativer Roboter, der basierend auf der Steuerung durch die später beschriebene Robotersteuerungsvorrichtung 20 betrieben wird. Der Roboter 10 umfasst einen Sockel 11 zur Drehung um eine Achse in vertikaler Richtung, bewegliche und drehbare Arme 12 und einen Endeffektor 13, wie z. B. eine Hand, die am vorderen Ende des Arms 12 angebracht ist, um ein Werkstück zu entnehmen.
-
Der Kraftsensor 30 ist beispielsweise mit dem Roboter 10 ausgestattet und erfasst die Größe der Kraft einschließlich einer Last auf den Roboter 10. In einem Fall, in dem der Endeffektor 13 am Kopfende des Roboters 10 die Hand zum Greifen des Werkstücks ist, erfasst der Kraftsensor 30 eine Last einschließlich des Gewichts z. B. des von der Hand gegriffenen Werkstücks und erfasst eine externe Kraft, die auf den Roboter 10 einwirkt, z. B. von einer Person in einem Fall, in dem die Person mit dem Roboter 10 in Kontakt gekommen ist (mit ihm interferiert hat). Es ist zu beachten, dass der Kraftsensor 30 für jede Welle des Roboters 10 vorgesehen sein kann oder als Drehmomentsensor für jede Welle vorgesehen sein kann. Darüber hinaus kann die zu erfassende Last Korrekturwerte für das Gewicht und/oder die Last aufgrund der Beschleunigung und Abbremsung des Arms 12 und des Endeffektors 13 des Roboters 10 und des Werkstücks sowie den Versatz des Kraftsensors 30 enthalten.
-
<Robotersteuerungsvorrichtung 20>
-
Die Robotersteuerungsvorrichtung 20 ist eine dem Fachmann bekannte Vorrichtung zur Steuerung des Betriebs des Roboters 10. Beispielsweise erzeugt die Robotersteuerungsvorrichtung 20 ein Steuersignal durch Ausführen eines Arbeitsprogramms, das unter Verwendung eines orthogonalen Koordinatenwerts oder jedes Achsenwerts erzeugt wird, der die Position eines Spitzenendpunkts des Roboters 10 angibt, der durch Betätigung eines Lernbedienungsfelds (nicht gezeigt) durch einen Benutzer eingelernt wird, und gibt das erzeugte Steuersignal an den Roboter 10 aus, um den Roboter 10 zu betreiben.
-
2 ist ein funktionelles Blockdiagramm, das ein Beispiel für eine funktionelle Konfiguration der Robotersteuerungsvorrichtung 20 gemäß der ersten Ausführungsform zeigt.
-
Wie in 2 gezeigt, umfasst die Robotersteuerungsvorrichtung 20 eine Steuereinheit 210, eine Speichereinheit 220 und eine Eingabeeinheit 230. Die Steuereinheit 210 umfasst eine Programmausführungseinheit 211, eine Bestimmungseinheit 212 und eine Aufzeichnungsverarbeitungseinheit 213.
-
Bei der Eingabeeinheit 230 handelt es sich beispielsweise um eine Tastatur oder ein Berührungsfeld, das auf einer Anzeigeeinheit (nicht dargestellt) angeordnet ist, die in einer Lehrtafel (nicht dargestellt) oder in der Robotersteuerungsvorrichtung 20 enthalten ist, und das Eingaben von einem Benutzer, z. B. einem Arbeiter, empfängt.
-
Die Speichereinheit 220 ist z. B. ein Festwertspeicher (ROM) oder eine Festplatte (HDD) und speichert ein Referenzlastprofil 221 zusammen mit verschiedenen Steuerprogrammen.
-
Das Referenzlastprofil 221 als erstes Referenzlastprofil sind Daten über eine Laständerung, und zwar z.B. Daten (z.B., Referenzlast, die durch die durchgezogene Linie in 15 angedeutet ist) über eine Änderung einer Last, die auf den Roboter 10 einwirkt und von dem Kraftsensor 30 in Verbindung mit einer von dem Roboter 10 ausgeführten Arbeit erfasst wird, nachdem der Roboter 10 im Voraus durch die später beschriebene Programmausführungseinheit 211 basierend auf dem Arbeitsprogramm ohne Anhalten aufgrund einer externen Krafterfassung in einem Zustand betrieben wurde, in dem keine unbeabsichtigte Störung (Kontakt) zwischen dem Roboter 10 und z.B. einer Person oder Ausrüstung in der Nähe verursacht wird. Das Referenzlastprofil 221 wird durch die später beschriebene Aufzeichnungsverarbeitungseinheit 213 in der Speichereinheit 220 gespeichert.
-
Es ist zu beachten, dass das Referenzlastprofil 221 Daten über eine Änderung einer auf den Roboter 10 wirkenden Last sein können, die vom Kraftsensor 30 beim letzten Betrieb des Roboters 10 erfasst wurde.
-
Bei der Steuereinheit 210 handelt es sich um eine dem Fachmann bekannte Einheit. Die Steuereinheit 210 verfügt z. B. über eine Zentraleinheit (CPU), ein ROM, einen Direktzugriffsspeicher (RAM) und einen komplementären Metall-Oxid-Halbleiter-Speicher (CMOS), und diese Komponenten sind über einen Bus kommunikativ miteinander verbunden.
-
Die CPU ist ein Prozessor, der die Robotersteuerungsvorrichtung 20 vollständig steuert. Die CPU liest über den Bus ein Systemprogramm und ein im ROM gespeichertes Anwendungsprogramm und steuert die gesamte Robotersteuerungsvorrichtung 20 entsprechend dem Systemprogramm und dem Anwendungsprogramm. Bei dieser Konfiguration, wie in 2 dargestellt, übernimmt die Steuereinheit 210 die Funktionen der Programmausführungseinheit 211, der Bestimmungseinheit 212 und der Aufzeichnungsverarbeitungseinheit 213. Der Arbeitsspeicher speichert verschiedene Arten von Daten, z. B. temporäre Berechnungsdaten und Anzeigedaten. Der CMOS-Speicher ist als nichtflüchtiger Speicher konfiguriert, der durch eine nicht gezeigte Batterie gesichert wird, so dass sein Zustand auch dann erhalten bleibt, wenn die Robotersteuerungsvorrichtung 20 ausgeschaltet ist.
-
Wenn zum Beispiel eine Anweisung zur Ausführung eines Arbeitsprogramms vom Benutzer über die Eingabeeinheit 230 empfangen wird, erzeugt die Programmausführungseinheit 211 ein Steuersignal, indem sie das Arbeitsprogramm ausführt, und gibt das erzeugte Steuersignal an den Roboter 10 aus, um den Roboter 10 zu betreiben.
-
So bestimmt die Bestimmungseinheit 212 basierend auf dem Referenzlastprofil 221 und der vom Kraftsensor 30 erfassten Last zumindest das Vorhandensein oder Nichtvorhandensein der auf den Roboter 10 wirkenden externen Kraft.
-
Insbesondere, wenn die Programmausführungseinheit 211 die Anweisung zur Ausführung des Arbeitsprogramms vom Benutzer über die Eingabeeinheit 230 erhält, liest die Bestimmungseinheit 212 das Referenzlastprofil 221 als temporäres Referenzlastprofil aus der Speichereinheit 220. Anschließend führt die Programmausführungseinheit 211 das Arbeitsprogramm zum Betrieb des Roboters 10 aus. Die Bestimmungseinheit 212 korrigiert den Sensorwert der Last, indem sie die Last des temporären Referenzlastprofils, das dem Programmfortschritt entspricht, von dem Sensorwert der vom Kraftsensor 30 erfassten Last subtrahiert, und berechnet die äußere Kraft, die auf den Roboter 10 einwirkt, für den Fall, dass z. B. eine Person den Roboter 10 berührt (eingreift). Es ist zu beachten, dass der Sensorwert der vom Kraftsensor 30 erfassten Last vorab mit Korrekturwerten für das Gewicht und/oder die Last aufgrund der Beschleunigung und Abbremsung des Arms 12 und des Endeffektors 13 des Roboters 10 und des Werkstücks sowie mit dem Offset des Kraftsensors 30 korrigiert werden kann.
-
3 ist eine Grafik, die ein Beispiel für die Last des temporären Referenzlastprofils, den Sensorwert der Last und die berechnete äußere Kraft zeigt. Zu beachten ist, dass in 3 die Last des temporären Referenzlastprofils durch eine durchgezogene Linie, der Sensorwert der Last durch eine gestrichelte Linie und die berechnete externe Kraft durch eine Kettenlinie dargestellt ist.
-
Die Bestimmungseinheit 212 bestimmt, ob die berechnete äußere Kraft einen vorbestimmten Schwellenwert (im Folgenden auch als „Kontaktanschlagschwellenwert“ bezeichnet) überschreitet oder nicht, und bestimmt, dass die äußere Kraft vorhanden ist, wenn die berechnete äußere Kraft den Kontaktanschlagschwellenwert überschreitet, und bestimmt, dass die äußere Kraft nicht vorhanden ist, wenn die berechnete äußere Kraft dem Kontaktanschlagschwellenwert oder weniger entspricht.
-
Mit dieser Konfiguration kann die Robotersteuerungsvorrichtung 20 den Roboter 10 anhalten, wenn festgestellt wird, dass eine äußere Kraft vorhanden ist, und die Sicherheit ohne den Sicherheitszaun zwischen dem Roboter 10 und z. B. einer Person in seiner Nähe gewährleisten.
-
Die Aufzeichnungsverarbeitungseinheit 213 aktualisiert als neues Referenzlastprofil 221 (zweites Referenzlastprofil) die Summe aus der Last des temporären Referenzlastprofils und der berechneten externen Kraft in Verbindung mit dem Programmfortschritt (z. B. Zeit oder Position) und speichert das neue Referenzlastprofil 221 in der Speichereinheit 220. Es ist zu beachten, dass die Aufzeichnungsverarbeitungseinheit 213 anstelle der oben beschriebenen Summe als neues Referenzlastprofil 221 einen vom Kraftsensor 30 erfassten vorkorrigierten Sensorwert oder einen mit Korrekturwerten für das Gewicht und/oder die Last aufgrund von Beschleunigung und Abbremsung des Arms 12 und des Endeffektors 13 des Roboters 10 und des Werkstücks sowie dem Offset des Kraftsensors 30 korrigierten Sensorwert speichern kann.
-
Bei dieser Konfiguration kann die Robotersteuerungsvorrichtung 20 selbst dann, wenn sich das Referenzlastprofil im Laufe der Zeit allmählich ändert, z. B. aufgrund der Verschlechterung eines Schlauchs oder eines Kabels, wie in 4 gezeigt (in 4 ändert sich das Referenzlastprofil, das durch eine durchgezogene Linie angezeigt wird, von unten nach oben auf der vertikalen Achse), auf die zeitliche Änderung reagieren, indem sie das Referenzlastprofil so speichert, wie es unter normalen Betriebsbedingungen/Betrieb in einem Zustand erforderlich ist, in dem die Störung verursacht werden kann.
-
<Bestimmungsverarbeitung durch Robotersteuerungsvorrichtung 20>
-
Als Nächstes wird der Betrieb im Zusammenhang mit der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung 20 gemäß der vorliegenden Ausführungsform beschrieben.
-
5 ist ein Flussdiagramm zur Beschreibung der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung 20. Der hier beschriebene Ablauf wird jedes Mal ausgeführt, wenn die Anweisung zur Ausführung des Arbeitsprogramms vom Benutzer empfangen wird.
-
In Schritt S11, wenn die Programmausführungseinheit 211 die Anweisung zur Ausführung des Arbeitsprogramms vom Benutzer über die Eingabeeinheit 230 erhält, liest die Bestimmungseinheit 212 das Referenzlastprofil 221 als temporäres Referenzlastprofil aus der Speichereinheit 220.
-
In Schritt S12 führt die Programmausführungseinheit 211 das Arbeitsprogramm zum Betrieb des Roboters 10 aus.
-
In Schritt S13 korrigiert die Bestimmungseinheit 212 den Sensorwert der Last, indem sie die Last des temporären Referenzlastprofils, das dem Programmfortschritt entspricht, von dem Sensorwert der vom Kraftsensor 30 erfassten Last subtrahiert, und berechnet die äußere Kraft, die auf den Roboter 10 einwirkt, für den Fall, dass z. B. eine Person den Roboter 10 berührt (beeinträchtigt) hat. Es ist zu beachten, dass der Sensorwert der vom Kraftsensor 30 erfassten Last vorab mit Korrekturwerten für das Gewicht und/oder die Last aufgrund der Beschleunigung und Abbremsung des Arms 12 und des Endeffektors 13 des Roboters 10 und des Werkstücks sowie mit dem Offset des Kraftsensors 30 korrigiert werden kann.
-
In Schritt S14 speichert die Aufzeichnungsverarbeitungseinheit 213 als neues Referenzlastprofil 221 die Summe aus der Last des temporären Referenzlastprofils und der in Schritt S13 berechneten externen Kraft in Verbindung mit dem Programmfortschritt in der Speichereinheit 220. Es ist zu beachten, dass die Aufzeichnungsverarbeitungseinheit 213 anstelle der oben beschriebenen Summe als neues Referenzlastprofil 221 einen vom Kraftsensor 30 erfassten vorkorrigierten Sensorwert oder einen mit Korrekturwerten für das Gewicht und/oder die Last aufgrund von Beschleunigung und Abbremsung des Arms 12 und des Endeffektors 13 des Roboters 10 und des Werkstücks sowie des Offsets des Kraftsensors 30 korrigierten Sensorwert speichern kann.
-
In Schritt S15 bestimmt die Bestimmungseinheit 212, ob die in Schritt S13 berechnete externe Kraft den Kontaktanschlagschwellenwert überschreitet oder nicht. Wenn die äußere Kraft den Kontaktanschlagschwellenwert überschreitet, wird die Verarbeitung mit Schritt S16 fortgesetzt. Handelt es sich hingegen um eine äußere Kraft, die dem Kontaktanschlagschwellenwert entspricht oder darunterliegt, fährt die Verarbeitung mit Schritt S17 fort.
-
In Schritt S16 hält die Bestimmungseinheit 212 den Roboter 10 an, und die Bestimmungsverarbeitung wird beendet.
-
In Schritt S17 stellt die Programmausführungseinheit 211 fest, ob das Arbeitsprogramm beendet ist oder nicht. Wenn das Arbeitsprogramm beendet ist, endet die Bestimmungsverarbeitung. Handelt es sich hingegen um ein noch nicht beendetes Arbeitsprogramm, kehrt die Verarbeitung zu Schritt S13 zurück.
-
Mit der oben beschriebenen Konfiguration betreibt die Robotersteuerungsvorrichtung 20 gemäß der ersten Ausführungsform den Roboter 10 im Voraus basierend auf dem Arbeitsprogramm im Zustand der ungültigen externen Krafterfassung in einem Zustand, in dem keine unbeabsichtigte Störung zwischen dem Roboter 10 und seiner Umgebung verursacht wird, speichert als Referenzlastprofil 221 die Änderung der auf den Roboter 10 wirkenden und vom Kraftsensor 30 in Verbindung mit der ausgeführten Arbeit erfassten Last und aktualisiert und speichert das Referenzlastprofil 221 nach Bedarf unter der normalen Betriebsbedingung/dem normalen Betrieb in einem Zustand, in dem die Störung verursacht werden kann. Auf diese Weise kann die Robotersteuerungsvorrichtung 20 die auf den Roboter 10 einwirkende Last entsprechend der zeitlichen Veränderung ohne Änderung der Umgebung/Einsatzbedingungen des Roboters 10 ohne große Belastung des Benutzers erfassen.
-
Die erste Ausführungsform wurde bereits oben beschrieben.
-
<Zweite Ausführungsform>
-
Als nächstes wird die zweite Ausführungsform beschrieben. In der ersten Ausführungsform wird der Roboter 10 im Voraus basierend auf dem Arbeitsprogramm im Zustand der ungültigen externen Krafterkennung in einem Zustand betrieben, in dem keine unbeabsichtigte Störung zwischen dem Roboter 10 und seiner Umgebung verursacht wird, und die Änderung der auf den Roboter 10 wirkenden und vom Kraftsensor 30 erfassten Last wird als Referenzlastprofil in Verbindung mit der ausgeführten Arbeit gespeichert. Andererseits unterscheidet sich die zweite Ausführungsform von der ersten Ausführungsform dadurch, dass die Simulation der Arbeit des Roboters 10 im Voraus basierend auf dem Arbeitsprogramm ausgeführt wird und die berechnete Änderung der auf den Roboter 10 wirkenden Last als Referenzlastprofil gespeichert wird.
-
Mit dieser Konfiguration kann eine Robotersteuerungsvorrichtung 20A der zweiten Ausführungsform die auf den Roboter 10 wirkende Last, die den Kontaktanschlagschwellenwert überschreiten kann, erfassen, ohne die Umgebung/Einsatzbedingungen des Roboters 10 zu ändern.
-
Nachfolgend wird die zweite Ausführungsform beschrieben.
-
6 ist eine Ansicht, die ein Beispiel für die Konfiguration eines Robotersystems gemäß der zweiten Ausführungsform zeigt. Es wird darauf hingewiesen, dass dieselben Bezugsziffern verwendet werden, um Elemente darzustellen, die ähnliche Funktionen wie das Robotersystem 1 aus 1 haben, und dass eine detaillierte Beschreibung dieser Elemente entfällt.
-
Wie in 6 dargestellt, verfügt ein Robotersystem 1A über einen Roboter 10, die Robotersteuerungsvorrichtung 20A und einen Kraftsensor 30.
-
Der Roboter 10 und der Kraftsensor 30 haben Funktionen, die denen des Roboters 10 und des Kraftsensors 30 in der ersten Ausführungsform entsprechen.
-
<Robotersteuerungsvorrichtung 20A>
-
7 ist ein funktionelles Blockdiagramm, das ein funktionelles Konfigurationsbeispiel der Robotersteuerungsvorrichtung 20A gemäß der zweiten Ausführungsform zeigt. Es ist zu beachten, dass dieselben Bezugsziffern verwendet werden, um Elemente darzustellen, die ähnliche Funktionen wie die der Robotersteuerungsvorrichtung 20 aus 2 haben, und dass eine detaillierte Beschreibung derselben entfällt.
-
Wie in 7 gezeigt, umfasst die Robotersteuerungsvorrichtung 20A eine Steuereinheit 210a, eine Speichereinheit 220a und eine Eingabeeinheit 230. Die Steuereinheit 210a umfasst eine Programmausführungseinheit 211, eine Bestimmungseinheit 212, eine Aufzeichnungsverarbeitungseinheit 213 und eine Simulationsausführungseinheit 214.
-
Die Eingabeeinheit 230 hat eine Funktion, die derjenigen der Eingabeeinheit 230 in der ersten Ausführungsform entspricht.
-
Die Programmausführungseinheit 211, die Bestimmungseinheit 212 und die Aufzeichnungsverarbeitungseinheit 213 haben Funktionen, die denen der Programmausführungseinheit 211, der Bestimmungseinheit 212 und der Aufzeichnungsverarbeitungseinheit 213 in der ersten Ausführungsform entsprechen.
-
Wie bei der Speichereinheit 220 der ersten Ausführungsform handelt es sich bei der Speichereinheit 220a beispielsweise um ein ROM oder eine HDD, auf der ein Referenzlastprofil 221a zusammen mit verschiedenen Steuerprogrammen gespeichert ist.
-
Bei dem Referenzlastprofil 221a handelt es sich um Daten über eine Laständerung, beispielsweise um Daten über eine Änderung einer auf den Roboter 10 wirkenden Last, die durch eine Simulation der Arbeit des Roboters 10 berechnet wird, die im Voraus basierend auf einem Arbeitsprogramm durch die später beschriebene Simulationsausführungseinheit 214 ausgeführt wird. Das Referenzlastprofil 221 a wird von der Aufzeichnungsverarbeitungseinheit 213 in der Speichereinheit 220a gespeichert.
-
Die Simulationsausführungseinheit 214 führt basierend auf dem Arbeitsprogramm eine einfache Simulation der Arbeit des Roboters 10 durch und berechnet dabei die Änderung der auf den Roboter 10 wirkenden Last.
-
Insbesondere in einem Fall, in dem ein weiches langes Werkstück W wie ein Schlauch oder ein Kabel angehoben wird, wie in den 8A bis 8C gezeigt, führt die Simulationsausführungseinheit 214 eine einfache Simulation zur Berechnung der auf den Roboter 10 wirkenden Last entsprechend der Länge des angehobenen Werkstücks W aus, wobei z. B. die Reibung mit einem Boden ignoriert wird, wodurch die Änderung der auf den Roboter 10 wirkenden Last berechnet wird.
-
9 ist ein Diagramm, das ein Beispiel für die berechnete Änderung der auf den Roboter 10 wirkenden Last zeigt. In 9 ist die berechnete Last, die auf den Roboter 10 wirkt, durch eine durchgezogene Linie und ein Sensorwert einer vom Kraftsensor 30 erfassten Last durch eine gestrichelte Linie dargestellt.
-
Die Simulationsausführungseinheit 214 speichert als Referenzlastprofil 221a die berechnete Laständerung in Verbindung mit dem Programmfortschritt.
-
Um den in den 8A bis 8C gezeigten Roboter 10 nicht aufgrund eines Kontakts zwischen dem Beginn und dem Ende des Anhebens des Werkstücks W anzuhalten, ist der Betrieb des Roboters 10 sehr aufwendig, und die Vermeidung eines solchen Kontaktstopps muss eingestellt werden, nachdem die Sicherheit, z. B. durch einen Schutzzaun, gewährleistet wurde. Außerdem erfordert die genaue Simulation der Last bei der Arbeit des Roboters 10, wie sie in den 8A bis 8C dargestellt ist, eine große Anzahl von Schritten und ist schwierig. Andererseits kann die Simulationsausführungseinheit 214, das Referenzlastprofil 221a auf einfache Weise durch die Ausführung einer einfachen Simulation ermitteln.
-
Es ist zu beachten, dass die Simulationsausführungseinheit 214 getrennt von der Robotersteuerungsvorrichtung 20A konfiguriert werden kann. Zum Beispiel kann die Robotersteuerungsvorrichtung 20A so konfiguriert sein, dass sie als Referenzlastprofil 221a ein von einem anderen Computer erhaltenes Simulationsergebnis verwendet.
-
Es ist zu beachten, dass die Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung 20A der in 5 gezeigten ähnlich ist, so dass auf eine detaillierte Beschreibung verzichtet werden kann.
-
Mit der oben beschriebenen Konfiguration führt die Robotersteuerungsvorrichtung 20A gemäß der zweiten Ausführungsform basierend auf dem Arbeitsprogramm im Voraus eine Simulation der Arbeit des Roboters 10 durch, speichert die berechnete Änderung der auf den Roboter 10 wirkenden Last als Referenzlastprofil 221a und aktualisiert und speichert das Referenzlastprofil 221 a nach Bedarf unter einer normalen Betriebsbedingung/einem Betrieb in einem Zustand, in dem Störungen verursacht werden können. Auf diese Weise kann die Robotersteuerungsvorrichtung 20A die auf den Roboter 10 einwirkende Last, die den Kontaktanschlagschwellenwert überschreiten kann, ohne eine große Belastung für einen Benutzer zu verursachen, aufzeichnen, ohne die Umgebung/Einsatzbedingungen des Roboters 10 zu ändern.
-
Darüber hinaus korrigiert die Robotersteuerungsvorrichtung 20A den Sensorwert der vom Kraftsensor 30 erfassten Last gemäß einem temporären Referenzlastprofil, um eine externe Kraft zu berechnen, und aktualisiert die Summe aus dem temporären Referenzlastprofil und der berechneten externen Kraft als neues Referenzlastprofil. So kann in einem Fall, in dem das Referenzlastprofil 221a bis zu einem gewissen Grad geschätzt werden kann, das Referenzlastprofil 221a ohne Vorbereitung der Umgebung für die Speicherung gespeichert werden.
-
Die zweite Ausführungsform wurde bereits oben beschrieben.
-
<Dritte Ausführungsform>
-
Als nächstes wird die dritte Ausführungsform beschrieben. In der ersten Ausführungsform wird der Roboter 10 im Voraus basierend auf dem Arbeitsprogramm im Zustand der ungültigen externen Krafterkennung in einem Zustand betrieben, in dem keine unbeabsichtigte Störung zwischen dem Roboter 10 und seiner Umgebung verursacht wird, und die Änderung der auf den Roboter 10 wirkenden und durch den Kraftsensor 30 erfassten Last wird als Referenzlastprofil in Verbindung mit der ausgeführten Arbeit gespeichert. Darüber hinaus wird in der zweiten Ausführungsform die Simulation der Arbeit des Roboters 10 im Voraus basierend auf dem Arbeitsprogramm ausgeführt, und die berechnete Änderung der auf den Roboter 10 wirkenden Last wird als Referenzlastprofil gespeichert. Andererseits unterscheidet sich die dritte Ausführungsform von der ersten und zweiten Ausführungsform dadurch, dass der Roboter 10 basierend auf dem Arbeitsprogramm in einem gültigen Zustand der externen Krafterfassung in einem Zustand betrieben wird, in dem eine Störung verursacht werden kann, und eine Änderung der auf den Roboter 10 wirkenden und vom Kraftsensor 30 erfassten Last als Referenzlastprofil gespeichert wird, bis der Roboter 10 aufgrund einer fehlerhaften Erfassung der Störung gestoppt wird, weil die Last den Kontaktanschlagschwellenwert überschreitet. Beachten Sie, dass eine fehlerhafte Erfassung der Störung einen Stopp aufgrund der Erfassung eines beabsichtigten Kontakts aufgrund einer Arbeit einschließt. Im Falle eines beabsichtigten sicheren Kontakts ist das Anhalten des Roboters 10 ursprünglich nicht erwünscht.
-
Auf diese Weise kann eine Robotersteuerungsvorrichtung 20B der dritten Ausführungsform die auf den Roboter 10 wirkende Last, die den Kontaktanschlagschwellenwert überschreiten kann, erfassen, ohne die Umgebung/Einsatzbedingungen des Roboters 10 zu ändern.
-
Nachfolgend wird die dritte Ausführungsform beschrieben.
-
10 ist eine Ansicht, die ein Beispiel für die Konfiguration eines Robotersystems gemäß der dritten Ausführungsform zeigt. Es ist zu beachten, dass dieselben Bezugsziffern verwendet werden, um Elemente darzustellen, die ähnliche Funktionen wie das Robotersystem 1 aus 1 haben, und dass eine detaillierte Beschreibung derselben entfällt.
-
Wie in 10 dargestellt, verfügt ein Robotersystem 1 über einen Roboter 10, die Robotersteuerungsvorrichtung 20B und einen Kraftsensor 30.
-
Der Roboter 10 und der Kraftsensor 30 haben Funktionen, die denen des Roboters 10 und des Kraftsensors 30 in der ersten Ausführungsform entsprechen.
-
<Robotersteuerungsvorrichtung 20B>
-
11 ist ein funktionelles Blockdiagramm eines funktionellen Konfigurationsbeispiels der Robotersteuerungsvorrichtung 20B gemäß der dritten Ausführungsform. Es ist zu beachten, dass dieselben Bezugsziffern verwendet werden, um Elemente darzustellen, die ähnliche Funktionen wie die der Robotersteuerungsvorrichtung 20 von 2 haben, und dass eine detaillierte Beschreibung derselben entfällt.
-
Wie in 11 gezeigt, umfasst die Robotersteuerungsvorrichtung 20B eine Steuereinheit 210b, eine Speichereinheit 220b und eine Eingabeeinheit 230. Die Steuereinheit 210b umfasst eine Programmausführungseinheit 211, eine Bestimmungseinheit 212b und eine Aufzeichnungsverarbeitungseinheit 213.
-
Die Eingabeeinheit 230 hat eine Funktion, die derjenigen der Eingabeeinheit 230 in der ersten Ausführungsform entspricht.
-
Die Programmausführungseinheit 211 und die Aufzeichnungsverarbeitungseinheit 213 haben Funktionen, die denen der Programmausführungseinheit 211 und der Aufzeichnungsverarbeitungseinheit 213 in der ersten Ausführungsform entsprechen.
-
Wie bei der Speichereinheit 220 der ersten Ausführungsform handelt es sich bei der Speichereinheit 220b z. B. um ein ROM oder eine Festplatte, auf der ein Referenzlastprofil 221b zusammen mit verschiedenen Steuerprogrammen gespeichert ist.
-
Bei dem Referenzlastprofil 221b handelt es sich um Daten über eine Laständerung und, wie später beschrieben, um Daten über eine Änderung einer Last, die auf den Roboter 10 einwirkt und von dem Kraftsensor 30 erfasst wird, bis die Arbeit des Roboters 10 aufgrund einer fehlerhaften Erfassung eines Kontakts (einer Störung) aufgrund einer Last, die den Kontaktanschlagschwellenwert überschreitet, gestoppt wird, nachdem der Roboter 10 basierend auf einem Arbeitsprogramm von der Programmausführungseinheit 211 in einem Zustand betrieben wurde, in dem ein Kontakt (eine Störung) zwischen dem Roboter 10 und einer Person oder einem Gerät in der Nähe verursacht werden kann, wenn kein ausreichender Platz vorhanden ist, um z. B. einen Sicherheitszaun um den Roboter 10 herum und es ist schwierig, eine sichere Umgebung zu schaffen. Das Referenzlastprofil 221b wird von der Aufzeichnungsverarbeitungseinheit 213 in der Speichereinheit 220b gespeichert. Das heißt, dass das Referenzlastprofil 221b beispielsweise Daten über eine Last von „0“ zum Zeitpunkt des Beginns der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung 20B ist.
-
Wenn beispielsweise kein ausreichender Platz vorhanden ist, um z. B. den Sicherheitszaun um den Roboter 10 herum zu errichten, und es schwierig ist, die sichere Umgebung vorzubereiten, bestimmt die Bestimmungseinheit 212b von Anfang an die Größe einer externen Kraft, die auf den Roboter 10 einwirkt, basierend auf dem Referenzlastprofil 221b und der Last, die vom Kraftsensor 30 in einem Zustand erfasst wird, in dem ein Kontakt (eine Störung) zwischen dem Roboter 10 und z. B. einer Person verursacht werden kann, weil die Last den Kontaktanschlagschwellenwert überschreitet.
-
Wenn die Programmausführungseinheit 211 beispielsweise eine erste Anweisung zur Ausführung eines Arbeitsprogramms von einem Benutzer über die Eingabeeinheit 230 erhält, liest die Bestimmungseinheit 212b als temporäres Referenzlastprofil das Referenzlastprofil 221b mit einer Last von „0“ aus der Speichereinheit 220b. Anschließend führt die Programmausführungseinheit 211 das Arbeitsprogramm zum Betrieb des Roboters 10 aus. Die Bestimmungseinheit 212 korrigiert den Sensorwert der Last, indem sie die Last (z.B. „0“) des temporären Referenzlastprofils, das dem Programmfortschritt entspricht, von dem Sensorwert der vom Kraftsensor 30 erfassten Last subtrahiert, und berechnet die auf den Roboter 10 wirkende äußere Kraft in einem Fall, in dem z.B. eine Person mit dem Roboter 10 in Kontakt gekommen ist (eingreift).
-
12 ist ein Diagramm, das ein Beispiel der externen Kraft zeigt, die zum Zeitpunkt der ersten Ausführung der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung 20B berechnet wird. In 12 ist die berechnete äußere Kraft, d. h. der Sensorwert der vom Kraftsensor 30 erfassten Last, durch eine gestrichelte Linie dargestellt.
-
Die Bestimmungseinheit 212b bestimmt, ob die berechnete externe Kraft den im Voraus festgelegten Kontaktanschlagschwellenwert überschreitet oder nicht. Die Bestimmungseinheit 212b stellt fest, dass die äußere Kraft vorhanden ist, wenn die berechnete äußere Kraft den Kontaktanschlagschwellenwert überschreitet, und hält den Roboter 10 an. Andererseits stellt die Bestimmungseinheit 212b fest, dass die äußere Kraft nicht vorhanden ist, wenn die berechnete äußere Kraft dem Kontaktanschlagschwellenwert oder weniger entspricht.
-
Dann aktualisiert die Aufzeichnungsverarbeitungseinheit 213 als neues Referenzlastprofil 221 b die Summe der Last des temporären Referenzlastprofils und der berechneten externen Kraft in Verbindung mit dem Fortschritt (z. B. Zeit oder Position) des Programms, wie durch eine durchgezogene Linie in 12 angezeigt, und speichert das Referenzlastprofil 221b in der Speichereinheit 220b. Es ist zu beachten, dass als Last des neu gespeicherten Referenzlastprofils 221 b der Wert gespeichert wird, der dem Sensorwert der vom Kraftsensor 30 erfassten Last entspricht, während die äußere Kraft den Kontaktanschlagschwellenwert oder weniger beträgt, d. h. während der Roboter 10 keine Person oder Ausrüstung in der Nähe berührt (stört), und der Wert, der dem Kontaktanschlagschwellenwert entspricht, oder der Wert, der dem Sensorwert zum Zeitpunkt der Erfassung entspricht, gespeichert wird, nachdem die Berührung (Störung) fehlerhaft erfasst wurde, wie in 12 gezeigt.
-
Wenn die Programmausführungseinheit 211 beispielsweise eine zweite Anweisung zur Ausführung des Arbeitsprogramms vom Benutzer erhält, liest die Bestimmungseinheit 212b als temporäres Referenzlastprofil das durch die durchgezogene Linie in 12 angegebene Referenzlastprofil 221b aus der Speichereinheit 220b. Anschließend führt die Programmausführungseinheit 211 das Arbeitsprogramm zum Betrieb des Roboters 10 aus. Die Bestimmungseinheit 212b korrigiert den Sensorwert der Last, indem sie die Last des temporären Referenzlastprofils, das dem Programmfortschritt entspricht, von dem Sensorwert der vom Kraftsensor 30 erfassten Last subtrahiert, und berechnet die auf den Roboter 10 wirkende äußere Kraft.
-
13 ist ein Diagramm, das ein Beispiel für die externe Kraft zeigt, die zum Zeitpunkt der zweiten Ausführung der Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung 20B berechnet wird. In 13 ist der Sensorwert der vom Kraftsensor 30 erfassten Last durch eine gestrichelte Linie, das in 12 gezeigte Referenzlastprofil 221b durch eine durchgezogene Linie und die berechnete äußere Kraft durch eine Kettenlinie dargestellt. Außerdem ist in 13 die bis zum zweiten Stopp nach dem ersten Stopp berechnete äußere Kraft in Verbindung mit dem Programmfortschritt (z. B. Zeit oder Position) durch eine dicke durchgezogene Linie dargestellt.
-
Die Aufzeichnungsverarbeitungseinheit 213 aktualisiert als neues Referenzlastprofil 221 b die Summe der Last des durch die durchgezogene Linie in 13 angedeuteten temporären Referenzlastprofils und der durch die dicke durchgezogene Linie angedeuteten berechneten externen Kraft in Verbindung mit dem Programmfortschritt (z. B. Zeit oder Position) und speichert das Referenzlastprofil 221b in der Speichereinheit 220b.
-
Die Robotersteuerungsvorrichtung 20B wiederholt die Bestimmungsverarbeitung, so dass die Aufzeichnungsverarbeitungseinheit 213 das Referenzlastprofil 221b in der Speichereinheit 220b über den gesamten Zeitraum des Arbeitsprogramms speichern kann.
-
Es ist zu beachten, dass die Bestimmungsverarbeitung durch die Robotersteuerungsvorrichtung 20B der in 5 gezeigten ähnlich ist, so dass auf eine detaillierte Beschreibung verzichtet werden kann.
-
Mit der oben beschriebenen Konfiguration betreibt die Robotersteuerungsvorrichtung 20B gemäß der dritten Ausführungsform den Roboter 10 basierend auf dem Arbeitsprogramm unter einer normalen Betriebsbedingung/einem normalen Betrieb in einem Zustand, in dem die Störung verursacht werden kann, und aktualisiert und speichert als Referenzlastprofil 221b die Änderung der Last, die auf den Roboter 10 wirkt und vom Kraftsensor 30 erfasst wird, bis die Arbeit des Roboters 10 aufgrund einer fehlerhaften Erfassung der Störung gestoppt wird. Auf diese Weise kann die Robotersteuerungsvorrichtung 20B die auf den Roboter 10 einwirkende Last, die den Kontaktanschlagschwellenwert überschreiten kann, ohne große Belastung für den Benutzer erfassen, ohne die Umgebung/Einsatzbedingungen des Roboters 10 zu ändern.
-
Darüber hinaus führt die Robotersteuerungsvorrichtung 20B selbst in einem Fall, in dem die Last des Referenzlastprofils 221b zum Zeitpunkt der ersten Ausführung der Bestimmungsverarbeitung unbekannt ist, die Bestimmungsverarbeitung wiederholt aus, so dass das Referenzlastprofil 221b gespeichert werden kann.
-
Sollte die äußere Kraft aufgrund einer unbeabsichtigten Störung den Kontaktanschlagschwellenwert überschreiten und der Roboter 10 dementsprechend angehalten werden, muss der Benutzer die Ursache für eine solche Störung beseitigen und das Referenzlastprofil 221 b erneut speichern. Die dritte Ausführungsform wurde bereits oben beschrieben.
-
<Modifikationen der dritten Ausführungsform>
-
In der dritten Ausführungsform hält die Robotersteuerungsvorrichtung 20B den Roboter 10 an und führt die nächste Bestimmungsverarbeitung von Anfang an durch, wenn der Kontakt (Störung) in der Bestimmungsverarbeitung festgestellt wird, aber die vorliegende Erfindung ist darauf nicht beschränkt. Beispielsweise kann die Robotersteuerungsvorrichtung 20B die Verarbeitung von der Stopp-Position des Programms in der letzten Bestimmungsverarbeitung wiederaufnehmen oder die Verarbeitung von einem Programmbetriebspunkt vor der Stopp-Position durchführen.
-
Alternativ kann die Robotersteuerungsvorrichtung 20B die Bestimmungsverarbeitung von der Stopp-Position des Roboters 10 in einem Fall wieder aufnehmen, in dem der Benutzer die Sicherheit bestätigt (z. B. einen Zustand, in dem der Roboter 10 und eine Person einander nicht tatsächlich berühren, oder einen Zustand, in dem es keine äußere Kraft außer der erzeugten Arbeit gibt) und eine Sicherheitsbestätigung und eine Anweisung zur Wiederaufnahme der Arbeit des Roboters 10 über die Eingabeeinheit 230 eingibt, nachdem der Roboter 10 aufgrund des in der Bestimmungsverarbeitung ermittelten Kontakts (Störung) angehalten wurde.
-
Die erste Ausführungsform, die zweite Ausführungsform und die dritte Ausführungsform wurden oben beschrieben, aber die Robotersysteme 1, 1A, 1B und die Robotersteuerungsvorrichtungen 20, 20A, 20B sind nicht auf die oben beschriebenen Ausführungsformen beschränkt, und Änderungen, Modifikationen usw. können in einem solchen Bereich vorgenommen werden, dass das Ziel erreicht werden kann.
-
<Änderung 1>
-
In der ersten, zweiten und dritten Ausführungsform hält die Robotersteuerungsvorrichtung 20, 20A, 20B den Roboter 10 an, wenn die berechnete äußere Kraft den Kontaktanschlagschwellenwert überschreitet, aber die vorliegende Erfindung ist darauf nicht beschränkt. Zum Beispiel kann die Robotersteuerungsvorrichtung 20, 20A, 20B den Roboter 10 stoppen und den Benutzer über einen solchen Stopp informieren.
-
<Änderung 2>
-
Zum Beispiel speichert die Robotersteuerungsvorrichtung 20, 20A, 20B in der ersten, zweiten und dritten Ausführungsform als Referenzlastprofil die Daten über die Änderung der auf den Roboter 10 wirkenden und vom Kraftsensor 30 in Verbindung mit der ausgeführten Arbeit erfassten Last, nachdem der Roboter 10 im Voraus basierend auf dem Arbeitsprogramm in einem Zustand betrieben wurde, in dem keine unbeabsichtigte Störung zwischen dem Roboter 10 und seiner Umgebung verursacht wird, die Daten über die Änderung der Last, die auf den Roboter 10 einwirkt und im Voraus durch Ausführung einer Simulation der Arbeit des Roboters 10 basierend auf dem Arbeitsprogramm berechnet wird, und die Daten über die Änderung der Last, die auf den Roboter 10 einwirkt und von dem Kraftsensor 30 erfasst wird, bis die Arbeit des Roboters 10 aufgrund einer fehlerhaften Erfassung der Störung gestoppt wird, nachdem der Roboter 10 basierend auf dem Arbeitsprogramm in einem Zustand betrieben wurde, in dem die Störung verursacht werden kann, wobei die vorliegende Erfindung jedoch nicht darauf beschränkt ist.
-
Zum Beispiel kann die Robotersteuerungsvorrichtung 20, 20A, 20B als Referenzlastprofil eine Kombination aus zwei oder mehr der folgenden Elemente speichern: ein Referenzlastprofil, das die Änderung der auf den Roboter 10 wirkenden und vom Kraftsensor 30 in Verbindung mit der ausgeführten Arbeit erfassten Last speichert, nachdem der Roboter 10 im Voraus basierend auf dem Arbeitsprogramm in einem Zustand betrieben wurde, in dem keine unbeabsichtigte Störung zwischen dem Roboter 10 und seiner Umgebung verursacht wird, ein Referenzlastprofil, das die Änderung der auf den Roboter 10 wirkenden Last speichert und im Voraus durch Ausführung einer Simulation der Arbeit des Roboters 10 basierend auf dem Arbeitsprogramm berechnet wird, ein Referenzlastprofil, das die Änderung der auf den Roboter 10 wirkenden Last speichert und durch den Kraftsensor 30 erfasst wird, bis die Arbeit des Roboters 10 aufgrund einer fehlerhaften Erfassung der Störung gestoppt wird, nachdem der Roboter 10 basierend auf dem Arbeitsprogramm in einem Zustand betrieben wurde, in dem die Störung verursacht werden kann, und ein Referenzlastprofil, das die Last zum Zeitpunkt der fehlerhaften Erfassung speichert.
-
Man beachte, dass jede Funktion der Robotersysteme 1, 1A, 1B und der Robotersteuerungsvorrichtungen 20, 20A, 20B gemäß der ersten Ausführungsform, der zweiten Ausführungsform und der dritten Ausführungsform durch Hardware, Software oder eine Kombination davon implementiert werden kann. Hier bedeutet die Implementierung durch Software die Implementierung durch Lesen und Ausführen eines Programms durch einen Computer.
-
Das Programm kann auf verschiedenen Arten von nicht-übertragbaren computerlesbaren Medien gespeichert und dem Computer zugeführt werden. Zu den nicht-transitorischen computerlesbaren Medien gehören verschiedene Arten von materiellen Speichermedien. Beispiele für nicht transitorische computerlesbare Medien sind magnetische Aufzeichnungsmedien (z. B. eine flexible Platte, ein Magnetband und ein Festplattenlaufwerk), magnetisch-optische Aufzeichnungsmedien (z. B. eine magnetisch-optische Platte), ein Nur-Lese-Speicher (CD-ROM), eine CD-R, eine CD-R/W und Halbleiterspeicher (z. B. ein Masken-ROM, ein programmierbares ROM (PROM), ein löschbares PROM (EPROM), ein Flash-ROM und ein RAM). Das Programm kann dem Computer mit Hilfe verschiedener Arten von transitorischen computerlesbaren Medien zugeführt werden. Beispiele für transitorische computerlesbare Medien sind ein elektrisches Signal, ein optisches Signal und eine elektromagnetische Welle. Das transitorische computerlesbare Medium kann dem Computer das Programm über einen verdrahteten Kommunikationsweg wie ein elektrisches Kabel oder eine optische Faser oder einen drahtlosen Kommunikationsweg zuführen.
-
Es ist zu beachten, dass die Schritte zur Beschreibung des auf dem Aufzeichnungsmedium aufgezeichneten Programms nicht nur die in chronologischer Reihenfolge durchgeführte Verarbeitung umfassen, sondern auch die parallel oder getrennt ausgeführte Verarbeitung.
-
Mit anderen Worten, das Robotersystem und die Robotersteuerungsvorrichtung der vorliegenden Offenbarung können verschiedene Ausführungsformen mit den folgenden Konfigurationen umfassen.
- (1) Das Robotersystem 1 der vorliegenden Offenbarung ist das Robotersystem, das den Roboter 10, die Robotersteuerungsvorrichtung 20, die den Roboter 10 steuert, und den Kraftsensor 30 umfasst, der in der Lage ist, die Informationen über die auf den Roboter 10 wirkende Kraft zu erfassen. Die Robotersteuerungsvorrichtung 20 umfasst die Aufzeichnungsverarbeitungseinheit 213, die so konfiguriert ist, dass sie das Referenzlastprofil 221 in der Speichereinheit 220 speichert, und die Bestimmungseinheit 212, die so konfiguriert ist, dass sie basierend auf dem Referenzlastprofil 221 und der auf den Roboter 10 wirkenden und von dem Kraftsensor 30 erfassten Last zumindest das Vorhandensein oder Nichtvorhandensein der auf den Roboter 10 wirkenden externen Kraft bestimmt. Die Aufzeichnungsverarbeitungseinheit 213 speichert in der Speichereinheit 220 die Last als das Referenzlastprofil 221 entsprechend dem Zustand der externen Kraft.
-
Gemäß dem Robotersystem 1 kann die auf den Roboter 10 wirkende Last entsprechend der zeitlichen Veränderung erfasst werden, ohne dass die Umgebung/Einsatzbedingungen des Roboters 10 verändert werden, oder sie kann in einem Fall erfasst werden, in dem die auf den Roboter 10 wirkende Last als äußere Kraft bestimmt werden kann.
-
(2) In dem Robotersystem 1 nach (1) kann das Referenzlastprofil 221 als zweites Referenzlastprofil die Summe aus dem Referenzlastprofil 221 als erstes Referenzlastprofil und der externen Kraft sein.
-
Mit dieser Konfiguration kann das Robotersystem 1 das Referenzlastprofil aktualisieren.
-
(3) In dem Robotersystem 1B gemäß (1) oder (2) kann die Aufzeichnungsverarbeitungseinheit 213 in einem Fall, in dem die Bestimmungseinheit 212b feststellt, dass die externe Kraft den vorbestimmten Schwellenwert oder weniger beträgt, die Last als Referenzlastprofil 221 in der Speichereinheit speichern.
-
Mit dieser Konfiguration kann das Robotersystem 1B die Last erfassen, während der Roboter 10 die Umgebung nicht berührt (stört).
-
(4) In dem Robotersystem 1 nach einem der Punkte (1) bis (3) kann der Betrieb des Roboters gestoppt werden, wenn die Bestimmungseinheit 212 feststellt, dass die äußere Kraft größer als der vorbestimmte Schwellenwert ist.
-
Mit dieser Konfiguration kann das Robotersystem 1 den Roboter 10 sicher betreiben.
-
(5) In dem Robotersystem 1 nach einem der Punkte (1) bis (4) kann die Aufzeichnungsverarbeitungseinheit 213 anstelle des Referenzlastprofils 221 das temporäre Referenzlastprofil in der Speichereinheit 220 als neues Referenzlastprofil 221 speichern.
-
Mit dieser Konfiguration kann das Robotersystem 1 das Referenzlastprofil aktualisieren.
-
(6) In dem Robotersystem 1 gemäß (1) kann das Referenzlastprofil 221 das Referenzlastprofil sein, das die Änderung der Last in Verbindung mit der ausgeführten Arbeit speichert, nachdem der Roboter 10 im Voraus basierend auf dem Arbeitsprogramm in einem Zustand betrieben wurde, in dem keine unbeabsichtigte Störung zwischen dem Roboter 10 und seiner Umgebung verursacht wird.
-
Mit dieser Konfiguration kann das Robotersystem 1 das genaue Referenzlastprofil 221 von Anfang an speichern.
-
(7) In dem Robotersystem 1A gemäß (1) kann das Referenzlastprofil 221a das Referenzlastprofil sein, das die Änderung der auf den Roboter 10 wirkenden Last speichert und im Voraus durch Ausführung einer Simulation der Arbeit des Roboters 10 basierend auf dem Arbeitsprogramm berechnet wird.
-
Mit dieser Konfiguration kann das Robotersystem 1A das Referenzlastprofil 221a ohne Umgebungsvorbereitung für die Speicherung speichern.
-
(8) In dem Robotersystem 1B gemäß (1) kann das Referenzlastprofil 221b das Referenzlastprofil sein, das die Änderung der Last speichert, bis der Roboter 10 aufgrund einer fehlerhaften Erfassung der unbeabsichtigten Störung zwischen dem Roboter 10 und seiner Umgebung gestoppt wird, nachdem der Roboter 10 basierend auf dem Arbeitsprogramm betrieben worden ist.
-
Mit dieser Konfiguration kann das Robotersystem 1B das Referenzlastprofil 221b auch dann speichern, wenn kein ausreichender Platz vorhanden ist, um z. B. den Sicherheitszaun um den Roboter 10 herum zu errichten, und es schwierig ist, die sichere Umgebung vorzubereiten.
-
(9) In dem Robotersystem 1B gemäß (1) kann das Referenzlastprofil 221b das Referenzlastprofil, dass das Referenzlastprofil speichert, das die Änderung der Last speichert, bis der Roboter 10 aufgrund einer fehlerhaften Erfassung der unbeabsichtigten Störung zwischen dem Roboter 10 und seiner Umgebung angehalten wird, nachdem der Roboter 10 basierend auf dem Arbeitsprogramm und der zum Zeitpunkt der fehlerhaften Erfassung auf den Roboter 10 wirkenden Last betrieben wurde.
-
Mit dieser Konfiguration kann das Robotersystem 1B vorteilhafte Effekte ähnlich denen von (8) erzielen.
-
(10) Das Robotersystem 1B gemäß (8) oder (9) kann außerdem die Eingabeeinheit 230 enthalten. In einem Fall, in dem nach dem Stopp des Roboters 10 bestätigt wird, dass der Stopp auf eine fehlerhafte Erfassung zurückzuführen ist, die Sicherheit des Roboters 10 bestätigt wird und die Eingabeeinheit 230 die Anweisung zur Wiederaufnahme der Arbeit des Roboters 10 erhält, kann die Bestimmungseinheit 212b unter Verwendung des Referenzlastprofils 221b die auf den Roboter 10 nach dem Stopp wirkende Last korrigieren.
-
Mit dieser Konfiguration kann das Robotersystem 1B das Referenzlastprofil 221b durch wiederholte Ausführung der Bestimmungsverfahren speichern.
-
(11) In dem Robotersystem 1, 1A, 1B gemäß (1) kann das Referenzlastprofil eine Kombination aus zwei oder mehr der folgenden Elemente sein: das Referenzlastprofil 221, das die Änderung der Last in Verbindung mit der ausgeführten Arbeit speichert, nachdem der Roboter 10 im Voraus basierend auf dem Arbeitsprogramm in einem Zustand betrieben wurde, in dem keine unbeabsichtigte Störung zwischen dem Roboter 10 und seiner Umgebung verursacht wird, das Referenzlastprofil 221a die Änderung der Last speichert, die auf den Roboter 10 wirkt und im Voraus durch Ausführung einer Simulation der Arbeit des Roboters 10 basierend auf dem Arbeitsprogramm berechnet wird, das Referenzlastprofil 221 b die Änderung der Last speichert, bis der Roboter 10 aufgrund einer fehlerhaften Erfassung der unbeabsichtigten Störung gestoppt wird, nachdem der Roboter 10 basierend auf dem Arbeitsprogramm betrieben wurde, und das Referenzlastprofil die Last zum Zeitpunkt der fehlerhaften Erfassung speichert.
-
Mit dieser Konfiguration ist das Robotersystem 1, 1A, 1B für verschiedene Arten von Umgebungen/Anordnungen des Roboters 10 geeignet.
-
(12) In dem Robotersystem 1, 1A, 1B gemäß einem der Punkte (1) bis (11) kann die Last einen Korrekturwert für mindestens eines der folgenden Elemente enthalten: ein Gewicht und/oder eine Last aufgrund der Beschleunigung und Abbremsung eines Mechanismus des Roboters 10, ein Gewicht und/oder eine Last aufgrund der Beschleunigung und Abbremsung eines Endeffektors 13 des Roboters, einschließlich einer Hand, und ein Gewicht und/oder eine Last aufgrund der Beschleunigung und Abbremsung eines von der Hand gehaltenen Werkstücks, sowie einen Offset des Kraftsensors 30.
-
(13) Die Robotersteuerungsvorrichtung 20 der vorliegenden Offenbarung umfasst die Aufzeichnungsverarbeitungseinheit 213, die so konfiguriert ist, dass sie das Referenzlastprofil 221 in der Speichereinheit 220 speichert, und die Bestimmungseinheit 212, die so konfiguriert ist, dass sie zumindest das Vorhandensein oder Nichtvorhandensein der auf den Roboter 10 wirkenden externen Kraft basierend auf dem Referenzlastprofil 221 und der auf den Roboter 10 wirkenden und von dem Kraftsensor 30 erfassten Last bestimmt. Die Aufzeichnungsverarbeitungseinheit 213 speichert in der Speichereinheit 220 die Last als das Referenzlastprofil 221 entsprechend dem Zustand der externen Kraft.
-
Mit der Robotersteuerungsvorrichtung 20 können vorteilhafte Effekte ähnlich denen von (1) erzielt werden.
-
(14) Die Robotersteuerungsvorrichtung 20B der vorliegenden Offenbarung umfasst die Aufzeichnungsverarbeitungseinheit 213, die so konfiguriert ist, dass sie das Referenzlastprofil 221b in der Speichereinheit 220b speichert, und die Bestimmungseinheit 212b, die so konfiguriert ist, dass sie die Größe der auf den Roboter 10 wirkenden externen Kraft basierend auf dem Referenzlastprofil 221b und der auf den Roboter 10 wirkenden und von dem Kraftsensor 30 erfassten Last bestimmt. Die Aufzeichnungsverarbeitungseinheit 213 speichert in der Speichereinheit 220b die Last als Referenzlastprofil 221 b entsprechend dem Ergebnis der Bestimmung der äußeren Kraft.
-
Mit der Robotersteuerungsvorrichtung 20B können ähnliche vorteilhafte Effekte wie in (1) erzielt werden.
-
(15) Die Robotersteuerungsvorrichtung 20 der vorliegenden Offenbarung umfasst mindestens einen Speicher (Speichereinheit 220) und mindestens einen Prozessor (Steuereinheit 210). In dem mindestens einen Speicher ist das Referenzlastprofil 221 gespeichert. Der mindestens eine Prozessor ist dazu ausgebildet, die auf den Roboter 10 wirkende und von dem Kraftsensor 30 erfasste Last zu erfassen, basierend auf dem Referenzlastprofil 221 und der Last die Größe der auf den Roboter 10 wirkenden externen Kraft zu bestimmen und die Last als Referenzlastprofil 221 entsprechend dem Ergebnis der Bestimmung der externen Kraft in dem mindestens einen Speicher zu speichern.
-
Mit der Robotersteuerungsvorrichtung 20 können vorteilhafte Effekte ähnlich denen von (1) erzielt werden.
-
Erläuterung der Bezugszeichen
-
- 1, 1A, 1B
- Robotersystem
- 10
- Roboter
- 20, 20A, 20B
- Robotersteuerungsvorrichtung
- 210, 210a, 210b
- Steuereinheit (Prozessor)
- 211
- Programmausführungseinheit
- 212, 212b
- Bestimmungseinheit
- 213
- Aufzeichnungsverarbeitungseinheit
- 214
- Simulationsausführungseinheit
- 220, 220a, 220b
- Speichereinheit (Speicher)
- 221, 221a, 221b
- Referenzlastprofil
- 30
- Kraftsensor
-
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
-