-
QUERVERWEIS AUF VERWANDTE
ANMELDUNGEN
-
Die
vorliegende Anmeldung basiert auf der japanischen Patentanmeldung
2005-338765, die
am 24. November 2005 angemeldet wurde. Die vorliegende Anmeldung
beansprucht die Vorteile der Priorität aus der japanischen Patentanmeldung,
so dass die Beschreibungen derselben hier durch Bezugnahme voll
miteinbezogen werden.
-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Vermeiden einer
Interferenz zwischen einer Vielzahl an Robotern in einem Überlappungsabschnitt
zwischen Besetzungszonen einer Vielzahl von Robotern, und auch einen
Roboter, der eine Interferenz mit einem anderen Roboter in einem Überlappungsabschnitt
zwischen den Besetzungszonen des Roboters und des anderen Roboters
vermeiden kann.
-
HINTERGRUND
DER ERFINDUNG
-
Die
US Patentveröffentlichung
Nr. 5,561,742, die der japanischen Patentveröffentlichung Nr. 2895672 entspricht,
offenbart ein Steuerverfahren für
viele Roboter, um eine Interferenz zwischen einer Vielzahl von Robotern
zu vermeiden, wenn diese einen Befehl erhalten, um zur gleichen Zeit
betätigt
zu werden.
-
Bei
dem Verfahren, welches in der US Patentveröffentlichung offenbart ist,
zeigt 9 eine Draufsicht,
die schematisch einen ersten und einen zweiten Roboter RA und RB
veranschaulicht, die jeweils auf einer gemeinsamen Ebene über Basen
Sa und Sb montiert sind. Der erste und der zweite Roboter sind schematisch
als vertikalgelenkige Roboter veranschaulicht und die Basen Sa und
Sb sind schematisch als Kreise veranschaulicht.
-
In 9 bezeichnen die Bezugszeichen
Aa und Ab jeweils erste und zweite Arme des ersten und zweiten Roboters
RA und RB und die Bezugszeichen Wa und Wb bezeichnen jeweils Handgelenkabschnitte
des ersten und des zweiten Roboters RA und RB. Jeder der Handgelenkabschnitte
Wa und Wb besteht aus einem Handgelenk und einer Hand.
-
Wie
in 9 veranschaulicht
ist bildet eine Linie, welche die Zentren der Basen Sa und Sb verbindet,
eine Y-Achse, und eine Linie auf der gemeinsamen Ebene und senkrecht
zu der Y-Achse bildet eine X-Achse, und eine Richtung orthogonal
zu der gemeinsamen Ebene (X-Y-Ebene) wird als Z-Achse betrachtet.
Somit wird ein X-Y-Z-Koordinatensystem definiert.
-
Der
erste und der zweite Roboter RA und RB sind so programmiert, dass
sie gleichzeitig arbeiten.
-
Bei
dem Verfahren wird ein Betriebsbefehl oder Betätigungsbefehl zu einem Controller
(nicht gezeigt) von sowohl dem ersten als auch dem zweiten Roboter
RA und RB gesendet. Der Betätigungsbefehl
ermöglicht
es dem Controller den ersten Roboter RA so zu steuern, dass der
Handgelenkabschnitt Wa des ersten Armes Aa des Roboters RA sich
zu einer Zielposition PA bewegt, der dort gelegen ist. Gleichzeitig
wird ein Betätigungsbefehl
zu dem Controller gesendet. Der Betätigungsbefehl oder Betriebsbefehl
ermöglicht
es dem Controller den zweiten Roboter RB so zu steuern, dass der Handgelenkabschnitt
Wb des zweiten Armes Ab des Roboters RB sich zu einer Zielposition
PB hin bewegt, die dort gelegen ist.
-
In 9 repräsentiert eine Kugel Cha eine Zone,
die den Handgelenkabschnitt Wa überdeckt oder
abdeckt, bestehend aus dem Handgelenk und der Hand des ersten Armes
Aa und die bei der Zielposition PA gelegen ist. Gleichzeitig repräsentiert
ein kugelför miger
Bereich Chb eine Zone, welche den Handgelenkabschnitt abdeckt oder überdeckt,
bestehend aus dem Handgelenk und der Hand des zweiten Armes Ab und
welcher bei der Zielposition PB gelegen ist.
-
Zu
diesem Zeitpunkt erhält
der Controller eine X-Z-Ebene Pa, die auf eine Position (Y-Koordinatenwert)
eingestellt ist und eine erste Spezialzone MA des Roboters basierend
auf der X-Z-Ebene Pa definiert und zwar in solcher Weise, dass die X-Z-Ebene Pa den Kugelbereich
Cha kontaktiert und diesen innerhalb der ersten Spezialzone MA des
Roboters empfängt.
-
Gleichzeitig
erhält
der Controller eine X-Z-Ebene Pb, die auf eine Position (Y-Koordinatenwert)
eingestellt ist und eine zweite Spezialzone MB des Roboters definiert
basierend auf der X-Z-Ebene Pb in solcher Weise, dass die X-Z-Ebene
Pb den kugelförmigen
Bereich Chb kontaktiert und diesen innerhalb der zweiten Spezialzone
MB des Roboters empfängt
oder aufnimmt.
-
Der
Controller bestimmt, ob die erste Spezialzone MA des Roboters und
die zweite Spezialzone MB des Roboters sich wenigstens teilweise
miteinander überlappen.
-
Wie
beispielsweise in 9 veranschaulicht ist überlappen
sich die erste Spezialzone MA des Roboters und die zweite Spezialzone
MB des Roboters miteinander.
-
Aus
diesem Grund bremst der Controller die Bewegung von einem der Arme
gemäß dem ersten und
dem zweiten Roboterarm Aa und Ab zu einer Zeitlage, wenn bestimmt
wird, dass die erste Spezialzone MA des Roboters und die zweite
Spezialzone MB des Roboters sich wenigstens teilweise miteinander überlappen.
-
Mit
anderen Worten verhindert der Controller, dass einer der Arme gemäß den Roboterarmen Aa
und Ab sich bewegt, so dass ein Arm gemäß den Roboterarmen Aa und Ab
in Ruhestellung gehalten wird, während
sich der andere der Roboterarme Aa und Ab zu der entsprechenden
Zielposition hin bewegt. Der Controller führt wiederholt diese Bestimmung
durch.
-
Wenn
danach aufgrund der Bewegung des anderen der Roboterarme Aa und
Ab bestimmt wird, dass die erhaltene erste Spezialzone MA des Roboters
und die zweite Spezialzone MB des Roboters voneinander getrennt
sind, startet der Controller erneut die Bewegung von dem einen der
Roboterarme Aa und Ab zu der entsprechenden Zielposition hin.
-
Obwohl
bei diesem Verfahren die Handgelenkabschnitte Wa und Wb des ersten
und des zweiten Roboterarmes Aa und Ab miteinander interferieren
können
und zwar lediglich dann, wenn sie gleichzeitig in die jeweiligen
Spezialzonen MA und MB eindringen, bremst der Controller jedes Mal,
wenn bestimmt wird, dass sich die erste Spezialzone MA des Roboters
mit der zweiten Spezialzone MB des Roboters wenigstens teilweise überlappt,
die Bewegung von einem der Arme gemäß dem ersten und dem zweiten
Arm Aa und Ab und hält
diesen in einen Ruhezustand.
-
Demzufolge
kann dieses Verfahren die Zeitdauer erhöhen bevor die Handgelenkabschnitte
Wa und Wb des ersten und des zweiten Roboters RA und RB vollständig zu
deren entsprechenden Zielpositionen PA und PB jeweils bewegt werden.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Im
Hinblick auf den oben erläuterten
Hintergrund besteht die Aufgabe der Erfindung gemäß einem
Aspekt der Erfindung darin selbst dann, wenn bestimmt wird, dass
ein erster bewegbarer Teil eines ersten Roboters und ein zweiter
bewegbarer Teil eines zweiten Roboters sich gegenseitig stören und zwar
bei einer Bewegung des ersten und des zweiten bewegbaren Teiles
zu den jeweiligen ersten und zweiten Zielpositionen hin, das erste
und das zweite bewegbare Teil jeweils zu der entsprechenden ersten beziehungsweise
zweiten Zielposition unmittelbar hin bewegt werden können.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Verfahren zum Vermeiden
einer Interferenz zwischen einem ersten und einem zweiten bewegbaren
Teil des ersten und des zweiten Roboters während der Bewegung des ersten
und des zweiten bewegbaren Teiles zu der ersten beziehungsweise
zweiten Zielposition hin geschaffen. Das Verfahren umfasst das Definieren
einer ersten Besetzungszone für
das erste bewegbare Teil des ersten Roboters bei der ersten Zielposition.
Die erste Besetzungszone hängt
von einer Positionierung des ersten bewegbaren Teiles ab, welches
an der ersten Zielposition gelegen ist, und definiert einen Interferenzbereich
der Positionierung des ersten bewegbaren Teiles. Das Verfahren umfasst
das Definieren einer zweiten Besetzungszone für das zweite bewegbare Teil
des zweiten Roboters bei der zweiten Zielposition. Die zweite Besetzungszone
hängt von
einer Positionierung des zweiten bewegbaren Teiles ab, welches an
der zweiten Zielposition gelegen ist, und definiert einen Interferenzbereich
der Positionierung des zweiten bewegbaren Teiles. Das Verfahren
umfasst eine Bestimmung, ob eine Interferenzzone vorhanden ist,
in welcher sich die erste Besetzungszone und die zweite Besetzungszone
wenigstens teilweise miteinander überlappen. Das Verfahren umfasst
ein Bestimmen, ob wenigstens eines der Teile entsprechend dem ersten
und dem zweiten bewegbaren Teil wenigstens teilweise in der Interferenzzone
gelegen ist und zwar basierend auf den tatsächlichen oder aktuellen Positionen
des jeweiligen ersten und zweiten bewegbaren Teiles. Das Verfahren
enthält
das Einleiten eines Stoppvorganges und zwar zu einer vorbestimmten
Zeitlage, das Bewegen von einem der Teile gemäß dem ersten und dem zweiten
bewegbaren Teil, wenn bestimmt wird, dass eine Interferenzzone vorhanden
ist und dass sich das andere der ersten und zweiten bewegbaren Teile
wenigstens teilweise innerhalb der Interferenzzone befindet. Die
vorbestimmte Zeitlage wird basierend auf einer Positionsbeziehung
zwischen der tatsächlichen
Position von einem Teil gemäß dem ersten
und dem zweiten bewegbaren Teil und der Interferenzzone bestimmt.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird ein Roboter geschaffen,
der mit einem anderen Roboter kommunizieren kann. Der Roboter enthält ein erstes
bewegbares Teil und eine Operationseinheit, die dafür konfiguriert
ist, um das erste bewegbare Teil so zu betätigen, so dass das erste bewegbare
Teil zu einer ersten Zielposition hin bewegt wird. Der Roboter enthält ein erstes
bewegbares Teil und eine Operationseinheit, die dafür konfiguriert
ist, um das erste bewegbare Teil so zu betätigen, um das erste bewegbare
Teil zu einer ersten Zielposition zu bewegen. Der Roboter enthält eine
Definierungseinheit, die dafür
konfiguriert ist, um eine erste Besetzungszone für das erste bewegbare Teil
an der ersten Zielposition zu definieren. Die erste Besetzungszone
hängt von
der Positionierung des ersten bewegbaren Teiles ab, welches an der
ersten Zielposition gelegen ist, und definiert einen Interferenzbereich
der Positionierung des ersten bewegbaren Teiles. Der Roboter enthält eine
Zugriffseinheit, die dafür
konfiguriert ist, um auf einen anderen Roboter mit einem zweiten
bewegbaren Teil zuzugreifen und zwar während der Bewegung, um Informationen abzuleiten,
welche eine zweite Besetzungszone für das zweite bewegbare Teil
an einer zweiten Zielposition und eine aktuelle Position des zweiten
bewegbaren Teiles angeben. Die zweite Besetzungszone hängt von
einer Positionierung des zweiten bewegbaren Teiles ab, welches an
der zweiten Zielposition gelegen ist, und es wird ein Interferenzbereich
der Positionierung des zweiten bewegbaren Teiles definiert. Der
Roboter enthält
eine erste Bestimmungseinheit, die dafür konfiguriert ist, zu bestimmen,
ob eine Interferenzzone vorhanden ist, in welcher sich die erste
Besetzungszone und die zweite Besetzungszone einander wenigstens
teilweise überlappen.
Der Roboter enthält
eine zweite Bestimmungseinheit, die dafür ausgelegt ist zu bestimmen,
ob das zweite bewegbare Teil wenigstens teilweise in der Interferenzzone
gelegen ist, basierend auf der erhaltenen tatsächlichen Position desselben.
Der Roboter enthält
eine Anhalte-Einheit, die dafür
ausgelegt ist das Anhalten zu einer vorbestimmten Zeitlage von der
Bewegung des ersten bewegbaren Teiles zu beginnen, wenn bestimmt
wird, dass eine Interferenzzone vorhanden ist und dass das zweite
bewegbare Teil teilweise in der Interferenzzone gelegen ist. Die vorbestimmte
Zeitlage wird basierend auf einer Positionsbeziehung zwischen einer
tatsächlichen
Position des ersten bewegbaren Teiles und der Interferenzzone bestimmt.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein Roboter-Controller für einen
Roboter realisiert, der mit dem anderen Roboter kommunizieren kann
und ein erstes bewegbares Teil aufweist. Der Roboter-Controller
ist betriebsmäßig mit
einer Anhalte-Einheit verbunden. Der Roboter-Controller ist so programmiert,
um das erste bewegbare Teil zu betätigen, um dieses erste bewegbare
Teil zu einer ersten Zielposition hin zu bewegen, und um eine erste
Besetzungszone für
das erste bewegbare Teil an der ersten Zielposition zu definieren. Die
erste Besetzungszone an der ersten Zielposition hängt von
einer Positionierung des ersten bewegbaren Teiles ab, welches an
der ersten Zielposition gelegen ist, und identifiziert einen Interferenzbereich der
Positionierung des ersten bewegbaren Teiles. Der Roboter-Controller
ist so programmiert, um auf den anderen Roboter mit einem zweiten
bewegbaren Teil während
der Bewegung zuzugreifen, um Informationen abzuleiten, die eine
zweite Besetzungszone angeben und zwar für das zweite bewegbare Teil an
einer zweiten Zielposition, und eine aktuelle Position des zweiten
bewegbaren Teiles beschreiben. Die zweite Belegungs- oder Besetzungszone
an der zweiten Zielposition hängt
von einer Positionierung (pose) des zweiten bewegbaren Teiles ab,
welches an der zweiten Zielposition gelegen ist, und identifiziert
einen Interferenzbereich der Positionierung des zweiten bewegbaren
Teiles. Der Roboter-Controller ist dafür programmiert, um zu bestimmen,
ob eine Interferenzzone vorhanden ist, in welcher die erste Besetzungszone
und die zweite Besetzungszone sich wenigstens teilweise miteinander überlappen.
Der Roboter-Controller ist dafür
programmiert, um zu bestimmen, ob das zweite bewegbare Teil sich
wenigstens teilweise in der Interferenzzone befindet, basierend
auf der erhaltenen aktuellen Position desselben. Der Roboter-Controller
ist so programmiert, um die Anhalteeinheit zu steuern, um einen
Anhaltevorgang zu beginnen und zwar zu einer vorbestimmten Zeitsteuerung
oder Zeitlage, und zwar die Bewegung des ersten bewegbaren Teiles
zu stoppen, wenn bestimmt wird, dass eine Interferenzzone vorhanden
ist und dass das zweite bewegbare Teil wenigstens teilweise in der
Interferenzzone gelegen ist. Die vorbestimmte Zeitsteuerung oder
Zeitlage wird basierend auf einer Positionsbeziehung zwischen einer
aktuellen Position des ersten bewegbaren Teiles und der Interferenzzone
bestimmt.
-
KURZE
BESCHREIBUNG DER ZEICHNUNGEN
-
Andere
Ziele und Aspekte der Erfindung ergeben sich klarer aus der folgenden
Beschreibung von Ausführungsformen
unter Hinweis auf die beigefügten
Zeichnungen, in welchen zeigen:
-
1 eine
Draufsicht, die schematisch ein Beispiel einer Konstruktion eines
Arbeitssystems veranschaulicht, welches im Wesentlichen aus einem ersten
und einem zweiten Roboter besteht, gemäß einer Ausführungsform
der vorliegenden Erfindung;
-
2 eine
perspektivische Ansicht, die schematisch ein Beispiel der Hardwarekonfiguration von
jedem der Roboter gemäß dem ersten
und dem zweiten Roboter gemäß der Ausführungsform
der vorliegenden Erfindung darstellt;
-
3 ein
Blockdiagramm, welches schematisch ein Beispiel einer Systemkonfiguration
von jedem Roboter gemäß dem ersten
und dem zweiten Roboter wiedergibt, die in 2 veranschaulicht sind;
-
4 eine
vergrößerte perspektivische
Ansicht, die schematisch ein Beispiel eines feststehenden oder festgelegten
dreidimensionalen Koordinatensystems eines Flansches eines Roboterkörpers veranschaulicht
und zwar von jedem Roboter gemäß dem ersten
und dem zweiten Roboter gemäß der Ausführungsform;
-
5 ist
eine vergrößerte perspektivische Ansicht,
die schematisch ein Beispiel der Konfiguration einer Besetzungszone
wiedergibt, die bei einem Handabschnitt des Roboterkörpers von
jedem Roboter gemäß dem ersten
und dem zweiten Roboter entsprechend der Ausführungsform definiert ist;
-
6 ein
Flussdiagramm, welches schematisch eine Roboter-Bewegungsaufgabe
wiedergibt, die durch einen Controller von jedem Roboter gemäß dem ersten
und dem zweiten Roboter entsprechend der Ausführungsform ausgeführt werden
soll;
-
7A eine
vergrößerte Ansicht,
die schematisch eine Positionsbeziehung zwischen ersten und zweiten
Besetzungszonen und dem ersten und dem zweiten Roboter gemäß der Ausführungsform wiedergibt;
-
7B eine
vergrößerte Ansicht,
die schematisch eine andere Positionsbeziehung zwischen der ersten
und zweiten Besetzungszone und dem ersten und dem zweiten Roboter
gemäß der Ausführungsform
zeigt;
-
8A eine
vergrößerte Ansicht,
die schematisch eine Positionsbeziehung zwischen der ersten und
zweiten Besetzungszone, einer dazwischen befindlichen Interferenzzone
und dem ersten und dem zweiten Roboter gemäß der Ausführungsform veranschaulicht;
-
8B eine
vergrößerte Ansicht,
die schematisch eine andere Positionsbeziehung zwischen der ersten
und der zweiten Besetzungszone, der dazwischen befindlichen Interferenzzone
und dem ersten und dem zweiten Roboter gemäß der Ausführungsform wiedergibt;
-
8C eine
vergrößerte Ansicht,
die schematisch eine Positionsbeziehung zwischen der ersten und
der zweiten Besetzungszone und dem ersten und dem zweiten Roboter
gemäß der Ausführungsform
veranschaulicht;
-
8D eine
vergrößerte Ansicht,
die schematisch eine andere Positionsbeziehung zwischen der ersten
und der zweiten Besetzungszone und dem ersten und dem zweiten Roboter
gemäß der Ausführungsform
zeigt;
-
8E eine
vergrößerte Ansicht,
die schematisch eine weitere Positionsbeziehung zwischen der ersten
und der zweiten Besetzungszone, der dazwischen befindlichen Interferenzzone
und dem ersten und dem zweiten Roboter gemäß der Ausführungsform wiedergibt; und montieren.
Der zweite Roboter 2 ist dafür programmiert, um den zweiten
Prozess an dem Werkstück 4 auszuführen, welches
auf dem Arbeitstisch 6 angeordnet ist.
-
Wenn,
wie in 1 veranschaulicht ist, eine X-Y-Ebene in der Anordnungs-Ebene definiert ist, und
eine Z-Achse so definiert ist, dass sie orthogonal zu der X-Y-Ebene verläuft, so
besitzt der erste Roboter 1 einen vorbestimmten dreidimensionalen
ersten Arbeitsraum E1 in dem X-Y-Z-Koordinatenraum. In ähnlicher
Weise besitzt der zweite Roboter 2 einen zweiten vorbestimmten
dreidimensionalen Arbeitsraum E2 in dem X-Y-Z-Koordinatenraum.
-
Der
erste Arbeitsraum E1 und der zweite Arbeitsraum E2 überlappen
einander und zwar an einem Bereich, welcher die Palette 5 abdeckt.
Der Überlappungsraum
B dient als ein gemeinsam genutzter Raum B des ersten und des zweiten
Roboters 1 und 2, was in 1 durch
Strichlierung veranschaulicht ist.
-
Ein
Beispiel der Konstruktion des ersten Roboters 1 wird im
Folgenden beschrieben. Es sei darauf hingewiesen, dass die Konstruktion
des zweiten Roboters 2 identisch mit derjenigen des ersten
Roboters 1 ist. Aus diesem Grund bezeichnen ähnliche oder
gleiche Bezugszeichen identische Komponenten des ersten und des
zweiten Roboters 1 und 2 und es wird daher eine
Beschreibung der Konstruktion des zweiten Roboters 2 weggelassen
oder vereinfacht.
-
Gemäß 2 enthält der erste
Roboter 1 gemäß der Ausführungsform
einen Roboterkörper 7a1, einen
Controller 8a1 zum Steuern des Roboterkörpers 7a1, ein Lehr-Pendant 9a1 und
eine Lehr-Box für
den Controller 8a1. Der Roboterkörper 7a1 ist elektrisch
mit dem Controller 8a1 verbunden und der Controller 8a1 ist
elektrisch mit dem Lehr-Pendant 9a1 über ein Kabel verbunden.
-
Der
Roboterkörper 7a1 ist
als Steuerobjekt oder Steuerziel des Controllers 8a1 beispielsweise als
ein vertikal gelenkiger Roboter konstruiert.
-
9 eine
Draufsicht, die schematisch erste und zweite Roboter veranschaulicht,
die auf einer gemeinsamen Ebene über
Basen montiert sind.
-
DETAILLIERTE
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
DER ERFINDUNG
-
Es
wird im Folgenden unter Hinweis auf die 1 bis 8 eine Ausführungsform der vorliegenden Erfindung
beschrieben.
-
Bei
der Ausführungsform
gemäß 1 ist ein
erster und ein zweiter Roboter 1 und 2 auf einer gemeinsamen
horizontalen Ebene über
Basisteile montiert und diese sind dicht beieinander angeordnet.
In 1 ist der erste und der zweite Roboter 1 und 2 schematisch
als vertikal gelenkige Roboter veranschaulicht und die Basisteile
sind schematisch als Kreise dargestellt.
-
Beispielsweise
bilden der erste und der zweite Roboter 1 und 2 ein
Arbeitssystem, in welchem der erste Roboter 1 einen vorbestimmten
ersten Prozess durchführt
und in welchem der zweite Roboter 2 einen nächsten zweiten
Prozess durchführt
und zwar nach der Vervollständigung
des ersten Prozesses.
-
Spezifischer
ausgedrückt
ist der erste Roboter 1 so programmiert, um den ersten
Prozess an einem Werkstück 4 durchzuführen, der
auf einer Werkbank oder einem Arbeitstisch 3 montiert ist,
welcher auf der Befestigungsebene montiert ist, und um danach das
bearbeitete oder verarbeitete Werkstück 4 zu einer Palette 5 zu überführen, die
auf der Montageebene montiert ist, um dadurch dieses auf der Palette 5 anzuordnen
oder zu befestigen.
-
Der
zweite Roboter 2 ist dafür programmiert, um das Werkstück 4,
welches auf der Palette 5 angeordnet ist, zu ergreifen
und um das ergriffene Werkstück 4 zu
einem Arbeitstisch oder Werkbank 6 zu übertragen, die auf einer Montagefläche montiert
ist, um dadurch das Werkstück
auf dem Arbeitstisch oder Werkbank 6 anzuordnen oder zu Spezifischer
ausgedrückt
besteht der Roboterkörper 7a1 aus
einer im Wesentlichen zylinderförmig
gestalteten Basis 10, die auf einer horizontalen Befestigungsebene
montiert ist, und aus einem im Wesentlichen zylinderförmig gestalteten
Schultergelenk 11, welches auf der Basis 10 montiert
ist und zwar in solcher Weise, dass die Zentrumsachsenrichtung des
Schultergelenkes 11 orthogonal zu der Zentrumsachsenrichtung
der Basis 10 verläuft.
Das Schultergelenk 11 ist so konfiguriert, dass es auf
der Basis 10 um eine Zentrumsachse derselben horizontal
drehbar ist.
-
Der
Roboterkörper 7a1 besteht
aus einem Paar von oberen Armen (oberen Armgelenken) 12. Die
einen Enden des Paares der oberen Arme 12 sind schwenkbar
durch beide Enden des Schultergelenkes 11 um die Zentrumsachse
derselben in der vertikalen Richtung gehaltert entsprechend der
Zentrumsachsenrichtung der Basis 10.
-
Der
Roboterkörper 7a1 besteht
aus einem ersten unteren Arm 13, der schwenkbar durch die
anderen Enden der oberen Arme 12 in der vertikalen Richtung
gehaltert ist und zwar entsprechend der zentralen axialen Richtung
der Basis 10.
-
Der
Roboterkörper 7a1 besteht
aus einem zweiten unteren Arm 14, der sich von dem ersten
unteren Arm 13 aus erstreckt und der drehbar durch diesen
gehaltert ist und zwar drehbar um die Erstreckungsrichtung. Das
Spitzen-Ende des zweiten unteren Armes 14 ist gegabelt.
Der erste und der zweite untere Arm 13 und 14 bilden
ein unteres Armgelenk.
-
Der
Roboterkörper 7a1 besteht
im Wesentlichen aus einem zylinderförmig gestalteten Handgelenk 15,
welches zwischen die gegabelten Enden des zweiten unteren Armes 14 eingeschoben
ist und schwenkbar in vertikaler Richtung dadurch gehaltert wird
entsprechend der zentralen Achsenrichtung der Basis 10.
-
Das
Handgelenk 15 ist mit einem Flansch 16 ausgestattet,
der von diesem absteht. Der Flansch 16 besitzt ein Spitzen-Ende,
welches um die Erstreckungsrichtung (Zentrumsrichtung) in solcher
Weise drehbar ist, dass das Spitzen-Ende die Befestigung einer mechanischen
Hand (mechanischer Greifvorrichtung) 17a1 (siehe die 1, 7 und 8) zulässt, die an
dessen einem Ende ausgebildet ist und zwar mit einem Greifabschnitt,
der verschiedene Typen von Teilen inklusive dem Werkstück 4 ergreifen
kann. Spezifischer ausgedrückt
dient der Flansch 16 (dessen Spitzen-Ende) als ein Handgelenk.
-
Der
erste Roboter 1 enthält
auch eine Anzahl von Motoren 24 als Betätigungsvorrichtungen oder Stellglieder.
Beispielsweise können
bei der Ausführungsform
Gleichstrom-Servomotoren in bevorzugter Weise als Motoren 24 verwendet
werden.
-
Spezifischer
gesagt ist die Basis 10 mit wenigstens einem der Motoren 24 und
einem Dreh-Übertragungssystem
(nicht gezeigt) integriert, welches die Drehung von wenigstens einem
der Motoren 24 zu dem Schultergelenk 11 überträgt, um dieses
horizontal zu drehen.
-
Das
Schultergelenk 11 ist mit wenigstens einem der Motoren 24 und
einem Dreh-Übertragungssystem
oder Dreh-Getriebesystem (nicht gezeigt) integriert, welches die
Drehung von wenigstens einem der Motoren 24 zu den oberen
Armen 15 überträgt, um diese
vertikal miteinander zu schwenken.
-
Die
oberen Armgelenke 12 sind mit wenigstens einem der Motoren 24 und
einem Dreh-Getriebesystem (nicht gezeigt) integriert, welches die
Drehung von wenigstens einem der Motoren 24 auf den unteren
ersten Arm 13 überträgt, um diesen
vertikal zu schwenken.
-
Der
erste untere Arm 13 ist mit wenigstens einem der Motoren 24 und
einem Dreh-Getriebesystem (nicht gezeigt) integriert, welches die
Drehung von wenigstens einem der Motoren 24 auf den zweiten
unteren Arm 14 überträgt, um diesen
um die Erstreckungsrichtung zu drehen.
-
Der
zweite untere Arm 14 ist mit wenigstens einem der Motoren 24 und
einem Dreh-Getriebesystem (nicht gezeigt) integriert, welches die
Drehung von wenigstens einem der Motoren 24 auf das Handgelenk 15 überträgt, um dieses
vertikal zu schwenken.
-
Der
Flansch 16 ist mit wenigstens einem der Motoren 24 und
einem Dreh-Getriebesystem (nicht gezeigt) integriert, um die Drehung
von wenigstens einem der Motoren 24 auf die mechanische
Hand 17a1 zu übertragen,
um diese um die Erstreckungsrichtung des Flansches 16 zu
drehen.
-
Spezifischer
gesagt dienen die Basis 10, das Schultergelenk 11,
die oberen Armgelenke 12, das untere Armgelenk (erster
und zweiter unterer Arm 13 und 14), das Handgelenk 15 und
das Handverbindungsgelenk (Flansch) 16 des Roboterkörpers 7 als Glieder
(mechanische Gestänge
oder mechanische Glieder) des ersten Roboters 1.
-
Informationen,
welche die Abmessungen von jedem der Glieder 11 bis 16 und
von der Hand 17a1 angeben wie beispielsweise die Länge von
jedem der Glieder 11 bis 16 in der longitudinalen
Richtung oder der axialen Richtung sind im Voraus beispielsweise
in einem ROM des Controllers 8a1 gespeichert, der noch
später
beschrieben wird.
-
Wie
in 3 veranschaulicht ist enthält der Controller 8a1 eine
CPU 18, die als Steuereinheit dient, Treiberschaltungen 19 zum
Antreiben der Motoren 24a1, eine Detektorschaltung 20,
einen ROM (Nur-Lese-Speicher wie beispielsweise einen EEPROM, einen
Flash-ROM oder ähnliches) 21,
einen RAM (Speicher mit wahlfreiem Zugriff) 22 und ein
Interface (I/F) 23. Die Elemente 19 bis 23 sind
elektrisch mit der CPU 18 verbunden.
-
Der
ROM 21 enthält
Systemprogramme gespeichert, die die CPU 18 veranlassen
die System-Ressourcen des ersten Roboters 1 zu steuern. Der
ROM 21 enthält
auch eine Robotersprache gespeichert, um ein Roboterbewegungsprogramm
zu erzeugen.
-
Der
RAM 22 enthält
das Roboterbewegungsprogramm und ähnliches gespeichert.
-
Das
I/F 23 ist dafür
ausgelegt, um elektrisch mit dem Lehr-Pendant bzw. Programmierhandgerät 9a1 verbunden
zu werden.
-
Es
sei auch darauf hingewiesen, dass in 2 das Schultergelenk 11,
die oberen Armgelenke 12, das untere Armgelenk (der erste
und der zweite untere Arm 13 und 14), das Handgelenk 15 und
das Handverbindungsgelenk 16 kollektiv als ein Gestänge oder
Gliederanordnung durch einen Block veranschaulicht sind. Die Bezugszeichen 11, 12, 13, 14, 15 und 16 sind
dem Block mit den Gliedern zugeordnet.
-
Da
die Motoren zum Antreiben der Glieder (Gelenkabschnitte) 11 bis 16 kollektiv
als ein Block veranschaulicht sind, ist diesem das Bezugszeichen 14 zugeordnet.
-
Die
Detektorschaltung 20 ist dafür ausgelegt, um eine aktuelle
Position und eine aktuelle Winkelgeschwindigkeit von jedem der Glieder 11, 12, 13, 14, 15 und 16 zu
detektieren.
-
Es
sei darauf hingewiesen, dass beispielsweise jedes der Glieder 11 bis 16 und
die Hand 17a1 eine vorbestimmte Bezugsposition aufweisen.
Somit kann die aktuelle Position von jedem der Glieder 11 bis 16 und
von der Hand 17a1 als die aktuelle Position der Bezugsposition
von jedem der Glieder 11 bis 16 und von der Hand 17a1 detektiert
werden.
-
Spezifischer
ausgedrückt
ist ein Dreh-Codierer 25 beispielsweise an der Drehwelle
von jedem der Motoren 24 angebracht und ist elektrisch
mit der Detektorschaltung 20 verbunden.
-
Der
Dreh-Codierer 25 dient als ein Positionssensor und auch
als ein Geschwindigkeitssensor. Spezifischer gesagt ist der Dreh-Codierer 25 so
konfiguriert, um digitale Impulse auszugeben, welche der Winkelbewegung
(Umdrehung) der Drehwelle von jedem der Motoren 24 entsprechen.
Das Impulssignal besteht aus einer Folge von digitalen Impulsen,
die der Detektorschaltung 20 zugeleitet werden.
-
Die
Detektorschaltung 20 ist dafür ausgelegt, um basierend auf
dem Impulssignal, welches von jedem der Dreh-Codierer 25 gesendet
wird, die aktuelle Position der Drehwelle von jedem der Motoren 24 zu
detektieren und damit die aktuelle Position von jedem der Glieder 11 bis 16 zu
detektieren.
-
Zusätzlich ist
die Detektorschaltung 20 dafür ausgelegt, um:
Die Zahl
der Impulse in dem Impulssignal zu zählen, welches von jedem der
Dreh-Codierer 24 pro Zeiteinheit eingespeist werden; und
basierend
auf dem Zählergebnis
die aktuelle Winkelgeschwindigkeit der Drehwelle von jedem der Motoren 24 zu
detektieren, mit anderen Worten die aktuelle Winkelgeschwindigkeit
von jedem der Glieder 11 bis 16 zu detektieren.
-
Die
Detektorschaltung 20 ist auch dafür ausgelegt, um der CPU 18 Informationen
zu liefern, welche die tatsächliche
Position und die tatsächliche oder
aktuelle Winkelgeschwindigkeit von jedem der Glieder 11 bis 16 anzeigen.
-
Die
CPU 18 kann so betrieben werden, um eine Rückkopplungssteuerung
oder Regelung der Bewegung von jedem der Glieder (Gelenkabschnitte) 11 bis 16 in
Einklang mit dem Motorbewegungsprogramm durchzuführen und zwar unter Verwendung der
Informationen, die von der Detektorschaltung 20 gesendet
werden.
-
Jede
der Treiberschaltungen 19 ist dafür ausgelegt, um zu jedem der
Motoren 24 einen Treiberstrom zuzuführen und zwar unter der Steuerung der
CPU 18, um die einzelnen Motoren 24 in ihrer Drehung
anzutreiben entsprechend den einzelnen Gliedern 11 bis 16,
um dadurch die Positionierung von jedem der Glieder 11 bis 16 zu
steuern.
-
Die
Treiberschaltungen 19 und die entsprechenden Motoren 24 dienen
auch als eine regenerative Bremseinrichtung oder Umkehrdrehmoment-Bremseinrichtung
zum Bremsen der entsprechenden Glieder 11 bis 16.
-
Spezifischer
gesagt ist die Treiberschaltung 19 dafür ausgelegt, um die Richtung
des Stromes umzuschalten, der einem entsprechenden Motor 24 zugeführt wird,
um es dem Motor 24 zu ermöglichen zu einem Generator
zu werden, um dadurch ein Umkehrdrehmoment zu generieren, welches
in einer Richtung entgegen gesetzt zu der Motordrehrichtung angelegt
wird. Das Umkehrdrehmoment ermöglicht es
einem entsprechenden einen der Glieder 11 bis 16 gebremst
zu werden. In bevorzugter Weise kann die Energie, die durch den
Motor 24 erzeugt wird, der als ein Generator dient, zu
einer Energieversorgungseinheit (nicht gezeigt) des Controllers 8a1 geliefert
werden, die dadurch geladen wird.
-
Es
sei in Verbindung mit der Ausführungsform
darauf hingewiesen, dass das Gewicht von jedem der Glieder 11 bis 16 gemessen
worden ist und beispielsweise in dem ROM 21 abgespeichert
worden ist und dass in der oben beschriebenen Weise die aktuelle
Winkelgeschwindigkeit von jedem der Glieder 11 bis 16 detektiert
wird, um zu der CPU 18 gesendet zu werden.
-
Wenn
aus diesem Grund die Treiberschaltungen 19 und die Motoren 24 den
Bremsvorgang der Bewegung von jedem der Glieder 11 bis 16 starten, kann
die CPU 18 eine Strecke berechnen, um die sich jedes der
Glieder 11 bis 16 und die Hand 17a1 bewegt
hat und zwar seit dem Start des Bremsvorganges. Die Strecke wird
im Folgenden als Bremsstrecke bezeichnet.
-
Beispielsweise
ist in 7A ein Beispiel einer Bremsstrecke
der Hand 17a1 des ersten Roboters 1 zwischen einer
Position PA1 und einer Position PA2 durch ein Bezugszeichen "S" veranschaulicht. Spezifischer gesagt
stellt die 7A den Zustand dar, gemäß welchem
die Hand 17a1 sich von der Position PA1 zu der Position
PA2 verschoben hat und zwar um die Bremsstrecke S seit dem Start
des Bremsvorganges.
-
Es
sei darauf hingewiesen, dass bei der Ausführungsform gemäß der Darstellung
in 2 ein Roboterkoordinatensystem (X1, Y1, Z1) der
Basis 10 unabhängig
von der Bewegung von jedem der Glieder 11 bis 16 des
Roboterkörpers 7a1 des
ersten Roboters 1 erstellt wird.
-
Beispielsweise
wird das Roboterkoordinatensystem (X1, Y1, Z1), um hier ein Beispiel
zu nennen, in der folgenden Weise erstellt, und zwar derart, dass:
die
Y1-Achse parallel zu einer Zentrumsachse des Schultergelenkes 11 verläuft;
die
Z1-Achse desselben mit der Zentrumsachse der Basis 10 koinzidiert;
und
die X1-Achse orthogonal zu den Y- und Z-Achsen verläuft.
-
Das
Roboterkoordinatensystem (X1, Y1, Z1) des ersten Roboters 1 wird
als Bezugskoordinatensystem des ersten Roboters 1 verwendet.
-
Zusätzlich wird
bei der Ausführungsform
ein feststehendes dreidimensionales Koordinatensystem (Glieder-Koordinatensystem)
für jedes
der Glieder 11 bis 16 erstellt. Die Position und
die Orientierung des Glieder-Koordinatensystems von jedem der Glieder 11 bis 16 in
dem Bezugskoordinatensystem (X1, Y1, Z1) hängt von der Bewegung von jedem
der Glieder 11 bis 16 ab.
-
Spezifischer
ausgedrückt
ist die CPU 18 dafür
ausgelegt, um die Positionierung (Position und Orientierung) von
jedem der Glieder 11 bis 16 in dem entsprechenden
Glieder-Koordinatensystem in eine Position und eine Orientierung
in dem Bezugskoordinatensystem (X1, Y1, Z1) basierend auf den Informationen
umzuwandeln, welche die aktuelle Position von jedem der Glieder 11 bis 16 angeben,
die durch die Detektorschaltung 20 detektiert wurden, und
die die Abmessungen von jedem der Glieder 11 bis 16 angeben,
die in dem ROM 21 gespeichert sind.
-
Beispielsweise
wird bei der Ausführungsform,
wie sie in 4 veranschaulicht ist, ein feststehendes
dreidimensionales Koordinatensystem des Gliedes (Flansches) 16 als
ein Flansch-Koordinatensystem (Xf, Yf, Zf) erstellt. Das dreidimensionale Flansch-Koordinatensystem
(Xf, Yf, Zf) hat einen Ursprungspunkt Po entsprechend dem Drehzentrum des
Spitzen-Endes des Flansches 16. Zwei Achsen des dreidimensionalen
Flansch-Koordinatensystems (Xf, Yf, Zf) sind an der Spitzen-Ende-Fläche 16a des Flansches 16 und
einer Ebene definiert, die sich von der Spitzen-Ende-Fläche derselben
aus erstreckt, und die verbleibende eine Achse wird auf der zentralen
Achse (Drehachse) des Flansches 16 definiert.
-
Ein
Anwender stellt frei drei Axialrichtungen der dreidimensionalen
Achsen Xf Yf, Zf des Flansch-Koordinatensystems (Xf, Yf, Zf) ein.
-
Bei
der Ausführungsform
sind beispielsweise die Xf- und Yf-Achsen auf der Spitzen-Ende-Fläche 16a des
Flansches 16 in solcher Weise definiert, dass die Yf-Achse
parallel zu der zentralen Richtung des Handgelenkes 15 verläuft, und
die Xf-Richtung ist so eingestellt, dass sie orthogonal zu der Yf-Achse und
der Zentrumsachse des Flansches 16 verläuft. Die verbleibende Achse
Zf wird auf der Zentrumsachse (Drehachse) des Flansches 16 definiert.
-
Zusätzlich wird
die Positionierung des Flansches 16 des ersten Roboterarms 1 beziehungsweise
mit anderen Worten die Positionierung des Roboterkörpers 7a1 des
ersten Roboterarmes 1 als ein Annäherungsvektor A definiert,
dessen Länge
gleich ist "1", und auch als Orientierungsvektor
O, dessen Länge "1" ist.
-
Der
Annäherungsvektor
A ist in der Zf-Achse gerichtet und ragt vom Ursprung P0 ab, so
dass dieser von der Spitzen-Ende-Fläche 16a des Flansches 16 getrennt
ist. Die Erstreckungsrichtung des Annäherungsvektors A wird als eine
negative Richtung bezeichnet.
-
Der
Orientierungsvektor O ist in der Yf-Achse gerichtet und ragt von
dem Ursprung P0 weg, so dass er von diesem getrennt ist. Die Erstreckungsrichtung
des Orientierungsvektors O wird als eine positive Richtung bezeichnet.
-
Wenn
beispielsweise das Flansch-Koordinatensystem (Xf, Yf, Zf) parallel
verschoben wird und zwar derart, dass der Ursprung Po mit dem Ursprung des
Bezugskoordinatensystems (X1, Y1, Z1) koinzidiert, kann die Positionierung
des Flansches 16 basierend auf dem Annäherungsvektor A und dem Orientierungsvektor
O in dem Bezugskoordinatensystem (X1, Y1, Z1) wiedergegeben werden.
-
Wenn
ein Werkstück 4,
welches durch die Hand 17a1 ergriffen worden ist auf der
Palette 5 angeordnet oder montiert wird, ferner ein Werkstück 4 von
der Palette 5 aufgenommen wird, steuert der erste Roboterarm 1 die
Hand 17a1, um sie vertikal zu der Befestigungsebene oder
Aufstellebene des ersten Roboters 1 zu lenken.
-
Spezifischer
ausgedrückt,
wenn das von der Hand 17a1 ergriffene Werkstück 4 befestigt
wird oder aufgestellt wird, ist der erste Roboter 1 so
programmiert, um die Hand 17a1 nach unten hin zu bewegen, die
Hand 17a1 über
die Palette 5 zu führen
und das ergriffene Werkstück 4 von
der nach unten gerichteten Hand 17a1 her freizugeben. Wenn
ferner ein Werkstück 4,
welches auf der Palette 5 aufgesetzt ist, aufgenommen wird,
ist der erste Roboter 1 so programmiert, um die Hand 17a1 nach
unten zu lenken, die nach unten gerichtete Hand 17a1 an
die Palette 5 anzunähern,
das Werkstück 4 von
der Palette 5 aufzugreifen.
-
Wie
oben beschrieben ist, steuert der erste Roboter 1, wenn
die Hand 17a1 dicht bei der Palette 5 gelegen
ist die Hand 17a1, so dass sie nach unten gelenkt wird.
Mit anderen Worten, wenn die Hand 17a1 dicht bei der Palette 5 gelegen
ist, steuert der erste Roboter 1 das Handgelenk 15 in
solcher Weise, dass der Annäherungsvektor
A nach unten orientiert ist, wobei die Spitzen-Ende-Fläche 16a des
Flansches 16 parallel zu dem Aufstellplatz oder Montageplatz
gehalten wird (der X-Y-Ebene des Bezugskoordinatensystems).
-
In ähnlicher
Weise enthält
der zweite Roboter 2 einen Roboterkörper 7a2, einen Controller 8a2 zum
Steuern des Roboterkörpers 7a2,
ein Lehr-Pendant 9a2 als eine Lehr-Box für den Controller 8a2. Der
Roboterkörper 7a2 ist
elektrisch mit dem Controller 8a2 verbunden und der Controller 8a2 ist
elektrisch über
ein Kabel mit dem Lehr-Pendant 9a2 verbunden.
-
Wie
in 2 veranschaulicht ist, besitzt der Roboterkörper 7a2 die
gleiche Konstruktion wie der Roboterkörper 7a1. Ähnlich dem
Roboterkörper 7a1, wird
ein Roboterkoordinatensystem (X2, Y2, Z2) der Basis 10 des
zweiten Roboters 2 unabhängig von der Bewegung von jedem
der Glieder 11 bis 16 des Roboterkörpers 7a2 des
zweiten Roboters 2 erstellt, welches als ein Bezugskoordinatensystem
des zweiten Roboters 2 verwendet wird.
-
Zusätzlich besitzt
der Controller 8a2 des zweiten Roboters 2 die
gleiche Konstruktion wie der Controller 8a1 des ersten
Roboters 1. Die Controller 8a1 und 8a2 können miteinander über deren
Interfaces 23 kommunizieren.
-
Die
Koordinaten in dem Bezugskoordinatensystem (X1, Y1, Z1) des ersten
Roboters 1 und diejenigen in dem Bezugskoordinatensystem
(X2, Y2, Z2) des zweiten Roboters 2 können in einfacher Weise ineinander
konvertiert werden.
-
Demzufolge
ist der Controller 8a1 des ersten Roboters 1 dafür ausgebildet,
um:
frei auf den Controller 8a2 zuzugreifen, um die
Positionierung (Position und Orientierung) von jedem der Glieder 11 bis 16 des
zweiten Roboters 2 in dem Bezugskoordinatensystem (X2,
Y2, Z2) zu lesen; und
die Positionierung (die Position und
die Orientierung) von jedem der Glieder 11 bis 16 des
zweiten Roboters 2 in dem Bezugskoordinatensystem (X2,
Y2, Z2) in eine Positionierung (Position und Orientierung) von jedem
der Glieder 11 bis 16 des zweiten Roboters 2 in
dem Bezugskoordinatensystem (X1, Y1, Z1) zu konvertieren.
-
In ähnlicher
Weise ist der Controller 8a2 des zweiten Roboters 2 dafür ausgebildet,
um:
frei auf den Controller 8a1 zuzugreifen, um die
Positionierung (die Position und die Orientierung) von jedem der
Glieder 11 bis 16 des ersten Roboters 1 in dem
Bezugskoordinatensystem (X 1, Y 1, Z 1) zu lesen, und
die Positionierung
(die Position und die Orientierung) von jedem der Glieder 11 bis 16 des
ersten Roboters 1 in dem Bezugskoordinatensystem (X1, Y1,
Z1) in eine Positionierung (Position und Orientierung) von jedem
der Glieder 11 bis 16 des ersten Roboters 1 in dem
Bezugskoordinatensystem (X2, Y2, Z2) zu konvertieren.
-
Bei
der oben beschriebenen Ausführungsform
ist eine erste Besetzungszone M1 an dem Handabschnitt des Roboterkörpers 7a1 des
ersten Roboters 1 definiert, der eine solche Positionierung einnimmt,
dass die Hand 17a1 in einem Raum nach unten gerichtet ist,
oberhalb der Palette 5 und dort herum.
-
In ähnlicher
Weise ist eine zweite Besetzungszone M2 bei dem Handabschnitt des
Roboterkörpers 7a2 des
zweiten Roboters 2 definiert, welcher eine solche Positionierung
einnimmt, dass die Hand 17a2 nach unten gerichtet ist und
zwar bei einem Raum oder in einem Raum oberhalb der Palette 5 und
dort herum.
-
Die
erste Besetzungszone M1 an einer Position repräsentiert eine Zone, die von
einer Positionierung der Hand 17a1 an der Position abhängig ist.
-
In ähnlicher
Weise repräsentiert
die zweite Besetzungszone M2 an einer Position eine Zone, die von
einer Positionierung der Hand 17a2 an der Position abhängig ist.
-
Spezifischer
gesagt identifiziert die erste Besetzungszone M1 einen Interferenzbereich
der Positionierung des ersten bewegbaren Teiles. Mit anderen Worten
kann die erste Besetzungszone M1 eine Interferenz zwischen dem ersten
und dem zweiten Roboter 1 und 2 verhindern und
zwar untereinander obwohl deren Hände 17a1 und 17a2 in
den gemeinsam benutzten Arbeitsraum B eingedrungen sind, wenn nicht
die Hand 17a2 des zweiten Roboters 2 in die erste
Besetzungszone M1 eingetreten ist.
-
In ähnlicher
Weise definiert die zweite Besetzungszone M2 einen Interferenzbereich
der Positionierung des zweiten bewegbaren Teiles. Mit anderen Worten
kann die zweite Besetzungszone M2 eine Interferenz zwischen dem
ersten und dem zweiten Roboter 1 und 2 verhindern
obwohl deren Hände 17a1 und 17a2 in
den gemeinsam benutzten Arbeitsraum B eingedrungen sind, wenn nicht
die Hand 17a1 des ersten Roboters 1 in die zweite
Besetzungszone M2 eingedrungen ist.
-
Beispielsweise
ist bei der Ausführungsform gemäß der Darstellung
in 5 die Besetzungszone M1 als eine im Wesentlichen
zylinderförmige
Zone definiert, deren Zentrumsachse so angeordnet ist, dass sie
koaxial zu der Zf-Achse des nach unten gerichteten Flansches 16 des
Roboterkörpers 7a1 verläuft. Die
zylinderförmige
Besetzungszone M1 besitzt eine unendliche axiale Länge oder
eine vorbestimmte axiale Länge
und einen vorbestimmten Durchmesser r1, der gleich ist mit oder
geringfügig
länger
ist als die maximale Weite (laterale Länge) des gegabelten Spitzen-Endes
des zweiten unteren Armes 14 des Roboterkörpers 7a1,
der das Handgelenk 15 drehbar haltert.
-
In ähnlicher
Weise ist die Besetzungszone M2 als eine im Wesentlichen zylinderförmige Zone definiert,
deren Zentrumsachse so angeordnet ist, dass sie koaxial zu der Zf-Achse
des nach unten gerichteten Flansches 16 des Roboterkörpers 7a2 verläuft. Die
zylinderförmige
Besetzungszone M2 besitzt eine unendliche axiale Länge oder
eine vorbestimmte axiale Länge
und einen vorbestimmten Durchmesser r2, der gleich ist mit oder
geringfügig
länger
ist als die maximale Weite (laterale Länge) des gegabelten Spit zen-Endes
des zweiten unteren Armes 14 des Roboterkörpers 7a2,
der das Handgelenk 15 drehbar haltert.
-
Die
definierten Besetzungszonen M1 und M2 werden im Voraus beispielsweise
in den RAM 22 abgespeichert.
-
Andererseits
ist das Lehr-Pendant 9a1 für eine in der Hand gehaltene
Vorrichtung konstruiert, zusammengesetzt aus einer Eingangseinheit,
einer Anzeigeeinheit, einer Speichereinheit und einer Berechnungseinheit,
die die Ausführung
von Grundfunktionen ermöglichen
wie beispielsweise eine Programmstartfunktion, Bewegungs-Lehrfunktion,
Maschinenblockierfunktionen, Fehlernachricht-Anzeigefunktionen und ähnlichem.
Diese Handhalte-Konfiguration des Lehr-Pendants 9a1 ermöglicht es
einem Operator den Roboterkörper 7a1 zu
steuern und zwar unter Beobachtung der Bewegung des Roboterkörpers 7a1.
-
Bei
der Ausführungsform
werden Informationen, welche die beabsichtigten Bewegungen der Hand 17a1 des
Roboterkörpers 7a1 angeben,
dem Controller 8a1 durch Lehr-Aufgaben des Lehr-Pendants 9a1 übergeben.
-
Spezifischer
ausgedrückt
ist das Lehr-Pendant 9a1 dafür ausgelegt, um:
eine
Lehr-Aufgabe für
eine aktuelle Bewegung der Hand 17a1 des Roboterkörpers 7a1 an
gewünschten Routen-Punkten
auszuführen,
basierend auf beabsichtigten Bewegungen, wobei der Greifabschnitt
in eine gewünschte
Positionierung bei jeder Position der gewünschten Zielpositionen gebracht
wird;
den Controller 8a1 Befehlsgabe-Positionen zu
jedem der Glieder 11 bis 16 des Roboterkörpers 7a1 in
dem Bezugskoordinatensystem zu lehren, die den gewünschten
Routen-Punkten entsprechen und dafür erforderlich sind, um die
Hand 17a1 durch die Bewegungsbahn hindurch zu bewegen,
basierend auf den gewünschten
Routen-Punkten;
und
den Controller 8a1 eine Ziel-Positionierung
von jedem der Glieder 11 bis 16 bei jeder befehligten
Position zu lehren, die erforderlich ist, um die Hand 17a1 zu
der gewünschten
Positionierung an jedem der gewünschten
Routen-Punkte zu bringen.
-
Der
Controller 8a1 speichert die gelehrten Befehlspositionen
und die Ziel-Positionierungen, die diesen jeweils entsprechen und
zwar von jedem der Glieder 11 bis 16 des Roboterkörpers 7a1,
in dem RAM 22.
-
Auch
ist das Lehr-Pendant 9a2 ebenso wie das Lehr-Pendant 9a1 des
zweiten Roboters 2 dafür ausgelegt,
um:
eine Lehr-Aufgabe auszuführen, um tatsächlich die Hand 17a2 des
Roboterkörpers 7a2 an
gewünschte Routen-Punkte
zu bewegen, basierend auf den beabsichtigten Bewegungen, während die
Hand 17a2 zu einer gewünschten
Positionierung bei jeder der gewünschten
Zielpositionen gebracht wird;
den Controller 8a2 Ziel-Befehlsgabepositionen
von jedem der Glieder 11 bis 16 des Roboterkörpers 7a2 in
dem Bezugskoordinatensystem zu lehren, die den gewünschten
Routen-Punkten entsprechen und die zum Bewegen der Hand 17a2 durch
die Bewegungsbahn hindurch erforderlich sind, basierend auf den gewünschten
Routen-Punkten;
und
den Controller 8a2 eine Ziel-Positionierung von
jedem der Glieder 11 bis 16 an jedem der Befehlsgabepositionen
zu lehren, die dafür
erforderlich ist, um die Hand 17a2 zu der gewünschten
Positionierung an jedem der gewünschten
Routen-Punkten zu bringen.
-
Der
Controller 8a2 speichert die gelehrten Befehlspositionen
und die Ziel-Positionierungen, die diesen jeweils entsprechen und
zwar von jedem der Glieder 11 bis 16 des Roboterkörpers 7a2 in
dem RAM 22.
-
Bei
der Ausführungsform
sind die beabsichtigten Bewegungen der Hand 17a1 des ersten
Roboters 1, die dem Controller 8a1 gelehrt werden,
für den ersten
Roboter 1 erforderlich, um:
den ersten Prozess eines
Werkstücks 4,
welches auf einer Arbeitsbank oder Arbeitstisch 3 aufgestellt
ist oder montiert ist durchzuführen;
das
verarbeitete oder bearbeitete Werkstück 4 zu der Palette 5 zu überführen; und
dieses
auf der Palette 5 zu montieren.
-
In ähnlicher
Weise sind die beabsichtigten Bewegungen der Hand 17a2 des
zweiten Roboters 2, die dem Controller 8a2 gelehrt
werden, erforderlich, damit der zweite Roboter 2:
ein
Werkstück 4 ergreifen
kann, welches auf der Palette 5 montiert ist;
das
ergriffene Werkstück 4 zu
dem Arbeitstisch zu überführen, um
dieses darauf zu befestigen; und
den zweiten Prozess an dem
Werkstück 4 durchzuführen, welches
auf dem Arbeitstisch 6 montiert ist.
-
Während des
Lehr-Vorganges der Ziel-Befehlspositionen von jedem der Glieder
in Bezug auf den Controller 8a1, werden der vorbestimmte
dreidimensionale erste Arbeitsraum E1 des ersten Roboters 1 und
der gemeinsam benutzte Arbeitsraum B des ersten und des zweiten
Roboters 1 und 2 in dem ROM 21 des Controllers 8a1 als
Koordinatenraum in dem Bezugskoordinatensystem (X1, Y1, Z1) gespeichert.
-
In ähnlicher
Weise werden während
des Lehr-Vorganges der Ziel-Befehlsgabepositionen von jedem Glied
in Bezug auf den Controller 8a2 der vorbestimmte dreidimensionale
zweite Arbeitsraum E2 des zweiten Roboters 2 und der gemeinsam
benutzte Raum B des ersten und des zweiten Roboters 1 und 2 in
dem ROM 21 des Controllers 8a2 als ein Koordinatenraum
in dem Bezugskoordinatensystem (X2, Y2, Z2) gespeichert.
-
Um
den Roboterkörper 7a1 in
Einklang mit den beabsichtigten Bewegungen zu betätigen, die durch
das Lehr-Pendant 9a1 gelehrt wurden, sendet die CPU 18 des
Controllers 8a1 abwechselnd in vorbestimmten Intervallen
erste und zweite Operationsbefehle für jedes der Glieder 11 bis 16 zu
jedem entsprechenden Motor der Motoren 24 über eine
entsprechende eine der Treiberschaltungen 19. Der erste
und der zweite Operationsbefehl instruieren jedes der Glieder 11 bis 16 die
Hand 17a1 zwischen einem Paar von Zielpositionen zu bewegen.
Die paarweisen Zielpositionen entsprechen dem Arbeitstisch 3 und der
Palette 5.
-
Spezifischer
gesagt sendet jedes Mal, wenn der erste Prozess der Hand 17a1 des
ersten Roboters 1 an dem Arbeitstisch 3 vervollständigt ist,
die CPU 18 den ersten Operationsbefehl für jedes
der Glieder 11 bis 16 zu einem entsprechenden
einen der Motoren 24 über
eine entsprechende eine der Treiberschaltungen 19. Dies
ermöglicht
es, dass jeder Motor 24 ein entsprechendes eines der Glieder 11 bis 16 des
Roboterkörpers 7a1 über die
gelehrten Befehlsgabepositionen (Routen-Punkte) bewegt während das
entsprechende eine der Glieder 11 bis 16 zu den
Ziel-Positionierungen gebracht werden, die den gelehrte Befehlsgabe-Positionen
zu der Palette 5 hin, zugeordnet sind.
-
Zusätzlich sendet
die CPU 18 jedes Mal, wenn der Werkstück-Montageprozess der Hand 17a1 des
Roboterkörpers 7a1 an
der Palette 5 vervollständigt
worden ist, den zweiten Operationsbefehl für jedes der Glieder 11 bis 16 zu
einem entsprechenden einen der Motoren 24 über eine
entsprechende eine Schaltung der Treiberschaltungen 19. Dies
ermöglicht
es jedem der Motoren 24 ein entsprechendes eines Glied
der Glieder 11 bis 16 des Roboterkörpers 7a1 über die
gelehrten Befehlsgabe-Positionen (Routen-Punkte) bewegt zu werden während ein
entsprechendes eines der Glieder 11 bis 16 zu
den Ziel-Positionierungen
gebracht wird, die den gelehrten Befehlsgabe-Positionen zu dem Arbeitstisch 3 hin
zugeordnet sind.
-
Als
ein Ergebnis arbeitet die Hand 17a1 des ersten Roboters 1 in
Einklang mit den gelehrten Bewegungen wiederholt, um den ersten
Prozess an einem Werkstück 4 durchzuführen, welches
auf der Arbeitsbank oder dem Arbeitstisch 3 montiert ist,
um ferner das verarbeitete oder bearbeitete Werkstück 4 zu
der Palette 5 zu überführen, dieses
auf der Palette 5 zu montieren und um dann zu dem Arbeitstisch 3 zurückzukehren.
-
In ähnlicher
Weise sendet die CPU 18, um den Roboterkörper 7a2 in
Einklang mit den beabsichtigten Bewegungen zu betätigen, die
durch das Lehr-Pendant 9a2 gelehrt wurden, also die CPU 18 des
Controllers 8a2 abwechselnd in vorbestimmten Intervallen
den ersten und den zweiten Operationsbefehl für jedes der Glieder 11 bis 16 zu
einem entsprechenden einen der Motoren 24 über eine
entsprechende eine Schaltung der Treiberschaltungen 19.
Der erste und der zweite Operationsbefehl instruieren jedes der
Glieder 11 bis 16 die Hand 17a2 zwischen
einem Paar von Zielpositionen zu bewegen. Die gepaarten Zielpositionen
entsprechen der Palette 5 und der Palette 5.
-
Spezifischer
ausgedrückt
sendet die CPU 18 jedes Mal, wenn der Werkstück-Montageprozess der Hand 17a1 des
ersten Roboters 1 an der Palette 5 vervollständigt ist,
den ersten Operationsbefehl für jedes
der Glieder 11 bis 16 zu einem entsprechenden einen
der Motoren 24 über
eine entsprechende eine Schaltung der Treiberschaltungen 19.
Dies ermöglicht
es jedem Motor 24 ein entsprechendes Glied der Glieder 11 bis 16 des
Roboterkörpers 7a2 über die gelehrten
Befehlsgabe-Positionen (Routen-Punkte) zu bewegen während das
entsprechende eine Glied der Glieder 11 bis 16 zu
den Ziel-Positionierungen gebracht wird, die den gelehrten Befehlsgabe-Positionen
zugeordnet sind, und zwar auf dem Weg zu der Palette 5 hin.
-
Zusätzlich sendet
die CPU 18 jedes Mal, wenn der Werkstück-Aufnahmeprozess der Hand 17a2 des
Roboterkörpers 7a2 bei
der Palette 5 vervollständigt
ist, den zweiten Operationsbefehl für jedes der Glieder 11 bis 16 zu
einem entsprechenden einen Motor der Motoren 24 über eine
entsprechende eine Schaltung der Treiberschaltungen 19.
Dies ermöglicht
es jedem der Motoren 24 ein entsprechendes Glied der Glieder 11 bis 16 des
Roboterkörpers 7a1 über die
gelehrten Befehlgabe-Positionen (Routen-Punkte) zu bewegen, während ein
entsprechendes Glied der Glieder 11 bis 16 zu
der Ziel-Positionierung gebracht wird und zwar zu dem Arbeitstisch 6 hin,
die den gelehrten Befehlsgabe-Positionen
zugeordnet sind.
-
Als
ein Ergebnis arbeitet der Greifabschnitt der Hand 17a2 des
zweiten Roboters 2 in Einklang mit den gelehrten Bewegungen,
wiederholt, um:
das Werkstück 4 aufzugreifen,
welches auf der Palette 5 montiert ist oder aufgestellt
ist;
das ergriffene Werkstück 4 zu
dem Arbeitstisch 6 zu überführen, um
es dort zu montieren;
den zweiten Prozess des Werkstücks 4 durchzuführen, welches
an dem Arbeitstisch 6 montiert ist; und
zu der Palette 5 zurückzukehren,
um ein anderes Werkstück 4 auf
der Palette 5 aufzunehmen.
-
Bei
dem oben erläuterten
ersten und zweiten Roboter 1 und 2 können die
Hände 17a1 und 17a2 des
ersten und des zweiten Roboters 1 und 2 gleichzeitig
in den gemeinsam genutzten Arbeitsraum B eindringen, um das ergriffene
Werkstück 4 auf
der Palette 5 zu montieren und um das Werkstück 4 von der
Palette 5 abzunehmen. Dies kann eine Interferenz zwischen
dem Roboterkörper 7a1 (der
Hand 17a1) und dem Roboterkörper 7a2 (Hand 17a2)
in dem gemeinsam benutzten Arbeitsraum B verursachen.
-
Eine
eine Interferenz vermeidende Funktion, die in jedem der Roboter
gemäß dem ersten
und dem zweiten Roboter 1 und 2 gemäß der Ausführungsform
installiert ist, verhindert jedoch, dass beide Roboterkörper 7a1 und 7a2 miteinander
interferieren und zwar selbst dann nicht, wenn beide Hände 17a1 und 17a2 des
Roboterkörpers 7a1 und 7a2 aktuell
in den gemeinsam genutzten Arbeitsraum B eindringen.
-
Bei
der Ausführungsform
ist die CPU 18 von jedem Roboter gemäß dem ersten und dem zweiten Roboter 1 und 2 dafür ausgelegt,
um das Roboter-Bewegungsprogramm laufen zu lassen, welches in dem
RAM 22 gespeichert ist, um jeden der Roboterkörper 7a1 und 7a2 zu
veranlassen die entsprechende Arbeit oder Arbeiten durchzuführen, wie
sie oben erläutert
wurden.
-
Speziell
ermöglicht
das Roboter-Bewegungsprogramm, dass die CPU 18 von jedem
Roboter die Interferenz-Vermeidungsfunktion implementiert.
-
Als
Nächstes
wird eine Roboter-Bewegungsaufgabe, mit einer Interferenz-Vermeidungsaufgabe durch
die CPU 18 von jedem Roboter in Einklang mit dem Roboter-Bewegungsprogramm
ausgeführt
und im Folgenden unter Hinweis auf die 6 bis 8 beschrieben.
-
Bei
jedem Roboter gemäß dem ersten
und dem zweiten Roboter 1 und 2 sendet die CPU 18 bei einem
Schritt S1 von 6 den ersten und den zweiten
Operationsbefehl zu jedem Motor 24 und zwar über eine
entsprechende eine Schaltung der Treiberschaltungen 19,
wodurch die Bewegung des entsprechenden Roboterkörpers gestartet wird und zwar
zu einer Zielposition hin entsprechend dem ersten und zweiten gesendeten
Operationsbefehl.
-
Beispielsweise
erstellt die CPU 18 parallel mit der Operation bei dem
Schritt S1 eine Besetzungszone M (eine entsprechende eine Zone der ersten
und zweiten Besetzungszonen M1 und M2) an der Zielposition in dem
Bezugskoordinatensystem in einem Zustand, bei dem die entsprechende
Hand an der Zielposition gelegen ist und zwar in solcher Weise,
dass der Annäherungsvektor
A bei dem Schritt S2 nach unten gerichtet wird. Dann speichert die
CPU 18 die erstellte Besetzungszone M (jede Zone gemäß der ersten
und der zweiten Besetzungszone M1 und M2) in dem RAM 22.
-
Beispielsweise
sendet die CPU 18 von jedem Roboter gemäß dem Roboter 1 und
dem Roboter 2 parallel mit der Operation bei dem Schritt
S1 die Zielposition und erstellt die Besetzungszone M, die dieser
zugeordnet ist, und zwar zu der CPU 18 zu dem anderen einen
Roboter der Roboter 1 und 2 über das Interface I/F 23,
was bei dem Schritt S3 erfolgt.
-
Zusätzlich sendet
die CPU 18 von jedem Roboter gemäß dem Roboter 1 und 2 wiederholt
eine aktuelle Position von jedem Glied und von der Hand zu der CPU 18 des
anderen Roboters der Roboter 1 und 2 über das
Interface I/F 23.
-
Nach
dem Start der Bewegung der entsprechenden Hand zu der Zielposition
hin, bestimmt die CPU 18, ob eine entsprechende eine Zone
der Besetzungszonen M1 und M2 sich wenigstens teilweise mit der
anderen der Besetzungszonen M1 und M2 überlappt, was bei dem Schritt
S4 erfolgt.
-
Es
sei beispielsweise bei dem Schritt S1 angenommen, dass die CPU 18 des
ersten Roboters 1 zu jedem Motor 24 über eine
Treiberschaltung 19 den ersten Operationsbefehl sendet
entsprechend der Zielposition der Palette 5, und dass die
CPU 18 des zweiten Roboters 2 zu jedem Motor 24 über eine
Treiberschaltung 19 den zweiten Operationsbefehl sendet
entsprechend der Zielposition des Arbeittisches 6.
-
Unter
dieser Annahme bestimmt die CPU 18, dass die entsprechende
eine Zone der Besetzungszonen M1 und M2 sich mit der anderen der
Besetzungszonen M1 und M2 überlappt,
was bei dem Schritt S4 erfolgt (die Bestimmung bei dem Schritt S4 lautet
NEIN). Dann gelangt die CPU 18 zu einem Schritt S5.
-
Im
Gegensatz dazu sei bei dem Schritt S1 angenommen, dass die CPU 18 des
ersten Roboters 1 zu jedem Motor 24 über eine
Treiberschaltung 19 den ersten Operationsbefehl sendet
entsprechend der Zielposition der Palette 5, und dass die
CPU 18 des zweiten Roboters 2 zu jedem Motor 24 über eine Treiberschaltung 19 den
ersten Operationsbefehl entsprechend der Zielposition der Palette 5 sendet.
-
Unter
dieser Annahme bestimmt die CPU 18, dass die entsprechende
eine Zone der Besetzungszonen M1 und M2 sich wenigstens zum Teil
mit der anderen der Besetzungszonen M1 und M2 überlappt, was bei dem Schritt
S4 erfolgt (die Bestimmung bei dem Schritt S4 lautet JA).
-
Spezifischer
ausgedrückt
ergibt sich bei einer Bestätigungsbestimmung
bei dem Schritt S4 eine Interferenzzone, in welcher jede der Besetzungszonen
M1 und M2 sich wenigstens teilweise mit der anderen der Besetzungszonen
M1 und M2 überlappt,
in dem gemeinsam genutzten Arbeitsraum B. Die CPU 18 gelangt
dann zu einem Schritt 513.
-
AUFGABE IN EINEM FALL,
BEI DEM KEINE ÜBERLAPPUNG
ZWISCHEN DEN BESETZUNGSZONEN AUFTRITT
-
Es
sei bei dem Schritt S5 angenommen, dass die CPU 18 die
Treiberschaltungen 19 und die Motoren 24 steuert,
um das Bremsen der Bewegung von jedem der Glieder 11 bis 16 des
entsprechenden einen der Roboterkörper 7a1 und 7a2 durch
ein vorbestimmtes erstes Bremsdrehmoment zu starten. Die CPU 18 berechnet
dann basierend auf dem Gewicht von jedem Glied und von der Hand
und aus einer aktuellen Winkelgeschwindigkeit von jedem Glied eine
Bremsstrecke um die sich jedes Glied und die Hand bewegt hat und
zwar seit dem Start des Bremsvorganges.
-
Darüber hinaus
schätzt
die CPU 18 bei dem Schritt S5 eine Stoppposition (Koordinaten)
von jedem der Glieder 11 bis 16 und von der Hand 17 ab (eine
entsprechende eine der Hände 17a1 und 17a2) und
zwar von dem entsprechenden einen der Roboter körper 7a1 und 7a2 in
dem entsprechenden Bezugskoordinatensystem basierend auf der aktuellen Position
und der Bremsstrecke von jedem der Glieder 11 bis 16 und
von der Hand 17.
-
Wenn
zum Beispiel, wie in 7A veranschaulicht ist der Bremsvorgang
der Hand 17a1, die bei der aktuellen Position PA1 gelegen
ist, als gestartet angenommen wird, kann angenommen werden dass
die Hand 17a1 so verschoben wird, dass diese die Stoppposition
PA2 erreicht.
-
Bei
dem Schritt S5 bestimmt CPU 18 ob die geschätzte Stoppposition
von jedem der Glieder 11 bis 16 und von der Hand 17 des
entsprechenden einen der Roboterkörper 7a1 und 7a2 in
einem entsprechenden einen der Besetzungszonen M1 und M2 enthalten
ist, basierend auf einer Beziehung zwischen jeder geschätzten Stoppposition
und der entsprechenden einen der Besetzungszonen M1 und M2 in dem
entsprechenden Bezugskoordinatensystem.
-
Wenn
bestimmt wird, dass keine geschätzten
Stopppositionen der Glieder 11 bis 16 und der Hand 18 in
der entsprechenden einen der Besetzungszonen M1 und M2 enthalten
sind (die Bestimmung bei dem Schritt S5 lautet NEIN), gelangt die CPU 18 zu
dem Schritt S6.
-
Bei
dem Schritt S6 setzt die CPU 18 die Bewegung der Hand 18 zu
der Zielposition hin fort und sendet die aktuelle Position zu der
CPU 18 des anderen der ersten und zweiten Roboter 1 und 2 und
führt die
Bestimmung bei dem Schritt S5 aus, bis die Bestimmung in dem Schritt
S5 zu JA wird.
-
Die
fortgeführte
Bewegung der Hand 17 eines entsprechenden einen der Roboterkörper 7a1 und 7a2 ermöglicht es
der Hand 17 sich allmählich der
entsprechenden einen Zone der Besetzungszonen M1 und M2 anzunähern, um
in diese geringfügig einzudringen.
Zur gleichen Zeit wird die Bestimmung bei dem Schritt S5 bestätigt und
die CPU 18 gelangt zu dem Schritt S7.
-
Bei
dem Schritt S7 bestimmt die CPU 18, ob der andere der Roboterkörper 7a1 und 7a2 wenigstens
zum Teil in einer entsprechenden einen Zone der Besetzungszonen
M1 und M2 gelegen ist, basierend auf einer Beziehung zwischen der
tatsächlichen oder
aktuellen Position von jedem Glied und der Hand des anderen der
Roboterkörper 7a1 und 7a2 und
der entsprechenden einen Zone der Besetzungszonen M1 und M2 in dem
entsprechenden Bezugskoordinatensystem.
-
Bei
dem in 7A veranschaulichten Beispiel
ist angenommen, dass:
die Hand 17a1 des ersten Roboters 1 zu
der Zielposition des ersten Roboters 1 hin bewegt wird,
die durch "P1" in 7A wiedergegeben
ist und zwar in der ersten Besetzungszone M1; und
die Hand 17a2 des
zweiten Roboters 2, die innerhalb der ersten Besetzungszone
M1 gelegen ist, zu der Zielposition des zweiten Roboters 2 bewegt
wird, die durch "P2" in 7A wiedergegeben
ist und zwar in der zweiten Besetzungszone M2.
-
Da
bei dieser Annahme die Hand 17a2 des zweiten Roboters 2 innerhalb
der ersten Besetzungszone M1 gelegen ist, führt die CPU 18 des
ersten Roboters 1 eine Bestätigungsbestimmung bei dem Schritt
S7 durch, woraufhin das Programm zu dem Schritt S 10 voran schreitet.
-
Im
Gegensatz dazu wird gemäß der Darstellung
in 7B angenommen, dass:
die Hand 17a1 des
ersten Roboters 1 zu der Zielposition P1 des ersten Roboters 1 in
der ersten Besetzungszone M1 bewegt wird; und
die Hand 17a2 des
zweiten Roboters 2 von der ersten Besetzungszone M1 abliegt
und dicht bei der zweiten Besetzungszone M2 gelegen ist und zu der Zielposition
P2 des zweiten Roboters 2 in der zweiten Besetzungszone
M2 bewegt wird.
-
Da
bei dieser Annahme die Hand 17a2 des zweiten Roboters 2 außerhalb
der ersten Besetzungszone M1 gelegen ist, führt die CPU 18 des
ersten Roboters 1 eine negative Bestimmung bei dem Schritt
S7 durch, worauf das Programm zu dem Schritt S8 gelangt.
-
Bei
dem Schritt S8 setzt die CPU 18 die Bewegung der Hand 17 zu
der Zielposition hin fort während
sie die aktuelle Position zu der CPU 18 des anderen der
ersten und zweiten Roboter 1 und 2 sendet und
die Bestimmung bei dem Schritt S7 ausführt. Während der fortgesetzten Bewegung
der Hand 17 bestimmt die CPU 18, ob die Hand 17 die
Zielposition erreicht hat, was bei dem Schritt S9 erfolgt. Mit anderen
Worten setzt die CPU 18 bei dem Schritt S8 die Bewegung
der Hand 17 zu der Zielposition hin fort, wenn nicht die
Bestimmung bei dem Schritt S7 JA lautet oder die Bestimmung bei
dem Schritt S9 JA lautet.
-
Spezifischer
ausgedrückt,
wenn eine Bestätigungsbestimmung
bei dem Schritt S7 während
der fortgesetzten Bewegung der Hand 17 bei dem Schritt S8
ausgeführt
wird, gelangt das Programm der CPU 18 zu dem Schritt S10.
-
Wenn
die Hand 17 die Zielposition erreicht, so dass eine Bestätigungsbestimmung
bei dem Schritt S9 durchgeführt
wird, kehrt die CPU 18 zu dem Schritt S1 zurück. Dann
sendet die CPU 18 den ersten oder den zweiten Operationsbefehl
zu jedem Motor 24 über
eine entsprechende Schaltung der Treiberschaltungen 19,
wodurch die Bewegung des entsprechenden Roboterkörpers zur nächsten Zielposition hin gestartet
wird entsprechend dem gesendeten ersten oder zweiten Operationsbefehl.
-
Wenn
andererseits bestimmt wird, dass der andere der Roboterköper 7a1 und 7a2 sich
zumindest teilweise in der entsprechenden einen Zone der Besetzungszonen
M1 und M2 befindet, was bei dem Schritt S7 erfolgt, gelangt die
CPU 18 zu dem Schritt S10.
-
Bei
dem Schritt S10 startet die CPU 18 in Ansprechen auf die
Bestätigungsbestimmung
bei dem Schritt S7 einen Bremsvorgang der Bewegung von jedem der
Glieder 11 bis 16 des entsprechenden einen der
Roboterkörper 7a1 und 7a2.
-
Spezifischer
gesagt steuert die CPU 18 bei dem Schritt S10 eine entsprechende
Schaltung der Treiberschaltungen 19, um die Richtung des
Stromes umzuschalten, der zu jedem der Motoren 24 zugeführt wird,
um es jedem der Motoren 24 zu ermöglichen ein Umkehrdrehmoment
zu generieren, welches in einer Richtung entgegengesetzt zu der
Motordrehrichtung aufgebracht wird, wodurch die Bewegung von jedem
der Glieder 11 bis 16 des einen der Roboterkörper 7a1 und 7a2 gebremst
wird.
-
Der
Bremsvorgang bringt die Hand 17 des entsprechenden einen
der Roboterkörper 7a1 und 7a2 an
einer Position zum Halten, die geringfügig innerhalb der entsprechenden
einen Zone der Besetzungszonen M1 und M2 gelegen ist (siehe die
Hand 17a1 als Beispiel in 8B).
-
Wenn
bei der Ausführungsform
ein zweites Bremsdrehmoment entsprechend dem Umkehrdrehmoment so
eingestellt wird, dass es größer ist
als das erste Bremsdrehmoment, welches bei dem Schritt S5 verwendet
wird, kann der Bremsvorgang die Hand 17 des entsprechenden
einen der Roboterkörper 7a1 und 7a2 an
einer Position zum Halten bringen, die unmittelbar vor der entsprechenden
einen Zone der Besetzungszonen M1 und M2 gelegen ist.
-
Spezifischer
ausgedrückt
kann der Bremsvorgang verhindern, dass die Roboterkörper 7a1 und 7a2 innerhalb
der entsprechenden einen Zone der Besetzungszonen M1 und M2 miteinander
interferieren.
-
Nach
der Vervollständigung
des Bremsvorganges bei dem Schritt S10 gelangt die CPU 18 in
einen Standby-Zustand, um das Herausgelangen des anderen der Roboterkörper 7a1 und 7a2 aus
der entsprechenden einen Zone der Besetzungszonen M1 und M2 zu detektieren,
basierend auf der Beziehung zwischen der aktuellen Position von jedem
Glied und der Hand des anderen der Roboterkörper 7a1 und 7a2 und
der entsprechenden einen Zone der Besetzungszonen M1 und M2, was
bei dem Schritt S11 erfolgt.
-
Wenn
bestimmt wird, dass der andere der Roboterkörper 7a1 und 7a2 aus
der entsprechenden einen Zone der Besetzungszonen M1 und M2 herausgelangt
ist (die Bestimmung bei dem Schritt S11 lautet JA), gelangt die
CPU 18 zu einem Schritt S12.
-
Bei
dem Schritt S12 setzt die CPU 18 die Bewegung der Hand 17 zu
der Zielposition hin fort und zwar von einer Stelle aus, an welcher
die Bewegung des entsprechenden einen der Roboterkörper 7a1 und 7a2 gestoppt
worden ist, woraufhin eine Rückkehr
zu dem Schritt S5 erfolgt und die Operationen bei dem Schritt S5
und weitere ausgeführt
werden.
-
AUFGABE IN
EINEM FALL DES AUFTRETENS EINER ÜBERLAPPUNG
ZWISCHEN DEN BESETZUNGSZONEN
-
Wenn
beispielsweise gemäß der Darstellung in 8A die
Zielpositionen P1 und P2 des ersten und des zweiten Roboters 1 und 2 innerhalb
des gemeinsam genutzten Arbeitsraumes B gelegen sind (der Palette 5),
können
sich die erste und die zweite Besetzungszone M1 und M2 miteinander
zum Teil überlappen,
um einen Überlappungsabschnitt
als Interferenzzone V zu bilden.
-
In
diesem Fall berechnet die CPU 18 – nach der Bestätigungsbestimmung
bei dem Schritt S4 – bei
dem Schritt S16, wobei angenommen ist, dass die CPU 18 die
Treiberschaltungen 19 und die Motoren 24 steuert,
um den Bremsvorgang der Bewegung von jedem der Glieder 11 bis 16 des
entsprechenden einen der Roboterkörper 7a1 und 7a2 durch
ein vorbestimmtes drittes Bremsdrehmoment zu starten, basierend
auf dem Gewicht von jedem Glied und der Hand und einer aktuellen
Winkelgeschwindigkeit von jedem Glied, eine Bremsstrecke, um die
jedes Glied und die Hand seit dem Start des Bremsvorganges bewegt
wurden.
-
Darüber hinaus
bestimmt die CPU 18 bei dem Schritt S13 eine Stoppposition
(Koordinaten) von jedem der Gestänge 11 bis 16 und
von der Hand 17 des entsprechenden einen der Roboterkörper 7a1 und 7a2 in
dem entsprechenden Bezugskoordinatensystem basierend auf der aktuellen
Position und der Bremsstrecke von jedem der Glieder 11 bis 16 und von
der Hand 17.
-
Bei
dem Schritt S13 bestimmt die CPU 18 ob die geschätzte Stoppposition
von jedem der Glieder 11 bis 16 und von der Hand 17 des
entsprechenden einen der Roboterkörper 7a1 und 7a2 in
der Interferenzzone V enthalten ist, basierend auf einer Beziehung
zwischen jeder geschätzten
Stoppposition und der Interferenzzone V in dem entsprechenden Bezugskoordinatensystem.
-
Wenn
diese bestimmt, dass keine geschätzten
Stopppositionen der Glieder oder des Gestänges 11 bis 16 und
der Hand 17 in der Interferenzzone V vorhanden sind (die
Bestimmung bei dem Schritt S13 lautet NEIN), gelangt die CPU 18 zu
dem Schritt S14.
-
Bei
dem Schritt S14 setzt die CPU 18 die Bewegung der Hand 17 zu
der Zielposition hin fort und sendet eine aktuelle Position zu der
CPU 18 des anderen der ersten und zweiten Roboter 1 und 2 und führt eine
Bestimmung bei dem Schritt S13 durch, bis die Bestimmung bei dem
Schritt S13 zu JA wird.
-
Die
fortgesetzte Bewegung der Hand 17 des entsprechenden einen
der Roboterkörper 7a1 und 7a2 ermöglicht es
der Hand 17 geringfügig
in die Interferenzzone V einzudringen. Zu diesem Zeitpunkt ist die
Bestimmung bei dem Schritt S13 bestätigend und das Programm der
CPU 18 wird zu dem Schritt S15 verschoben.
-
Bei
dem Schritt S15 bestimmt die CPU 18, ob der andere der
Roboterkörper 7a1 und 7a2 sich wenigstens
zum Teil in der Interferenzzone V befindet, basierend auf einer
Beziehung zwischen der aktuellen Position von jedem Glied und der
Hand des anderen der Roboterkörper 7a1 und 7a2 und
der Interferenzzone V in dem entsprechenden Bezugskoordinatensystem.
-
Wenn
der andere der Roboterkörper 7a1 und 7a2 nicht
innerhalb der Interferenzzone V gelegen ist (die Bestimmung bei
dem Schritt S15 lautet NEIN), gelangt die CPU zu dem Schritt S16.
-
Bei
dem Schritt S16 setzt die CPU 18 die Bewegung der Hand 17 zu
der Zielposition hin fort und sendet die aktuelle Position zu der
CPU 18 des anderen der ersten und zweiten Roboter 1 und 2 und
führt die
Bestimmung bei dem Schritt S15 durch. Während der fortgesetzten Bewegung
der Hand 17 bestimmt die CPU 18 ob die Hand 17 die
Zielposition erreicht hat, was bei dem Schritt S16 erfolgt. Mit
anderen Worten setzt die CPU 18 die Bewegung der Hand 17 zu
der Zielposition hin fort, wenn nicht die Bestimmung bei dem Schritt
S13 JA lautet, oder die Bestimmung bei dem Schritt S16 JA lautet.
-
Spezifischer
ausgedrückt,
wenn die Bestätigungsbestimmung
bei dem Schritt S15 während
der fortgesetzten Bewegung der Hand 17 ausgeführt wird,
gelangt die CPU 18 zu dem Schritt S17.
-
Wenn
die Hand 17 die Zielposition erreicht, so dass eine Bestätigungsbestimmung
bei dem Schritt S16 durchgeführt
wird, kehrt die CPU 18 zu dem Schritt S1 zurück. Die
CPU 18 sendet dann den ersten oder zweiten Operationsbefehl
zu jedem Motor 24 über
eine entsprechende Schaltung der Treiberschaltungen 19,
wodurch die Bewegung des entsprechenden Roboterkörpers zur nächsten Zielposition hin gestartet
wird entsprechend dem gesendeten ersten oder zweiten Operationsbefehl.
-
Wenn
beispielsweise gemäß der Darstellung in 8B der
Bremsvorgang der Hand 17a1, die an der aktuellen Position
PA1a gelegen ist, als gestartet angenommen wird, kann angenommen
werden, dass die Hand 17a1 um eine Bremsstrecke S1 verschoben wird,
so dass diese die Stoppposition PA2a außerhalb der Interferenzzone
V erreicht.
-
Wenn
bei dieser Annahme die Stoppposition der Hand 17a2 so angenommen
wird, dass sie innerhalb der Interferenzzone V gelegen ist, führt die
CPU 18 des zweiten Roboters 2 eine negative Bestimmung
während
der fortgesetzten Bewegung der Hand 17a2 bei dem Schritt
S15 durch. Demzufolge erreicht die Hand 17a2 die Zielposition
P2 bevor die Hand 17a1 die Zielposition P1 erreicht (siehe
Schritt S16).
-
Danach
sendet die CPU 18 des zweiten Roboters 2 gemäß der Darstellung
in den 8C und 8D den
zweiten Operationsbefehl zu jedem Motor 24 des Roboterkörpers 7a2 über eine
entsprechende Schaltung der Treiberschaltungen 19. Dies ermöglicht es
dem Roboterkörper 7a2 die
Bewegung zur nächsten
Zielposition des Arbeitstisches 6 hin zu starten entsprechend
dem gesendeten zweiten Operationsbefehl (siehe den Schritt S1);
es sind die nächste
Zielposition und die nächste
Besetzungszone in 8C und 8D mit
P2A beziehungsweise M2A wiedergegeben.
-
Wenn
andererseits gemäß der Darstellung
in 8E beispielsweise der Bremsvorgang der Hand 17a1,
die an einer aktuellen Position PA1b gelegen ist, als gestartet
angenommen wird, so kann angenommen werden, dass die Hand 17a1 um
die Bremsstrecke S2 verschoben wurde, so dass diese eine Stoppposition
PA2b erreicht, die geringfügig
innerhalb der Interferenzzone V gelegen ist.
-
Unter
dieser Annahme führt
die CPU 18 des ersten Roboters 1 eine Bestätigungsbestimmung
bei dem Schritt S13 durch. Da sich die aktuelle Position der Hand 17a2 teilweise
innerhalb der Interferenzzone V befindet, führt die CPU 18 des
ersten Roboters 1 als nächstes
eine Bestätigungsbestimmung
bei dem Schritt S15 durch, und gelangt dann zu dem Schritt S17.
-
Bei
dem Schritt S17 startet die CPU 18 des ersten Roboters 1 im
Ansprechen auf die Bestätigungsbestimmung
bei dem Schritt S15 den Bremsvorgang der Bewegung von jedem der
Glieder 11 bis 16 des Roboterkörpers 7a1.
-
Spezifischer
ausgedrückt
steuert die CPU 18 bei dem Schritt S17 eine entsprechende
Schaltung der Treiberschaltungen 19, um die Richtung des Stromes
umzuschalten, welcher jedem der Motoren 24 zugeführt wird,
um jedem der Motoren 24 die Möglichkeit zu geben eine Umkehrdrehmoment
zu generieren, welches in einer Richtung entgegengesetzt zur Motordrehrichtung
angelegt wird, wodurch die Bewegung von jedem der Glieder 11 bis 16 des
Roboterkörpers 7a1 gebremst
wird.
-
Der
Bremsvorgang bringt die Hand 17a1 des Roboterkörpers 7a1 an
einer Position zum Halten, die geringfügig innerhalb der Interferenzzone
V gelegen ist (siehe die Hand 17a1 als ein Beispiel in 8E).
-
Wenn
bei der Ausführungsform
ein viertes Bremsdrehmoment entsprechend dem Umkehrdrehmoment so
eingestellt wird, dass es größer ist
als das dritte Bremsdrehmoment, welches bei dem Schritt S13 verwendet
wird, bringt der Bremsvorgang die Hand 17a1 des Roboterkörpers 7a1 an
einer Position zum Halten, die unmittelbar vor der Interferenzzone
V gelegen ist.
-
Wenn
der Bremsvorgang der Hand 17a2, die an einer aktuellen
Position gelegen ist, als gestartet angenommen wird, kann davon
ausgegangen werden, dass die Hand 17a2 um eine Bremsstrecke
verschoben wurde, so dass sie eine Stoppposition erreicht hat, die
geringfügig
innerhalb der Interferenzzone V gelegen ist, wobei die Operationen
bei den Schritten S13, S15 und S17 in Bezug auf den Roboterkörper 7a2 es
der Hand 17a2 ermöglichen
an einer Position gestoppt zu werden, die unmittelbar geringfügig innerhalb
der Interferenzzone V gelegen ist.
-
Spezifischer
ausgedrückt
kann der Bremsvorgang verhindern, dass der Roboterkörper 7a1 und 7a2 innerhalb
der Interferenzzone V miteinander interferieren.
-
Nach
der Vervollständigung
des Bremsvorganges bei dem Schritt S17 gelangt die CPU 18 in
einen Standby-Zustand, um das Herausgelangen des anderen der Roboterkörper 7a1 und 7a2 aus
der Interferenzzone V zu detektieren basierend auf der Bezie hung
zwischen der aktuellen Position von jedem Glied und der Hand des
anderen der Roboterkörper 7a1 und 7a2 und
der Interferenzzone V was bei dem Schritt S18 erfolgt.
-
Wenn
bestimmt wird, dass der andere der Roboterkörper 7a1 und 7a2 aus
der Interferenzzone V herausgelangt ist (die Bestimmung bei dem
Schritt S18 lautet JA), gelangt die CPU 18 zu dem Schritt S19.
-
Bei
dem Schritt S19 setzt die CPU 18 die Bewegung der Hand 17 zu
der Zielposition hin fort, an der die Bewegung des entsprechenden
einen Roboterkörper 7a1 und 7a2 gestoppt
worden ist, und kehrt zu dem Schritt S4 zurück und führt die Operationen wie im
Falle eines Nichtauftretens eines Überlappens zwischen der ersten
und der zweiten Besetzungszone M1 und M2 bei dem Schritt S5 bis
S12 aus.
-
Als
ein Ergebnis kann der entsprechende eine der Roboterkörper 7a1 und 7a2 zu
der entsprechenden Zielposition bewegt werden und zwar ohne eine
Störung
beziehungsweise Interferenz mit dem anderen der Roboterkörper 7a1 und 7a2,
wodurch eine vorbestimmte Aufgabe an der Zielposition ausgeführt werden
kann.
-
Wenn
beispielsweise gemäß der Darstellung in
den 8C und 8D, nachdem
die Hand 17a2 des Roboterkörpers 7a2 aus der
ersten Besetzungszone M1 herausgelangt ist, wird die Hand 17a1 des Roboterkörpers 7a1 in
ihrer Bewegung zu der Zielposition P1 der Palette 5 hin
wieder gestartet (siehe die Schritte S5 bis S12).
-
Wie
oben beschrieben wurde sei in Betracht gezogen, dass die erste und
die zweite Besetzungszone bei der jeweiligen Zielposition für den ersten und
den zweiten Roboter 1 und 2 einander teilweise überlappen,
um die Interferenzzone zu bilden.
-
Selbst
wenn bei dieser Situation einer der Roboter 1 und 2 innerhalb
der Interferenzzone gelegen ist, um einen vorbestimmten Prozess
auszuführen,
ist es möglich,
dass der andere der Roboter 1 und 2 bis hin zu
einer Position bewegt wird, die unmittelbar vor oder geringfügig innerhalb
der Interferenzzone gelegen ist, wodurch dessen Standby-Zustand an
der Position gehalten wird.
-
Wenn
aus diesem Grund der andere der Roboter 1 und 2 aus
der Interferenzzone herausgelangt, wird die Möglichkeit geschaffen den einen
der Roboter 1 und 2 unmittelbar zu veranlassen
die entsprechende eine der Zielpositionen zu erreichen, wodurch
die Zeitdauer reduziert wird, die erforderlich ist, um einen Arbeitszyklus
des einen der Roboter 1 und 2 auszuführen.
-
Es
sei darauf hingewiesen, dass die vorliegende Erfindung nicht auf
die oben beschriebene Ausführungsform,
die in den 1 bis 8E veranschaulicht
ist, beschränkt
ist.
-
Der
Durchmesser der zylinderförmigen
Besetzungszone M (M1, M2) kann so eingestellt werden, dass dieser
geringfügig
länger
oder größer ist als
die maximale Weite (laterale Länge)
des gegabelten Spitzen-Endes des zweiten unteren Armes 14. Dies
ermöglicht
es, dass eine Interferenz zwischen den Roboterkörpern 7a1 und 7a2 unmittelbar
vermieden werden kann und zwar selbst dann, wenn die Hand von einem
der Roboterkörper 7a1 und 7a2 geringfügig innerhalb
der Interferenzzone V gestoppt wird.
-
Die
zylinderförmige
Besetzungszone M (M1, M2) kann eine vorbestimmte axiale Länge aufweisen. In
diesem Fall ist es selbst dann, wenn die Besetzungszonen M1 und
M2 sich miteinander zu überlappen
scheinen, wenn man von der oberen Seite von jedem Roboter aus blickt,
wenn diese keine Überlappungsabschnitte
aufweisen, wenn man von einer Seite von jedem Roboter orthogonal
zu der axialen Richtung blickt, möglich zu bestimmen, dass die
Besetzungszonen M1 und M2 keine überlappenden
Abschnitte aufweisen.
-
Bei
der Ausführungsform
ist die Besetzungszone M (M1, M2) als eine im Wesentlichen zylinderförmige Zone
definiert, deren Zentrumsachse so angeordnet ist, dass sie koaxial
zu der Zf-Achse des nach unten gerichteten Flansches 16 des
Roboterkörpers
verläuft
und zwar in solcher Weise, dass ein Durchmesser der Besetzungszone
so einge stellt ist, dass er gleich ist mit oder geringfügig länger oder größer ist
als die maximale Weite (laterale Länge) des gegabelten Spitzen-Endes
des zweiten unteren Armes 14 des Roboterkörpers. Jedoch
ist die vorliegende Erfindung nicht auf diese Konfiguration beschränkt.
-
Spezifischer
ausgedrückt
kann die Besetzungszone des ersten Roboterkörpers von jedem der ersten
und zweiten Roboter so definiert werden, dass sie eine von vielfältigen Konfigurationen
aufweist, um eine Interferenz zwischen den Roboterkörpern des ersten
und des zweiten Roboters zu verhindern, obwohl deren bewegbare Abschnitte
in den gemeinsam genutzten Arbeitsraum des ersten und des zweiten Roboters
eindringen, wenn nicht eines der bewegbaren Teile der Roboterkörper in
die Besetzungszone oder Belegungszone des anderen der Roboterkörper eindringt.
-
Das
Arbeitssystem gemäß der Ausführungsform
enthält
den ersten und den zweiten Roboter 1 und 2, jedoch
kann bei der vorliegenden Erfindung das Arbeitssystem drei oder
auch mehrere Roboter enthalten und der Controller von jedem der
drei oder den mehreren Robotern kann die Roboter-Bewegungsaufgabe
ausführen.
-
Die
vorliegende Erfindung kann auf vielfältige Typen von Robotern angewendet
werden und ist nicht auf einen vertikal gelenkig ausgeführten Roboter
beschränkt.
-
Bei
der Ausführungsform
besitzen der erste und der zweite Roboter individuelle erste und
zweite Controller, jedoch können
sich diese auch einen Controller teilen, der die gleichen Funktionen
wie jeder der ersten und zweiten Controller aufweist.
-
Obwohl
beschrieben wurde, was zum gegenwärtigen Zeitpunkt als Ausführungsform
und deren Modifikationen der vorliegenden Erfindung betrachtet wird,
sei darauf hingewiesen, dass vielfältige Abwandlungen vorgenommen
werden können,
die hier noch nicht beschrieben worden sind, die jedoch durch die
anhängenden
Ansprüche
alle mit abgedeckt werden und somit in den Rahmen der vorliegenden
Erfindung fallen.