-
{Technisches Gebiet}
-
{0001} Die vorliegende Offenbarung betrifft eine Roboter-Programmiervorrichtung.
-
{Stand der Technik}
-
{0002} Bei einer bekannten Roboter-Programmiervorrichtung werden Symbole, die Funktionen repräsentieren, die ein Steuerprogramm für einen Roboter darstellen, in Kombination miteinander angeordnet (siehe zum Beispiel die PTL 1).
-
{Zitatliste}
-
{Patentliteratur}
-
{0003} {PTL 1}
Japanisches Patent Nr. 6498366
-
{Kurzfassung}
-
{Technisches Problem}
-
{0004} Während ein Programm, das aus einer Kombination von Symbolen zusammengesetzt ist, für Anfänger leicht zu verstehen ist, ist es schwierig, ein fortgeschrittenes Programm zu erzeugen. Die Gründe dafür bestehen darin, dass die Symbole eine kleine Anzahl von Befehlen unterstützen, dass es schwierig ist, fortgeschrittene Befehle einfach und grafisch auszudrücken, dass das Kombinieren einer großen Anzahl leichter Befehle das Programm komplex macht und so weiter.
-
Dementsprechend ist es wünschenswert, es einem Benutzer zu ermöglichen, ein Programm zu erzeugen, das fortgeschrittene Befehle einer leichten Programmierung umfasst, die grafische Programmierelemente, wie etwa Symbole, verwendet.
-
{Problemlösung}
-
{0005} Ein Aspekt der vorliegenden Offenbarung ist eine Roboter-Programmiervorrichtung, umfassend: eine Speicherungseinheit, ausgelegt zum Speichern von zwei oder mehr Arten von Programmierelementen, die jeweils grafisch eine Funktion repräsentieren, wodurch ein Steuerprogramm für einen Roboter gebildet wird; eine Eingabeeinheit, ausgelegt zum Empfangen einer Operation durch einen Benutzer; und einen Programmgenerator, ausgelegt zum Erzeugen des Steuerprogramms, wenn die in der Speicherungseinheit gespeicherten Programmierelemente durch Verwendung der Eingabeeinheit ausgewählt und angeordnet werden, wobei die Programmierelemente mindestens ein editierbares Programmierelement umfassen, bei dem die Funktion mit einer Zeichenketteneingabe, die unter Verwendung der Eingabeeinheit eingegeben wird, editiert werden kann.
-
Figurenliste
-
{0006}
- {1} 1 ist eine Blockdarstellung einer Roboter-Programmiervorrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung.
- {2} 2 zeigt eine beispielhafte Anzeige eines ersten Teils auf einem Monitor eines Programmgenerators, der in der Programmiervorrichtung in 1 vorgesehen ist.
- {3} 3 zeigt eine beispielhafte Anzeige zu einem Zeitpunkt, wenn ein MOVE-Block von dem ersten Teil zu einem zweiten Teil auf dem Monitor des Programmgenerators, der in der Programmiervorrichtung in 1 vorgesehen ist, gezogen und abgelegt wird.
- {4} 4 zeigt eine beispielhafte Anzeige zu der Zeit, wenn ein Zielpositionsblock von dem ersten Teil zu dem zweiten Teil auf dem Monitor in 3 gezogen und abgelegt wird.
- {5} 5 zeigt eine beispielhafte Anzeige des ersten bis dritten Teils in einem Zustand, in dem ein in dem zweiten Teil auf dem Monitor in 2 angeordneter CODE-Block ausgewählt wird.
- {6} 6 zeigt eine Modifikation der Anzeige auf dem Monitor des Programmgenerators, der in der Programmiervorrichtung in 1 vorgesehen ist.
- {7} 7 zeigt eine andere Modifikation der Anzeige auf dem Monitor des Programmgenerators, der in der Programmiervorrichtung in 1 vorgesehen ist.
- {8} 8 zeigt eine Modifikation der Anzeige in 5.
- {9} 9 zeigt eine andere Modifikation der Anzeige in 5.
- {10} 10 zeigt eine beispielhafte Anzeige auf dem Monitor während Ausführung des durch die Programmiervorrichtung in 1 erzeugten Steuerprogramms.
-
{Beschreibung von Ausführungsformen}
-
{0007} Eine Roboter-Programmiervorrichtung 1 gemäß einer Ausführungsform der vorliegenden Offenbarung wird nachfolgend unter Bezugnahme auf die Zeichnungen beschrieben.
-
Wie in 1 gezeigt, ist die Programmiervorrichtung 1 für einen Roboter 100 gemäß dieser Ausführungsform zum Beispiel in einer Steuerung 200 zum Steuern des Roboters 100 vorgesehen. Die Programmiervorrichtung 1 kann getrennt von der Steuerung 200 vorgesehen werden.
-
{0008} Die Programmiervorrichtung 1 umfasst eine Speicherungseinheit 2, die mehrere Arten von Programmierblöcken (Programmierelementen) 10, 20, 30 und 40 (nachfolgend beschrieben) speichert, eine Eingabeeinheit 3, die eine Operation durch einen Benutzer annimmt, und einen Programmgenerator 4.
-
Die Speicherungseinheit 2 ist ein Speicher, und die Eingabeeinheit 3 ist eine Eingabevorrichtung, wie etwa eine Tastatur, eine Maus oder ein Touchscreen.
-
{0009} Der Programmgenerator 4 umfasst einen Prozessor und einen Monitor 5. Der Programmgenerator 4 erzeugt ein Steuerprogramm durch Anzeigen der Programmierblöcke 10, 20, 30 und 40, die in der Speicherungseinheit 2 gespeichert sind, auf dem Monitor 5, und es wird einem Benutzer erlaubt, die Programmierblöcke unter Verwendung der Eingabeeinheit 3 auszuwählen und zu kombinieren.
-
{0010} Wie in 2 gezeigt, bildet der Programmgenerator 4 einen ersten Teil (ersten Anzeigeteil) 6, einen zweiten Teil (zweiten Anzeigeteil) 7, und einen dritten Teil (dritten Anzeigeteil) 8 auf dem Monitor 5. Die Programmierblöcke 10, 20, 30 und 40, die in der Speicherungseinheit 2 gespeichert sind, werden auf eine durch Verwendung der Eingabeeinheit 3 auswählbare Weise in dem ersten Teil 6 angezeigt.
-
{0011} Wenn der Programmierblock 10 aus den in dem ersten Teil 6 angezeigten Programmierblöcken 10, 20, 30 und 40 mit der Eingabeeinheit 3, z. B. einer Maus, ausgewählt wird, wird der (mit Schraffierung dargestellte) ausgewählte Programmierblock 10 kopiert. Der kopierte Programmierblock 10 wird mit der Maus gehalten und wird durch Ziehen und Ablegen in dem zweiten Teil 7 angeordnet, wie in 3 gezeigt, so dass der Programmierblock 10 mit anderen Programmierblöcken 10, 20, 30 und 40 kombiniert wird, um das Steuerprogramm zu bilden.
-
{0012} Viele der Programmierelemente sind nicht editierbare Elemente, die grafisch die Funktionen repräsentieren, die das Steuerprogramm für den Roboter 100 darstellen, die einstellbare Parameter aufweisen und die simple Funktionen erzielen können. Zum Beispiel ist ein MOVE-Block 10, der einer der Programmierblöcke ist, ein Element zum Betreiben des Roboters 100 dergestalt, dass sich der TCP (Werkzeugmittelpunkt) des Roboters 100 zu einer Zielposition bewegt.
-
{0013} Wie in 4 gezeigt, kann der MOVE-Block 10 zum Beispiel mit anderen Programmierblöcken kombiniert werden, wie etwa einem Zielpositionsblock 20 und einem Passierpunktblock 30, die als Parameter dienen. Die Programmierblöcke 10, 20, 30 und 40 weisen Verbinder 11, 12, 13, 21, 22, 31, 32, 41 und 42 auf, ähnlich wie die Aussparungen und Vorsprünge von Puzzleteilen, und die ausgesparten Verbinder 11, 12, 21, 31 und 41 der Programmierblöcke 10 20, 30 und 40 können mit den vorstehenden Verbindern 13, 22, 32 und 42 der anderen Programmierblöcke 10 20, 30 und 40 verbunden werden.
-
{0014} Bei Kombination mit dem MOVE-Block 10 setzt der Zielpositionsblock 20 eine Zielposition, zu der der TCP durch dem MOVE-Block 10 bewegt wird. Bei Kombination mit dem MOVE-Block 10 in Verbindung mit dem Zielpositionsblock 20 setzt der Passierpunktblock 30 einen Passierpunkt, über den der TCP von der aktuellen Position zu der Zielposition bewegt wird. Der Zielpositionsblock 20 und der Passierpunktblock 30 können Positionskoordinaten als die Parameter setzen.
-
{0015} Bei der Programmiervorrichtung 1 für den Roboter 100 gemäß dieser Ausführungsform umfassen die Programmierblöcke 10, 20, 30 und 40 mindestens einen editierbaren Programmierblock (editierbares Programmierelement), bei dem die Funktion, die das Steuerprogramm darstellt, mit einer Zeichenketteneingabe von der Eingabeeinheit 3 editiert werden kann. Ähnlich wie die andere Programmierblöcke wird der editierbare Programmierblock in dem ersten Teil 6 angezeigt. Das editierbare Programm kann dann zum Beispiel durch Verwendung der Maus ausgewählt werden und durch Ziehen und Ablegen in dem zweiten Teil 7 angeordnet werden.
-
{0016} Zum Beispiel, wie in 5 gezeigt, wenn der Code-Block 40, der einer der editierbaren Programmierblöcke ist, der in dem ersten Teil 6 oder dem zweiten Teil 7 in dem Monitor 5 angezeigt wird, durch Verwendung der Eingabeeinheit 3 ausgewählt wird, wobei die Einzelheiten davon auf editierbare Weise in einem dritten Teil 8 angezeigt werden. Speziell, wenn ein editierbarer Programmierblock ausgewählt wird, wobei die Einzelheiten davon in dem dritten Teil 8 auf dem Monitor 5 angezeigt werden. Wenn in dem editierbaren Programmierblock keine Einzelheiten registiert sind, ist der dritte Teil 8 leer.
-
{0017} Es ist möglich, einen komplexen Befehl in den editierbaren Programmierblock zu schreiben. Beispiele für den komplexen Befehl wären ein Interpolationsbefehl und ein Bedingte-Verzweigung-Befehl.
-
{0018} Es ist auch möglich, mehrere Befehle in den editierbaren Programmierblock zu schreiben. Zum Beispiel ist es möglich, mehrere Aktionen in einen Programmierblock zu schreiben. {0019}
-
Ein Benutzer kann die das Steuerprogramm darstellenden Funktionen mit Zeichenketten einer vorbestimmten Programmiersprache durch Verwendung der Eingabeeinheit 3, wie etwa der Tastatur, eingeben. Nachdem die Einzelheit editiert wurde, erhält der Code-Block 40 einen neuen Namen und wird zu dem ersten Teil 6 gezogen und abgelegt. Somit wird der Code-Block 40 als einer der Programmierblöcke 10, 20, 30 und 40 registriert.
-
{0020} Durch Wiederholen dieser Operation ist es möglich, ein Steuerprogramm in dem zweiten Teil 7 zu erzeugen. Das erzeugte Steuerprogramm wird in der Speicherungseinheit 2 gespeichert. Eine in der Steuerung 200 vorgesehene Steuereinheit 210 liest das in der Speicherungseinheit 2 gespeicherte Steuerprogramm aus, erzeugt ein Operationssteuersignal und gibt das Signal an den Roboter 100 aus.
-
{0021} Mit der so konfigurierte Programmiervorrichtung 1 für den Roboter 100 gemäß dieser Ausführungsform ist es möglich, ein Steuerprogramm zu erzeugen, indem man einfach in dem ersten Teil 6 angezeigte Programmierblöcke auswählt und die ausgewählten Programmierblöcke in dem zweiten Teil 7 anordnet. Durch Bewirken, dass die anzuordnenden Programmierblöcke 10, 20, 30 und 40 mindestens einen editierbaren Programmierblock umfassen (hier den Code-Block 40), ist es möglich, einen fortgeschrittenen Befehl zu dem Steuerprogramm hinzuzufügen, der mit einem simplen Programmierblock schwierig auszudrücken ist, was vorteilhaft ist.
-
{0022} Obwohl die Programmierblöcke 10, 20, 30 und 40, die die das Steuerprogramm für den Roboter 100 darstellenden Funktionen grafisch repräsentieren, als ein Beispiel für die Programmierelemente in dieser Ausführungsform beschrieben wurden, können stattdessen Symbole verwendet werden. Durch Anordnen der Symbole gemäß einer vorbestimmten Reihenfolge, können die Symbole auf dieselbe Weise wie die Programmierblöcke 10, 20, 30 und 40 verwendet werden.
-
{0023} Spezieller werden, wie in 6 gezeigt, aus den Programmiersymbolen (Symbolen) 60, 70 und 80, die in dem ersten Teil 6 auf dem Monitor 50 angezeigt werden, die Programmiersymbole 60 und 80 durch Verwendung der Eingabeeinheit 3 ausgewählt und werden in dem zweiten Teil 7 angeordnet. Wenn das Code-Symbol 80, das ein editierbares Programmiersymbol ist (editierbares Programmierelement) ausgewählt wird, wird ein Fenster (dritter Anzeigeteil) 50, das die Einzelheit des ausgewählten Code-Symbols 80 zeigt, als ein Popup-Fenster angezeigt. Als Alternative ist es wie in 7 gezeigt möglich, die Vorrichtung so auszugestalten, dass, wenn das Codesymbol 80, das ein editierbares Programmiersymbol ist, das in dem zweiten Teil 7 angeordnet ist, ausgewählt wird, das Codesymbol 80 in einem Bereich des ersten Teils auf vergrößerte Weise gezeigt wird.
-
{0024} Bei dieser Ausführungsform wird neben dem ersten Teil 6, in dem die Programmierblöcke 10, 20, 30 und 40 angeordnet sind, und dem zweiten Teil 7, in dem das Steuerprogramm erzeugt wird, der dritte Teil 8 auf dem Monitor 5 gebildet und die Einzelheiten eines ausgewählten editierbaren Programmierblocks werden darin angezeigt. Stattdessen kann, wie in 8 gezeigt, wenn der Code-Block 40, der ein editierbarer Programmierblock ist, ausgewählt wird, ein Fenster (dritter Anzeigeteil), das die Einzelheiten des ausgewählten editierbaren Programmierblocks, d. h. des Code-Blocks 40, auf vergrößerte Weise zeigt, in dem zweiten Teil 7 gebildet werden. Der ausgewählte Programmierblock 40 ist mit einer dicken Linie dargestellt.
-
{0025} Wie in 9 gezeigt, ist es auch möglich, die Vorrichtung so auszugestalten, dass, wenn der editierbare Programmierblock 40 ausgewählt wird, ein Fenster (dritter Anzeigeteil) 50, das die Einzelheit des ausgewählten editierbaren Programmierblocks 40 zeigt, als ein Popup-Fenster in der Nähe des Programmierblocks 40 angezeigt wird. Durch Verwendung vergrößerter Anzeige des editierbaren Programmierblocks 40 oder der Popup-Anzeige des Fensters 50 wird es überflüssig, den dritten Teil 8 auf dem Monitor 5 vorzusehen. Somit ist es möglich, weite Anzeigebereiche für den ersten Teil 6 und den zweiten Teil 7 zu vergeben.
-
{0026} Ferner ist es, wie in 10 gezeigt, auch möglich, die Vorrichtung so auszugestalten, dass, wenn das erzeugte Steuerprogramm ausgeführt wird, neben den mehreren in dem zweiten Teil 7 angeordneten Programmierblöcken 10 und 40 der Programmierblock 40, der gerade ausgeführt wird, in einem anderen Anzeigestil angezeigt wird, so dass er von den anderen Programmierblöcken 10 und 40 unterschieden werden kann. Beispiele für den unterscheidbaren Angabestil wären eine hervorgehobene Angabe, eine unterstrichene Angaben, eine eingerahmte Angabe und eine Angabe mit einer anderen Farbe.
-
{0027} Wenn der Programmierblock 40, der gerade ausgeführt wird, ein editierbarer Programmierblock ist, kann ein vierter Teil (vierter Anzeigeteil) 9 zum Zeigen der Einzelheiten des editierbaren Programmierblocks 40 vorgesehen werden. Obwohl 10 einen Fall zeigt, bei dem sich der vierte Teil 9 und der dritte Teil 8 einen gemeinsamen Teil teilen, können der vierte Teil 9 und der dritte Teil 8 getrennt vorgesehen werden.
-
Ferner kann, wie in 10 gezeigt, während der editierbare Programmierblock 40 ausgeführt wird, der Befehl, der gerade ausgeführt wird, in den in dem vierten Teil 9 angegebenen Einzelheiten auf eine von den anderen Befehlen unterscheidbare Weise angezeigt werden.
-
Dadurch kann ein Benutzer den Programmierblock 40 und/oder den Befehl, der gerade ausgeführt wird, visuell erkennen.
-
Bezugszeichenliste
-
{0028}
- 1
- Programmiervorrichtung
- 2
- Speicherungseinheit
- 3
- Eingabeeinheit
- 4
- Programmgenerator
- 6
- erster Teil (erster Anzeigeteil)
- 7
- zweiter Teil (zweiter Anzeigeteil)
- 8
- dritter Teil (dritter Anzeigeteil)
- 9
- vierter Teil (vierter Anzeigeteil)
- 10
- MOVE-Block (Programmierblock, Programmierelement)
- 20
- Zielpositionsblock (Programmierblock, Programmierelement)
- 30
- Passierpunktblock (Programmierblock, Programmierelement)
- 40
- CODE-Block (Programmierblock, Programmierelement, editierbare Programmierblöcke, editierbares Programmierelement)
- 50
- Fenster (dritter Anzeigeteil)
- 60
- MOVE-Symbol (Programmierelement)
- 70
- MOVE2-Symbol (Programmierelement)
- 80
- Codesymbol (Programmierelement, editierbares Programmiersymbol, editierbares Programmierelement)
- 100
- Roboter
-
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
-