-
Feld
-
Die vorliegende Erfindung betrifft eine Roboterkontrollvorrichtung.
-
Hintergrund
-
Üblicherweise, bezüglich eines Zielwerkstücks, erkannt durch einen dreidimensionalen Vision-Sensor, bewegt eine Roboterkontrollvorrichtung verbunden mit einem Roboter und dem dreidimensionalen Vision-Sensor den Roboter von einer oberen Position über eine Aufnahmeposition zu einer Position, wo das Zielwerkstück detektiert ist, durch Verwendung einer Hand, die an ein Ende von einem Arm von dem Roboter angebracht ist, und nimmt das Zielwerkstück auf. In diesem Fall führt die Roboterkontrollvorrichtung den Vorgang des Aufnehmens des Zielwerkstücks durch, durch Bewegen des Arms, um die Hand von der oberen Position zu der Position, wo das Zielwerkstück durch den dreidimensionalen Vision-Sensor erkannt und detektiert wurde.
-
Wenn die Hand in einer linearen Weise von der oberen Position, wo das Zielwerkstück durch den dreidimensionalen Vision-Sensor erkannt und detektiert wurde, bewegt wird, gibt es eine Möglichkeit, dass die Bewegung gestört wird durch eine umliegende Umgebung (wie zum Beispiel Peripherie-Vorrichtungen und eine Box, in welcher das Zielwerkstück angeordnet ist). In diesem Fall ist es notwendig, einen Nicht-Störungsbereich zu berechnen mit vermeiden der Störung Zielwerkstück, die Hand zu bewegen von der oberen Position zu der Position, wo das Zielwerkstück detektiert ist.
-
Da verschiedenartige Situationen als umliegende Umgebung angenommen werden, wo der Roboter platziert ist, ist es notwendig, in jeder Situation ein spezifisches Programm (eine Kontrollprozedur, die eine Sprache verwendet, die geschaffen ist zum Verwalten von Bedingungen der Roboterbewegung) zu generieren, entsprechend der umliegenden Umgebung, um den Nicht-Störungsbereich mit Verhindern des Störungsbereichs die Hand zu bewegen zu berechnen. Weiterhin, wenn die umliegende Umgebung eine komplizierte Form hat oder wenn die umliegende Umgebung geändert oder hinzugefügt wird während eines Prozesses, verursacht dies eine lästige Aufgabe das Programm zu modifizieren.
-
Die Erfindung, die in Patentliteratur 1 beschrieben wird, offenbart eine Technik, welche einen Raum angrenzend an ein Greifziel in Raumkegel unterteilt, jeder eine vorbestimmte Größe habend, und einen Scheitel (engl.: vertex) bei einer Greifposition, wählt einen offenen Raumkegel, welcher ein umliegendes Objekt von den Raumkegeln nicht stört, berechnet eine Distanz von dem umliegenden Objekt zu dem ausgewählten offenen Raumkegel, und legt eine Greifhaltung basierend auf dem Abstand fest.
-
Liste der Zitate
-
Patentliteratur
-
Patentliteratur 1: Offenlegung der japanischen Patentanmeldung
JP H04-167 104 A
-
Zusammenfassung
-
Technisches Problem
-
Allerdings sind eine Haltung und eine Bewegungsrichtung von dem Arm fixiert während der Bewegung von der oberen Position zu der Greifposition. Darum, wenn man die Störung mit der umliegenden Umgebung bei der Zeit der Bewegung von der oberen Position zu der Greifposition betrachtet, zum Betrachten der Störung mit der umliegenden Umgebung in allen Richtungen durch Verwendung eines Polyeders, welcher ein Zentrum bei der Aufnahmeposition hat und aus einer Mehrzahl von Raumkegeln besteht, wie im Fall von der Patentliteratur, die oben beschrieben ist, verursacht eine Erhöhung der Prozesslast von der Roboterprozessvorrichtung und somit eine Änderung in Prozessgeschwindigkeit, welches Probleme sind.
-
Zusätzlich wird auf die
DE 10 2007 026 956 A1 verwiesen, die einen Bewegungspfad eines Greifwerkzeugs offenbart, welcher auf einer gegenwärtigen Position des Greifwerkzeugs berechnet wird.
-
Die vorliegende Erfindung wurde angesichts des Obigen erreicht, und es ist ein Objekt von der vorliegenden Erfindung, eine Roboterkontrollvorrichtung zu erreichen, in welcher ein Betriebsbeschreibungsprogramm nicht modifiziert werden muss in Abhängigkeit von einer umliegenden Umgebung.
-
Lösung des Problems
-
Um die oben erwähnten Probleme zu lösen und das Objekt zu erreichen, stellt die vorliegende Erfindung eine Roboterkontrollvorrichtung bereit, welche es bewirkt, dass ein Roboter, versehen mit einer Hand an einem Ende von einem Arm, einen Aufnahmevorgang ausführt, welcher die Hand verwendet zum Greifen und Bewegen eines Werkstücks, detektiert durch eine Werkstückdetektionseinheit. Die Roboterkontrollvorrichtung hat: eine Parameterspeichereinheit, eingerichtet zum Speichern, als ein Parameter, jeden von einem Nicht-Störungsbereich, in welchem keine Störung auftritt, zwischen der Hand und einer umliegenden Umgebung, und einem Arbeitsbereich, durch welchen sich die Hand potentiell bewegt, wenn sie das Werkstück am Greifen ist; eine Programmausführeinheit, eingerichtet zum Ausführen eines Betriebsbeschreibungsprogramms, beinhaltend eine Sequenz von Instruktionen, beschrieben in Entsprechung zu Prozeduren von dem Aufnahmevorgang, zum Bewirken, dass der Roboter den Arm antreibt, die Hand zu bewegen; eine Arbeitsbereich-Berechnungseinheit, eingerichtet zum Lesen des Parameters betreffend den Arbeitsbereich von der Parameterspeichereinheit, und zu berechnen, basierend auf einer Position und einer Haltung von dem Werkstück, erhalten von der Werkstückdetektionseinheit, eine Position und eine Orientierung von dem Arbeitsbereich; eine Überlapp-Berechnungseinheit, eingerichtet zum Lesen des Parameters betreffend den Nicht-Störungsbereich von der Parameterspeichereinheit und zum Berechnen eines Überlapps zwischen einem umliegenden Umgebungsbereichs ausschließend den Nicht-Störungsbereich und dem Arbeitsbereich mit der Position und der Orientierung berechnet durch die Arbeitsbereich-Berechnungseinheit; und eine Störungsbegleitungs-Betriebsausführeinheit, eingerichtet zum Ausführen, wenn es den Überlapp zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich mit der Position und der Orientierung berechnet durch die Arbeitsbereich-Berechnungseinheit, eines vorbestimmten Vorgangs, als ein Störungsbegleitvorgang, wenn die Hand in den Arbeitsbereich geht.
-
Vorteilhafte Effekte der Erfindung
-
Die Roboterkontrollvorrichtung gemäß der vorliegenden Erfindung kann setzen, als einen Parameter separat von einem Betriebsbeschreibungsprogramm, einen Störbereich, wo eine Hand hineingeht, bewirkt Störung mit einer umliegenden Umgebung, und eine Form von einem Arbeitsbereich, durch welchen sich die Hand potentiell bewegt, während des Greifens des Werkstücks. Darum kann ein Effekt erhalten werden, dass es nicht nötig ist, das Betriebsbeschreibungsprogramm zu modifizieren in Abhängigkeit von der umliegenden Umgebung.
-
Figurenliste
-
- 1 stellt eine Konfiguration von einem Roboterkontrollsystem unter Verwendung einer Ausführungsform von einer Roboterkontrollvorrichtung gemäß der vorliegenden Erfindung dar.
- 2 stellt ein Beispiel des Setzens von einem Nicht-Störungsbereich dar.
- 3A stellt ein Beispiel des Setzens eines Arbeitsbereichs, eine kubische Form zu sein, dar.
- 3B stellt ein Beispiel des Setzens eines Arbeitsbereichs, eine zylindrisch Form zu sein, dar.
- 3C stellt ein Beispiel des Setzens eines Arbeitsbereichs, eine konische Form zu sein, dar.
- 3D stellt ein Beispiel des Setzens eines Arbeitsbereichs, eine partiell konische Form (angeschrägte säulenartige Form) ohne einen Scheitelpunktseitenabschnitt (engl. vertex side portion) zu sein, dar.
- 4 stellt ein Beispiel einer Situation dar, wobei eine Hand ein Werkstück aufnimmt, welches nicht geneigt ist.
- 5 stellt ein anderes Beispiel einer Situation dar, wobei eine Hand ein Werkstück aufnimmt, welches geneigt ist.
- 6 stellt ein Beispiel einer Situation dar, wobei eine Hand während des Aufnehmens eines Werkstücks mit einer umliegenden Umgebung stört.
- 7 stellt ein Beispiel von einem Fall dar, wobei es einen Überlapp zwischen einem umliegenden Umgebungsbereich und einem Werkbereich gibt.
- 8 stellt ein Beispiel eines Falls dar, wobei es keinen Überlapp zwischen einem umliegenden Umgebungsbereich und einem Werkbereich gibt.
- 9 ist ein Flussdiagramm, das eine anfängliche Setzung zeigt.
- 10 stellt ein Beispiel eines Betriebsbeschreibungsprogramms dar.
- 11 ist ein Flussdiagramm, das einen Betrieb von der Roboterkontrollvorrichtung bei einer Zeit von einem Bereichs-Störungs-Überprüfungsbetrieb darstellt.
-
Beschreibung der Ausführungsformen
-
Beispielhafte Ausführungsformen von einem Roboterkontrollsystem gemäß der vorliegenden Erfindung werden unten im Detail beschrieben mit Bezug auf die beiliegenden Figuren. Es sollte bemerkt werden, dass die vorliegende Erfindung nicht auf die Ausführungsformen beschränkt ist.
-
Ausführungsform.
-
1 stellt eine Konfiguration von einem Roboterkontrollsystem unter Verwendung einer Ausführungsform von einer Roboterkontrollvorrichtung gemäß der vorliegenden Erfindung dar. Das Roboterkontrollsystem hat einen dreidimensionalen Vision-Sensor 1, eine Teaching-Box (T/B) 2, einen Computer 3, eine Roboterkontrollvorrichtung 4 und einen Roboter 5, und führt einen Betrieb aus zum Bewirken des Roboters 5, ein Werkstück 6 zu greifen und zu bewegen.
-
Der dreidimensionale Vision-Sensor 1, der eine Werkstückdetektionseinheit ist, hat: eine Abbildungseinheit 11, welche ein Bild macht zum Generieren von Bilddaten; und eine Roboterkoordinatenerzeugungseinheit 12, welche die Bilddaten, die durch die Abbildungseinheit 11 generiert wurden, verarbeitet, um Roboterkoordinatendaten zu generieren.
-
Die Roboterkontrollvorrichtung 4 hat: ein Interface (I/F) 41 für Datentransmission/Empfang zu/von dem dreidimensionalen Vision-Sensor 1, der T/B 2 und dem Computer 3; eine Speichereinheit 42, welche darin verschiedene Typen von Parametern 421 speichert, ein Betriebsbeschreibungsprogramm 422 und ein Kontrollprogramm 423; eine Kontrolleinheit 43, welche das Betriebsbeschreibungsprogramm 422 und das Kontrollprogramm 423 ausführt; und einen Servo-Verstärker 44, welcher ein Kontrollsignal an einen Servo-Motor ausgibt, der in dem Roboter 5 beinhaltet ist.
-
Der Parameter 421 ist in der Speichereinheit 42 gespeichert, die eine Parameterspeichereinheit ist, durch eine anfängliche Setzung, welche später beschrieben werden wird. Das Betriebsbeschreibungsprogramm 422 ist eine Programmliste, welche Vorgänge beschreibt, die den Roboter 5 veranlassen, automatisch einen Aufnahmevorgang auszuführen, welcher eine Hand 51 verwendet zum Greifen und Bewegen des Werkstücks 6, detektiert durch den dreidimensionalen Vision-Sensor 1, und beinhaltet eine Sequenz von Instruktionen (Kommandos), beschrieben in Entsprechung zu Prozeduren von dem Aufnahmevorgang. Das Kontrollprogramm 423 zeigt Instruktionen an, welche an den Servo-Verstärker 44 übermittelt werden, zum Bewirken, dass der Roboter 5 gemäß dem Kommando agiert, das in dem Betriebsbeschreibungsprogramm 422 ausgeführt wird, oder einem Vorgang durch die Verwendung von der T/B 2. Der Servo-Verstärker 44 treibt einen Servo-Motor an (nicht gezeigt), der an dem Roboter 5 installiert ist, zum Bewirken, dass der Roboter 5 eine vorbestimmte Operation ausführt.
-
Der Computer 3 wird als Verwender-Interface verwendet zum Eingeben von Daten wie zum Beispiel dem Parameter 421, erzeugend das Betriebsbeschreibungsprogramm 423, ausführend Alarmanzeige, welche später beschrieben werden wird, und Ähnliches.
-
Die T/B 2 ist ein Eingabe-Interface zum Kontrollieren des Roboters 5 durch eine manuelle Operation.
-
Der Roboter 5 hat: die Hand 51 zum Greifen des Werkstücks 6; einen Arm 52 zum Bewegen der Hand 51 zu einer beliebigen Position in einem Nicht-Störungsbereich; und einen Servo-Motor 53, der die Hand 51 und den Arm 52 antreibt. Der Servo-Motor 53 wird betrieben durch ein Kontrollsignal von dem Servo-Verstärker 44 und dadurch werden die Hand 51 und der Arm 52 betrieben.
-
In der oben beschriebenen Konfiguration, wenn ein Kommando in dem Betriebsbeschreibungsprogramm 422, welches die Hand 51 zu einer bestimmten Position bewegt, ausgeführt wird, übermittelt die Kontrolleinheit 43 ein Kommando an den Servo-Verstärker 44, basierend auf einer Instruktion gespeichert als das Kontrollprogramm 423 zum Bewirken des Servo-Verstärkers 44, ein Kontrollsignal auszugeben, dabei den Servo-Motor 53 von dem Roboter 5 antreibend zum Antreiben des Arms 52 zum Bewegen der Hand 51.
-
In einer anfänglichen Setzung sind ein Nicht-Störungsbereich, ein Arbeitsbereich, ein Störungsbegleitungs-Betrieb, und ob eine Bereichs-Störungsüberprüfung durchgeführt wird oder nicht, gesetzt.
-
Der Nicht-Störungsbereich, welcher ein Bereich ist, in welchem die Hand bewegt werden kann, ohne Störung mit der umliegenden Umgebung zu verursachen, ist als der Parameter 421 in der Speichereinheit 42 durch die anfängliche Setzung gesetzt. Der Nicht-Störungsbereich ist gesetzt durch Spezifizieren seiner Koordinatenposition und Dimension durch numerische Werte. 2 stellt ein Beispiel des Setzens von dem Nicht-Störungsbereich dar. In einem Fall, wo ein Koordinatensystem bezüglich des Roboters 5 ein Sechsachsen-Koordinatensystem ist, beinhaltend X, Y, Z, A, B, und C, spezifizierend zwei Punkte (PA und PB in dem Beispiel wie in 2 gezeigt) in dem Koordinatenraum, ermöglicht Setzen des Nicht-Störungsbereichs ein Kuboid zu sein, der die spezifizierten zwei Punkte als Scheitelpunkte hat. Hierbei repräsentieren X, Y und Z Abstände von einem Koordinatenursprung (zum Beispiel einer Basis von dem Arm 52) jeweils in einer X-Richtung, einer Y-Richtung und einer Z-Richtung und A, B und C repräsentieren Positionswinkel jeweils um die X-Koordinatenachse, die Y-Koordinatenachse und die Z-Koordinatenachse. Im Ergebnis kann ein Raum auslassend den Nicht-Störungsbereich gesetzt werden als umliegender Umgebungsbereich (ein Störungsbereich) in einer indirekten Weise. Es sollte bemerkt werden, dass ein umliegender Umgebungsbereich aufweisend eine komplizierte Form genauso gesetzt werden kann durch Setzen einer Mehrzahl von Nicht-Störungsbereichen.
-
Der Arbeitsbereich ist ein Bereich, durch welchen die Hand 51 vermutet wird, potentiell zu passieren während des Greifens des Werkstücks 6, detektiert durch den dreidimensionalen Vision-Sensor 1. Welche Art von Form (Würfel, Zylinder, Kreiskegel) und Größe bezüglich einer Position von dem Werkstück, detektiert durch den dreidimensionalen Vision-Sensor 1, zum Einsatz kommen soll, wird gesetzt. Allgemein bekannte Verfahren können verwendet werden zum Definieren eines Bereichs, aufweisend eine geometrische Form in einem Raum. Beispielweise um einen Bereich zu definieren, der eine konische Form hat, müssen nur eine Höhe, ein Basisradius und eine Axialrichtung spezifiziert werden. 3A stellt ein Beispiel des Setzens des Arbeitsbereichs eine kubische Form zu sein, dar. 3B stellt ein Beispiel des Setzens des Arbeitsbereichs eine zylindrische Form zu sein, dar. 3C stellt ein Beispiel des Setzens des Arbeitsbereichs eine konische Form zu sein, dar. 3D stellt ein Beispiel des Setzens eines Arbeitsbereichs eine partiell konische Form (angeschrägte säulenartige Form) ohne einen Scheitelpunktseitenabschnitt zu sein dar.
-
4 stellt ein Beispiel einer Situation dar, wobei die Hand 51 das Werkstück 6 aufnimmt, welches nicht geneigt ist. In dem Fall, wo das Werkstück 6 nicht geneigt ist, wird die Hand 51 bei einer oberen Position platziert, welche entfernt von dem Werkstück 6 bei einem vorbestimmten Abstand in einer vertikal nach oben gerichteten Richtung ist, und dann zu einer Greifposition zum Greifen eines Werkstücks 6 bewegt wird. Darum ist in diesem Fall der Arbeitsbereich vertikal oben von dem Werkstück 6 bereitgestellt.
-
5 stellt ein Beispiel einer Situation dar, wo die Hand 51 ein Werkstück 6 aufnimmt, welches geneigt ist. In dem Fall, wo das Werkstück 6 geneigt ist, ist die Hand 51 entsprechend der Geneigtheit von dem Werkstück 6 geneigt, platziert bei einer oberen Position, welche entfernt ist von dem Werkstück 6 bei einem vorbestimmten Abstand in einer senkrechten Richtung, und dann bewegt wird zu einer Greifposition zum Greifen eines Werkstücks 6. Darum ist in diesem Fall der Arbeitsbereich schräg nach oben von dem Werkstück 6 bereitgestellt.
-
6 stellt ein Beispiel einer Situation dar, wobei die Hand während des Aufnehmens des Werkstücks 6 mit der umliegenden Umgebung stört. In einem Fall, wo das Werkstück 6 geneigt ist, gibt es eine Möglichkeit, dass die Hand 51 während des Bewegens zu der oberen Position oder des Bewegens von der oberen Position zu der Greifposition mit der umliegenden Umgebung stört, selbst wenn keine Störung mit der umliegenden Umgebung bei der Greifposition und der oberen Position auftritt. Wenn es einen Überlapp zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich gibt, d.h., wenn sich der Arbeitsbereich von dem Nicht-Störungsbereich erstreckt, kann es festgestellt werden, dass die Hand 51 potentiell mit der umliegenden Umgebung stört. 7 stellt ein Beispiel eines Falls dar, wo es keinen Überlapp zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich gibt. Ein Arbeitsbereich 30, welcher schräg oberhalb von dem Werkstück 6 bereitgestellt ist, erstreckt sich von einem Nicht-Störungsbereich 20, und die Hand 51 stört mit der umliegenden Umgebung. 8 stellt ein Beispiel von einem Fall dar, wo es keinen Überlapp zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich gibt. Ein Arbeitsbereich 30, welcher schräg oberhalb von dem Werkstück 6 bereitgestellt ist, erstreckt sich nicht von einem Nicht-Störungsbereich 20 und es kann festgestellt werden, dass es keine Möglichkeit gibt, dass die Hand 51 mit der umliegenden Umgebung stört.
-
Der Störungsbegleitungs-Betrieb zeigt, welche Art des Verarbeitens ausgeführt werden muss als Störungsbegleitungs-Betrieb in dem Fall, wo es eine Möglichkeit gibt, dass die Bewegung der Hand 51 Störung mit der umliegenden Umgebung verursacht. Beispielsweise das Verarbeiten des Verhinderns der Hand 51 vom Bewegen durch einen Fehlerstopp, Verarbeiten des Durchführens einer Alarmanzeige und dann Fortfahren der Bewegung von der Hand 51, und Ähnliches werden gesetzt.
-
In einem Fall von einer Setzung, wo die Bereichs-Störungsüberprüfung durchgeführt wird (d.h. ein Betriebsmodus ist so gesetzt, dass die Bereichs-Störungsüberprüfung durchgeführt wird), wird ein Bereichs-Störungsüberprüfungsbetrieb immer durchgeführt, wenn die Hand 51 während eines automatischen Betriebs bewegt wird, unabhängig von der Beschreibung in dem Betriebsbeschreibungsprogramm 422. In einem Fall einer Setzung, wo die Bereichs-Störungsüberprüfung nicht durchgeführt wird, wird ein Bereichs-Störungsüberprüfungsbetrieb nicht durchgeführt. Allerdings, wenn eine Bereichs-Störungsüberprüfungsstart-Instruktion beinhaltet ist in dem Betriebsbeschreibungsprogramm 422, wird der Bereichs-Störungsüberprüfungsbetrieb durchgeführt, nachdem die Instruktion ausgeführt wird, bis eine Bereichs-Störungsüberprüfungs-Endinstruktion in dem Betriebsbeschreibungsprogramm 422 ausgeführt wird. In dem Fall, wo der Bereichs-Störungsüberprüfungsbetrieb ausgeführt wird gemäß der Bereichs-Störungsüberprüfungs-Instruktion in dem Betriebsbeschreibungsprogramm 422, wie oben beschrieben, können der Nicht-Störungsbereich und der umliegende Umgebungsbereich gesetzt werden in dem Betriebsbeschreibungsprogramm 422. Es ist ebenfalls möglich, den Nicht-Störungsbereich und den umliegende Umgebungsbereich durch sowohl den Parameter 421 und das Betriebsbeschreibungsprogramm 422 zu setzen. Es ist ebenfalls möglich, den Arbeitsbereich durch das Betriebsbeschreibungsprogramm 422 zu setzen.
-
9 ist ein Flussdiagramm, das die anfängliche Setzung zeigt. Zuerst werden der Bereichsparameter, der Störungsbegleitungs-Betrieb und Ähnliches eingegeben durch Verwendung des Computers 3, und der Parameter 421 wird in der Speichereinheit 42 gespeichert (Schritt S101). Weiterhin wird ebenfalls als der Parameter 421 in der Speichereinheit 42 gespeichert, ob die Bereichsstörungsüberprüfung durchgeführt wird oder nicht (Schritt S102). Nachdem solch eine Setzung vollständig ist, überprüft die Kontrolleinheit 43, ob der Bereichsstörungsüberprüfungsbetrieb gesetzt ist, durchgeführt zu werden oder nicht (Schritt S103). In einem Fall, wo der Bereichs-Störungsüberprüfungsbetrieb gesetzt ist, nicht durchgeführt zu werden (Schritt S103/NEIN), endet die anfängliche Setzung. In einem Fall, wo der Bereichs-Störungsüberprüfungsbetrieb gesetzt ist, durchgeführt zu werden (Schritt S103/JA), wird überprüft, ob sowohl eine externe Umgebung und der Arbeitsbereich gesetzt sind als Parameter 421 oder nicht (Schritt S104). Wenn zumindest eine von diesen nicht gesetzt ist (Schritt S104/NEIN), wird ein Fehler angezeigt, der anzeigt, dass der Bereichs-Störungsüberprüfungsbetrieb nicht durchgeführt werden kann, und das Setzen des Durchführens des Bereichs-Störungsüberprüfungsbetriebs wird dann geändert, ungültig zu sein (Schritt S105). Danach endet das anfängliche Setzen. Wenn beide von diesen gesetzt sind (Schritt S104/JA), kann der Bereichs-Störungsüberprüfungsbetrieb durchgeführt werden und somit endet das anfängliche Setzen ohne Anzeigen von einem Fehler.
-
Im Folgenden wird hiernach ein Betrieb von dem Roboter 5 bei einer Zeit eines automatischen Betriebs beschrieben werden. Die Kontrolleinheit 43 funktioniert als eine Programmausführungseinheit zum Ausführen des Betriebsbeschreibungsprogramms 422. Im Ergebnis arbeitet der Roboter 5 zum Durchführen des Aufnahmebetriebs in einer Weise gemäß dem Betriebsbeschreibungsprogramm 422 bezüglich des Werkstücks 6, wessen Position und Haltung (Neigung) detektiert werden durch den dreidimensionalen Vision-Sensor 1. Wenn der Bereichs-Störungsüberprüfungsbetrieb basierend auf den Bereichen, die in dem Parameter 421 oder dem Betriebsbeschreibungsprogramm 422 gesetzt sind, aktiviert wird, funktioniert die Kontrolleinheit 43 als Arbeitsbereichs-Berechnungseinheit zum Berechnen des Arbeitsbereichs. Weiterhin funktioniert die Kontrolleinheit 43 ebenfalls als eine Überlapp-Berechnungseinheit zum Berechnen eines Überlapps zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich. Wenn bewegend die Hand 51 in eine obere Position, bestimmt die Kontrolleinheit 43, basierend auf einem Resultat von der Bereichsberechnung, ob die Hand 51 arbeiten kann, ohne Störung mit der umliegenden Umgebung zu verursachen oder nicht. Wenn es möglich ist, fährt die Kontrolleinheit 43 mit dem Betrieb fort, ohne einen Fehler auszugeben. Wenn es eine Möglichkeit gibt, dass die Hand 51 mit der umliegenden Umgebung stört, funktioniert die Kontrolleinheit 43 als eine Störungsbegleitungs-Betriebsausführeinheit zum Durchführen eines vorbestimmten Betriebs, spezifiziert als der Störungsbegleitungs-Betrieb (wie zum Beispiel der Fehlerstopp von dem Roboter 5, Alarmanzeige oder Ähnliches), wenn die Hand 51 in den Arbeitsbereich geht.
-
10 zeigt ein Beispiel von dem Betriebsbeschreibungsprogramm 422. In dem Beispiel, das in 10 gezeigt ist, ist in dem Betriebsbeschreibungsprogramm 422 ein Betrieb beschrieben, welcher die Hand 51 zu einer vorbestimmten Position P0 bewegt innerhalb des Nicht-Störungsbereichs, die Hand dann zu einer oberen Position P1 bewegt, weiterhin die Hand 51 zu einer Greifposition P2 bewegt, die Hand 51 kontrolliert, das Werkstück 6 zu greifen und bewegt dann die Hand 51 zu der oberen Position P1. In diesem Beispiel sind Instruktionen zum Starten und Beenden des Bereichs-Störungsüberprüfungsbetriebs (Bereichs-Störungsüberprüfungsbetrieb-Ausführungsinstruktion) beinhaltet in dem Betriebsbeschreibungsprogramm 422. Demgemäß wird der Bereichs-Störungsüberprüfungsbetrieb ausgeführt, wenn die Hand 51 von P0 zu der oberen Position P1 bewegt wird und wenn die Hand 51 von der oberen Position P1 zu der Greifposition P2 bewegt wird, unabhängig von der Setzung durch den Parameter 421.
-
11 ist ein Flussdiagramm, das ein Betrieb von der Roboterkontrollvorrichtung 4 bei der Zeit von dem Betriebs-Störungsüberprüfungsbetrieb zeigt. Wenn der Bereichs-Störungsüberprüfungsbetrieb nicht durchgeführt wird, endet der Prozess ohne jegliches Bearbeiten (Schritt S201/NEIN). Wenn der Bereichs-Störungsüberprüfungsbetrieb gestartet wird (Schritt S201/JA), funktioniert die Kontrolleinheit 41 als die Arbeitsbereichs-Berechnungseinheit zum Berechnen des Arbeitsbereichs basierend auf der Koordinatenposition von dem Werkstück, eingegeben von dem dreidimensionalen Vision-Sensor 1, und der Form gesetzt in dem Parameter 421 oder dem Betriebsbeschreibungsprogramm 422. Weiterhin funktioniert die Kontrolleinheit 43 ebenfalls als die Überlapp-Berechnungseinheit zum Lesen des Parameters 421 bezüglich des Nicht-Störungsbereichs von der Speichereinheit 42 zum Setzen des umliegenden Umgebungsbereichs in einer indirekten Weise und Berechnen des Überlapps zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich (Schritt S202).
-
Danach überprüft die Kontrolleinheit 43 einen Wert von einer Zustandsvariablen (Schritt S203). Die Zustandsvariable ist eine Variable, die gesetzt ist auf „1“, wenn es einen Überlapp zwischen dem Arbeitsbereich und dem umliegenden Umgebungsbereich gibt, und eine gegenwärtige Position von der Hand 51 innerhalb des Arbeitsbereichs ist, und ist andernfalls gesetzt auf „0“. Lasst uns einen Fall betrachten, wo ein anfänglicher Wert von der Zustandsvariablen „0“ ist. In dem Fall, wo die Zustandsvariable „0“ ist (Schritt S203/0), gibt es keine Möglichkeit, dass die Bewegung von der Hand 51 Störung mit der umliegenden Umgebung verursacht und somit betreibt die Kontrolleinheit 43 den Servo-Motor von dem Roboter 5 durch Verwendung des Servo-Verstärkers 44 zum Bewegen des Arms 52 zum Bewegen der Hand 51 (Schritt S204). Nach dem Bewegen der Hand 51 bestimmt die Kontrolleinheit 43, ob die Hand 51 eine Position erreicht hat, spezifiziert durch das Betriebsbeschreibungsprogramm 422 oder nicht (Schritt S205). Wenn die Hand 51 die Position erreicht hat, die durch das Betriebsbeschreibungsprogramm 422 beschrieben ist (Schritt S205/JA), endet der Prozess.
-
Wenn die Hand 51 die Position nicht erreicht hat, die durch eine Instruktion in dem Betriebsbeschreibungsprogramm 422 spezifiziert ist (Schritt S205/NEIN), überprüft die Kontrolleinheit 43, ob ein Überlapp zwischen dem Arbeitsbereich und dem umliegenden Umgebungsbereich existiert oder nicht und ob die gegenwärtige Position von der Hand 51 innerhalb des Arbeitsbereichs ist oder nicht (Schritt S206). Wenn es einen Überlapp zwischen dem Arbeitsbereich und dem umliegenden Umgebungsbereich gibt und die gegenwärtige Position von der Hand 51 innerhalb des Arbeitsbereichs ist (Schritt S206/JA), ist die Zustandsvariable gesetzt auf „1“ (Schritt S207), und andernfalls (Schritt S206/NEIN), ist die Zustandsvariable gesetzt auf „0“ (Schritt S2078). Nach diesem kehrt der Prozess zurück zu Schritt S203.
-
In dem Fall, wo der Wert von der Zustandsvariablen, die überprüft wird, „1“ ist (Schritt S203/1), wird der Störungsbegleitungsbetrieb überprüft, der gesetzt ist als Parameter 421 (Schritt S209). Wenn der Störungsbegleitungsbetrieb „Fehler“ ist (Schritt S209/Fehler), endet der Prozess ohne bewegen der Hand 51. In diesem Fall, wo der Störungsbegleitungsbetrieb in dieser Weise gesetzt wird, ist es nicht möglich, die Hand 51 innerhalb eines Bereichs zu bewegen, wo die Hand 51 potentiell mit der umliegenden Umgebung stört. Es ist deshalb möglich, zu verhindern, dass die Hand 51 mit der umliegenden Umgebung stört und beschädigt wird, und somit kann der Roboter 5 für eine lange Zeitperiode verwendet werden. Weiterhin, da die Notwendigkeit die Hand 51 auszutauschen, reduziert ist, kann Umweltbelastung als eine Fertigungsstätte reduziert werden. Ebenfalls, wenn der Störungsbegleitungsbetrieb „Ausgabesignal“ ist (Schritt S209/Ausgabesignal), wird ein Alarm angezeigt, der anzeigt, dass sich die Hand 51 in einem Bereich bewegt, wo die Hand 51 potentiell mit der umliegenden Umgebung stört (Schritt S210) und der Arm wird dann bewegt zum Bewegen der Hand 51 (Schritt S204). Selbst wenn es einen Überlapp zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich gibt, stört die Hand 51 nicht notwendigerweise mit der umliegenden Umgebung in der Realität. Darum kann eine Betriebseffizienz verbessert werden durch Setzen des Störungsbegleitungsbetriebs in dieser Weise, anzeigend den Alarm und fortführend die Bewegung von der Hand 51. Selbst wenn die Hand 51 mit der umliegenden Umgebung stört, da der Alarm im Vorhinein angezeigt wird, ist es möglich, die Bewegung der Hand 51 durch einen Betrieb von der T/B 2 zu stoppen bevor die Störung tatsächlich auftritt, oder die Bewegung der Hand 51 zu stoppen direkt nachdem die Störung auftritt. Es sollte bemerkt werden, dass „ungültig“ ebenfalls gesetzt werden kann als der Störungsbegleitungsbetrieb. In diesem Fall wird der Arm 52 bewegt zum Bewegen der Hand 51, unabhängig von dem Wert der Zustandsvariablen.
-
Obwohl der Fall oben beschrieben wurde, wo der automatische Betrieb durchgeführt wird durch Ausführen des Betriebsbeschreibungsprogramms 422, ist es ebenfalls möglich bei einer Zeit eines manuellen Betriebs, wo das Kontrollprogramm 43 betrieben wird durch einen Betrieb von der T/B 2 zum Übermitteln des Kontrollsignals an den Servo-Verstärker 44, zum Verhindern des Bewegens der Hand 51 oder Durchführens der Alarmanzeige in Abhängigkeit von der Zustandsvariablen, wenn der Bereichs-Störungsüberprüfungsbetrieb aktiviert ist in der anfänglichen Setzung. In diesem Fall ist es einfach, das Programm zu ändern oder zu modifizieren nach dem Bewegen des Roboters 5 durch den Betrieb von der T/B 2 in einen Bereich wo keine Störung auftritt.
-
Gemäß der vorliegenden Ausführungsform, wie oben beschrieben, muss ein Programmierer nicht separat jedes Mal eine Bedingung für Störung berechnen in Abhängigkeit von der umliegenden Umgebung, um den Störungszustand von dem Roboter zu erhalten. Im Gegenteil kann der Programmierer in einfacher Weise den Störungszustand vorbereiten durch Überprüfen der Zustandsvariablen von dem Roboter. Weiterhin kann die Zustandsvariable in einfacher Weise überprüft werden auf einem Computer zum Schaffen des Programms und die Zustandsvariable kann überprüft werden während sie visualisiert wird als dreidimensionales kubisches Diagramm.
-
Bezugszeichenliste
-
- 1
- dreidimensionaler Vision-Sensor
- 2
- T/B
- 3
- Computer
- 4
- Roboterkontrollvorrichtung
- 5
- Roboter
- 11
- Anzeigeeinheit
- 12
- Roboterkoordinatenerzeugungseinheit
- 41
- I/F
- 42
- Speichereinheit
- 43
- Kontrolleinheit
- 44
- Servo-Verstärker
- 51
- Hand
- 52
- Arm
- 421
- Parameter
- 422
- Betriebsbeschreibungsprogramm
- 423
- Kontrollprogramm