DE102006055360A1 - Roboter und Vielfach-Roboter-Steuerverfahren - Google Patents

Roboter und Vielfach-Roboter-Steuerverfahren Download PDF

Info

Publication number
DE102006055360A1
DE102006055360A1 DE102006055360A DE102006055360A DE102006055360A1 DE 102006055360 A1 DE102006055360 A1 DE 102006055360A1 DE 102006055360 A DE102006055360 A DE 102006055360A DE 102006055360 A DE102006055360 A DE 102006055360A DE 102006055360 A1 DE102006055360 A1 DE 102006055360A1
Authority
DE
Germany
Prior art keywords
robot
movable part
stop position
movement
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102006055360A
Other languages
English (en)
Inventor
Kenji Nagamatsu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Publication of DE102006055360A1 publication Critical patent/DE102006055360A1/de
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39083Robot interference, between two robot arms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40387Modify without repeating teaching operation

Abstract

Wenn ein Bremsvorgang einer Bewegung eines Teiles eines ersten Roboters zu Zeitpunkten als gestartet angenommen wird, wird eine erste Stoppposition des Teiles des ersten Roboters zu jedem Zeitpunkt geschätzt. Wenn der Bremsvorgang einer Bewegung eines Teiles eines zweiten Roboters zu den Zeitpunkten als gestartet angenommen wird, wird eine geschätzte zweite Stoppposition des Teiles des zweiten Roboters zu jedem Zeitpunkt abgeleitet. Es wird bestimmt, dass die erste Stoppposition des Teiles des ersten Roboters zu einem der Zeitpunkte und entweder die aktuelle Position oder die zweite Stoppposition des Teiles des zweiten Roboters für jeden Intervall zu einem der Zeitpunkte in dem gemeinsam genutzten Arbeitsraum enthalten sind und es wird das Teil des ersten Roboters gebremst.

Description

  • 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.

Claims (6)

  1. Vielfach-Roboter-Steuerverfahren für eine Vielzahl an Robotern, von denen jeder ein bewegbares Teil aufweist, wobei die Vielzahl der Roboter einen Arbeitsraum gemeinsam nutzen und jeweils die bewegbaren Teile betätigen, welches Verfahren die folgenden Schritte umfasst: wenn der Bremsvorgang einer Bewegung des betätigten bewegbaren Teiles eines ersten Roboters innerhalb der Vielzahl der Roboter zu einer Vielzahl an Zeitpunkten gestartet angenommen wird, Abschätzen einer ersten Stoppposition des bewegbaren Teiles des ersten Roboters zu jedem Zeitpunkt; wenn eine Bewegung des betätigten bewegbaren Teiles eines zweiten Roboters innerhalb der Vielzahl der Roboter gebremst wird und angenommen wird, dass dieser Bremsvorgang zu einer Vielzahl an Zeitpunkten gestartet wird, Ableiten einer geschätzten zweiten Stoppposition des bewegbaren Teiles des zweiten Roboters zu jedem Zeitpunkt; Bestimmen an wenigstens einem der Zeitpunkte, ob die geschätzte erste Stoppposition des bewegbaren Teiles des ersten Roboters und wenigstens eine aktuelle Position und die erhaltene zweiten Stoppposition des bewegbaren Teiles des zweiten Roboters in dem gemeinsam genutzten Arbeitsraum enthalten sind; und Bremsen des bewegbaren Teiles des ersten Roboters, wenn bestimmt wird, dass die geschätzte erste Stoppposition des bewegbaren Teiles des ersten Roboters zu wenigstens einem der Zeitpunkte und wenigstens eine aktuelle Position und die erhaltene zweite Stoppposition des bewegbaren Teiles des zweiten Roboters zu wenigstens einem der Zeitpunkte in dem gemeinsam genutzten Arbeitsraum enthalten sind.
  2. Vielfach-Roboter-Steuerverfahren nach Anspruch 1, ferner mit den folgenden Schritten: Bestimmen, ob die aktuelle Position und die erhaltene zweite Stoppposition des bewegbaren Teiles des zweiten Roboters nicht in dem gemeinsam genutzten Arbeitsraum zu einem Zeitpunkt nach dem Bremsvorgang enthalten ist; und wenn bestimmt wird, dass die aktuelle Position und die erhaltene zweite Stoppposition des bewegbaren Teiles des zweiten Roboters nicht in dem gemeinsam genutzten Arbeitsraum zu dem Zeitpunkt nach dem Bremsvorgang enthalten sind, Fortsetzen der Bewegung des bewegbaren Teiles des ersten Roboters von einer Stelle aus, von welcher die Bewegung des bewegbaren Teiles des ersten Roboters gestoppt wurde.
  3. Roboter, der mit einem anderen Roboter kommunizieren kann und einen Arbeitsraum mit dem anderen Roboter teilt, wobei der Roboter folgendes aufweist: einen Roboterkörper mit einem bewegbaren Teil; eine Operationseinheit, die dafür konfiguriert ist, um das bewegbare Teil zu betätigen; eine erste Schätzeinheit, die dafür konfiguriert ist, um dann, wenn ein Bremsen einer Bewegung des betätigten bewegbaren Teiles angenommener Maßen zu einer Vielzahl an Zeitpunkten als gestartet angenommen wird, die erste Stoppposition des bewegbaren Teiles zu jedem Zeitpunkt zu schätzen; eine Zugriffseinheit, die dafür konfiguriert ist, um auf den anderen Roboter zuzugreifen, um dann, wenn das Bremsen einer Bewegung eines betätigten bewegbaren Teiles des anderen Roboters angenommener Maßen zu einer Vielzahl an Zeitpunkten gestartet wird, eine geschätzte zweite Stoppposition des bewegbaren Teiles des anderen Roboters zu jedem Zeitpunkt abgeleitet wird, und eine aktuelle Position des betätigten bewegbaren Teiles des anderen Roboters zu jedem Zeitpunkt abgeleitet wird; 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 wenigstens eine Position gemäß der aktuellen Position und der abgeleiteten zweiten Stoppposition des bewegbaren Teiles des anderen Roboters in dem gemeinsam genutzten Arbeitsraum enthalten sind; und 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 zu wenigstens einem der Zeitpunkte und wenigstens eine Position gemäß der aktuellen Position und der abgeleiteten zweiten Stoppposition des bewegbaren Teiles des anderen Roboters zu dem wenigstens einem Zeitpunkt in dem gemeinsam genutzten Arbeitraum vorhanden sind.
  4. Vielfach-Roboter-Steuereinrichtung nach Anspruch 3, ferner mit: einer zweiten Bestimmungseinheit, die dafür konfiguriert ist zu bestimmen, ob die aktuelle Position und die abgeleitete zweite Stoppposition des bewegbaren Teiles des zweiten Roboters nicht in dem gemeinsam genutzten Arbeitsraum zu einem Zeitpunkt nach dem Bremsen durch die Bremseinheit enthalten sind; und wenn bestimmt wurde, dass die aktuelle Position und die abgeleitete zweite Stoppposition des bewegbaren Teiles des zweiten Roboters nicht in dem gemeinsam genutzten Arbeitsraum zu dem Zeitpunkt nach dem Bremsvorgang der Bremseinheit enthalten sind, eine Fortsetzungseinheit vorgesehen ist, die dafür konfiguriert ist, um die Bewegung des bewegbaren Teiles des ersten Roboters von einer Stelle an fortzusetzen, an welcher die Bewegung des bewegbaren Teiles des ersten Roboters gestoppt worden ist.
  5. Roboter-Controller für einen Roboter, der mit einem anderen Roboter kommunizieren kann und ein bewegbares Teil aufweist und sich einen Arbeitsraum mit dem anderen Roboter teilt, bei dem der Roboter-Controller betriebsmäßig mit einer Bremseinheit verbunden ist, wobei der Roboter-Controller programmiert ist, um: das bewegbare Teil zu betätigen; eine erste Stoppposition des bewegbaren Teiles des Roboters zu jedem Zeitpunkt zu schätzen, wenn der Bremsvorgang einer Bewegung des betätigten bewegbaren Teiles an einer Vielzahl von Zeitpunkten gestartet angenommen wird; auf den anderen Roboter zuzugreifen, um: dann, wenn angenommen werden kann, dass ein Bremsen einer Bewegung eines betätigten bewegbaren Teiles des anderen Roboters zu der Vielzahl der Zeitpunkte gestartet wurde, eine geschätzte zweite Stoppposition des bewegbaren Teiles des anderen Roboters basierend auf dem Zugriffsergebnis zu jedem Zeitpunkt abzuleiten; und eine aktuelle Position des betätigten bewegbaren Teiles des anderen Roboters zu jedem Zeitpunkt zu erhalten; 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; und 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 abgeleiteten zweiten Stoppposition des bewegbaren Teiles des anderen Roboters zu wenigstens einem der Zeitpunkte in dem gemeinsam genutzten Arbeitsraum enthalten sind.
  6. Roboter-Controller nach Anspruch 5, bei dem der Roboter-Controller ferner dafür programmiert ist, um zu bestimmen, ob die aktuelle Position und die abgeleitete zweite Stoppposition des bewegbaren Teiles des anderen Roboters in dem gemeinsam genutzten Arbeitsraum zu einem Zeitpunkt nach dem Bremsvorgang enthalten sind; und wenn bestimmt wurde, dass die aktuelle Position und die abgeleitete zweite Stoppposition des bewegbaren Teiles des anderen Roboters nicht in dem gemeinsam genutzten Arbeitsraum zu dem Zeitpunkt nach dem Bremsvorgang enthalten sind, die Bewegung des bewegbaren Teiles des Roboters von einer Stelle an fortzusetzen, an der die Bewegung des bewegbaren Teiles des Roboters gestoppt wurde.
DE102006055360A 2005-11-24 2006-11-23 Roboter und Vielfach-Roboter-Steuerverfahren Ceased DE102006055360A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005338764A JP2007144524A (ja) 2005-11-24 2005-11-24 ロボットの干渉回避方法およびロボット
JP2005-338764 2005-11-24

Publications (1)

Publication Number Publication Date
DE102006055360A1 true DE102006055360A1 (de) 2007-06-14

Family

ID=38054547

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006055360A Ceased DE102006055360A1 (de) 2005-11-24 2006-11-23 Roboter und Vielfach-Roboter-Steuerverfahren

Country Status (3)

Country Link
US (1) US7321808B2 (de)
JP (1) JP2007144524A (de)
DE (1) DE102006055360A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015007395A1 (de) * 2015-06-08 2016-12-08 Kuka Roboter Gmbh Verfahren und System zum Betreiben und/oder Überwachen einer Maschine, insbesondere eines Roboters
CN106406304A (zh) * 2015-07-27 2017-02-15 西门子工业软件有限公司 用于对交叠的机器人移动进行防碰撞管理的方法
CN108897282A (zh) * 2018-05-03 2018-11-27 顺丰科技有限公司 多任务模块化机器人及调度管理方法、装置及其存储介质
DE102017010599A1 (de) * 2017-11-15 2019-05-16 Kuka Deutschland Gmbh Verfahren und System zum Simulieren eines Bremsvorgangs eines Roboters

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330776B1 (en) * 2000-10-06 2008-02-12 Innovation First, Inc. System, apparatus, and method for managing and controlling robot competitions
JP4544145B2 (ja) * 2005-11-24 2010-09-15 株式会社デンソーウェーブ ロボットの干渉回避方法およびロボット
JP4159577B2 (ja) * 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
JP4271232B2 (ja) * 2006-12-20 2009-06-03 ファナック株式会社 ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
JPWO2009004686A1 (ja) * 2007-06-29 2010-08-26 富士通株式会社 搬送装置
WO2009072383A1 (ja) * 2007-12-07 2009-06-11 Kabushiki Kaisha Yaskawa Denki ロボット動作規制方法並びにロボットシステム及びロボット動作規制装置
JP4903731B2 (ja) * 2008-01-17 2012-03-28 パナソニック株式会社 部品実装装置および制御方法
JP4951783B2 (ja) * 2008-02-01 2012-06-13 株式会社デンソーウェーブ ロボット制御装置及びロボット制御方法
US20090326712A1 (en) * 2008-06-26 2009-12-31 Utica Enterprises, Inc. Calibration for vehicle body assembly
US20100180711A1 (en) 2009-01-19 2010-07-22 Comau, Inc. Robotic end effector system and method
EP2409457A4 (de) * 2009-03-17 2012-12-19 Comau Inc Industriekommunikationssystem und -verfahren
CA2785558C (en) * 2010-01-12 2016-05-10 Comau, Inc. Distributed control system
JP5043239B2 (ja) * 2010-01-15 2012-10-10 パナソニック株式会社 弾性体アクチュエータ駆動機構の制御装置及び制御方法、並びに、制御プログラム
US9815193B2 (en) * 2011-06-27 2017-11-14 Delaware Capital Formation, Inc. Electric motor based holding control systems and methods
ITTO20110994A1 (it) * 2011-10-31 2013-05-01 Comau Spa Metodo per il controllo di almeno due robot aventi rispettivi spazi di lavoro includenti almeno una regione in comune
ES2654335T3 (es) 2014-10-23 2018-02-13 Comau S.P.A. Sistema para monitorizar y controlar una instalación industrial
WO2016067503A1 (ja) * 2014-10-29 2016-05-06 ソニー株式会社 生産処理装置、生産処理方法、プログラム及びワークの製造方法
US9744668B1 (en) 2015-08-21 2017-08-29 X Development Llc Spatiotemporal robot reservation systems and method
DE202015105595U1 (de) 2015-10-21 2016-01-14 Fft Produktionssysteme Gmbh & Co. Kg Absolutes robotergestütztes Positionsverfahren
JP6601155B2 (ja) * 2015-10-28 2019-11-06 株式会社デンソーウェーブ ロボット制御システム
US10131053B1 (en) * 2016-09-14 2018-11-20 X Development Llc Real time robot collision avoidance
JP6853675B2 (ja) * 2017-01-20 2021-03-31 川崎重工業株式会社 ロボットシステムとロボットの制御装置
ES2749573T3 (es) 2017-02-23 2020-03-23 Comau Spa Robot articulado que lleva un cabezal de soldadura por resistencia eléctrica con electrodos ubicados en el mismo lado, procedimiento correspondiente de soldadura por resistencia eléctrica en un componente a soldar
IT201800005091A1 (it) 2018-05-04 2019-11-04 "Procedimento per monitorare lo stato di funzionamento di una stazione di lavorazione, relativo sistema di monitoraggio e prodotto informatico"
DE102018133472B3 (de) * 2018-12-21 2020-03-12 Franka Emika Gmbh Bewegungsüberwachung eines Robotermanipulators
JP7326139B2 (ja) * 2019-12-09 2023-08-15 株式会社東芝 作業支援装置、作業支援方法、プログラム、および作業支援システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103308A (ja) * 1996-06-18 1998-01-06 Fanuc Ltd 産業用ロボットの干渉回避方法
DE19857436A1 (de) * 1998-12-12 2000-06-21 Kuka Roboter Gmbh Verfahren zum Behandeln des Spannungsabfalls in der Steuerung eines Roboters und zum Wiederanfahren eines Roboters nach Spannungsabfall
JP2001222309A (ja) * 2000-02-10 2001-08-17 Yaskawa Electric Corp ロボット制御装置
JP2003117863A (ja) * 2001-10-16 2003-04-23 Fanuc Ltd ロボットシミュレーション装置
ITTO20020863A1 (it) * 2002-10-04 2004-04-05 Comau Spa Terminale portatile di comando, programmazione e/ o
JP3950832B2 (ja) * 2002-10-08 2007-08-01 ファナック株式会社 ロボット制御装置
SE525108C2 (sv) * 2002-12-30 2004-11-30 Abb Research Ltd Metod och system för programmering av en industrirobot, datorprogramprodukt, datorläsbart medium samt användning
US7236854B2 (en) * 2004-01-05 2007-06-26 Abb Research Ltd. Method and a system for programming an industrial robot

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015007395A1 (de) * 2015-06-08 2016-12-08 Kuka Roboter Gmbh Verfahren und System zum Betreiben und/oder Überwachen einer Maschine, insbesondere eines Roboters
US9999975B2 (en) 2015-06-08 2018-06-19 Kuka Deutschland Gmbh Method and system for operating and/or monitoring a machine, in particular a robot
CN106406304A (zh) * 2015-07-27 2017-02-15 西门子工业软件有限公司 用于对交叠的机器人移动进行防碰撞管理的方法
DE102017010599A1 (de) * 2017-11-15 2019-05-16 Kuka Deutschland Gmbh Verfahren und System zum Simulieren eines Bremsvorgangs eines Roboters
US11633858B2 (en) 2017-11-15 2023-04-25 Kuka Deutschland Gmbh Method and system for simulating a braking operation of a robot
CN108897282A (zh) * 2018-05-03 2018-11-27 顺丰科技有限公司 多任务模块化机器人及调度管理方法、装置及其存储介质
CN108897282B (zh) * 2018-05-03 2021-10-29 顺丰科技有限公司 多任务模块化机器人及调度管理方法、装置及其存储介质

Also Published As

Publication number Publication date
US7321808B2 (en) 2008-01-22
JP2007144524A (ja) 2007-06-14
US20070118249A1 (en) 2007-05-24

Similar Documents

Publication Publication Date Title
DE102006055360A1 (de) Roboter und Vielfach-Roboter-Steuerverfahren
DE102006055359B4 (de) Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
EP2851162B1 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
DE102014104226B4 (de) Verfahren zur Erzeugung eines Pfades eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
EP2987592B1 (de) Verfahren zum programmieren eines industrieroboters und zugehöriger industrieroboter
DE102014104220B9 (de) Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
DE102018009169B4 (de) Steuervorrichtung zum Begrenzen der Geschwindigkeit eines Roboters
EP2303521B1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE69936073T2 (de) Robotersteuerung
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
EP2546711B1 (de) Verfahren zum Programmieren eines Roboters
DE112016002013T5 (de) Systeme und Verfahren zur Steuerung einer Robotermanipulation
EP2359205A1 (de) Verfahren und vorrichtung zur befehlseingabe in eine steuerung eines manipulators
DE102006056051B4 (de) Roboter mit Steuerung für Zusatzachsen
EP2502713B1 (de) Roboter, Steuervorrichtung für einen Roboter und Verfahren zum Betreiben eines Roboters
EP3812106B1 (de) Roboteranordnung, verfahren zum betreiben der roboteranordnung, computerprogramm sowie maschinenlesbares speichermedium
EP3451096A2 (de) Bearbeitungssystem mit einer auf einem fahrzeug angeordneten aufnahmeeinheit für mindestens ein bauteil und verfahren zum bearbeiten mindestens eines bauteils
WO2018010842A1 (de) Redundanzauflösung für einen redundanten manipulator
EP2208584B1 (de) Verfahren zur Steuerung von Industrierobotern
DE102019007186A1 (de) Robotersystem und Robotersteuerungsverfahren für kooperatives Arbeiten mit Menschen
EP2504741B1 (de) Verfahren zum erstellen eines robotermodells und industrieroboter
EP1631401B1 (de) Verfahren und vorrichtung zum umformen eines werkstücks mit automatischer handhabung
DE10333394A1 (de) Verfahren und Vorrichtung zum Umformen eines Werkstücks mit automatischer Handhabung
EP3129196A1 (de) Verfahren zum teilautomatisierten fertigen von werkstücken an einem mrk-arbeitsplatz und zugehöriger mrk-arbeitsplatz

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120117