-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft eine Roboterprogrammiervorrichtung und ein Roboterprogrammierverfahren.
-
STAND DER TECHNIK
-
Es ist ein Verfahren bekannt, bei dem dreidimensionale Modelle eines mit einem Werkzeug ausgestatteten Roboters, eines Werkstücks und mindestens eines Peripheriegeräts gleichzeitig auf einem Bildschirm angeordnet und angezeigt werden, eine Bearbeitungslinie auf dem dreidimensionalen Modell des Werkstücks festgelegt wird, Betriebsart, Geschwindigkeit, Position und Haltung für einen auf der Grundlage der festgelegten Bearbeitungslinie erzeugten Lernpunkt festgelegt werden und ein Roboterbetriebsprogramm zur Bearbeitung des Werkstücks auf der Grundlage der festgelegten Bearbeitungslinie und der festgelegten Betriebsart, Geschwindigkeit, Position und Haltung erzeugt wird. Siehe zum Beispiel Patentdokument 1.
-
Patentdokument 1: Ungeprüfte japanische Patentanmeldung, Veröffentlichung Nr.
JP 2016-0002627 A
-
OFFENBARUNG DER ERFINDUNG
-
Durch die Erfindung zu lösende Probleme
-
Um z.B. ein Betriebsprogramm zu erstellen, um eine von einem Roboter gegriffene Walze gegen einen planen Block zu drücken, um ein Muster (z.B. eine Dichtung) auf der Walze mit dem planen Block zu verbinden, oder ein Betriebsprogramm zum Andrücken eines von einem Roboter gegriffenen Werkstücks gegen einen Bandschleifer, um das Werkstück zu polieren, zu erstellen, ist es für den oben beschriebenen Stand der Technik schwierig, ein Betriebsprogramm für den Betrieb des Roboters in einem Zustand zu erstellen, in dem die vom Roboter gegriffene Walze ständig gegen den planen Block oder das vom Roboter gegriffene Werkstück ständig gegen den Bandschleifer gedrückt wird.
-
Beim Einlernen muss ein Arbeiter beispielsweise vor Ort die vom Roboter gegriffene Walze so bewegen, dass die Walze den planen Block berührt, oder das vom Roboter gegriffene Werkstück so bewegen, dass das Werkstück die Bandschleifmaschine berührt, um einen manuellen Einlernprozess durchzuführen, während er diese Bewegungsschritte nacheinander überprüft. Aus diesem Grund ist eine große Anzahl von Schritten für den Einlernprozess erforderlich.
-
Daher besteht ein Bedarf dafür, auf einfache Weise ein Roboterbetriebsprogramm zu erstellen, um ein von einem Roboter gegriffenes Objekt zu bewegen, während das Greifobjekt gegen ein festes Objekt gedrückt wird.
-
Mittel zur Lösung der Probleme
-
Ein Aspekt der Roboterprogrammiervorrichtung der vorliegenden Offenbarung ist eine Roboterprogrammiervorrichtung zum Erzeugen eines Roboterbetriebsprogramms zum Bewegen eines Greifobjekts, das von einem Roboter gegriffen wird, wobei das Greifobjekt gegen ein festes Objekt gepresst wird, wobei die Roboterprogrammiervorrichtung eine Modellanordnungseinheit enthält, die konfiguriert ist, um in einem dreidimensionalen virtuellen Raum ein Robotermodell des Roboters, ein Greifobjektmodell des Greifobjekts und ein festes Objektmodell des festen Objekts anzuordnen, eine Bezugslinienbestimmungseinheit, die so konfiguriert ist, dass sie eine Bezugslinie bestimmt, die einen Bereich des äußeren Umfangs des Greifobjektmodells anzeigt, der gegen das feste Objekt gepresst werden soll, eine Übertragungsstartpunktbestimmungseinheit, die so konfiguriert ist, dass sie einen Übertragungsstartpunkt der Übertragung der Bezugslinie auf das feste Objektmodell bestimmt, und eine Operationspfaderzeugungseinheit, die so konfiguriert ist, dass sie ausgehend von dem Übertragungsstartpunkt die Bezugslinie auf das feste Objekt überträgt, um einen Operationspfad zu erzeugen.
-
Ein Aspekt des Roboterprogrammierverfahrens der vorliegenden Offenbarung ist ein Roboterprogrammierverfahren zum Erzeugen eines Roboterbetriebsprogramms, das von einem Computer implementiert wird, zum Bewegen eines Greifobjekts, das von einem Roboter gegriffen wird, wobei das Greifobjekt gegen ein festes Objekt gedrückt wird, wobei das Roboterprogrammierverfahren das Anordnen eines Robotermodells des Roboters, eines Greifobjektmodells des Greifobjekts und eines festen Objektmodells des festen Objekts in einem dreidimensionalen virtuellen Raum umfasst, und ein festes Objektmodell des festen Objekts anordnet, eine Bezugslinie spezifiziert, die einen Bereich des äußeren Umfangs des Greifobjektmodells anzeigt, der gegen das feste Objekt gepresst werden soll, einen Übertragungsstartpunkt der Übertragung der Bezugslinie auf dem festen Objektmodell spezifiziert, und die Bezugslinie ausgehend von dem Übertragungsstartpunkt auf das feste Objekt überträgt, um einen Operationspfad zu erzeugen.
-
Auswirkungen der Erfindung
-
Gemäß einem Aspekt kann das Roboterbetriebsprogramm zum Bewegen des vom Roboter gegriffenen Greifobjekts, wobei das Greifobjekt gegen das feste Objekt gepresst wird, einfach erstellt werden.
-
Figurenliste
-
- 1 ist ein funktionelles Blockdiagramm, das ein funktionelles Konfigurationsbeispiel einer Roboterprogrammiervorrichtung gemäß einer ersten Ausführungsform zeigt;
- 2 ist eine Ansicht, die ein Beispiel eines Bildschirms einer Anzeigeeinheit zeigt, auf dem ein virtueller Raum dargestellt wird;
- 3A ist eine Ansicht, die ein Beispiel für eine Bezugslinie zeigt, die durch einen Bezugslinienspezifizierer festgelegt wurde;
- 3B ist eine Ansicht, die ein Beispiel für die Bezugslinie zeigt;
- 4 ist eine Ansicht, die ein Beispiel für eine Beziehung zwischen der Bezugslinie und einem Arbeitsweg zeigt;
- 5A ist eine Ansicht, die ein Beispiel für die Beschreibung des Betriebs einer Operationspfad-Erzeugungseinheit zeigt;
- 5B ist eine Ansicht, die ein Beispiel für die Beschreibung des Betriebs der Operationspfad-Erzeugungseinheit zeigt;
- 5C ist eine Ansicht, die ein Beispiel für die Beschreibung des Betriebs der Operationspfad-Erzeugungseinheit zeigt;
- 5D ist eine Ansicht, die ein Beispiel für die Beschreibung des Betriebs der Operationspfad-Erzeugungseinheit zeigt;
- 6A ist eine Ansicht, die ein Beispiel für die Beschreibung einer Beziehung zwischen einer Einlern-Position eines Roboter-Betriebsprogramms und der Position jedes Punktes, der auf einen Operationspfad übertragen wird, von einem Roboter aus gesehen, zeigt;
- 6B ist eine Ansicht, die ein Beispiel für die Beschreibung der Position eines Werkzeugspitzenendpunkts des Roboters von jedem Punkt aus gesehen zeigt, der die Bezugslinie bildet;
- 7 ist eine Ansicht, die ein Beispiel für einen Roboter-Operationspfad auf Basis des erstellten Betriebsprogramms zeigt;
- 8 ist ein Flussdiagramm zur Beschreibung der Erstellung eines Betriebsprogramms durch die Roboterprogrammiervorrichtung; und
- 9 ist eine Ansicht, die ein Beispiel des Bildschirms der Anzeigeeinheit zeigt, auf dem der virtuelle Raum dargestellt wird.
-
BEVORZUGTE AUSFÜHRUNGSFORM DER ERFINDUNG
-
<Erste Ausführungsform>
-
Eine Konfiguration der vorliegenden Ausführungsform wird unter Bezugnahme auf die Zeichnungen detailliert beschrieben. Als Beispiel wird ein Fall beschrieben, in dem ein Roboter in einem Arbeitsraum eine Walze greift und die gegriffene Walze gegen einen planen Block drückt, der ein planes, plattenförmiges Werkstück ist, um z.B. eine Dichtung auf der Walze mit dem planen Block zu verbinden. Die vorliegende Erfindung gilt auch für den Fall, dass ein Roboter ein Werkstück ergreift und das ergriffene Werkstück gegen eine Bandschleifmaschine drückt, um das Werkstück zu bearbeiten, wie später beschrieben.
-
1 ist ein funktionales Blockdiagramm, das ein funktionales Konfigurationsbeispiel einer Roboterprogrammiervorrichtung gemäß einer ersten Ausführungsform zeigt.
-
Wie in 1 gezeigt, ist die Roboterprogrammiervorrichtung 1 ein bekannter Computer, der eine Steuereinheit 10, eine Eingabeeinheit 11, eine Anzeigeeinheit 12 und eine Speichereinheit 13 umfasst. Die Steuereinheit 10 umfasst eine Virtuellraum-Erzeugungseinheit 101, eine Modellanordnungseinheit 102, einen Bezugslinienspezifizierer 103, einen Übertragungsstartpunktspezifizierer 104, eine Operationspfad-Erzeugungseinheit 105 und eine Betriebsprogramm-Erzeugungseinheit 106. Die Speichereinheit 13 speichert Modelldaten 131.
-
Es ist zu beachten, dass die Roboterprogrammiervorrichtung 1 über ein Netzwerk, wie z.B. ein lokales Netzwerk (LAN) oder das Internet, mit einer Robotersteuerungsvorrichtung (nicht gezeigt) verbunden sein kann, die den Betrieb des Roboters (nicht gezeigt) steuert. Alternativ kann die Roboterprogrammiervorrichtung 1 über eine nicht gezeigte Verbindungsschnittstelle direkt mit der Robotersteuerungsvorrichtung (nicht gezeigt) verbunden sein.
-
<Eingabeeinheit 11>
-
Die Eingabeeinheit 11 ist z.B. eine Tastatur oder ein Touchpanel, das auf der später beschriebenen Anzeigeeinheit 12 angeordnet ist, und nimmt Eingaben von einem Arbeiter entgegen.
-
<Anzeigeeinheit 12>
-
Die Anzeigeeinheit 12 ist z.B. eine Flüssigkristallanzeige. Wie später beschrieben, zeigt die Anzeigeeinheit 12 z.B. 3D-CAD-Daten, die vom Werker über die Eingabeeinheit 11 eingegeben (ausgewählt) werden, auf dem Roboter (nicht dargestellt), ein Greifobjekt wie eine Walze oder ein Werkstück, das vom Roboter gegriffen werden soll, und ein festes Objekt wie einen planen Block oder eine Bandschleifmaschine, gegen das das Greifobjekt gedrückt werden soll.
-
< Speichereinheit 13>
-
Die Speichereinheit 13 ist z.B. eine SSD (Solid State-Laufwerk) oder eine HDD (Festplattenlaufwerk) und kann die Modelldaten 131 zusammen mit verschiedenen Steuerprogrammen speichern.
-
Die Modelldaten 131 werden, wie oben beschrieben, vom Arbeiter über die Eingabeeinheit 11 eingegeben (ausgewählt) und umfassen z.B. die 3D-CAD-Daten, die auf der Anzeigeeinheit 12 angezeigt werden sollen, den Roboter (nicht dargestellt), das Greifobjekt, wie die vom Roboter zu greifende Walze, und das feste Objekt, wie den planen Block, gegen den das Greifobjekt gedrückt werden soll.
-
<Steuergerät 10>
-
Die Steuereinheit 10 ist eine Einheit mit z.B. einer CPU (Zentraleinheit), einem ROM (Festwertspeicher), einem RAM (Speicher mit wahlfreiem Zugriff) und einem CMOS-Speicher (komplementärer Metall-Oxid-Halbleiter-Speicher), wobei diese Komponenten über einen Bus miteinander kommunizieren können und die Einheit dem Fachmann bekannt ist.
-
Die CPU ist ein Prozessor, der die Roboterprogrammiervorrichtung 1 auf integrierte Weise steuert. Die CPU liest ein Systemprogramm und ein Anwendungsprogramm, die im ROM gespeichert sind, über den Bus und steuert die Gesamtheit der Roboterprogrammiervorrichtung 1 entsprechend dem Systemprogramm und dem Anwendungsprogramm. Mit dieser Konfiguration implementiert die Steuereinheit 10 die Funktionen der Virtuellraum-Erzeugungseinheit 101, der Modellanordnungseinheit 102, des Bezugslinienspezifizierers 103, des Übertragungsstartpunktspezifizierers 104, der Operationspfad-Erzeugungseinheit 105 und der Betriebsprogramm-Erzeugungseinheit 106, wie in 1 gezeigt. Der Arbeitsspeicher speichert verschiedene Arten von Daten, wie z.B. temporäre Berechnungsdaten und Anzeigedaten. Der CMOS-Speicher wird durch eine nicht dargestellte Batterie gepuffert und ist als nichtflüchtiger Speicher konfiguriert, der einen Speicherzustand beibehält, selbst wenn die Roboterprogrammiervorrichtung 1 ausgeschaltet ist.
-
Die Virtuellraum-Erzeugungseinheit 101 erzeugt einen virtuellen Raum, der eine dreidimensionale Darstellung des Arbeitsraums ist, in dem der Roboter (nicht dargestellt), die Rolle als Greifobjekt und der plane Block als festes Objekt angeordnet sind.
-
Die Modellanordnungseinheit 102 ordnet in dem dreidimensionalen virtuellen Raum, der von der Virtuellraum-Erzeugungseinheit 101 erzeugt wurde, die 3D-CAD-Daten des Roboters (nicht gezeigt) (im Folgenden auch als ein „Robotermodell“ bezeichnet), die 3D-CAD-Daten der Walze (das Greifobjekt) (im Folgenden auch als ein „Greifobjektmodell“ bezeichnet) und die 3D-CAD-Daten des planen Blocks (das feste Objekt) (im Folgenden auch als ein „festes Objektmodell“ bezeichnet) an.
-
Spezifisch liest die Modellanordnungseinheit 102 das Robotermodell des Roboters, das Modell des Greifobjekts der Walze und das Modell des feststehenden Objekts des planen Blocks aus den Modelldaten 131 in der Speichereinheit 13, um das nicht gezeigte Modell, die Walze und den planen Block im virtuellen Raum anzuordnen. Die Modellanordnungseinheit 102 ordnet das gelesene Robotermodell des Roboters, das gelesene Modell des Greifobjekts der Walze und das gelesene Modell des festen Objekts des planen Blocks an und zeigt diese Modelle auf der Anzeigeeinheit 12 an.
-
2 ist eine Ansicht, die ein Beispiel für einen Bildschirm der Anzeigeeinheit 12 zeigt, auf dem der virtuelle Raum dargestellt wird.
-
Wie in 2 gezeigt, sind das Robotermodell 200, das Modell des Greifobjekts 210 und das feste Objektmodell 220 auf dem Bildschirm des virtuellen Raums angeordnet. Zum Beispiel wird die Dichtung, die mit dem festen Objektmodell 220 verbunden werden soll, auf einem zylindrischen Teil der Walze platziert, die das Modell des Greifobjekts 210 ist.
-
Man beachte, dass das Robotermodell 200 im virtuellen Raum wie im Arbeitsraum ein Weltkoordinatensystem Σw eines dreidimensionalen orthogonalen Koordinatensystems hat, das im Raum fixiert ist, und ein mechanisches Schnittstellenkoordinatensystem Σi eines dreidimensionalen orthogonalen Koordinatensystems, das auf einen Werkzeugspitzenendpunkt des Greifobjektmodells 210 eingestellt ist, das mit einer Hand (nicht gezeigt) gegriffen wird, die an einem Spitzenende einer Gelenkwelle des Robotermodells 200 befestigt ist. Für das feste Objektmodell 220 wird z.B. ein festes Objektkoordinatensystem Σk eingestellt. In der vorliegenden Ausführungsform werden die Positionen des Weltkoordinatensystems Σw, des mechanischen Schnittstellenkoordinatensystems Σi und des festen Objektkoordinatensystems Σk durch die bekannte Kalibrierung im Voraus miteinander korreliert. Mit dieser Konfiguration kann die später beschriebene Betriebsprogramm-Erzeugungseinheit 106 unter Verwendung einer gemäß dem Weltkoordinatensystem Σw definierten Position ein Betriebsprogramm zur Steuerung der Position eines Spitzenendabschnitts des Robotermodells 200 erstellen, an dem das Greifobjektmodell 210 angebracht ist, wie beispielsweise die Position des Werkzeugspitzenendpunkts des Greifobjektmodells 210.
-
Der Bezugslinienspezifizierer 103 spezifiziert eine Bezugslinie, die einen Bereich des äußeren Umfangs des Greifobjektmodells 210 angibt, der gegen den planen Block als das feste Objekt gedrückt werden soll, basierend auf der Eingabeoperation durch den Arbeiter über die Eingabeeinheit 11.
-
3A ist eine Ansicht, die ein Beispiel für die durch den Bezugslinienspezifizierer 103 spezifizierte Bezugslinie zeigt.
-
Wie in 3A dargestellt, kann die Bezugslinie als hervorgehobene dicke Linie angezeigt werden. Es ist zu beachten, dass die Bezugslinie als eine andere hervorgehobene Linie als die dicke Linie oder als eine hervorgehobene Linie in einer Farbe wie Rot angezeigt werden kann. Wie in 3B dargestellt, ist die Bezugslinie ein Cluster aus einer Vielzahl von Punkten.
-
3B ist eine Ansicht, die ein Beispiel für die Bezugslinie zeigt.
-
Wie in 3B gezeigt, kann der Bezugslinienspezifizierer 103 in einem Fall, in dem das Greifobjektmodell 210, wie die Walze, z.B. eine zylindrische Form hat und die Bezugslinie sich um den Außenumfang des Greifobjektmodells 210 erstreckt, auf der Grundlage der Eingabeoperation durch den Arbeiter über die Eingabeeinheit 11 einen Startpunkt des Verbindens, z.B. der Dichtung auf dem Greifobjektmodell 210 mit einer Oberfläche des festen Objektmodells 220, spezifizieren.
-
Der Übertragungsstartpunktspezifizierer 104 gibt einen Übertragungsstartpunkt für die Übertragung der Bezugslinie auf dem festen Objektmodell 220 an.
-
Basierend auf der Eingabe durch den Benutzer über die Eingabeeinheit 11 legt der Übertragungsstartpunktspezifizierer 104 spezifisch einen Punkt auf dem festen Objektmodell 220, wie z.B. den Ursprung des Koordinatensystems Σk des festen Objektmodells 220 von 2, als Übertragungsstartpunkt fest und spezifiziert eine X-Achsenrichtung als Übertragungsrichtung jedes Punktes der Bezugslinie.
-
Die Operationspfad-Erzeugungseinheit 105 überträgt, ausgehend von dem durch den Übertragungsstartpunktspezifizierer 104 festgelegten Übertragungsstartpunkt, die Bezugslinie auf das feste Objektmodell 220, wodurch ein Operationspfad erstellt wird.
-
Spezifisch, wie in 4 gezeigt, überträgt die Operationspfad-Erzeugungseinheit 105, ausgehend von einem Zustand, in dem der Übertragungsstartpunkt und der Startpunkt der Bezugslinie miteinander übereinstimmen, die Bezugslinie auf die Oberfläche des festen Objektmodells 220 entlang der X-Achsenrichtung, während ein Abstand zwischen benachbarten Punkten, die die Bezugslinie bilden, beibehalten wird. Auf diese Weise erzeugt die Operationspfad-Erzeugungseinheit 105 den Operationspfad.
-
5A bis 5D sind Ansichten, die ein Beispiel für die Beschreibung des Betriebs der Operationspfad-Erzeugungseinheit 105 zeigen.
-
Wie in 5A gezeigt, bewirkt die Operationspfaderzeugungseinheit 105, dass der Übertragungsstartpunkt auf der Oberfläche des festen Objektmodells 220 und der Startpunkt der Bezugslinie miteinander übereinstimmen. Wie in den 5B bis 5D gezeigt, überträgt die Operationspfad-Erzeugungseinheit 105 die Punkte, die die Bezugslinie bilden, einen nach dem anderen auf die Oberfläche des festen Objektmodells 220, ausgehend von dem Startpunkt der Bezugslinie, während das Greifobjektmodell 210 gedreht wird. Man beachte, dass, wie in den 5B bis 5D gezeigt, die Operationspfad-Erzeugungseinheit 105 in einem Fall, in dem die Bezugslinie eine gekrümmte Linie ist, eine Linienannäherung für die Punkte, die die Bezugslinie bilden, durchführt und die Punkte, die die Bezugslinie bilden, projiziert, während sie den Abstand zwischen benachbarten Punkten dieser Punkte beibehält. Die Operationspfad-Erzeugungseinheit 105 überträgt alle Punkte der Bezugslinie, wie in den 5B bis 5D gezeigt, und erzeugt dadurch den Operationspfad auf der Oberfläche des festen Objektmodells 220 entlang der X-Achsenrichtung, wie in 4 gezeigt.
-
Die Betriebsprogramm-Erzeugungseinheit 106 erstellt ein Roboterbetriebsprogramm zum Bewegen des Greifobjekts, wobei das Greifobjekt gegen das feste Objekt gepresst wird, basierend auf der Bezugslinie, die durch den Bezugslinienspezifizierer 103 spezifiziert wurde, und dem Betriebspfad, der durch die Operationspfad-Erzeugungseinheit 105 erstellt wurde.
-
Konkret erhält die Betriebsprogramm-Erzeugungseinheit 106 eine Einlern-Position (die Position des Endpunkts der Werkzeugspitze bei Sicht vom Roboter) des Roboterarbeitsprogramms, indem sie die Position jedes auf die Arbeitsstrecke übertragenen Punkts vom Robotermodell 200 aus gesehen mit der Position des Endpunkts der Werkzeugspitze des Roboters von jedem Punkt aus gesehen multipliziert, der beispielsweise die Bezugslinie bildet.
-
6A ist eine Ansicht, die ein Beispiel für die Beschreibung einer Beziehung zwischen der Einlern-Position des Roboter-Betriebsprogramms und der Position jedes Punktes, der auf den Betriebsweg übertragen wird, vom Roboter aus gesehen, darstellt. 6B ist eine Ansicht, die ein Beispiel für die Beschreibung der Position des Endpunkts der Werkzeugspitze des Roboters von jedem Punkt aus gesehen zeigt, der die Bezugslinie bildet.
-
Die Betriebsprogramm-Erzeugungseinheit 106 ermittelt für alle Punkte auf dem Arbeitsweg die Lernposition (die Position des Endpunkts der Werkzeugspitze bei Sicht vom Roboter) des Roboterarbeitsprogramms. Die Betriebsprogramm-Erzeugungseinheit 106 erzeugt auf Basis der ermittelten Einlern-Position ein Betriebsprogramm zum Bewegen des Roboters (nicht dargestellt), wobei die Walze gegen den planen Block gedrückt wird, um z.B. die Dichtung auf der Walze mit dem planen Block zu bondieren. Die Betriebsprogramm-Erzeugungseinheit 106 kann das erstellte Betriebsprogramm in der Speichereinheit 13 speichern oder das erstellte Betriebsprogramm an die Robotersteuerungsvorrichtung (nicht gezeigt) ausgeben.
-
7 ist eine Ansicht, die ein Beispiel für einen Roboterbetriebsweg auf der Grundlage des erstellten Betriebsprogramms zeigt.
-
Wie in 7 gezeigt, befindet sich die Einlern-Position (die Position des Endpunkts der Werkzeugspitze) des Roboterbetriebsprogramms auf einem Arbeitsweg des Roboterbetriebsprogramms.
-
<Erstellung des Betriebsprogramms mit dem Roboterprogrammiergerät 1>
-
Als nächstes wird der Ablauf der Erstellung des Betriebsprogramms der Roboterprogrammiervorrichtung 1 unter Bezugnahme auf 8 beschrieben.
-
8 ist ein Flussdiagramm zur Beschreibung der Erstellung des Betriebsprogramms durch die Roboterprogrammiervorrichtung 1. Der hier beschriebene Ablauf wird jedes Mal ausgeführt, wenn das Betriebsprogramm erstellt wird.
-
In Schritt S1 erzeugt die Virtuellraum-Erzeugungseinheit 101 den virtuellen Raum, der eine dreidimensionale Darstellung des Arbeitsraums ist, in dem der Roboter, die Rolle und der plane Block angeordnet sind.
-
In Schritt S2 ordnet die Modellanordnungseinheit 102 in dem in Schritt S1 erzeugten dreidimensionalen virtuellen Raum das Robotermodell 200 des Roboters, das Modell des Greifobjekts 210 der Walze und das Modell des festen Objekts 220 des planen Blocks an.
-
In Schritt S3 spezifiziert der Bezugslinienspezifizierer 103 die Bezugslinie am Außenumfang des Greifobjektmodells 210 auf Basis der Eingabeoperation durch den Benutzer über die Eingabeeinheit 11.
-
In Schritt S4 spezifiziert der Übertragungsstartpunktspezifizierer 104 den Übertragungsstartpunkt der Übertragung der Bezugslinie auf dem festen Objektmodell 220.
-
In Schritt S5 überträgt die Operationspfad-Erzeugungseinheit 105, ausgehend von dem in Schritt S4 festgelegten Übertragungsstartpunkt, die Bezugslinie auf das feste Objektmodell 220, wodurch der Operationspfad erzeugt wird.
-
In Schritt S6 erstellt die Betriebsprogramm-Erzeugungseinheit 106 auf der Grundlage der in Schritt S3 angegebenen Bezugslinie und des in Schritt S5 erstellten Betriebswegs das Roboterbetriebsprogramm zum Bewegen der Walze, wobei die Walze gegen den planen Block gedrückt wird.
-
Wie oben beschrieben, ordnet die Roboterprogrammiervorrichtung 1 gemäß der ersten Ausführungsform im virtuellen Raum das Robotermodell 200, das Modell des Greifobjekts 210 und das Modell des festen Objekts 220 an. Die Roboterprogrammiervorrichtung 1 spezifiziert die Bezugslinie, die den Bereich des Greifobjektmodells 210 anzeigt, der gegen das feststehende Objektmodell 220 gedrückt werden soll, und den Übertragungsstartpunkt der Übertragung der Bezugslinie auf das feststehende Objektmodell 220, und ausgehend von dem Übertragungsstartpunkt überträgt sie jeden Punkt, der die Bezugslinie bildet, auf das feststehende Objektmodell 220, um den Arbeitsweg zu erzeugen. Die Roboterprogrammiervorrichtung 1 erzeugt auf Basis der Bezugslinie und des Arbeitswegs das Roboterbetriebsprogramm zum Bewegen der Walze, wobei die Walze gegen den planen Block gedrückt wird.
-
Mit dieser Konfiguration kann die Roboterprogrammiervorrichtung 1 auf einfache Weise das Roboterbetriebsprogramm zum Bewegen des vom Roboter gegriffenen Greifobjekts erzeugen, wobei das Greifobjekt gegen das feste Objekt gedrückt wird, und dementsprechend kann die Anzahl der für einen Lernprozess erforderlichen Schritte reduziert werden.
-
Die erste Ausführungsform wurde bereits oben beschrieben.
-
Als nächstes wird eine zweite Ausführungsform beschrieben. Wie oben beschrieben, erzeugt die Roboterprogrammiervorrichtung 1 gemäß der ersten Ausführungsform das Roboterbetriebsprogramm in einem Fall, in dem der Roboter im Arbeitsbereich die Walze greift und die gegriffene Walze gegen den planen Block drückt, um z.B. die Dichtung auf der Walze mit dem planen Block zu bondieren. Andererseits unterscheidet sich eine Roboterprogrammiervorrichtung 1 gemäß der zweiten Ausführungsform von derjenigen der ersten Ausführungsform dadurch, dass die Roboterprogrammiervorrichtung 1 ein Roboterbetriebsprogramm in einem Fall erzeugt, in dem ein Roboter in einem Arbeitsbereich ein Werkstück greift und das ergriffene Werkstück gegen eine Bandschleifmaschine drückt, um das Werkstück zu bearbeiten.
-
Mit dieser Konfiguration kann die Roboterprogrammiervorrichtung 1 gemäß der zweiten Ausführungsform auf einfache Weise das Roboterbetriebsprogramm zum Bewegen eines vom Roboter gegriffenen Greifobjekts erstellen, wobei das Greifobjekt gegen ein festes Objekt gedrückt wird.
-
Nachfolgend wird die zweite Ausführungsform beschrieben.
-
Die Roboterprogrammiervorrichtung 1 gemäß der zweiten Ausführungsform weist ähnliche Elemente auf wie die Roboterprogrammiervorrichtung 1 von 1, und dieselben Bezugszeichen werden verwendet, um diese Elemente zu repräsentieren, und eine detaillierte Beschreibung derselben wird weggelassen.
-
Die Roboterprogrammiervorrichtung 1 umfasst eine Steuereinheit 10, eine Eingabeeinheit 11, eine Anzeigeeinheit 12 und eine Speichereinheit 13. Die Steuereinheit 10 umfasst eine Virtuellraum-Erzeugungseinheit 101, eine Modellanordnungseinheit 102, einen Bezugslinienspezifizierer 103, einen Übertragungsstartpunktspezifizierer 104, eine Operationspfad-Erzeugungseinheit 105 und eine Betriebsprogramm-Erzeugungseinheit 106. Die Speichereinheit 13 speichert Modelldaten 131.
-
Die Steuereinheit 10, die Eingabeeinheit 11, die Anzeigeeinheit 12 und die Speichereinheit 13 haben ähnliche Funktionen wie die Steuereinheit 10, die Eingabeeinheit 11, die Anzeigeeinheit 12 und die Speichereinheit 13 gemäß der ersten Ausführungsform.
-
Darüber hinaus haben die Virtuellraum-Erzeugungseinheit 101, die Modellanordnungseinheit 102, der Bezugslinienspezifizierer 103, der Übertragungsstartpunktspezifizierer 104, die Operationspfad-Erzeugungseinheit 105 und die Betriebsprogramm-Erzeugungseinheit 106 ähnliche Funktionen wie die Virtuellraum-Erzeugungseinheit 101, die Modellanordnungseinheit 102, der Bezugslinienspezifizierer 103, der Übertragungsstartpunktspezifizierer 104, die Operationspfad-Erzeugungseinheit 105 und die Betriebsprogramm-Erzeugungseinheit 106 gemäß der ersten Ausführungsform.
-
9 ist eine Ansicht, die ein Beispiel für einen Bildschirm der Anzeigeeinheit 12 zeigt, auf dem ein virtueller Raum dargestellt wird. Es ist zu beachten, dass 9 nur einen Teil eines Endes einer Hand eines Robotermodells 200a zeigt.
-
Wie in 9 gezeigt, ordnet die Modellanordnungseinheit 102 im virtuellen Raum das Robotermodell 200a, ein Greifobjektmodell 210a des zu bearbeitenden Werkstücks und ein festes Objektmodell 220a der Bandschleifmaschine an. Man beachte, dass das Werkstück als Greifobjektmodell 210a in 9 abgerundete Ecken hat, aber auch eine optionale Form, wie z.B. eine rechteckige Parallelepipedform, haben kann.
-
Basierend auf einer Eingabeoperation durch einen Benutzer über die Eingabeeinheit 11 spezifiziert der Bezugslinienspezifizierer 103 als Bezugslinie einen Bereich des äußeren Umfangs des Greifobjektmodells 210a, der durch eine dicke Linie angezeigt wird, wie in 9 gezeigt. Es ist zu beachten, dass der Bezugslinienspezifizierer 103 einen Endpunkt der Bezugslinie als Startpunkt basierend auf der Eingabeoperation durch den Benutzer über die Eingabeeinheit 11 spezifizieren kann.
-
Der Übertragungsstartpunktspezifizierer 104 spezifiziert einen Übertragungsstartpunkt für die Übertragung der Bezugslinie auf dem festen Objektmodell 220a.
-
Wie in den 5A und 5B überträgt die Operationspfad-Erzeugungseinheit 105, ausgehend von dem spezifizierten Übertragungsstartpunkt, jeden Punkt, der die Bezugslinie bildet, auf das feste Objektmodell 220a, wodurch ein Operationspfad erzeugt wird.
-
Die Betriebsprogramm-Erzeugungseinheit 106 der Roboterprogrammiervorrichtung 1 erzeugt auf der Grundlage der vom Bezugslinienspezifizierer 103 spezifizierten Bezugslinie und dem von der Operationspfad-Erzeugungseinheit 105 erzeugten Operationspfad ein Roboterbetriebsprogramm zum Bewegen des zu bearbeitenden Werkstücks, wobei das Werkstück gegen die Bandschleifmaschine gedrückt wird.
-
Es ist zu beachten, dass die Erzeugung des Betriebsprogramms der Roboterprogrammiervorrichtung 1 ähnlich wie in 8 abläuft, und eine detaillierte Beschreibung wird hier nicht gegeben.
-
Wie oben beschrieben, ordnet die Roboterprogrammiervorrichtung 1 gemäß der zweiten Ausführungsform im virtuellen Raum das Robotermodell 200a, das Modell des Greifobjekts 210a und das Modell des festen Objekts 220a an. Die Roboterprogrammiervorrichtung 1 spezifiziert die Bezugslinie, die den Bereich des Greifobjektmodells 210a anzeigt, der gegen das feststehende Objektmodell 220a gedrückt werden soll, und den Übertragungsstartpunkt der Übertragung der Bezugslinie auf das feststehende Objektmodell 220a, und überträgt, ausgehend vom Übertragungsstartpunkt, jeden Punkt, der die Bezugslinie bildet, auf das feststehende Objektmodell 220a, um den Arbeitsweg zu erzeugen. Das Roboterprogrammiergerät 1 erstellt auf der Grundlage der Bezugslinie und des Arbeitswegs das Roboterarbeitsprogramm zum Bewegen des zu bearbeitenden Werkstücks, wobei das Werkstück gegen die Bandschleifmaschine gedrückt wird.
-
Mit dieser Konfiguration kann die Roboterprogrammiervorrichtung 1 auf einfache Weise das Roboterbetriebsprogramm zum Bewegen des vom Roboter gegriffenen Greifobjekts erstellen, wobei das Greifobjekt gegen das feste Objekt gedrückt wird, und dementsprechend kann die Anzahl der für einen Lernprozess erforderlichen Schritte reduziert werden.
-
Die zweite Ausführungsform wurde oben beschrieben.
-
Die erste und die zweite Ausführungsform sind oben beschrieben worden, aber die Roboterprogrammiervorrichtung 1 ist nicht auf die oben beschriebenen Ausführungsformen beschränkt, und Änderungen, Modifikationen usw. können in einem Rahmen vorgenommen werden, in dem das Ziel erreicht werden kann.
-
<Variation>
-
In den oben beschriebenen ersten und zweiten Ausführungsformen ist die Roboterprogrammiervorrichtung 1 eine andere Vorrichtung als die Robotersteuerungsvorrichtung (nicht gezeigt), aber die vorliegende Offenbarung ist nicht auf diese beschränkt. Zum Beispiel kann die Roboterprogrammiervorrichtung 1 in der Robotersteuerungsvorrichtung (nicht dargestellt) enthalten sein.
-
Es ist zu beachten, dass jede Funktion der Roboterprogrammiervorrichtung 1 in der ersten und zweiten Ausführungsform durch Hardware, Software oder eine Kombination davon implementiert werden kann. Implementierung durch Software, wie hier beschrieben, bedeutet 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), magnetische optische Aufzeichnungsmedien (z.B. eine magnetische 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 einen Lichtleiter 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 können die Roboterprogrammiervorrichtung und das Roboterprogrammierverfahren der vorliegenden Offenbarung verschiedene Ausführungsformen mit den folgenden Konfigurationen umfassen.
-
(1) Die Roboterprogrammiervorrichtung 1 der vorliegenden Offenbarung ist eine Roboterprogrammiervorrichtung zum Erzeugen eines Roboterbetriebsprogramms zum Bewegen eines Greifobjekts, das von einem Roboter gegriffen wird, wobei das Greifobjekt gegen ein festes Objekt gedrückt wird, wobei die Roboterprogrammiervorrichtung eine Modellanordnungseinheit 102, die so konfiguriert ist, dass sie in einem dreidimensionalen virtuellen Raum ein Robotermodell 200, 200a des Roboters, ein Greifobjektmodell 210, 210a des Greifobjekts und ein festes Objektmodell 220, 220a des festen Objekts anordnet, ein Robotermodell 200, 200a, ein Greifobjektmodell 210, 210a des Greifobjekts und ein ortsfestes Objektmodell 220, 220a des ortsfesten Objekts anzuordnen, eine Bezugslinienbestimmungseinheit 103, die konfiguriert ist, um eine Bezugslinie zu spezifizieren, die einen Bereich des äußeren Umfangs des Greifobjektmodells 210, 210a anzeigt, der gegen das ortsfeste Objekt gepresst werden soll, eine Übertragungsstartpunktbestimmungseinheit 104, die konfiguriert ist, um einen Übertragungsstartpunkt der Übertragung der Bezugslinie auf das ortsfeste Objektmodell 220, 220a zu spezifizieren, und eine Operationspfad-Erzeugungseinheit 105, die konfiguriert ist, um ausgehend von dem Übertragungsstartpunkt die Bezugslinie auf das ortsfeste Objekt zu übertragen, um einen Operationspfad zu erzeugen, enthält.
-
Mit der Roboterprogrammiervorrichtung 1 kann das Roboterbetriebsprogramm zum Bewegen des vom Roboter gegriffenen Greifobjekts mit dem gegen das feste Objekt gepressten Greifobjekt leicht erzeugt werden.
-
(2) Die Roboterprogrammiervorrichtung 1 gemäß (1) kann ferner eine Betriebsprogramm-Erzeugungseinheit 106 umfassen, die so konfiguriert ist, dass sie auf der Grundlage der Bezugslinie und des Betriebspfads das Roboterbetriebsprogramm zum Bewegen des Greifobjekts erstellt, wobei das Greifobjekt gegen das feste Objekt gedrückt wird.
-
Mit dieser Konfiguration kann die Roboterprogrammiervorrichtung 1 die Anzahl der für einen Lernprozess notwendigen Schritte reduzieren.
-
Mit der Methode der Roboterprogrammierung lassen sich ähnliche vorteilhafte Effekte wie in (1) erzielen.
-
(3) Das Roboterprogrammierverfahren der vorliegenden Offenbarung ist ein Roboterprogrammierverfahren zum Erzeugen eines Roboterbetriebsprogramms, das durch einen Computer implementiert wird, um ein von einem Roboter gegriffenes Greifobjekt zu bewegen, wobei das Greifobjekt gegen ein festes Objekt gepresst wird, wobei das Roboterprogrammierverfahren das Anordnen eines Robotermodells 200, 200a des Roboters, eines Greifobjektmodells 210, 210a des Greifobjekts und eines Modells 220, 220a des festen Objekts in einem dreidimensionalen virtuellen Raum, und eines festen Objektmodells 220, 220a des festen Objekts, das Spezifizieren einer Bezugslinie, die einen Bereich des äußeren Umfangs des Greifobjektmodells 210, 210a anzeigt, der gegen das feste Objekt gepresst werden soll, das Spezifizieren eines Übertragungsstartpunkts der Übertragung der Bezugslinie auf das feste Objektmodell 220, 220a und das Übertragen der Bezugslinie auf das feste Objekt, ausgehend von dem Übertragungsstartpunkt, um einen Operationspfad zu erzeugen, beinhaltet.
-
(4) In dem Roboterprogrammierverfahren gemäß (3) kann auf der Grundlage der Bezugslinie und des Arbeitswegs das Roboterbetriebsprogramm zum Bewegen des Greifobjekts mit dem gegen das feste Objekt gepressten Greifobjekt erstellt werden.
-
Mit dieser Konfiguration kann die Methode der Roboterprogrammierung vorteilhafte Wirkungen erzielen, die denen von (2) ähneln
-
Bezugszeichenliste
-
- 1
- Roboter-Programmiergerät
- 10
- Steuereinheit
- 101
- Virtuellraum-Erzeugungseinheit
- 102
- Modellanordnungseinheit
- 103
- Bezugslinienbezeichnungseinheit
- 104
- Übertragungsstartpunkt-Bezeichnungseinheit
- 105
- Operationspfad-Erzeugungseinheit
- 106
- Betriebsprogramm-Erzeugungseinheit
- 11
- Eingabeeinheit
- 12
- Anzeigeeinheit
- 13
- Speichereinheit
- 131
- Modelldaten
-
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
-