-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Roboterprogrammiervorrichtung, um ein Bewegungsprogramm eines Roboters offline zu lehren.
-
Beschreibung der verwandten Technik
-
Bei einer Vorrichtung zum Lehren eines Roboterprogramms offline, wird das Roboterprogramm dann, wenn das Roboterprogramm in Bezug auf eine Bearbeitung wie Abgraten oder Schweißen gelehrt wird, in vielen Fällen durch Bestimmen eines bearbeiteten Abschnitts eines CAD-Modells eines zu bearbeitenden Werkstücks erzeugt. Als Dokument zu verwandter Technik offenbart
JP 2000-190264 A ein Lehrverfahren, das einen ersten Schritt (der keine Lehrfunktion erfordert) und einen zweiten Schritt (oder eine Offline-Lehrfunktion) aufweist, bei dem Offline-Lehren durch eine Eingabe eines Bedieners auf eine Schweißlinie angewendet wird, die nicht durch den ersten Schritt gelehrt werden kann, wodurch das Offline-Lehren effektiv durchgeführt werden kann.
-
JP 2007-108916 A offenbart eine Offline-Lehrvorrichtung, die einen Datenerlangungsteil zum Erlangen von vorbestimmten Lehrdaten von vorbestimmten Lehrpunkten von einem vorbestimmten Bearbeitungsprogramm hinsichtlich eines ersten Werkstücks; einen Bearbeitungspfadberechnungsteil zum Berechnen eines Bearbeitungspfads in dem Bearbeitungsprogramm aus den Lehrdaten; einen Modellerzeugungsteil zum Erzeugen einer Bearbeitungslinie, die einen bearbeiteten Bereich darstellt, unter Verwendung von Modelldaten eines zweiten Werkstücks mit einem von dem ersten Werkstück verschiedenen geometrischen Merkmal; einen Lehrpunktberechnungsteil zum Berechnen der Position und der Lage jedes Lehrpunkts auf der Bearbeitungslinie auf Basis einer geometrischen Beziehung zwischen der Bearbeitungslinie und den Daten der Position und der Lage jedes vorbestimmten Lehrpunkts; und einen Bearbeitungsprogrammerzeugungsteil zum Erzeugen eines Bearbeitungsprogramms hinsichtlich des zweiten Werkstücks unter Verwendung der Bearbeitungsbedingungsdaten jedes vorbestimmten Lehrpunkts und der Position und der Lage jedes Lehrpunkts aufweist.
-
Ferner offenbart
JP 2008 -
15 683 A eine Roboterprogrammiervorrichtung, die aufweist: einen Werkstückmerkmal-Erlangungsteil zum Erlangen von Informationen hinsichtlich eines Werkstückmerkmals; einen Halterpositions-Erlangungsteil zum Erlangen einer relativen Lagebeziehung zwischen dem Werkstück und einem Werkstückhalter; einen Handpositions-Erlangungsteil zum Erlangen einer relativen Lagebeziehung zwischen dem Werkstück und einer Hand; einen Speicherteil zur Speicherung des Werkstückmerkmals und der Lagebeziehungen als Satz von erlangten Daten in Bezug auf mehrere Arten von Werkstücken; einen Suchteil nach erlangten Daten zum Suchen optimaler erlangter Daten, die ein Werkstückmerkmal mit einem höchsten Grad an Übereinstimmung mit einem neuen Werkstückmerkmal enthalten, aus den gespeicherten Sätzen von erlangten Daten; und einen Programmerzeugungsteil zum Erzeugen eines Beförderungstätigkeitsprogramms für das neue Werkstück unter Verwendung der optimalen erlangten Daten.
-
Nach dem Stand der Technik wurden viele Techniken vorgeschlagen, um ein Roboterprogramm unter Verwendung eines dreidimensionalen Merkmals eines Werkstücks zu erzeugen. In diesem Zusammenhang wird dann, wenn das Roboterprogramm in Bezug auf eine Bearbeitung wie etwa Abgraten oder Schweißen offline gelehrt werden muss, das Roboterprogramm durch Bestimmen eines bearbeiteten Bereichs eines CAD-Modells des Werkstücks erzeugt. In einem solchen Fall wird die Bestimmung des bearbeiteten Bereichs durch einen Betreiber von Hand vorgenommen, was viel Arbeitszeit benötigt, wenn es viele Arten von Werkstücken oder viele bearbeitete Bereiche gibt. Ferner ist eine Tätigkeit zum Lehren eines Roboterprogramms, wobei ein Roboter in einer passenden Reihenfolge zwischen den einzelnen bearbeiteten Bereichen bewegt wird, eine mühsame Aufgabe, die Trial and Error und Erfahrung und Können des Betreibers erfordert.
-
DE 102013008755 A1 betrifft ein Offline-Programmiersystem, das ein Programm für einen Roboter einlernt, der mit einem Werkzeug versehen ist, das ein Werkstück bearbeitet, welches in einem Arbeitsraum angeordnet ist, d. h. ein bearbeitetes Teil.
-
DE 102012021374 A1 betrifft eine Roboterprogrammiervorrichtung, die offline betrieben wird und ein Roboterbetriebsprogramm einlernt, um dreidimensionale Modelle eines Roboters, an dem ein Werkzeug angebracht ist, eines Werkstücks und wenigstens eines Peripheriegeräts gleichzeitig auf einem Bildschirm einzurichten und darzustellen, und es dem Werkzeug oder dem Roboter zu ermöglichen, Beeinträchtigungen bzw. unerwünschte Wechselwirkungen des Werkstücks oder des Peripheriegeräts zu vermeiden und Bearbeitungsarbeitsgänge des Werkstücks auszuführen.
-
DE 602005006126 T2 betrifft ein System zum Offline-Programmieren mehrerer interagierender Roboter. Der Offline-Programmcode kann in einer Computersimulation verifiziert werden und zum Steuern mehrerer interagierender Roboter heruntergeladen werden.
-
DE 102015000587 A1 betrifft eine Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms, das einem Roboter gelehrt werden soll, der zum Bearbeiten eines Werkstücks verwendet wird.
-
JP H07- 168 617 A betrifft eine Formdefinition eines Roboters und seiner Arbeitsumgebung unter Verwendung eines computergestützten Konstruktionssystems (CAD), das Lehrverfahren des Roboters zur Erzeugung simulierter Lehrdaten für den Betrieb des Roboters betrifft.
-
US 2012/0156362 A1 betrifft ein Verfahren und eine Vorrichtung zum Erzeugen einer Bewegungsbahn für eine Spritzpistole zum Beschichten eines Bauteils und ein Verfahren zur automatischen Beschichtungspfaderzeugung für ein Bauteil mit einer komplizierten Geometrie wie Turbinenschaufeln und -schaufeln, insbesondere Gasturbinenschaufeln und -schaufeln.
-
US 2015/0290801 A1 betrifft ein Lehrsystem, ein Robotersystem und ein Lehrverfahren.
-
US 2007/0242073 A1 betrifft eine Robotersimulationsvorrichtung, die die Bewegung eines Roboters auf animierte Weise simuliert.
-
US 2012/0259462 A1 betrifft eine Informationsverarbeitungsvorrichtung, ein Steuerverfahren dafür und ein Speichermedium und insbesondere eine Informationsverarbeitungsvorrichtung, die eine Erkennungseinrichtung zum Erkennen eines Arbeitsobjekts erzeugt und die dreidimensionalen Positionen und Orientierungen von gestapelten Arbeitsobjekten unter Verwendung der Erkenner generiert, um vorgegebene Arbeiten mit einem Roboter durchzuführen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Daher ist es eine Aufgabe der vorliegenden Erfindung, eine Roboterprogrammiervorrichtung bereitzustellen, die in der Lage ist, die Arbeitszeit durch einen Betreiber, die zum Bestimmen bearbeiteter Abschnitte nötig ist, deutlich zu verringern und ein Roboterprogramm zu erzeugen, wodurch ein Roboter in einer geeigneten Reihenfolge zwischen den einzelnen bearbeiteten Bereichen bewegt wird, unabhängig von dem Können oder der Erfahrung des Betreibers.
-
Nach einem Gesichtspunkt der vorliegenden Erfindung wird eine Roboterprogrammiervorrichtung zum Offline-Lehren eines Bewegungsprogramms, bei dem ein Werkstück durch ein an einem Roboter angebrachtes Werkzeug bearbeitet wird, zur Verfügung gestellt, wobei die Roboterprogrammiervorrichtung umfasst: einen 3D-Modell-Anordnungsteil, der dazu ausgebildet ist, dreidimensionale Modelle des Roboters mit dem daran angebrachten Werkzeug und eines Werkstücks in einem virtuellen Raum anzuordnen; einen Formmerkmal-Extraktionsteil, der dazu ausgebildet ist, aus dem dreidimensionalen Modell des Werkstücks Formmerkmale zu extrahieren, wobei die Formmerkmale einen Umriss und/oder eine Oberfläche einer Basisform, die einen Kreis und ein Vieleck einschließt, oder einer kombinierten Form einschließen, die durch Kombinieren mehrerer Basisformen gebildet wird, einen ersten Bezugsposition-Festlegeteil, der dazu ausgebildet ist, Formmerkmal-Bezugspositionen der Formmerkmale zu bestimmen; einen zweiten Bezugsposition-Festlegeteil, der dazu ausgebildet ist, eine Roboterbezugsposition des Roboters zu bestimmen; einen Bewegungsreihenfolge-Bestimmungsteil, der dazu ausgebildet ist, auf Basis der Formmerkmal-Bezugspositionen und der Roboterbezugsposition eine Bewegungsreihenfolge des Roboters festzulegen, in der der Roboter zwischen den Formmerkmalen bewegt wird; und einen Bewegungsprogramm-Erzeugungsteil, der dazu ausgebildet ist, ein Bewegungsprogramm des Roboters zu erzeugen, so dass der Roboter das Werkzeug entlang des Formmerkmals bewegt, und der Roboter gemäß der Bewegungsreihenfolge zwischen den Formmerkmalen bewegt wird, umfasst.
-
Bei einer bevorzugten Ausführungsform ist der 3D-Modell-Anordnungsteil dazu ausgebildet, ein dreidimensionales Modell eines peripheren Geräts in dem virtuellen Raum anzuordnen, und die Roboterprogrammiervorrichtung umfasst ferner ein Behinderungsdetektionsteil, der dazu ausgebildet ist, eine Behinderung zwischen dem Roboter oder dem Werkzeug und dem Werkstück oder dem peripheren Gerät an einem Lehrpunkt in dem Bewegungsprogramm zu detektieren; einen Nichtbehinderungsposition-Suchteil, der dazu ausgebildet ist, eine Nichtbehinderungsposition, an der der Roboter oder das Werkzeug sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, zu suchen, wenn der Behinderungsdetektionsteil eine Behinderung detektiert; und einen Lehrpunktpositions-Korrekturteil, der dazu ausgebildet ist, auf Basis eines Suchergebnisses durch den Nichtbehinderungsposition-Suchteil eine Position des Lehrpunkts zu korrigieren.
-
Figurenliste
-
Die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindungen werden durch die folgende Beschreibung ihrer bevorzugten Ausführungsformen unter Bezugnahme auf die beiliegenden Zeichnungen offensichtlicher werden, wobei
- 1 ein Blockdiagramm einer Roboterprogrammiervorrichtung nach einer bevorzugten Ausführungsform der vorliegenden Erfindung ist;
- 2 ein Beispiel eines Zustands zeigt, in dem dreidimensionale Modelle eines Roboters und eines Werkstücks in einem virtuellen Raum angeordnet sind;
- 3 ein Ablaufdiagramm ist, das ein Beispiel eines Vorgangs in der Roboterprogrammiervorrichtung von 1 zeigt
- 4 ein Beispiel eines Zustands zeigt, in dem ein Formmerkmal aus dem dreidimensionalen Modell des Werkstücks extrahiert wurde und eine Bezugsposition des Formmerkmals festgelegt ist;
- 5 ein Beispiel zeigt, bei dem das Formmerkmal parallel zu einer X-Y-Ebene des virtuellen Raums liegt;
- 6 ein anderes Beispiel für die Bezugsposition des Formmerkmals zeigt;
- 7 ein anderes Beispiel für die Bezugsposition des Roboters zeigt;
- 8 ein Beispiel einer Bewegungsreihenfolge des Roboters zeigt;
- 9 ein anderes Beispiel der Bewegungsreihenfolge des Roboters zeigt;
- 10 ein Beispiel zeigt, bei dem ein Werkzeug des Roboters entlang des Formmerkmals des Werkstücks bewegt wird;
- 11 ein anderes Beispiel zeigt, bei dem ein Werkzeug des Roboters entlang des Formmerkmals des Werkstücks bewegt wird;
- 12 ein Beispiel eines Zustands zeigt, in dem ferner ein dreidimensionales Modell eines peripheren Geräts in einem virtuellen Raum angeordnet ist;
- 13 ein Beispiel zeigt, bei dem ein Bearbeitungsabschnitt des Werkzeugs aus zu detektierenden Behinderungsobjekten ausgeschlossen wurde;
- 14 ein Beispiel zeigt, bei dem ein nicht bearbeitender Abschnitt des Werkzeugs zu den zu detektierenden Behinderungsobjekten hinzugefügt wurde;
- 15 ein Beispiel zeigt, bei dem eine Behinderung zwischen dem Werkzeug und dem peripheren Gerät an einem Lehrpunkt eines Roboterprogramms detektiert wurde;
- 16 ein Beispiel zeigt, bei dem die Behinderung durch eine Drehbewegung um einen Werkzeugmittelpunkt vermieden wird; und
- 17 ein Beispiel zeigt, bei dem die Behinderung durch eine translatorische Bewegung des Werkzeugmittelpunkts vermieden wird.
-
AUSFÜHRLICHE BESCHREIBUNGEN
-
1 ist ein Blockdiagramm einer Roboterprogrammiervorrichtung 10 (z.B. eines Personalcomputers) nach einer bevorzugten Ausführungsform der vorliegenden Erfindung. Wie in 2 veranschaulicht ist, ist die Roboterprogrammiervorrichtung 10 dazu ausgebildet, ein dreidimensionales Modell eines Roboters (z.B. eines mehrgelenkigen Roboters mit sechs Achsen) 16 mit einem Roboterarm (oder einem beweglichen Teil) 14, an dem ein Werkzeug 12 angebracht ist, und ein dreidimensionales Modell eines Werkstücks 18 in einem virtuellen Raum anzuordnen und ein Roboterbewegungsprogramm, bei dem der Roboter 16 das Werkstück 18 durch das Werkzeug 12 bearbeitet, offline zu lehren. Die Roboterprogrammiervorrichtung 10 kann eine Anzeige 20 zum Anzeigen des virtuellen Raums aufweisen.
-
Wie in 1 gezeigt weist die Roboterprogrammiervorrichtung 10 auf: einen 3D-Modell-Anordnungsteil 22, der dazu ausgebildet ist, ein dreidimensionales Modell des Roboters 16 mit dem daran angebrachten Werkzeug 12 und ein dreidimensionales Modell des Werkstücks 18 in dem virtuellen Raum anzuordnen; einen Formmerkmalextraktionsteil 24, der dazu ausgebildet ist, aus dem dreidimensionalen Modell des Werkstücks 18 Formmerkmale (wie nachstehend erklärt) zu extrahieren, wobei die Formmerkmale einen Umriss und/oder eine Oberfläche einer Basisform, die einen Kreis und ein Vieleck einschließt, oder einer kombinierten Form, die durch Kombinieren mehrerer Basisformen gebildet wird, umfassen; einen Formmerkmal-Bezugspositionfestlegeteil (oder einen ersten Bezugsposition-Festlegeteil) 26, der dazu ausgebildet ist, Formmerkmal-Bezugspositionen der Formmerkmale festzulegen; einen Roboterbezugspositions-Festlegeteil (oder einen zweiten Bezugsposition-Festlegeteil) 28, der dazu ausgebildet ist, eine Roboterbezugsposition des Roboters 16 festzulegen; einen Bewegungsreihenfolgen-Bestimmungsteil 30, der dazu ausgebildet ist, auf Basis der Formmerkmal-Bezugspositionen und der Roboterbezugsposition eine Bewegungsreihenfolge des Roboters 16 festzulegen, in der der Roboter 16 zwischen den Formmerkmalen bewegt wird; und einen Bewegungsprogramm-Erzeugungsteil 32, der dazu ausgebildet ist, ein Bewegungsprogramm des Roboters 16 derart zu erzeugen, dass der Roboter 16 das Werkzeug 12 entlang des Formmerkmals bewegt, und dass der Roboter 16 gemäß der festgelegten Bewegungsreihenfolge zwischen den Formmerkmalen bewegt wird.
-
Der 3D-Modell-Anordnungsteil 22 kann ferner ein dreidimensionales Modell eines anderen peripheren Geräts (wie nachstehend erklärt) als den Roboter 16 oder das Werkstück 18 in dem virtuellen Raum anordnen. In diesem Fall weist die Roboterprogrammiervorrichtung 10 ferner auf: einen Behinderungsdetektionsteil 34, der dazu ausgebildet ist, eine Behinderung zwischen dem Roboter 16 oder dem Werkzeug 12 und dem Werkstück 18 oder dem peripheren Gerät an einem Lehrpunkt in dem Bewegungsprogramm zu detektieren; einen Nichtbehinderungsposition-Suchteil 36, der dazu ausgebildet ist, eine Nichtbehinderungsposition, an der der Roboter 16 oder das Werkzeug 12 sich nicht mit dem Werkstück 18 oder dem peripheren Gerät behindert, zu suchen, wenn der Behinderungsdetektionsteil 34 eine Behinderung detektiert; und einen Lehrpunktpositions-Korrekturteil 38, der dazu ausgebildet ist, auf Basis eines Suchergebnisses durch den Nichtbehinderungsposition-Suchteil 36 eine Position des Lehrpunkts zu korrigieren.
-
Nachstehend wird unter Bezugnahme auf das Ablaufdiagramm von 3 ein durch die Roboterprogrammiervorrichtung 10 ausgeführtes Verfahren erklärt werden. Zuerst werden in Schritt S1 wie in 2 gezeigt die dreidimensionalen Modelle des Roboters 16 mit dem Werkzeug 12 und des Werkstücks 18 in dem virtuellen Raum angeordnet.
-
Als nächstes werden, wie in 4 gezeigt, Formmerkmale aus dem dreidimensionalen Modell des Werkstücks 18 extrahiert, wobei die Formmerkmale einen Umriss und/oder eine Oberfläche einer Basisform, die einen Kreis und ein Vieleck einschließt, oder einer kombinierten Form, die durch Kombinieren mehrerer Basisformen gebildet wird, umfassen (Schritt S2). Zum Beispiel können Abschnitte durch vorheriges Identifizieren von farbcodierten Abschnitten (oder Endflächen von Säulen) 40a bis 40d des CAD-Modells des Werkstücks die Abschnitte als Formmerkmale extrahiert werden. Für diese Identifikation können verschiedene Bedingungen bestimmt werden; zum Beispiel kann ein Schwellenwert der Länge eines extrahierten Umrisses (oder Profils) oder ein Schwellenwert der Flächenabmessung einer extrahierten Oberfläche bestimmt werden. Ferner kann bei Vorhandensein von zwei Umrissen an der Innenseite und der Außenseite des Formmerkmals bestimmt werden, welcher Umriss extrahiert werden soll. Ferner kann eine Bewegungsrichtung des Werkzeugs entlang des Umrisses oder der Oberfläche des Formmerkmals bestimmt werden.
-
Wie in 4 gezeigt kann ein Anfangspunkt der Bewegung des Roboters 16 an jedem der Formmerkmale 40a bis 40d festgelegt werden. Zum Beispiel kann der Anfangspunkt der Bewegung des Roboters auf einen Punkt (44a bis 44d) auf dem Umriss jedes Formmerkmals festgelegt werden, der einem Ursprungspunkt des Roboters (z.B. einem Ursprungspunkt eines Roboterkoordinatensystems 42) am nächsten liegt.
-
Ansonsten kann der Anfangspunkt der Bewegung des Roboters auf einen Punkt derart festgelegt werden, dass Werte der X-, Y- und Z-Richtung des Formmerkmals in Bezug auf den Ursprungspunkt des virtuellen Raums (z.B. den Ursprungspunkt eines Koordinatensystems 46 des virtuellen Raums) maximiert oder minimiert werden. In dieser Hinsicht zeigt 5 ein Beispiel, bei dem das Formmerkmal parallel zu der X-Y-Ebene des virtuellen Raums liegt und der Anfangspunkt der Bewegung des Roboters 16 auf einen Punkt (Xmax) des Formmerkmals mit dem maximalen X-Koordinaten-Wert festgelegt ist.
-
Bei dem nächsten Schritt S3 werden Bezugspositionen der Formmerkmale festgelegt. Zum Beispiel können die wie in 4 gezeigten Anfangspunkte 44a bis 44d der Bewegung des Roboters 16 als die Bezugspositionen der jeweiligen Formmerkmale festgelegt werden. Oder es können wie in 6 gezeigt Mittelpunkte 48a bis 48d von jeweiligen Formmerkmalen 40a bis 40d als die Bezugspositionen der Formmerkmale festgelegt werden.
-
Bei dem nächsten Schritt S4 wird eine Bezugsposition des Roboters festgelegt. Zum Beispiel kann eine gegenwärtige Position 50 eines vorderen Endes des Werkzeugs 12 (oder ein Werkzeugmittelpunkt) des Roboters 16 (siehe 4) als die Bezugsposition des Roboters festgelegt werden. Ansonsten kann, wie in 7 gezeigt, eine Position, auf welche der Werkzeugmittelpunkt 50 gelegt ist und die von dem Anfangspunkt der Roboterbewegung, der dem Roboterursprungspunkt am nächsten liegt (bei der veranschaulichten Ausführungsform der Anfangspunkt 44b), vertikal nach oben versetzt ist, als die Bezugsposition des Roboters festgelegt werden.
-
Bei dem nächsten Schritt S5 wird auf Basis der Bezugspositionen der Formmerkmale und der Bezugsposition des Roboters eine Bewegungsreihenfolge festgelegt, in der der Roboter 16 (sein Werkzeug 12) zwischen den Formmerkmalen bewegt wird. Wie in 8 veranschaulicht kann als Verfahren zum Festlegen der Bewegungsreihenfolge, in der der Roboter 16 zwischen den Formmerkmalen 40a bis 40d bewegt wird, wie nachstehend beschrieben eine Lösung für das „Problem des Handlungsreisenden“ verwendet werden.
-
Zuerst wird ein Bewegungspfad des Roboters 16 zufällig ausgewählt, der an der Bezugsposition des Roboters beginnt, der Reihe nach durch die Bezugspositionen 48a bis 48d der Formmerkmale 40a bis 40d verläuft und zu der Bezugsposition des Roboters zurückkehrt. Dann wird die Länge des Bewegungspfads berechnet und als vorläufige kürzeste Strecke bestimmt. Als nächstes wird wie in 9 gezeigt ein anderer Bewegungspfad des Roboters 16 zufällig ausgewählt, der an der Bezugsposition des Roboters beginnt, der Reihe nach durch die Bezugspositionen 48a bis 48d der Formmerkmale 40a bis 40d verläuft, und zu der Bezugsposition des Roboters zurückkehrt. Dann, wenn die Länge des anderen Bewegungspfads kürzer als die oben genannte vorläufig bestimmte kürzeste Strecke ist, wird die Länge des anderen Bewegungspfads als neue kürzeste Strecke aktualisiert. Durch Wiederholen dieser Prozesse für eine vorbestimmte Anzahl von Wiederholungen (oder durch Berechnen der Längen aller Bewegungspfade) kann ein optimaler Bewegungspfad mit der kürzesten Strecke erhalten werden. Wenn zum Beispiel der Pfad, der in 9 gezeigt ist, die kürzeste Strecke aufweist, lautet die Bewegungsreihenfolge zum Bewegen des Roboters zwischen den einzelnen Formmerkmalen (48b → 48a → 48c → 48d) oder umgekehrt.
-
Neben dem in 8 und 9 gezeigten Verfahren zum Bestimmen des kürzesten Pfads können verschiedene Verfahren verwendet werden. Es kann auch eine andere Lösung für das „Problem des Handlungsreisenden“ verwendet werden, um die Bewegungsreihenfolge, entlang der der Roboter zwischen den einzelnen Formmerkmalen bewegt wird, zu bestimmen.
-
Bei dem nächsten Schritt S6 wird ein Bewegungsprogramm des Roboters 16 so erzeugt, dass der Roboter 16 das Werkzeug 12 entlang der Formmerkmale 40a bis 40d bewegt, und das Werkzeug 12 gemäß der bei Schritt S5 festgelegten Bewegungsreihenfolge zwischen den Formmerkmalen 40a bis 40d bewegt wird. Konkret werden eine Bewegungsart, eine Geschwindigkeit, eine Position und eine Lage eines Lehrpunkts, erzeugt aus den Formmerkmalen 40a bis 40d, bestimmt. Dann wird das Bewegungsprogramm des Roboters 16 auf Basis der bestimmten Bewegungsart, der bestimmten Geschwindigkeit, der bestimmten Position und der bestimmten Lage so erzeugt, dass der Roboter 16 das Werkzeug 12 entlang der Formmerkmale 40a bis 40d bewegt und der Roboter 16 gemäß der bestimmten Bewegungsreihenfolge zwischen den Formmerkmalen 40a bis 40d bewegt wird.
-
Als ein Beispiel für die Bewegung des Werkzeugs 12 entlang der Formmerkmale 40a bis 40d kann ein vorderer Punkt des Werkzeugs 12 dem Umriss eines jeden der Formmerkmale 40a bis 40d folgen, wie in 10 gezeigt ist. Als anderes Beispiel kann das Werkzeug 12 dann, wenn das Werkzeug 12 ein scheibenförmiges Schleifelement aufweist, so bewegt werden, dass das Schleifelement des Werkzeugs 12 die Oberfläche jedes Formmerkmals 40a bis 40d poliert, wie in 11 gezeigt ist.
-
Wie oben erklärt kann bei der vorliegenden Offenbarung die Abfolge des Vorgangs (d.h., Extrahieren der mehreren Formmerkmale des CAD-Modells des Werkstücks; Festlegen der Bezugspositionen der Formmerkmale und der Bezugsposition des Roboters; Bestimmen der passenden Bewegungsreihenfolge zum Bewegen des Roboters zwischen den Formmerkmalen; und Erzeugen des Bewegungsprogramms derart, dass das Werkzeug entlang der Formmerkmale bewegt wird und der Roboter gemäß der bestimmen Reihenfolge bewegt wird) automatisch ausgeführt werden. Daher ist es dann, wenn ein Roboterprogramm hinsichtlich einer Bearbeitung wie etwa Abgraten oder Schweißen gelehrt werden soll, nicht nötig, dass der Betreiber manuell einen zu bearbeitenden Abschnitt an dem CAD-Modell des Werkstücks bestimmt, wodurch die Arbeitszeit deutlich verringert werden kann. Ferner kann das Roboterprogramm, um den Roboter in der passenden Reihenfolge zwischen den Abschnitten zu bewegen, unabhängig von der Erfahrung und dem Können des Betreibers erhalten werden.
-
12 zeigt ein Beispiel, bei dem zusätzlich zu den dreidimensionalen Modellen des Roboters 16 und des Werkstücks 18 ein dreidimensionales Modell eines peripheren Geräts 52 in dem virtuellen Raum angeordnet wird. Durch das Anordnen des peripheren Geräts 52 in dem virtuellen Raum kann zusätzlich zu einer Behinderung zwischen dem Roboter 16 (dem Werkzeug 12) und dem Werkstück 18 eine Behinderung zwischen dem peripheren Gerät 52 und dem Roboter 16 (dem Werkzeug 12) überprüft werden, wenn der Roboter 16 zu jedem Lehrpunkt in dem Bewegungsprogramm des Roboters bewegt wird.
-
In diesem Zusammenhang kann wie in 13 gezeigt ein Werkzeugbearbeitungsabschnitt 54 des Werkzeugs 12 (in 13 durch eine Schraffierung angegeben) bestimmt werden, der direkt mit dem Werkstück 18 in Kontakt kommen oder diesem nahe kommen kann, um den Werkzeugbearbeitungsabschnitt 54 aus Detektionsobjekten hinsichtlich einer Behinderung zwischen dem Werkzeug 12 und dem Werkstück 18 oder dem peripheren Gerät 52 auszuschließen. Dadurch wird eine Behinderung zwischen dem Werkzeugbearbeitungsabschnitt 54 und dem Werkstück 18 oder dem peripheren Gerät 52 nicht detektiert. Ansonsten kann, wie in 14 gezeigt, ein nicht bearbeitender Werkzeugabschnitt 56 des Werkzeugs 12 (in 14 durch eine Schraffierung angedeutet), der von dem Werkzeugbearbeitungsabschnitt 54 verschieden ist, als das Detektionsobjekt zur Überprüfung einer Behinderung bestimmt werden. Auch in diesem Fall wird eine Behinderung zwischen dem Werkzeugbearbeitungsabschnitt 54 und dem Werkstück 18 oder dem peripheren Gerät 52 nicht detektiert.
-
15 zeigt ein Beispiel, bei dem eine Behinderung zwischen einem Werkzeug 12 und einem peripheren Gerät 52 an einem bestimmten Lehrpunkt in dem Bewegungsprogramm detektiert wird. In einem solchen Fall kann durch eine translatorische Bewegung des Werkzeugmittelpunkts und/oder eine Drehbewegung des Roboters um den Werkzeugmittelpunkt eine Position zur Vermeidung der Kollision gesucht werden.
-
Als ein konkretes Beispiel zeigt 16, dass um eine Position, an der eine Behinderung zwischen dem Roboter 16 (dem Werkzeug 12) und dem peripheren Gerät 52 detektiert wird, eine Drehbewegung (w, p, r) des Roboters innerhalb eines vorbestimmten Suchbereichs (oder Winkelbereichs) vorgenommen wird, um eine Position zu suchen, an der der Roboter 16 (das Werkzeug 12) sich nicht mit dem peripheren Gerät 52 behindert. Andererseits zeigt 17 ein Beispiel, bei dem in Bezug auf eine Position, an der eine Behinderung zwischen dem Roboter 16 (dem Werkzeug 12) und dem peripheren Gerät 52 detektiert wird, eine translatorische Bewegung (x, y, z) des Werkzeugmittelpunkts innerhalb eines vorbestimmten Suchbereichs vorgenommen wird, um eine Position zu suchen, an der der Roboter 16 (das Werkzeug 12) sich nicht mit dem peripheren Gerät 52 behindert.
-
In diesem Zusammenhang kann bei der translatorischen Bewegung oder der Drehbewegung zum Suchen der Position, an der der Roboter sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, ein Suchbereich in jeder Richtung bestimmt werden. Ferner kann bei der translatorischen Bewegung oder der Drehbewegung zum Suchen der Position, an der der Roboter sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, die Zulässigkeit/Unzulässigkeit des Suchens in jeder Richtung festgelegt oder geschaltet werden (zum Beispiel ist die Suche in der X- und der Y-Richtung zulässig und die Suche in der Z-Richtung unzulässig). Zudem kann bei der translatorischen Bewegung oder der Drehbewegung zum Suchen der Position, an der der Roboter nicht mit dem Werkstück oder dem peripheren Gerät kollidiert, eine Suchreihenfolge der Richtungen festgelegt oder geändert werden.
-
Nach dem Erhalt eines Suchergebnisses hinsichtlich einer Position (oder einer Nichtbehinderungsposition), an der der Roboter sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, wird die Position des Lehrpunkts korrigiert. Bei einem Verfahren, das als Verfahren zur Korrektur der Position des Lehrpunkts auf Basis des Suchergebnisses der Nichtbehinderungsposition bezeichnet werden kann, wird die Position, an der der Roboter sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, sequentiell auf Basis der Zulässigkeit/Unzulässigkeit der Suche und der Suchreihenfolge gesucht, die zuerst gesuchte Position wird als Suchergebnis bestimmt, bei dem der Roboter sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, und dann wird die Position des Lehrpunkts auf Basis des Suchergebnisses korrigiert. In diesem Fall kann auf das Suchen der anderen Nichtbehinderungspositionen in jeder Richtung nach der zuerst gesuchten Position verzichtet werden.
-
Ansonsten werden bei einem anderen Verfahren, das als Verfahren zur Korrektur der Position des Lehrpunkts auf Basis des Suchergebnisses der Nichtbehinderungsposition bezeichnet werden kann, die Positionen, an denen der Roboter sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, auf Basis der Zulässigkeit/Unzulässigkeit der Suche und der Suchreihenfolge gesucht, alle gesuchten Nichtbehinderungspositionen werden mit entsprechenden Positionen, an denen die Behinderung stattfindet, verglichen, eine Nichtbehinderungsposition, bei welcher der Unterschied zwischen der Nichtbehinderungsposition und der Position, an der die Behinderung stattfindet, am kleinsten ist, als Suchergebnis der Nichtbehinderungsposition bestimmt, und dann wird die Position des Lehrpunkts auf Basis des Suchergebnisses korrigiert. In diesem Fall wird die Nichtbehinderungsposition in Bezug auf alle Richtungen, die als zulässig festgelegt sind und durch die Suchreihenfolge angegeben sind, gesucht.
-
Bei dem in 16 oder 17 gezeigten Beispiel kann ein Programm, bei dem der Roboter oder das Werkzeug sich nicht mit dem Werkstück oder dem peripheren Gerät behindert, automatisch erzeugt werden und daher kann die Arbeitszeit, die zum Bestätigen des Programms und/oder zum Korrigieren des Lehrpunkts usw. erforderlich ist, deutlich verringert werden kann.
-
Bei der obigen Ausführungsform wurde die Roboterprogrammiervorrichtung als Personal Computer erklärt. Die vorliegende Erfindung als solche ist jedoch nicht beschränkt, und die Roboterprogrammiervorrichtung kann zum Beispiel eine andere Vorrichtung mit einer gleichwertigen Funktion sein. Ansonsten kann die Funktion der Roboterprogrammiervorrichtung als Prozessor usw. in eine Robotersteuerung zur Steuerung des tatsächlichen Roboters aufgenommen sein.
-
Nach der vorliegenden Offenbarung kann dann, wenn ein Roboterprogramm hinsichtlich einer Bearbeitung wie etwa Abgraten oder Schweißen gelehrt werden muss, die Arbeitszeit, die zum manuellen Bestimmen der bearbeiteten Abschnitte an einem CAD-Modell eines Werkstücks durch einen Betreiber erforderlich ist, deutlich verringert werden. Ferner kann ein Roboterprogramm, durch welches ein Roboter in einer geeigneten Reihenfolge zwischen den einzelnen Abschnitten bewegt werden kann, unabhängig von dem Können oder der Erfahrung des Betreibers erhalten werden.