-
QUERVERWEIS
AUF VERWANDTE ANMELDUNGEN
-
Die
vorliegende Anmeldung basiert auf der japanischen Patentanmeldung
2005-338764, die
am 24. November 2005 eingereicht wurde. Die vorliegende Anmeldung
beansprucht die Vorteile aus der Priorität der japanischen Patentanmeldung,
so dass die Beschreibungen derselben hier durch Bezugnahme voll
miteinbezogen werden.
-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft Vielfach-Roboter-Steuerverfahren,
durch die eine Interferenz zwischen einer Vielzahl an Robotern in
einem gemeinsam benutzten Arbeitsraum vermieden wird und ein Roboter,
der sich einen Arbeitsraum mit einem anderen Roboter teilt, dazu
befähigt
ist eine Interferenz zwischen dem anderen Roboter in dem mitbenutzten
Arbeitsraum zu vermeiden.
-
HINTERGRUND
DER ERFINDUNG
-
Wenn
eine Vielzahl an Robotern dicht beieinander angeordnet sind, so
können
eine Vielzahl der Roboter wenigstens teilweise einen Arbeitsraum
mitbenutzen beziehungsweise gemeinsam benutzen. Es sei beispielsweise
ein Arbeitssystem betrachtet, bei welchem ein erster und ein zweiter
Roboter, die jeweils durchgehend erste und zweite Prozesse durchführen, dicht
beieinander angeordnet sind. In diesem Fall ist der erste Roboter
so programmiert, um ein verarbeitetes Werkstück in einem ersten Prozess
zu transferieren, um dieses auf einer Palette zu montieren, und
der zweite Roboter ist dafür
programmiert das Werkstück
zu ergreifen, welches auf der Palette montiert ist, um dadurch einen
zweiten Prozess anhand des ergriffenen Werkstücks durchzuführen.
-
Bei
dem zuvor erläuterten
Arbeitssystem teilen sich der erste und der zweite Roboter zumindest teilweise
einen Arbeitsraum auf der Palette.
-
Derartige
Roboter, die einen Arbeitsraum gemeinsam benutzen, können miteinander
in dem gemeinsam genutzten Arbeitsraum interferieren.
-
Ein
Beispiel von Verfahren zum Vermeiden einer Interferenz ist in der
US Patentveröffentlichung Nr.
6,212,444 B1 entsprechend der ungeprüften japanischen Patentveröffentlichung
Nr. H10-3308 offenbart.
-
Bei
dem eine Interferenz vermeidenden Verfahren, welches in der US Patentveröffentlichung
offenbart ist, wird ein gemeinsamer Bereich, in welchem der Arbeitsraum
eines bewegbaren Teiles eines Roboters und derjenige eines bewegbaren
Teiles einer kooperativen Vorrichtung einander überlappen und miteinander interferieren,
eingestellt. Wenn das bewegbare Teil von irgendeinem Roboter und
der kooperativen Vorrichtung den gemeinsamen Bereich betreten oder
in diesen eindringen, wird ein Eintritt-Verbietungssignal an den anderen Roboter
beziehungsweise der kooperativen Vorrichtung ausgegeben; dieses
den Eintritt verbietende Signal deaktiviert das bewegbare Teil des
anderen der Vorrichtungen gemäß dem Roboter
und der kooperativen Vorrichtung.
-
Es
sei ein Interferenz-Vermeidungsverfahren betrachtet, welches in
der genannten US Patentveröffentlichung
offenbart ist und zwar so, dass dieses bei einem Arbeitssystem angewendet
wird, bei dem ein erster und ein zweiter Roboter sich einen gemeinsamen
Arbeitsraum teilen.
-
Wenn
bei dieser Anwendung ein Arm (bewegbares Teil) von irgendeinem Roboter
gemäß dem ersten
und dem zweiten Roboter, beispielsweise dem ersten Roboter bewegt
wird und den gleichen Arbeitsraum betritt beziehungsweise in diesen
eindringt, so kann ein das Eintreten verbietendes Signal von dem
ersten Roboter an einen Controller des zweiten Roboters ausgegeben
werden. Im Ansprechen auf das den Eintritt verbietende Signal bremst der
Controller des zweiten Roboters die Bewegung des Armes desselben.
-
Obwohl
der Controller des zweiten Roboters damit beginnt die Bewegung des
Armes desselben zu bremsen und zwar unmittelbar nach dem Empfangen
des den Eintritt verbietenden Signals, verhindert die Trägheit des
Armes des zweiten Roboters, dass dieser in seiner Bewegung beim
Starten des Bremsvorgangs stoppt, so dass sich dieser um eine willkürliche Strecke
weiter verschoben hat und zwar seit dem Moment, bei dem der Bremsvorgang
begonnen hat.
-
Der
Abstand des Armes des zweiten Roboters von den Start des Bremsvorganges
bis dieser angehalten wird, wird als "Bremsstrecke" im Folgenden bezeichnet, und hängt von
dem Gewicht des Armes und der Bewegungsgeschwindigkeit des Armes des
zweiten Roboters ab.
-
Wenn
der Controller des zweiten Roboters das den Eintritt verbietende
Signal empfängt,
wenn der Arm dicht bei dem gemeinsam benutzten Arbeitsraum gelegen
ist, kann die Armstoppposition tief in den gemeinsam genutzten Arbeitsraum
liegen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Im
Hinblick auf diesen Hintergrund ist es gemäß einem Aspekt die Aufgabe
der vorliegenden Erfindung so früh
wie möglich
den Eintritt eines bewegbaren Teiles von einem einer Vielzahl von
Robotern in einem gemeinsam genutzten Arbeitsraum der Vielzahl der
Roboter zu vermeiden, wenn wenigstens ein anderer der Vielzahl der
Roboter in dem gemeinsam genutzten Arbeitsraum gelegen ist.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Vielfach-Roboter-Steuerverfahren für eine Vielzahl
von Robotern geschaffen, von denen jeder ein bewegbares Teil aufweist.
Die Vielzahl der Roboter benutzen einen Arbeitsraum gemeinsam und
betätigen
die jeweiligen bewegbaren Teile. Das Verfahren umfasst, wenn ein
Brem sen einer Bewegung des betätigten
bewegbaren Teiles eines ersten Roboters in der Vielzahl der Roboter
angenommener Maßen
an einer Vielzahl von Zeitpunkten gestartet wird, das Schätzen einer
ersten Stoppposition des bewegbaren Teiles des ersten Roboters zu
jedem Zeitpunkt. Das Verfahren umfasst, wenn das Bremsen einer Bewegung
des betätigten
bewegbaren Teiles eines zweiten Roboters in der Vielzahl der Roboter
angenommener Maßen
an der Vielzahl der zeitlichen Punkte gestartet wird, das Gewinnen
einer geschätzten
zweiten Stoppposition des bewegbaren Teiles des zweiten Roboters
zu jedem Zeitpunkt. Das Verfahren umfasst einen Bestimmungsvorgang
und zwar an wenigstens einem der Zeitpunkte, ob die geschätzte erste
Stoppposition des bewegbaren Teiles des ersten Roboters und wenigstens
eine einer aktuellen Position und der erhaltenen zweiten Stoppposition
des bewegbaren Teiles des zweiten Roboters in dem gemeinsam genutzten
Arbeitsraum enthalten sind. Das Verfahren umfasst das Bremsen des
bewegbaren Teiles des ersten Roboters, wenn bestimmt wird, dass
die geschätzte
erste Stoppposition des bewegbaren Teiles des ersten Roboters zu
dem wenigstens einen Zeitpunkt der Zeitpunkte und wenigstens eine
Position gemäß der aktuellen
Position und der erhaltenen zweiten Stoppposition des bewegbaren
Teiles des zweiten Roboters zu wenigstens einem Zeitpunkt der Zeitpunkte
in dem gemeinsam genutzten Arbeitsraum enthalten sind.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird ein Roboter geschaffen,
der mit einem anderen Roboter kommunizieren kann und sich mit dem
anderen Roboter einen Arbeitsraum teilt. Der Roboter enthält einen
Roboterkörper
mit einem bewegbaren Teil, eine Betriebseinheit, die dafür konfiguriert
ist, um das bewegbare Teil zu betätigen. Der Roboter enthält eine
erste Schätzeinheit,
die dafür
konfiguriert ist um einzuschätzen,
wann das Bremsen einer Bewegung des betätigten bewegbaren Teiles als
gestartet angenommen werden kann und zwar an einer Vielzahl von
Zeitpunkten, um also eine erste Stoppposition des bewegbaren Teiles
zu jedem Zeitpunkt zu schätzen.
Der Roboter enthält eine
Zugriffseinheit, die dafür
konfiguriert ist, um auf einen anderen Roboter zuzugreifen, um beim
Bremsen einer Bewegung eines betätigten
bewegbaren Teiles des anderen Roboters angenommener Maßen bei
der Vielzahl der Zeitpunkte gestartet wird, um eine geschätzte zweite
Stoppposition des bewegbaren Teiles des an deren Roboters zu jedem
Zeitpunkt zu gewinnen. Die Zugriffseinheit ist dafür konfiguriert, um
eine aktuelle Position des betätigten
bewegbaren Teiles des anderen Roboters zu jedem Zeitpunkt zu gewinnen.
Der Roboter enthält
eine erste Bestimmungseinheit, die dafür konfiguriert ist, um zu wenigstens
einem der Zeitpunkte zu bestimmen, ob die geschätzte erste Stoppposition des
bewegbaren Teiles und die wenigstens eine tatsächliche oder aktuelle Position
und die erhaltene zweite Stoppposition des bewegbaren Teiles des
anderen Roboters in dem gemeinsam genutzten Arbeitsraum enthalten
sind. Der Roboter enthält
eine Bremseinheit, die dafür
konfiguriert ist, um das bewegbare Teil zu bremsen, wenn bestimmt
wird, dass die geschätzte
erste Stoppposition des bewegbaren Teiles an wenigstens dem einen
der Zeitpunkte und wenigstens eine Position gemäß der aktuellen Position und
der erhaltenen zweiten Stoppposition des bewegbaren Teiles des anderen
Roboters zu wenigstens einem der Zeitpunkte in dem gemeinsam genutzten
Arbeitsraum enthalten sind.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein Roboter-Controller für einen
Roboter geschaffen, der mit einem anderen Roboter kommunizieren
kann und ein bewegbares Teil aufweist und auch einen Arbeitsraum
mit dem anderen Roboter teilt beziehungsweise gemeinsam benutzt,
wobei der Roboter-Controller betriebsmäßig mit einer Bremseinheit
verbunden ist. Der Roboter-Controller ist so programmiert, um das
bewegbare Teil zu betätigen
und um einen Schätzvorgang durchzuführen, wenn
das Bremsen einer Bewegung des betätigten bewegbaren Teiles angenommener Maßen bei
einer Vielzahl von Zeitpunkten gestartet wird, um also eine erste
Stoppposition des bewegbaren Teiles des Roboters zu jedem Zeitpunkt
zu schätzen.
Der Roboter-Controller ist so programmiert, um auf einen anderen
Roboter zuzugreifen, um dann, wenn ein Bremsen einer Bewegung eines
betätigten bewegbaren
Teiles des anderen Roboters angenommener Maßen bei einer Vielzahl von
Zeitpunkten gestartet wird, eine zweite Stoppposition des bewegbaren
Teiles des anderen Roboters einzuschätzen oder abzuschätzen basierend
auf dem zugegriffenen Ergebnis zu jedem Zeitpunkt. Der Roboter-Controller
ist dafür
programmiert, um auf einen anderen Roboter zuzugreifen, um eine
aktuelle oder tatsächliche
Position des betätigten
bewegbaren Teiles des anderen Roboters zu jedem Zeitpunkt zu erhalten.
Der Roboter-Controller ist dafür
pro grammiert, um zu wenigstens einem der Zeitpunkte zu bestimmen,
ob die geschätzte
erste Stoppposition des bewegbaren Teiles des Roboters und wenigstens
eine Position gemäß der aktuellen
Position und der erhaltenen zweiten Stoppposition des bewegbaren
Teiles des anderen Roboters in dem gemeinsam genutzten Arbeitsraum enthalten
sind. Der Roboter-Controller ist dafür programmiert, um die Bremseinheit
zu steuern, um das bewegbare Teil zu bremsen, wenn bestimmt wurde, dass
die geschätzte
erste Stoppposition des bewegbaren Teiles des Roboters zu wenigstens
einem der Zeitpunkte und wenigstens eine Position gemäß der aktuellen
Position und der erhaltenen zweiten Stoppposition des bewegbaren
Teiles des anderen Roboters zu wenigstens einem der Zeitpunkte in
dem gemeinsam genutzten Arbeitsraum enthalten sind.
-
KURZE
BESCHREIBUNG DER ZEICHNUNGEN
-
Andere
Ziele und Aspekte der vorliegenden 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 gemäß einer
Ausführungsform
der vorliegenden Erfindung besteht;
-
2 eine
perspektivische Ansicht, die schematisch ein Beispiel einer Hardwarekonfiguration
von jedem der Roboter gemäß dem ersten
und dem zweiten Roboter entsprechend der Ausführungsform der vorliegenden
Erfindung veranschaulicht;
-
3 ein
Blockschaltbild, welches schematisch ein Beispiel der Systemkonfiguration
von jedem Roboter gemäß dem ersten
und dem zweiten Roboter wiedergibt, die in 2 dargestellt
sind;
-
4 eine
vergrößerte Ansicht,
die schematisch eine Positionsbeziehung zwischen einem gemeinsam
genutzten Arbeitsraum und jedem der Roboter gemäß dem ersten und dem zweiten
Roboter entsprechend der Ausführungsform
darstellt; und
-
5 ein
Flussdiagramm, welches schematisch eine Roboterbewegungsaufgabe
veranschaulicht, die durch einen Controller von jedem Roboter gemäß dem ersten
und dem zweiten Roboter gemäß der Ausführungsform
ausgeführt
werden soll.
-
DETAILLIERTE
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
DER ERFINDUNG
-
Es
wird im Folgenden eine Ausführungsform der
vorliegenden Erfindung unter Hinweis auf die 1 bis 5 beschrieben.
-
Bei
der Ausführungsform,
die in 1 gezeigt ist, ist ein erster und ein zweiter
Roboter 1 und 2 auf einer gemeinsamen horizontalen
Ebene über Basisteile
montiert und sind dicht beieinander angeordnet. In 1 ist
der erste und der zweite Roboter 1 und 2 schematisch
als vertikal gegliederte Roboter veranschaulicht und die Basisteile
sind schematisch als Kreise wiedergegeben.
-
Beispielsweise
bilden der erste und der zweite Roboter 1 und 2 ein
Arbeitssystem, in welchem der erste Roboter 1 einen vorbestimmten
ersten Prozess ausführt
und der zweite Roboter 2 den nächsten zweiten Prozess nach
der Vervollständigung
des ersten Prozesses ausführt.
-
Spezifischer
ausgedrückt
ist der erste Roboter 1 so programmiert, um den ersten
Prozess eines Werkstücks 4 auszuführen, welches
auf einem Werktisch 3 montiert ist, der auf der Montageebene
montiert ist und um danach das bearbeitete Werkstück 4 zu einer
Palette 5 zu transferieren, die auf der Montageebene montiert
ist, um dieses dadurch auf der Palette 5 zu montieren.
-
Der
zweite Roboter 2 ist dafür programmiert, um das Werkstück 4 zu
ergreifen, welches auf der Palette 5 montiert ist, und
um das erfasste Werkstück 4 zu
einem Arbeitstisch 6 zu überführen, der an der Montagefläche montiert
ist, und dadurch das selbe auf dem Arbeitstisch 6 zu montieren.
Der zweite Roboter 2 ist dafür programmiert, um einen zweiten
Prozess des Werkstücks 4 durchzuführen, welches
auf dem Arbeitstisch 6 montiert ist.
-
Wenn,
wie in 1 veranschaulicht ist, eine X-Y-Ebene in der Montageebene
definiert ist und eine Z-Achse so definiert ist, dass sie orthogonal
zu der X-Y-Ebene verläuft,
besitzt der erste Roboter 1 einen vorbestimmten dreidimensionalen
ersten Arbeitsraum A1 in dem X-Y-Z-Koordinatenraum. In ähnlicher
Weise besitzt der zweite Roboter 2 einen vorbestimmten
dreidimensionalen zweiten Arbeitsraum A2 in dem X-Y-Z-Koordinatenraum.
-
Der
erste Arbeitsraum A1 und der zweite Arbeitsraum A2 überlappen
sich in einem Bereich, der die Palette 5 abdeckt oder überdeckt.
Der Überlappungsraum
B dient als ein gemeinsam benutzter Raum B des ersten und des zweiten
Roboters 1 und 2, wie dies durch Strichlierung
in 1 veranschaulicht ist.
-
Ein
Beispiel der Konstruktion des ersten Roboters 1 wird nun
im Folgenden beschrieben. Es sei darauf hingewiesen, dass die Konstruktion
des zweiten Roboters 2 identisch ist mit derjenigen des
ersten Roboters 1. Aus diesem Grund sind auch ähnliche oder
gleiche Bezugszeichen identischen Komponenten des ersten und des
zweiten Roboters 1 und 2 zugeordnet und eine Beschreibung
der Konstruktion des zweiten Roboters 2 wird der Einfachheit
halber im Folgenden weggelassen.
-
Um
auf 2 einzugehen, so enthält der erste Roboter 1 gemäß der Ausführungsform
einen Roboterkörper 7a1,
einen Controller 8a1 zum Steuern oder Regeln des Ro boterkörpers 7a1,
ein Lehr-Gegenstück 9a1 als
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-Gegenstück
(teaching pendant) 9a1 über
ein Kabel verbunden.
-
Der
Roboterkörper 7a1 als
Steuer-Zielobjekt für
den Controller 8a1 ist beispielsweise als ein vertikal
gelenkiger Roboter ausgelegt.
-
Spezifischer
ausgedrückt
besteht der Roboterkörper 7a1 aus
einer im Wesentlichen zylinderförmig
gestalteten Basis 10, die auf der horizontalen Montageebene
montiert ist, und einer im Wesentlichen zylinderförmig gestalteten
Schulterverbindung oder Schultergelenk 11, welches auf
der Basis 10 in solcher Weise montiert ist, dass eine zentrale
Achsenrichtung der Schulterverbindung oder des Schultergelenkes 11 orthogonal
zu der zentralen Achsenrichtung der Basis 10 verläuft. Das
Schultergelenk 11 ist so konfiguriert, dass es auf der
Basis 11 um eine Zentrumsachse derselben horizontal drehbar
ist.
-
Der
Roboterkörper 7a1 besteht
auch aus einem Paar von oberen Armen (obere Armgelenke) 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
entsprechend der zentralen Achsenrichtung der Basis 10 gehaltert
ist.
-
Der
Roboterkörper 7a1 besteht
aus einem zweiten unteren Arm 14, der sich von dem ersten
unteren Arm 13 aus erstreckt und der drehbar um die Erstreckungsrichtung
gehaltert ist. Das Spitzenende 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 welches schwenkbar in vertikaler Richtung entsprechend der
zentralen Achsenrichtung der Basis 10 gehaltert ist.
-
Das
Handgelenk 15 ist mit einem Flansch 16 ausgestattet,
der davon absteht. Der Flansch 16 besitzt ein Spitzenende
und ist um die Vorspringrichtung in solcher Weise drehbar, dass
das Spitzenende die Montage einer mechanischen Hand (mechanischer
Greifer) 17a1 (siehe 4) zulässt, der
mit einem Greifabschnitt ausgebildet ist, der verschiedene Typen
von Teilen inklusive dem Werkstück 4 greifen kann.
Spezifischer ausgedrückt
dient der Flansch 16 (dessen spitzes 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-Servomotore in bevorzugter Weise als Motoren 24 verwendet
werden.
-
Spezifischer
ausgedrückt
ist die Basis 10 mit wenigstens einem der Motoren 24 und
einem Dreh-Getriebesystem (nicht gezeigt) integriert, welches die
Drehung von wenigstens einem der Motorem 24 zu dem Schultergelenk 11 überträgt, um dieses
horizontal zu drehen.
-
Das
Schultergelenk 11 ist mit wenigstens einem der Motoren 24 integriert
und auch mit einem Dreh-Übertragungssystem
oder Getriebesystem (nicht gezeigt), welches die Drehung von wenigstens einem
der Motoren 24 auf die oberen Arme 12 überträgt, um diese
miteinander vertikal zu schwenken.
-
Die
oberen Armgelenke 12 sind mit wenigstens einem der Motoren 24 integriert
und auch mit einem Dreh-Übertragungssystem
(nicht gezeigt), welches die Drehung von wenigstens einem der Motoren 24 auf
den ersten unteren Arm 13 überträgt, um diesen vertikal zu schwenken.
-
Der
erste untere Arm 13 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 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-Übertragungssystem
oder 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-Übertragungssystem oder
Dreh-Getriebesystem (nicht gezeigt) integriert, welches die Drehung
von wenigstens einem der Motoren 24 auf die mechanische
Hand 17a1 überträgt, um diese
in der Erstreckungsrichtung des Flansches 16 zu drehen.
-
Spezifischer
ausgedrückt
dienen die Basis 10, 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 Handgelenk (Flansch) 16 des Roboterkörpers 7 als Verbindungsgestänge (Gestängemechanismen)
des ersten Roboters 1.
-
Informationen,
welche die Abmessungen von jedem der Gestänge oder Verbindungsglieder 11 bis 16 und
der Hand 17a1 wie beispielsweise die Länge von jedem der Verbindungsglieder 11 bis 16 in der
longitudinalen Richtung oder axialen Richtung angeben, sind im Voraus
abgespeichert beispielsweise in einem ROM des Controllers 8a1,
was im Folgenden beschrieben wird.
-
Wie
in 3 gezeigt ist, enthält der Controller 8a1 eine
CPU 18, die als eine Steuereinheit dient, Treiberschaltungen 19 zum
Treiben der Motoren 24a1, eine Detektorschaltung 20,
einen ROM (Nur-Lesespeicher wie beispielsweise einen EEPROM, 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 Roboter-Bewegungsprogramm
zu erzeugen.
-
Der
RAM 22 enthält
das Roboter-Bewegungsprogramm darin gespeichert und auch ähnliche
Programme.
-
Das
I/F 23 ist dafür
ausgelegt, um elektrisch mit dem Lehr-Pendant 9a1 verbunden
zu werden.
-
Es
sei darauf hingewiesen, dass in 3 das Schultergelenk 11,
die oberen Armgelenke 12, das untere Armgelenk (des ersten
und des zweiten unteren Armes 13 und 14), das
Handgelenk 15 und das Handgelenk 16 kollektiv
als ein Gestänge
durch einen Block veranschaulicht sind. Die Bezugszeichen 11; 12, 13, 14, 15 und 16 sind
dem Block mit dem Verbindungsgestänge oder den Verbindungsgliedern
zugeordnet.
-
Als
Motoren zum Antreiben der Verbindungsglieder (Gelenkabschnitte) 11 bis 16 ist
ein Block als kollektives Zeichen veranschaulicht, welchem das Bezugszeichen 24 zugeordnet
ist.
-
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 Glied 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 aktuelle Posi tion 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 ausgedrückt ist
der Dreh-Codierer 25 so konfiguriert, um digitale Impulse
auszugeben, die der Winkelbewegung (Umdrehung) der Drehwelle von
jedem der Motoren 24 entsprechen. Das Impulssignal besteht
aus einer Folge von digitalen Impulsen und wird der Detektorschaltung 20 zugeführt.
-
Die
Detektorschaltung 20 ist dafür ausgelegt, um basierend auf
dem Impulssignal, welches von den Dreh-Codierern 25 gesendet
wird, die tatsächliche
Position der Drehwelle von jedem der Motoren 24 zu detektieren
und damit auch die tatsächliche oder
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 des Impulssignals zu zählen, die von jedem der Dreh-Codierer 24 eingespeist
werden und zwar pro Zeiteinheit; 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 ausgebildet, um an die CPU 18 Informationen
zu liefern, welche die aktuelle Position und die aktuelle Winkelgeschwindigkeit
von jedem der Gestänge
oder Glieder 11 bis 16 angeben.
-
Die
CPU 18 ist dafür
ausgebildet, um eine Rückkopplungssteuerung
oder Regelung der Bewegung von jedem der Glieder (Gelenkabschnitte) 11 bis 16 in
Einklang mit dem Roboter-Bewegungsprogramm auszuführen unter
Verwendung der Informationen, die von der Detektorschaltung 20 gesendet werden.
-
Jede
der Treiberschaltungen 16 ist dafür ausgebildet, um zu jedem
der entsprechenden Motoren 24 einen Treiberstrom unter
der Steuerung der CPU 18 zuzuführen, um die einzelnen Motoren 24 in der
Drehung anzutreiben entsprechend den einzelnen Gliedern 11 bis 16,
wodurch dann die Positionierung von jedem der Glieder 11 bis 16 gesteuert
wird.
-
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
ausgedrückt
ist die Treiberschaltung 19 dafür ausgebildet, um die Stromrichtung
umzuschalten, gemäß welcher
Strom einem entsprechenden Motor 24 zugeführt wird,
um es dem Motor 24 zu ermöglichen zu einem Generator
zu werden, und dadurch ein Umkehrdrehmoment zu generieren, welches
in einer Richtung entgegengesetzt zu der Motordrehrichtung aufgebracht
wird. Das gegenläufige
Drehmoment ermöglicht
es einem entsprechenden Einen der Glieder oder der Gestänge 11 bis 16 gebremst
zu werden. In bevorzugter Weise kann die Energie, die durch den
Motor 24 erzeugt wird, der dann als Generator dient, zu
einer Stromzufuhreinheit (nicht gezeigt), des Controllers 8a1 geliefert
werden, um dort gespeichert zu werden.
-
Es
sei erwähnt,
dass bei der Ausführungsform
das Gewicht von jedem der Glieder 11 bis 16 gemessen
wurde und beispielsweise in dem ROM 21 abgespeichert wurde
und dass gemäß der obigen Beschreibung
die aktuelle Winkelgeschwindigkeit von jedem der Glieder 11 bis 16 detektiert
wird und zu der CPU 18 gesendet wird.
-
Wenn
aus diesem Grund die Treiberschaltungen 19 und die Motoren 24 gesteuert
werden, um mit dem Bremsen der Bewegung von jedem der Glieder 11 bis 16 zu
beginnen, ist die CPU 18 dafür bereit einen Abstand zu berechnen,
um welchen jedes der Glieder 11 bis 16 und die
Hand 17a1 bewegt wurde und zwar seit dem Start des Bremsvorganges.
Der Abstand oder die Strecke wird im Folgenden als Bremsstrecke
bezeichnet.
-
Beispielsweise
ist in 4 ein Beispiel einer Bremsstrecke der Hand 17a1 des
ersten Roboters 1 zwischen einer Position P1 und einer
Position P2 durch das Bezugszeichen "S" veranschaulicht.
Spezifischer gesagt veranschaulicht 4, dass
die Hand 17a1 sich von der Position P1 zu der Position P2
um die Bremsstrecke S verschoben hat und zwar seit dem Start des
Bremsvorganges.
-
Es
sei darauf hingewiesen, dass bei der Ausführungsform gemäß der Darstellung
in 2 das Roboter-Koordinatensystem (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 Roboter-Koordinatensystem (X1, Y1, Z1) so erstellt, dass:
die
Y1-Achse parallel zu der Zentrumsachse des Schultergelenkes 11 verläuft;
die
Z1-Achse desselben mit der Zentrumsachse der Basis 10 koinzidiert;
und
die X1-Achse orthogonal zu der Y- und Z-Achse verläuft.
-
Das
Roboter-Koordinatensystem (X1, Y1, Z1) des ersten Roboters 1 wird
als Bezugs-Koordinatensystem des ersten Roboters 1 verwendet.
-
Zusätzlich wird
bei der Ausführungsform
ein ortsfestes oder fixiertes dreidimensionales Koordinatensystem
(Gestänge
oder Glieder-Koordinatensystem) für jedes der Gestänge oder
Glieder 11 bis 16 erstellt. Die Position und die
Orientierung des Glieder-Koordinatensystems
für jedes
der Glieder 11 bis 16 in dem Bezugs-Koordinatensystem
(X1, Y1, Z1) hängt
von der Bewegung von jedem der Glieder 11 bis 16 ab.
-
Spezifischer
ausgedrückt
arbeitet die CPU 18 in solcher Weise, 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 Bezugs-Koordinatensystem
(X1, Y1, Z1) umzuwandeln und zwar basierend auf den Informationen,
welche die tatsächliche
oder momentane Position von jedem der Glieder 11 bis 16 angeben,
wie dies durch die Detektorschaltung 20 detektiert worden
ist und welche die Abmessungen von jedem der Glieder oder Gestänge 11 bis 16 angeben,
die in dem ROM 21 gespeichert sind.
-
In ähnlicher
Weise enthält
der zweite Roboter 2 einen Roboterkörper 7a2, einen Controller 8a2 zum
Steuern des Roboterkörpers 7a2,
und ein Lehr-Pendant 9a2 als Lehr-Box für den Controller 8a2.
Der Roboterkörper 7a2 ist
elektrisch mit dem Controller 8a2 verbunden, und der Controller 8a2 ist elektrisch
mit dem Lehr-Pendant 9a2 über ein Kabel verbunden.
-
Wie
in 2 veranschaulicht ist, besitzt der Roboterkörper 7a2 die
gleiche Konstruktion wie der Roboterkörper 7a1. Ähnlich wie
der Roboterkörper 7a1 wird
ein Roboter-Koordinatensystem (X2, Y2, Z2) der Basis 10 des
zweiten Roboters 2 erstellt und zwar unabhängig von
der Bewegung von jedem der Glieder 11 bis 16 des
Roboterkörpers 7a2 des
zweiten Roboters 2, welches als ein Bezugs-Koordinatensystem
für den
zweiten Roboter 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 Bezugs-Koordinatensystem (X1, Y1, Z1) des ersten
Roboters 1 und diejenigen des Bezugs-Koordinatensystem
(X2, Y2, Z2) des zweiten Roboters 2 können in einfacher Weise ineinander
konvertiert werden.
-
Demzufolge
kann der Controller 8a1 des ersten Roboters 1 folgende
Operation ausführen:
er
kann frei oder unbehindert auf den Controller 8a2 zugreifen,
um dessen Positionierung (Position und Orientierung) von jedem der
Glieder 11 bis 16 des zweiten Roboters 2 in
dem Bezugs-Koordinatensystem (X2, Y2, Z2) zu lesen; und
er
kann die Positionierung (Position und Orientierung) von jedem der
Glieder 11 bis 16 des zweiten Roboters 2 in
das Bezugs-Koordinatensystem (X2, Y2, Z2) in eine Positionierung
(Position und Orientierung) von jedem der Glieder 11 bis 16 des
zweiten Roboters 2 in dem Bezugs-Koordinatensystem (X1, Y1,
Z1) umsetzen.
-
In ähnlicher
Weise kann der Controller 8a2 des zweiten Roboters 2 die
folgende Operation durchführen:
er
kann frei oder auf den Controller 8a1 zugreifen, um die
Positionierung (Position und Orientierung) von jedem der Glieder 11 bis 16 des
ersten Roboters 1 in dem Bezugs-Koordinatensystem (X1,
Y1, Z1) zu lesen; und
er kann die Positionierung (Position
und Orientierung) von jedem der Gestänge oder Glieder 11 bis 16 des
ersten Roboters 1 in dem Bezugs-Koordinatensystem (X1,
Y1, Z1) in eine Positionierung (Position und Orientierung) von jedem
der Glieder oder Gestänge 11 bis 16 des
ersten Roboters 1 in dem Bezugs-Koordinatensystem (X2,
Y2, Z2) umsetzen oder umwandeln.
-
Andererseits
ist das Lehr-Pendant 9a1 als tragbare Vorrichtung konstruiert,
bestehend aus einer Eingangseinheit, einer Anzeigeeinheit, einer Speichereinheit
und einer Berechnungseinheit, die die Ausführung von Grundfunktionen ermöglichen wie
beispielsweise eine Programmstartfunktion, Bewegung-Lehr-Funktion,
Maschinenverriegelungsfunktionen, Fehlernachricht-Anzeigefunktionen
und ähnlichen.
Diese tragbare Konfiguration des Lehr-Pendant 9a1 ermöglicht es
einer Bedienungsperson den Roboterkörper 7a1 zu steuern
während er
die Bewegung des Roboterkörpers 7a1 beobachtet.
-
Bei
der Ausführungsform
werden Informationen, die die beabsichtigten Bewegungen der Hand 17a1 des
Roboterkörpers 7a1 angeben,
zu dem Controller 8a1 übertragen
und zwar durch Lehr-Pendants 9a1.
-
Spezifischer
gesagt kann das Lehr-Pendant 9a1 die folgenden Operationen
ausführen:
Ausführen einer
Lehr-Aufgabe einer aktuellen Bewegung der Hand 17a1 des
Roboterkörpers 7a1 zu
gewünschten
Zielpositionen hin basierend auf den beabsichtigten Bewegungen während die
Hand 17a1 zu einer gewünschten
Positionierung gebracht wird und zwar bei jeder der gewünschten
Zielpositionen;
Lehren des Controllers 8a1 von Ziel-Befehlpositionen von
jedem der Glieder 11 bis 16 des Roboterkörpers 7a1 in
dem Bezugs-Koordinatensystem, die den gewünschten Zielpositionen entsprechen
und dafür
erforderlich sind, um die Hand 17a1 über den Trajektor zu bewegen
basierend auf den gewünschten
Zielpositionen; und
Lehren des Controllers 8a1 über eine
Ziel-Positionierung von jedem der Glieder 11 bis 16 zu
jeder der Ziel-Befehlspositionen in dem Bezugs-Koordinatensystem,
was erforderlich ist, um die Hand 17a1 zu der gewünschte Positionierung
an jedem der gewünschten
Zielpositionen zu bringen.
-
Der
Controller 8a1 speichert die Lehr-Ziel-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 lehrende Pendant 7a1, das lehrende Pendant 7a2 des
zweiten Roboters 2 für
die folgenden Operationen ausgelegt:
Ausführen einer Lehraufgabe gemäß einer
aktuellen Bewegung der Hand 17a2 des zweiten Roboterkörpers 7a2 an
gewünschten
Zielpositionen basierend auf beabsichtigten Bewegungen während die
Hand 17a2 zu einer gewünschten
Positionierung gebracht wird und zwar an jeder der gewünschten
Zielpositionen;
Lehren des Controllers 8a2 über Ziel-Befehlspositionen
von jedem der Glieder 11 bis 16 des Roboterkörpers 7a2,
die den gewünschten
Zielpositionen entsprechen und dafür erforderlich sind, um die
Hand 17a2 durch die Bewegungsbahn hindurch basierend auf
den gewünschten
Zielpositionen zu bewegen; und
Lehren des Controllers 8a2 über eine
Ziel-Positionierung von jedem der Glieder 11 bis 16 an
jeder der Ziel-Befehlspositionen, was erforderlich ist, um die Hand 17a2 zu
der gewünschten
Positionierung an jeder der gewünschten
Zielpositionen 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
werden die beabsichtigten Bewegungen der Hand 17a1 von
dem ersten Roboter 1 dem Controller 8a1 gelehrt
und sind für den
ersten Roboter 1 erforderlich, um:
den ersten Prozess
eines Werkstücks 4 auszuführen, welches
auf dem Werktisch 3 montiert ist;
das verarbeitete
Werkstück 4 zu
der Palette 5 zu transferieren; 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, dafür
erforderlich, damit der zweite Roboter 2:
ein Werkstück 4 ergreift,
welches auf der Palette 5 montiert ist;
das ergriffene
Werkstück 4 zu
dem Arbeitstisch zu übertragen,
um es dort zu montieren; und
den zweiten Prozess des Werkstücks 4 durchzuführen, welches
auf dem Werktisch 6 montiert ist.
-
Während des
Lehrvorganges in Verbindung mit dem Controller 8a1 hinsichtlich
der Ziel-Befehlspositionen von jedem Glied werden der vorbestimmte dreidimensionale
erste Arbeitsraum A1 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 Bezugs-Koordinatensystem (X1, Y1, Z1) gespeichert.
-
In ähnlicher
Weise werden während
des Lehrvorganges des Controllers 8a2 hinsichtlich der Ziel-Befehlspositionen
von jedem Glied der vorbestimmte dreidimensionale zweite Arbeitsraum
A2 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 Koordinatenraum
in dem Bezugs-Koordinatensystem (X2, Y2, Z2) gespeichert.
-
Um
den Roboterkörper 7a1 in
Einklang mit den beabsichtigten Bewegungen zu betreiben, die durch
das Lehr-Pendant 9a1 gelehrt werden, sendet die CPU 18 des
Cont rollers 8a1 in vorbestimmten Intervallen einen Operationsbefehl
für jedes
der Glieder 11 bis 16 zu jedem entsprechenden
Motor 24 über
eine entsprechende eine Schaltung der Treiberschaltungen 19.
Die beabstandeten Operationsbefehle geben jeweils die Ziel-Befehlspositionen
wieder und auch die Zielpositionierungen von jedem der Glieder 11 bis 16,
die in dem RAM 22 gespeichert sind.
-
Jeder
der Motoren 24 bewegt ein entsprechendes Eines der Glieder 11 bis 16 des
Roboterkörpers 7a1 bis
hin zu einer Ziel-Befehlsposition entsprechend jedem der gesendeten
Operationsbefehle, wobei ein entsprechendes Eines der Glieder oder Gestänge 11 bis 16 zu
einer Ziel-Positionierung gebracht wird, die der Ziel-Befehlsposition
zugeordnet ist.
-
Als
ein Ergebnis arbeitet die Hand 17a1 des ersten Roboters 1 in
Einklang mit den gelehrten Bewegungen in solcher Weise, um den ersten
Prozess eines Werkstücks 4 durchzuführen, welches
auf der Werkbank oder dem Arbeitstisch 3 montiert ist,
und überträgt das bearbeitete
oder verarbeitete Werkstück 7 zu
der Palette 5 hin, montiert dieses auf der Palette 5 und
kehrt dann zu dem Arbeitstisch oder Werkbank 3 zurück.
-
In ähnlicher
Weise sendet die CPU 18 des Controllers 8a2, um
den Roboterkörper 7a2 in
Einklang mit den beabsichtigten Bewegungen zu betätigen, die
durch das Lehr-Pendant 9a1 gelehrt
wurden, sequenziell in vorbestimmten Intervallen einen Operationsbefehl
für jedes
der Glieder 11 bis 16 zu jedem entsprechenden
Motor der Motoren 24 über
eine entsprechende eine Schaltung der Treiberschaltungen 19.
Die beabstandeten Operationsbefehle repräsentieren jeweils die Ziel-Befehlspositionen
und die Ziel-Positionierungen
von jedem der Glieder 11 bis 16, die in dem RAM 22 gespeichert
sind.
-
Jeder
der Motoren 24 bewegt ein entsprechendes eines Glied der
Glieder 11 bis 16 des Roboterkörpers 7a2 bis hin
zu der Ziel-Befehlsposition entsprechend jedem der gesendeten Operationsbefehle,
wobei das entsprechende eine Glied der Glieder 11 bis 16 zu
einer Ziel- oder Soll-Positionierung gebracht wird, die der Ziel-Befehlsposition
zugeordnet ist.
-
Als
ein Ergebnis arbeitet die Hand 17a2 des zweiten Roboters 2 in
Einklang mit dem gelehrten Bewegungen wie folgt:
sie erfasst
das Werkstück 4,
welches auf der Palette 5 montiert ist beziehungsweise
auf dieser angeordnet wurde;
überträgt das erfasste Werkstück 4 zu
der Werkbank oder dem Arbeitstisch 6, um es auf diesem
zu montieren;
sie führt
einen zweiten Prozess des Werkstücks 4 durch,
welches auf dem Arbeitstisch 6 montiert ist; und
kehrt
zu der Palette 5 zurück,
um ein anderes eines Werkstück 4 auf
der Palette 5 zu greifen.
-
Während der
wiederholten Ausführung
der Arbeiten des ersten und des zweiten Roboters 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. Danach montiert
die Hand 17a1 des ersten Roboters 1 das erfasste
Werkstück 4 auf
der Palette 5 oder ordnet dieses dort an und gleichzeitig
ergreift die Hand 17a2 des zweiten Roboters 2 das
Werkstück 4 von der
Palette 5 um es heraus zu bewegen.
-
Jedoch
verhindert eine Interferenz-Vermeidungsfunktion, die in jedem der
ersten und zweiten Roboter 1 und 2 installiert
ist entsprechend der Ausführungsform,
dass die zwei Hände 17a1 und 17a2 des
ersten und des zweiten Roboters 1 und 2 tatsächlich in
den gemeinsam genutzten Arbeitsraum B zum gleichen Zeitpunkt 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, welches in dem RAM 22 gespeichert
ist, zurückzuführen, um
jeden Roboter körper 7a1 und 7a2 zu
veranlassen die entsprechende Arbeit, wie sie oben dargelegt worden
ist, auszuführen.
-
Speziell
erlaubt das Roboter-Bewegungsprogramm der CPU 18 von jedem
Roboter die Interferenz-Vermeidungsfunktion zu implementieren.
-
Als
Nächstes
wird eine Roboter-Bewegungsaufgabe, inklusive einer Interferenz-Vermeidungsaufgabe,
die durch die CPU 18 von jedem Roboter in Einklang mit
dem Roboter-Bewegungsprogramm auszuführen ist, im Folgenden unter
Hinweis auf die 4 und 5 beschrieben.
-
Um
das Verständnis
der Roboter-Bewegungsaufgabe zu vereinfachen, wird zuerst die Roboter-Bewegungsaufgabe,
die durch die CPU 18 des ersten Roboters 1 ausgeführt werden
muss, im Folgenden beschrieben.
-
In
dem ersten Roboter 1 sendet die CPU 18 bei dem
Schritt S1 zyklisch einen Operationsbefehl für jedes der Glieder 11 bis 16 und
zwar zu jedem der entsprechenden Motoren 24 über eine
entsprechende eine Schaltung der Treiberschaltungen 19.
Die beabstandeten Operationsbefehle repräsentieren jeweils Ziel-Befehlspositionen
und Ziel-Positionierungen von jedem der Glieder 11 bis 16,
die in dem RAM 22 des Controllers 8a1 gespeichert
sind.
-
Spezifischer
ausgedrückt
steuert die CPU 18 bei jedem Betriebsbefehl-Sendezyklus
jeden der Motoren 24 derart, dass ein entsprechendes eines
der Glieder 11 bis 16 von einer momentanen Position
aus (einer früheren
Ziel-Befehlsposition entsprechend einem früheren Operationsbefehl) bis
hin zu einer gegenwärtigen
Ziel-Befehlsposition bewegt wird entsprechend einem momentanen oder
gegenwärtigen Operationsbefehl,
wobei ein entsprechendes eines der Glieder 11 bis 16 zu
einer vorbestimmten Ziel-Position oder Positionierung gebracht wird,
die der momentanen oder gegenwärtigen
Ziel-Befehlsposition zugeordnet ist, was bei dem Schritt S1 erfolgt.
-
Die
Steueroperation der CPU 18 ermöglicht es dem Roboterkörper 7a1 des
ersten Roboters 1 die beabsichtigten Bewegungen fortzusetzen,
die durch das Lehr-Pendant 9a1 bei dem Schritt S1 gelehrt wurden.
-
Bei
dem Schritt S2 berechnet die CPU 18 bei jedem Operationsbefehl-Sendezyklus
eine aktuelle Position der Hand 17a1.
-
Bei
dem Schritt S2 berechnet die CPU 18 unter der Annahme,
dass die CPU 18 die Treiberschaltungen 19 und
die Motoren 24 steuert, um einen Bremsvorgang der Bewegung
von jedem der Glieder 11 bis 16 um ein vorbestimmtes
erstes Bremsdrehmoment zu starten und zwar bei jedem Operationsbefehl-Sendezyklus,
basierend auf dem Gewicht von jedem Glied und der Hand 17a1 und
einer aktuellen Winkelgeschwindigkeit von jedem Glied, eine Bremsstrecke,
um die jedes Glied und die Hand 17a1 seit dem Start des
Bremsvorganges in jedem Operationsbefehl-Sendezyklus bewegt wurde.
-
Darüber hinaus
schätzt
die CPU 18 bei dem Schritt S2 bei jedem Operationsbefehl-Sendezyklus eine
Stoppposition ab (Koordinaten) und zwar von jedem der Glieder 11 bis 16 und
von der Hand 17a1 in dem Bezugs-Koordinatensystem (X1,
Y1, Z1) des ersten Roboters 1 basierend auf der aktuellen
Position und der Bremsstrecke von jedem der Glieder 11 bis 16 und
der Hand 17a1.
-
Als
nächstes
berechnet die CPU 18 für
jeden Operationsbefehl-Sendezyklus eine Positionsbeziehung zwischen
der geschätzten
Stoppposition von jedem der Glieder 11 bis 16 und
der Hand 17a1 und dem gemeinsam genutzten Arbeitsraum (Koordinatenraum)
B in dem Bezugs-Koordinatensystem (X1, Y1, Z1) des ersten Roboters 1,
was bei dem Schritt S3 erfolgt.
-
Bei
dem Schritt S4 bestimmt die CPU 18 für jeden Operationsbefehl-Sendezyklus,
ob die geschätzte
Stoppposition von wenigstens einem der Glieder 11 bis 16 und
von der Hand 17a1 in dem gemeinsam genutzten Arbeitsraum
B vorhanden ist und zwar basierend auf der Positionsbeziehung zwischen der
geschätzten
Stoppposition von je dem der Glieder 11 bis 16 und
der Hand 17a1 und dem gemeinsam genutzten Arbeitsraum B.
-
Wenn
bestimmt wird, dass keine geschätzten
Stopppositionen der Glieder 11 bis 16 und der Hand 17a1 in
dem gemeinsam genutzten Arbeitsraum B vorhanden sind (die Bestimmung
bei dem Schritt S4 lautet NEIN), kehrt die CPU 18 zu dem Schritt
S1 zurück.
Dann wiederholt die CPU 18 die Ausführung der Operationen bei den
Schritten S1 bis S4, bis die Bestimmung bei dem Schritt S4 zu NEIN wird.
-
Eine
fortgesetzte Bewegung des Roboterkörpers 7a1 des ersten
Roboters 1 bei dem Schritt S1 ermöglicht es dem Roboterkörper 7a1 des
ersten Roboters 1:
ein Werkstück 4 zu handhaben,
welches auf dem Arbeitstisch oder der Werkbank 3 montiert
ist;
das bearbeitete Werkstück 4 durch
die Hand 17a1 zu ergreifen; und
das bearbeitete oder
verarbeitete Werkstück 7,
welches von der Hand 17a1 ergriffen ist, zu der Palette 5 zu übertragen.
-
Wenn
als Ergebnis der Roboterkörper 7a1 des
ersten Roboters 1 sich dicht zu dem gemeinsam genutzten
Arbeitsraum B (Palette 5) bewegt, wie dies in 4 veranschaulicht
ist, wird angenommen, dass die geschätzte Stoppposition von wenigstens
einer der erhaltenen Stopppositionen der Glieder 11 bis 16 und
der Hand 17a1 innerhalb des gemeinsam genutzten Arbeitsraumes
B gelegen ist und zwar zu wenigstens einem Zeitpunkt entsprechend
einem Operationsbefehl-Sendezyklus.
-
Es
sei darauf hingewiesen, dass die Bremsstrecke der Hand 17a1 bei
dieser Annahme durch das Bezugszeichen "S" in 4 veranschaulicht
ist.
-
Bei
dieser Annahme und wenn die Bestimmung bei dem Schritt S4 JA lautet,
verläuft
der Prozess der CPU 18 zu dem Schritt S5 hin.
-
Es
sei darauf hingewiesen, dass gemäß der obigen
Beschreibung gleichzeitig mit der CPU 18 des ersten Roboters 1 die
CPU 18 des zweiten Roboters 2 die Operationen
gemäß den Schritten
S1 bis S4 ausführt,
um dadurch:
eine Stoppposition (Koordinaten) von jedem der
Glieder 11 bis 16 und von der Hand 17a2 in
dem Bezugs-Koordinatensystem (X2, Y2, Z2) des zweiten Roboters zu
schätzen
und zwar basierend auf der aktuellen Position und der Bremsstrecke
von jedem der Glieder 11 bis 16 und von der Hand 17a2 (siehe Schritt
S2);
eine Positionsbeziehung zwischen der geschätzten Stoppposition
von jedem der Glieder 11 bis 16 und von der Hand 17a2 und
dem gemeinsam genutzten Arbeitsraum (Koordinatenraum) B in dem Bezugs-Koordinatensystem
(X2, Y2, Z2) des zweiten Roboters 2 zu berechnen (siehe
Schritt S3); und
zu bestimmen, ob die geschätzte Stoppposition von wenigstens
einem der Glieder 11 bis 16 und von der Hand 17a2 in
dem gemeinsam genutzten Arbeitsraum B vorhanden ist und zwar basierend
auf der Positionsbeziehung zwischen der geschätzten Stoppposition und von
jedem der Glieder 11 bis 16 und der Hand 17a2 und
dem gemeinsam genutzten Arbeitsraum B (siehe Schritt S4).
-
Demzufolge
greift die CPU 18 bei dem Schritt S5 des ersten Roboters 1 auf
die CPU 18 des zweiten Roboters 2 über deren
Interface 23 zu, um von der CPU 18 des zweiten
Roboters 2 die aktuelle Position und die Stoppposition
von jedem der Glieder 11 bis 16 und von der Hand 17a2 des
zweiten Roboters 2 zu wenigstens einem Zeitpunkt bei dem
Schritt S4 zu erhalten.
-
Spezifischer
ausgedrückt
wandelt die CPU 18 des ersten Roboters 1 die Koordinaten
der tatsächlichen
oder aktuellen Position und der Stoppposition von jedem der Glieder 11 bis 16 und
von der Hand 17a2 des Roboters 2 in das Bezugs-Koordinatensystem
(X2, Y2, Z2) des zweiten Roboters 2 um und zwar in solche
gemäß der aktuellen
Position und der Stoppposition von jedem der Glieder 11 bis 16 und
der Hand 17a2 des Roboters 2 in dem Bezugs-Koordinatensystem
(X1, Y1, Z1) des ersten Roboters 1.
-
Nachfolgend
bestimmt die CPU 18 des Roboters 1, ob die erhaltene
aktuelle Position von wenigstens einem der Glieder 11 bis 16 und
von der Hand 17a2 des Roboters 2 zu dem gleichen
Zeitpunkt in dem gemeinsam genutzten Arbeitsraum B enthalten ist
und zwar basierend auf der Positionsbeziehung zwischen der erhaltenen
aktuellen Position von jedem der Glieder 11 bis 16 und
von der Hand 17a2 und dem gemeinsam genutzten Arbeitsraum
B, was bei dem Schritt S6 erfolgt.
-
Gleichzeitig
bestimmt die CPU 18 des Roboters 1, ob die erhaltene
geschätzte
Stoppposition von wenigstens einem der Glieder 11 bis 16 und
von der Hand 17a2 des Roboters 2 zu dem gleichen
Zeitpunkt in dem gemeinsam genutzten Arbeitsraum B enthalten ist,
basierend auf der Positionsbeziehung zwischen der erhaltenen geschätzten Stoppposition von
jedem der Glieder 11 bis 16 und der Hand 17a2 und
dem gemeinsam genutzten Arbeitsraum B, was bei dem Schritt S6 stattfindet.
-
Wenn
bestimmt wird und zwar zu dem gleichen Zeitpunkt, dass keine geschätzten Stopppositionen
der Glieder oder Verbindungsglieder 11 bis 16 und
der Hand 17a2 des zweiten Roboters 2 und keine
aktuellen Positionen desselben in dem gemeinsam genutzten Arbeitsraum
B enthalten sind (die Bestimmung bei dem Schritt S6 lautet NEIN),
führt die CPU 18 wiederholt
die Operation bei dem Schritt S1 durch.
-
Als
ein Ergebnis ermöglicht
die fortgesetzte Bewegung des Roboterkörpers 7a1 des ersten
Roboters 1 bei dem Schritt S1, dass die Hand 17a1 des Roboterkörpers 7a1:
in
den gemeinsam genutzten Arbeitsraum B eindringt, was bei dem Schritt
S7 stattfindet;
das Werkstück 4 auf
der Palette 5 in dem gemeinsam genutzten Arbeitsraum B
bei einem Schritt S8 montiert werden kann;
diese aus dem gemeinsam
genutzten Arbeitsraum B bei dem Schritt S9 herausgelangen kann;
und
diese zu dem Arbeitstisch 3 zurückkehren
kann.
-
Danach
kehrt die CPU 18 zu dem Schritt S1 zurück, um wiederholt die Operationen
bei dem Schritt S1 und die weiteren Operationen durchzuführen.
-
Wenn
andererseits bei dem gleichen Zeitpunkt bestimmt wird, dass entweder
die geschätzte Stoppposition
von wenigstens einem der Glieder 11 bis 16 und
von der Hand 17a2 des zweiten Roboters 2 oder
die aktuelle Position von wenigstens einem der Glieder 11 bis 16 und
von der Hand 17a2 desselben in dem gemeinsam genutzten
Arbeitsraum B enthalten ist (die Bestimmung bei dem Schritt S6 lautet JA),
schreitet die CPU 18 zu dem Schritt S10 voran.
-
Bei
dem Schritt S10 führt
die CPU 18 eine dringende Bremsung der Bewegung von jedem
der Glieder 11 bis 16 des ersten Roboters 1 durch.
-
Spezifischer
ausgedrückt
steuert die CPU 18 bei dem Schritt S10 eine entsprechende
eine Schaltung der Treiberschaltungen 19, um die Richtung
des Stromes, welcher jedem der Motoren 24 zugeführt wird,
umzuschalten, damit jeder der Motoren 24 ein Umkehrdrehmoment
erzeugen kann, welches in einer Richtung entgegengesetzt zu der
Motordrehrichtung aufgebracht wird, wodurch dann die Bewegung von
jedem der Glieder 11 bis 16 des ersten Roboters 1 gebremst
wird.
-
Bei
der Ausführungsform
ist ein zweites Bremsdrehmoment entsprechend dem Umkehrdrehmoment
größer als
das erste Bremsdrehmoment, welches bei dem Schritt S2 verwendet
wird.
-
Wie
in 4 veranschaulicht ist, ist die Bremsstrecke der
Hand 17a1, die bei dem Schritt S10 erhalten wird, kürzer als
die Bremsstrecke S der Hand 17a1, die bei dem Schritt S2
basierend auf dem ersten Bremsdrehmoment erhalten wird.
-
Ein
dringendes oder erzwungenes Bremsen bei dem Schritt S10 ermöglicht es
dem Roboterkörper 7a1 des
ersten Roboters 1 zu stoppen und zwar vor dem Eintritt
in den gemeinsam genutzten Arbeitsraum B.
-
Nach
der Vervollständigung
der zwingenden Bremsung bei dem Schritt S10 gelangt die CPU 18 des
ersten Roboters 1 in einen Zustand, um das Herausgelangen
des Roboterkörpers 7a2 des
zweiten Roboters 2 aus dem gemeinsam genutzten Arbeitsraum
B zu detektieren während
auf die CPU 18 des zweiten Roboters 2 zugegriffen
wird, um die aktuelle Position von jedem der Glieder 11 bis 16 und
von der Hand 17a2 des Roboterkörpers 7a2 bei dem
Schritt S11 zu erhalten.
-
Wenn
bestimmt wird, dass der Roboterkörper 7a2 des
zweiten Roboters 2 aus dem gemeinsam genutzten Arbeitsraum
B herausgelangt und zwar basierend auf der aktuellen Position von
jedem der Glieder 11 bis 16 und von der Hand 17a2 des
Roboterkörpers 7a2,
und dass keine geschätzte
Position von wenigstens einem der Glieder 11 bis 16 und
von der Hand 17a2 des zweiten Roboters 2 in dem
gemeinsam genutzten Arbeitsraum B enthalten ist (die Bestimmung
bei dem Schritt S11 lautet JA), schreitet die CPU 18 zu
dem Schritt S12 voran beziehungsweise die Verarbeitung gelangt dann
zu dem Schritt S12.
-
Bei
dem Schritt S12 setzt die CPU 18 die beabsichtigten Bewegungen
fort, die durch das Lehr-Pendant 9a1 bei dem Schritt S1
gelehrt wurden und zwar von dort aus, wo die Bewegung des Roboterkörpers 7a1 des
ersten Roboters 1 gestoppt worden ist.
-
Als
ein Ergebnis ermöglicht
es die fortgesetzte Bewegung des Roboterkörpers 7a1 des ersten
Roboters 1 bei dem Schritt S1, dass die Hand 17a1 des Roboterkörpers 7a1:
in
dem gemeinsam genutzten Arbeitsraum B eindringt, was bei dem Schritt
S7 erfolgt;
dass Werkstück 4 auf
der Palette 5 in dem gemeinsam genutzten Arbeitsraum B
montiert wird, was bei dem Schritt S8 erfolgt;
diese aus dem
gemeinsam genutzten Arbeitsraum B bei dem Schritt S9 herausgelangt;
und
diese zu dem Arbeitstisch oder Werkbank 3 zurückkehrt.
-
Danach
kehrt die CPU 18 zu dem Schritt S1 zurück, wobei wiederholt die Operationen
in dem Schritt S1 und die nachfolgenden ausgeführt werden.
-
Wie
oben beschrieben ist, ist der erste Roboter 1 gemäß der Ausführungsform
so programmiert, dass er zwangsweise oder dringend die Bewegung von
jedem der Glieder 11 bis 16 des ersten Roboters bremst,
wenn bestimmt wurde, dass die geschätzte Stoppposition von wenigstens
einem der Glieder 11 bis 16 und von der Hand 17a2 des
zweiten Roboters 2 oder die aktuelle Position von wenigstens
einem der Glieder 11 bis 16 und von der Hand 17a2 in
dem gemeinsam genutzten Arbeitsraum B vorhanden ist.
-
Dies
kann dann verhindern, dass der erste und auch der zweite Roboter 1 und 2 in
den gemeinsam genutzten Arbeitsraum B eindringen, mit der Möglichkeit
eine Kollision zwischen dem ersten und dem zweiten Roboter 1 und 2 in
dem gemeinsam genutzten Arbeitsraum B zu verhindern.
-
Die
vorliegende Erfindung ist nicht auf die oben beschriebene Ausführungsform
beschränkt,
die in den 1 bis 5 veranschaulicht
ist.
-
Spezifischer
gesagt kann der dringende Bremsvorgang bei dem Schritt S10 unter
Verwendung eines Bremsdrehmoments ausgeführt werden, welches äquivalent
zu dem ersten Bremsdrehmoment ist, welches verwendet wird, wenn
eine Stoppposition des Roboterkörpers 7a1 bei
dem Schritt S2 geschätzt
wird. Bei dieser abgewandelten Ausführungsform ist es, obwohl der
Roboterkörper 7a2 in den
gemeinsam genutzten Arbeitsraum B vor dem Anhalten eindringen kann,
möglich
das Ausmaß des Eindringens
des Roboterkörpers 7a1 in
dem gemeinsam genutzten Arbeitsraum B so gering wie möglich zu
halten oder zu begrenzen, um dadurch eine Kollision zwischen dem
ersten und dem zweiten Roboter 1 und 2 in dem
gemeinsam genutzten Arbeitsraum B zu vermeiden.
-
Bei
dem Schritt S5 greift die CPU 18 des ersten Roboters auf
die CPU 18 des zweiten Roboters 2 zu, um von der
CPU 18 des zweiten Roboters 2 die aktuelle Position
und die Stoppposition von jedem der Glieder 11 bis 16 und
von der Hand 17a2 zu erhalten. Die vorliegende Erfindung
ist jedoch nicht auf diese Konstruktion beschränkt.
-
Spezifischer
ausgedrückt
kann anstelle des Ableitens der Stoppposition von jedem der Glieder 11 bis 16 und
von der Hand 17a2 des zweiten Roboters 2 von der
CPU 18 des zweiten Roboters 2 die CPU 18 des
ersten Roboters 1:
das Gewicht von jedem Glied und
von der Hand 17a1 und auch eine aktuelle Winkelgeschwindigkeit
von jedem Glied lesen;
basierend auf dem gelesenen Gewicht
von jedem Glied und von der Hand 17a2 und von der aktuellen Winkelgeschwindigkeit
von jedem Glied, seine Bremsstrecke berechnen, über die jedes Glied und die
Hand 17a2 verlaufen und zwar seit dem Start des Bremsvorgangs;
und
eine Stoppposition von jedem der Glieder 11 bis 16 und
von der Hand 17a2 in dem Bezugs-Koordinatensystem (X1,
Y1, Z1) des ersten Roboters 1 basierend auf der aktuellen
Position und der Bremsstrecke von jedem der Glieder 11 bis 16 und
von der Hand 17a2 schätzen.
-
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 auch drei
oder mehrere Roboter enthalten und der Controller von jedem der
drei oder mehreren Roboter kann die Roboter-Bewegungsaufgabe ausführen.
-
Bei
dem Schritt S1 kann die CPU 18 zyklisch einen Operationsbefehl
für jedes
der Glieder 11 bis 16 zu einem entsprechenden
einen der Motoren 24 über
eine entsprechende eine Schaltung der Treiberschaltungen 19 in
regulären
Intervallen oder in irregulären
Intervallen senden.
-
Die
vorliegende Erfindung kann auf vielfältige Typen von Robotern angewendet
werden, ohne eine Beschränkung
auf solch einen vertikal gelenkigen Roboter.
-
Bei
der Ausführungsform
enthalten der erste und der zweite Roboter individuell einen ersten
und zweiten Controller, sie können
jedoch auch einen gemeinsam benutzten Controller enthalten, der
die gleichen Funktionen besitzt wie jeder der ersten und zweiten
Controller.
-
Obwohl
beschrieben wurde, was momentan als Ausführungsform und deren Modifikationen
der vorliegenden Erfindung betrachtet wird, sei darauf hingewiesen,
dass vielfältige
Abwandlungen möglich sind,
die nicht beschrieben wurden, die jedoch durch die anhängenden
Ansprüche
alle mit abgedeckt werden und in den Rahmen der vorliegenden Erfindung fallen.