DE102006055359A1 - Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern - Google Patents

Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern Download PDF

Info

Publication number
DE102006055359A1
DE102006055359A1 DE102006055359A DE102006055359A DE102006055359A1 DE 102006055359 A1 DE102006055359 A1 DE 102006055359A1 DE 102006055359 A DE102006055359 A DE 102006055359A DE 102006055359 A DE102006055359 A DE 102006055359A DE 102006055359 A1 DE102006055359 A1 DE 102006055359A1
Authority
DE
Germany
Prior art keywords
movable part
zone
robot
interference
movement
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.)
Granted
Application number
DE102006055359A
Other languages
English (en)
Other versions
DE102006055359B4 (de
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 DE102006055359A1 publication Critical patent/DE102006055359A1/de
Application granted granted Critical
Publication of DE102006055359B4 publication Critical patent/DE102006055359B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/39088Inhibit movement in one axis if collision danger
    • 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/39136Teach each manipulator independently or dependently from each other

Abstract

Bei einem Roboter bestimmt eine erste Bestimmungseinheit, ob eine Interferenzzone vorhanden ist, in welcher eine erste Besetzungszone und eine zweite Besetzungszone sich wenigstens teilweise einander überlappen. Eine zweite Bestimmungseinheit bestimmt, ob ein zweites bewegbares Teil eines anderen Roboters sich wenigstens teilweise in der Interferenzzone befindet, basierend auf einer aktuellen Position des zweiten bewegbaren Teiles. Eine Anhalteeinheit beginnt zu einer vorbestimmten Zeitlage mit dem Stoppen der Bewegung des ersten bewegbaren Teiles, wenn bestimmt wurde, dass die Interferenzzone vorhanden ist und dass das zweite bewegbare Teil sich wenigstens teilweise in der Interferenzzone befindet. Die vorbestimmte Zeitlage wird basierend auf einer Positionsbeziehung zwischen einer aktuellen Position des ersten bewegbaren Teiles und der Interferenzzone bestimmt.

Description

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

Claims (9)

  1. Verfahren zum Vermeiden einer Interferenz zwischen einem ersten und einem zweiten bewegbaren Teil eines ersten und eines zweiten Roboters während der Bewegung des ersten und des zweiten bewegbaren Teiles zu einer ersten beziehungsweise zweiten Zielposition hin, welches Verfahren die folgenden Schritte umfasst: Definieren einer ersten Besetzungs- oder Belegungszone für das erste bewegbare Teil des ersten Roboters an der ersten Zielposition, wobei die erste Besetzungszone von einer Positionierung des ersten bewegbaren Teiles abhängig ist, welches an der ersten Zielposition gelegen ist, und Identifizieren eines Interferenzbereiches der Positionierung des ersten bewegbaren Teiles; Definieren einer zweiten Besetzungs- oder Belegungszone für das zweite bewegbare Teil des zweiten Roboters an der zweiten Zielposition, wobei die zweite Besetzungszone von einer Positionierung des zweiten bewegbaren Teiles abhängig ist, welches bei der zweiten Zielposition gelegen ist, und Identifizieren eines Interferenzbereiches der Positionierung des zweiten bewegbaren Teiles; Bestimmen, ob eine Interferenzzone vorhanden ist, in welcher sich die erste Besetzungszone und die zweite Besetzungszone wenigstens teilweise einander überlappen; Bestimmen, ob wenigstens eines der Teile gemäß dem ersten und dem zweiten bewegbaren Teil teilweise in der Interferenzzone gelegen ist, basierend auf den aktuellen Positionen des jeweiligen ersten und zweiten bewegbaren Teiles; und Einleiten eines Stoppvorgangs der Bewegung von einem Teil gemäß dem ersten und dem zweiten bewegbaren Teil zu einer vorbestimmten Zeitlage, wenn be stimmt wird, dass eine Interferenzzone vorhanden ist und dass das andere der ersten und zweiten bewegbaren Teile sich wenigstens teilweise in der Interferenzzone befindet, wobei die vorbestimmte Zeitlage basierend auf einer Positionsbeziehung zwischen der aktuellen Position des einen der Teile gemäß dem ersten und dem zweiten bewegbaren Teil und der Interferenzzone bestimmt wird.
  2. Verfahren nach Anspruch 1, bei dem der Einleitvorgang folgendes umfasst: wenn der Bremsvorgang der Bewegung des einen der ersten und zweiten bewegbaren Teile als an der aktuellen Position als gestartet angenommen wird, Abschätzen einer Stoppposition des einen der ersten und zweiten bewegbaren Teile; Bestimmen, ob die geschätzte Stoppposition des einen der ersten und zweiten bewegbaren Teile innerhalb der Interferenzzone enthalten ist; und Einleiten des Bremsvorgangs der Bewegung des einen der ersten und zweiten bewegbaren Teile, wenn bestimmt wurde, dass die geschätzte Stoppposition des einen der ersten und zweiten bewegbaren Teile innerhalb der Interferenzzone enthalten ist und dass das andere Teil gemäß dem ersten und dem zweiten bewegbaren Teil sich wenigstens teilweise in der Interferenzzone befindet.
  3. Verfahren nach Anspruch 1, ferner mit den folgenden Schritten: wenn bestimmt wird, dass das andere Teil des ersten und zweiten bewegbaren Teiles aus der Interferenzzone herausgelangt ist, basierend auf der aktuellen Position des anderen der ersten und zweiten bewegbaren Teile nach dem Stoppvorgang, die Bewegung des einen Teiles gemäß dem ersten und dem zweiten bewegbarem Teil von dort aus fortgesetzt wird, von wo die Bewegung des einen der ersten und zweiten bewegbaren Teile gestoppt worden ist.
  4. Roboter, der mit einem anderen Roboter kommunizieren kann, welcher Roboter folgende aufweist: ein erstes bewegbares Teil; eine Operationseinheit, die dafür konfiguriert ist, um das erste bewegbare Teil so zu betätigen, um das erste bewegbare Teil zu einer ersten Zielposition hin zu bewegen; eine Definiereinheit, die dafür konfiguriert ist, um eine erste Besetzungszone oder Belegungszone für das erste bewegbare Teil bei der ersten Zielposition zu definieren, wobei die erste Besetzungs- oder Belegungszone von einer Positionierung (pose) des ersten bewegbaren Teiles abhängig ist, die bei der ersten Zielposition gelegen ist, und Identifizieren eines Interferenzbereiches der Positionierung des ersten bewegbaren Teiles; eine Zugriffseinheit die dafür konfiguriert ist, um auf den anderen Roboter mit einem zweiten bewegbaren Teil während der Bewegung zuzugreifen, um Informationen abzuleiten, die eine zweite Besetzungs- oder Belegungszone für das zweite bewegbare Teil an einer zweiten Zielposition und eine aktuelle Position des zweiten bewegbaren Teiles angeben, wobei die zweite Besetzungs- oder Belegungszone von einer Positionierung (pose) des zweiten bewegbaren Teiles abhängig ist, die bei der zweiten Zielposition gelegen ist, und Identifizieren eines Interferenzbereiches der Positionierung des zweiten bewegbaren Teiles; eine erste Bestimmungseinheit, die dafür konfiguriert ist, um zu bestimmen, ob eine Interferenzzone vorhanden ist, in welcher sich die erste Besetzungszone und die zweiten Besetzungszone wenigstens teilweise einander überlappen; eine zweiten Bestimmungseinheit, die dafür konfiguriert ist, um zu bestimmen, ob das zweite bewegbare Teil sich wenigstens teilweise in der Interferenzzone befindet, basierend auf der abgeleiteten aktuellen Position desselben; und eine Anhalteeinheit, die dafür konfiguriert ist einen Stoppvorgang zu einer vorbestimmten Zeitlage der Bewegung des ersten bewegbaren Teiles zu beginnen, wenn bestimmt wurde, dass eine Interferenzzone vorhanden ist und dass das zweite bewegbare Teil zumindest teilweise in der Interferenzzone gelegen ist, wobei die vorbestimmte Zeitlage basierend auf einer Positionsbeziehung zwischen einer aktuellen Position des ersten bewegbaren Teiles und der Interferenzzone bestimmbar ist.
  5. Roboter nach Anspruch 4, bei dem die Anhalteeinheit folgendes enthält: eine Schätzeinheit, die dafür konfiguriert ist, um dann, wenn der Bremsvorgang der Bewegung des ersten bewegbaren Teiles als an der aktuellen Position gestartet angenommen wird, eine Stoppposition des ersten bewegbaren Teiles schätzt; eine dritte Bestimmungseinheit, die dafür konfiguriert ist, um zu bestimmen, ob die geschätzte Stoppposition des ersten bewegbaren Teiles in der Interferenzzone enthalten ist; und eine Bremseinheit, die dafür konfiguriert ist, um den Bremsvorgang der Bewegung des ersten bewegbaren Teiles zu beginnen, wenn bestimmt wurde, dass die geschätzte Stoppposition des ersten bewegbaren Teiles in der Interferenzzone enthalten ist und dass das zweite bewegbare Teil zumindest teilweise in der Interferenzzone gelegen ist.
  6. Roboter nach Anspruch 4, bei dem: dann, wenn bestimmt wird, dass das zweite bewegbare Teil aus der Interferenzzone herausgelangt ist, basierend auf der abgeleiteten aktuellen Position und zwar nach dem Stoppvorgang, eine Fortsetzungseinheit vorgesehen ist, die dafür konfiguriert ist, um die Bewegung des ersten bewegbaren Teiles von einer Stelle aus fortzusetzen, an der die Bewegung des ersten bewegbaren Teiles gestoppt worden ist.
  7. Roboter-Controller für einen Roboter der mit einem anderen Roboter kommunizieren kann und ein erstes bewegbares Teil aufweist, wobei der Roboter-Controller betriebsmäßig an eine Anhalteeinheit angeschlossen ist und wobei der Roboter-Controller so programmiert ist, um: das erste bewegbare Teil so zu betätigen, dass dieses erste bewegbare Teil zu einer ersten Zielposition hin bewegt wird; Definieren einer ersten Besetzungs- oder Belegungszone für das erste bewegbare Teil an der ersten Zielposition, wobei die erste Besetzungs- oder Belegungszone an der ersten Zielposition von einer Positionierung des ersten bewegbaren Teiles abhängig ist, welches bei der ersten Zielposition gelegen ist, und um eine Interferenzzone der Positionierung des ersten bewegbaren Teiles zu definieren; auf einen anderen Roboter mit einem zweiten bewegbaren Teil während der Bewegung zuzugreifen, um Informationen abzuleiten, die eine zweite Besetzungs- oder Belegungszone für das zweite bewegbare Teil an einer zweiten Zielposition und eine aktuelle Position des zweiten bewegbaren Teiles angeben, wobei die zweite Besetzungszone an der zweiten Zielposition von einer Positionierung des zweiten bewegbaren Teiles abhängig ist, welches bei der zweiten Zielposition gelegen ist, und um einen Interferenzbereich der Positionierung des zweiten bewegbaren Teiles zu identifizieren; zu bestimmen, ob eine Interferenzzone vorhanden ist, in welcher die erste Besetzungszone und die zweite Besetzungszone sich wenigstens teilweise überlappen; zu bestimmen, ob das zweite bewegbare Teil sich wenigstens teilweise innerhalb der Interferenzzone befindet, basierend auf der abgeleiteten aktuellen Position desselben; und die Anhalteeinheit zu steuern, um den Stoppvorgang der Bewegung des ersten bewegbaren Teiles zu einer vorbestimmten Zeitlage zu beginnen, wenn bestimmt wurde, dass eine Interferenzzone vorhanden ist und dass das zweite bewegbare Teil wenigstens teilweise in der Interferenzzone gelegen ist, wobei die vorbestimmte Zeitlage basierend auf einer Positionsbeziehung zwischen einer aktuellen Position des ersten bewegbaren Teiles und der Interferenzzone bestimmbar ist.
  8. Roboter-Controller nach Anspruch 7, bei dem zur Steuerung der Anhalteeinheit der Roboter-Controller programmiert ist um: eine Stoppposition des ersten bewegbaren Teiles zu schätzen, wenn der Bremsvorgang der Bewegung des ersten bewegbaren Teiles an der aktuellen Position als gestartet angenommen wird; zu bestimmen, ob die geschätzte Stoppposition des ersten bewegbaren Teiles in der Interferenzzone gelegen ist; und Veranlassen der Anhalteeinheit den Bremsvorgang der Bewegung des ersten bewegbaren Teiles zu beginnen, wenn bestimmt wurde, dass die geschätzte Stoppposition des ersten bewegbaren Teiles innerhalb der Interferenzzone enthalten ist und dass das zweite bewegbare Teil wenigstens teilweise in der Interferenzzone gelegen ist.
  9. Roboter-Controller nach Anspruch 7, bei dem der Roboter-Controller ferner so programmiert ist, um dann, wenn bestimmt wird, dass das zweite bewegbare Teil aus der Interferenzzone herausgelangt ist, basierend auf der abgeleiteten aktuellen Position nach dem Stoppvorgang, die Bewegung des ersten bewegbaren Teiles von einer Stelle aus fortsetzbar ist, an welcher die Bewegung des ersten bewegbaren Teiles gestoppt worden ist.
DE102006055359.4A 2005-11-24 2006-11-23 Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern Active DE102006055359B4 (de)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
DE102006055359A1 true DE102006055359A1 (de) 2007-06-14
DE102006055359B4 DE102006055359B4 (de) 2021-07-22

Family

ID=38054548

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006055359.4A Active DE102006055359B4 (de) 2005-11-24 2006-11-23 Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern

Country Status (3)

Country Link
US (1) US7765031B2 (de)
JP (1) JP4544145B2 (de)
DE (1) DE102006055359B4 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3017918A1 (de) * 2014-11-10 2016-05-11 KUKA Roboter GmbH Flexibles taktzeitoptimiertes teilen eines arbeitsraums für roboter
DE102007059480B4 (de) * 2007-12-11 2018-07-05 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
DE102016013475B4 (de) 2015-11-20 2019-10-02 Fanuc Corporation Manuelle Beschickungsvorrichtung eines Roboters zur Berechnung eines Betriebsbereichs eines Roboters
DE102018007842B4 (de) * 2017-10-11 2020-11-19 Fanuc Corporation Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843234B2 (en) * 2006-04-13 2014-09-23 Fanuc America Corporation Dynamic space check for multi-arm system moving on a rail
JP4413891B2 (ja) * 2006-06-27 2010-02-10 株式会社東芝 シミュレーション装置およびシミュレーション方法並びにシミュレーションプログラム
WO2009072383A1 (ja) * 2007-12-07 2009-06-11 Kabushiki Kaisha Yaskawa Denki ロボット動作規制方法並びにロボットシステム及びロボット動作規制装置
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
DE102008061172A1 (de) * 2008-12-09 2010-06-10 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Manipulatorsystems
US9643316B2 (en) 2009-10-27 2017-05-09 Battelle Memorial Institute Semi-autonomous multi-use robot system and method of operation
FR2954518B1 (fr) * 2009-12-18 2012-03-23 Aripa Service Innovation Ind " systeme anticollision pour le deplacement d'un objet dans un environnement encombre."
DE102012103830B4 (de) * 2011-05-05 2022-05-25 Fanuc Robotics America Corp. Verfahren und computerlesbare Medien zur automatischen Verbindung von gegenseitiger Blockierung in Mehrfachrobotersytemen
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
JP5633500B2 (ja) * 2011-11-04 2014-12-03 株式会社安川電機 荷役装置及び荷役方法
DE102012208094A1 (de) * 2012-05-15 2013-11-21 Kuka Laboratories Gmbh Verfahren zum Ermitteln möglicher Positionen eines Roboterarms
JP6110636B2 (ja) * 2012-08-09 2017-04-05 日本電産サンキョー株式会社 産業用ロボット
JP6229324B2 (ja) 2013-06-14 2017-11-15 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットの制御方法
US9744668B1 (en) 2015-08-21 2017-08-29 X Development Llc Spatiotemporal robot reservation systems and method
JP6654926B2 (ja) * 2016-02-24 2020-02-26 本田技研工業株式会社 処理時間の予測方法
US10131053B1 (en) * 2016-09-14 2018-11-20 X Development Llc Real time robot collision avoidance
CN106363635B (zh) * 2016-12-01 2018-08-31 广汽本田汽车有限公司 一种机器人运行仿真校准方法及装置
US10766140B2 (en) 2017-04-13 2020-09-08 Battelle Memorial Institute Teach mode collision avoidance system and method for industrial robotic manipulators
JP7013766B2 (ja) * 2017-09-22 2022-02-01 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及び制御方法
JP6521021B2 (ja) * 2017-10-18 2019-05-29 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットの制御方法
JP7199073B2 (ja) * 2017-10-20 2023-01-05 株式会社キーレックス 垂直多関節ロボットの教示データ作成システム
CN108340372A (zh) * 2018-01-31 2018-07-31 东莞市高臻机械设备有限公司 基于多线程互斥控制技术的双臂式设备控制方法
JP7088742B2 (ja) * 2018-05-18 2022-06-21 キヤノン電子株式会社 加工システム、加工機、加工機の制御方法及びプログラム
DE102018133472B3 (de) * 2018-12-21 2020-03-12 Franka Emika Gmbh Bewegungsüberwachung eines Robotermanipulators

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03256681A (ja) * 1990-03-08 1991-11-15 Toshiba Corp ロボットの制御方法
JPH04305704A (ja) * 1991-04-03 1992-10-28 Toshiba Corp ロボット制御装置
JPH0553634A (ja) * 1991-08-29 1993-03-05 Matsushita Electric Ind Co Ltd 複腕干渉回避システム
JP2895672B2 (ja) * 1992-01-28 1999-05-24 ファナック株式会社 複数ロボット制御方法
JPH06348321A (ja) * 1993-06-14 1994-12-22 Ricoh Co Ltd ロボット協調制御装置
JPH07299793A (ja) * 1994-05-11 1995-11-14 Toyota Autom Loom Works Ltd ロボットの干渉防止制御装置
JPH07314378A (ja) * 1994-05-19 1995-12-05 Toyota Autom Loom Works Ltd ロボットの衝突防止方法及びその衝突防止装置
JPH0871979A (ja) * 1994-09-09 1996-03-19 Nissan Motor Co Ltd ロボットコントローラ
JPH103308A (ja) * 1996-06-18 1998-01-06 Fanuc Ltd 産業用ロボットの干渉回避方法
DE19731116A1 (de) * 1997-07-19 1999-01-28 Bosch Gmbh Robert Steuergerät für ein System und Verfahren zum Betrieb eines Steuergerätes
WO2002023297A1 (fr) * 2000-09-11 2002-03-21 Kunikatsu Takase Systeme de commande de mouvement de corps mobiles
CA2423552A1 (en) * 2000-10-13 2002-04-18 Irm Llc High throughput processing system and method of using
JP4578742B2 (ja) * 2001-09-27 2010-11-10 株式会社森精機製作所 干渉防止装置
JP2003103484A (ja) 2001-09-28 2003-04-08 Honda Motor Co Ltd ロボットのインターロック設定方法
US7114157B2 (en) * 2001-11-27 2006-09-26 Kuka Roboter Gmbh System controlling exclusive access by control programs to system resources
DE10226140A1 (de) 2002-06-13 2004-01-08 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
JP3975959B2 (ja) * 2003-04-23 2007-09-12 トヨタ自動車株式会社 ロボット動作規制方法とその装置およびそれを備えたロボット
JP2007144524A (ja) * 2005-11-24 2007-06-14 Denso Wave Inc ロボットの干渉回避方法およびロボット

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007059480B4 (de) * 2007-12-11 2018-07-05 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
EP3017918A1 (de) * 2014-11-10 2016-05-11 KUKA Roboter GmbH Flexibles taktzeitoptimiertes teilen eines arbeitsraums für roboter
DE102014222857A1 (de) * 2014-11-10 2016-05-12 Kuka Roboter Gmbh Flexibles taktzeitoptimiertes Teilen eines Arbeitsraums für Roboter
DE102016013475B4 (de) 2015-11-20 2019-10-02 Fanuc Corporation Manuelle Beschickungsvorrichtung eines Roboters zur Berechnung eines Betriebsbereichs eines Roboters
DE102018007842B4 (de) * 2017-10-11 2020-11-19 Fanuc Corporation Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
US10850396B2 (en) 2017-10-11 2020-12-01 Fanuc Corporation Controller for monitoring movement direction of operation tool

Also Published As

Publication number Publication date
DE102006055359B4 (de) 2021-07-22
JP2007148527A (ja) 2007-06-14
US7765031B2 (en) 2010-07-27
JP4544145B2 (ja) 2010-09-15
US20070118250A1 (en) 2007-05-24

Similar Documents

Publication Publication Date Title
DE102006055359A1 (de) Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern
DE102006055360A1 (de) Roboter und Vielfach-Roboter-Steuerverfahren
EP2851162B1 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE69936073T2 (de) Robotersteuerung
EP2862677B1 (de) Verfahren zum Handhaben von Objekten mittels wenigstens zweier Industrieroboter
EP2905111B1 (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
DE102014104226B4 (de) Verfahren zur Erzeugung eines Pfades eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
EP2546711B1 (de) Verfahren zum Programmieren eines Roboters
DE102018009169B4 (de) Steuervorrichtung zum Begrenzen der Geschwindigkeit eines Roboters
EP2500789B1 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE112016002013T5 (de) Systeme und Verfahren zur Steuerung einer Robotermanipulation
WO2014170237A1 (de) Industrieroboter mit einer an einem armausleger angeordneten antriebsanordnung
WO2010040493A1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE102014226936B3 (de) Ganzkörperimpedanz für mobile Roboter
DE102017215642B3 (de) Verfahren zum Steuern eines Roboters
DE102018007842B4 (de) Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
DE102010032917A1 (de) Verfahren zur Offline-Programmierung eines NC-gesteuerten Manipulators
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
WO2015097102A1 (de) Verfahren zum automatisierten montieren an einem montagearbeitsplatz, sowie zugehöriger automatisierter montagearbeitsplatz
WO2019029870A1 (de) Handhabungseinrichtung mit einem roboter sowie verfahren und computerprogramm
DE102016120809B4 (de) Verfahren zum robotergestützten Einpassen eines männlichen Bauteils in ein weibliches Bauteil
DE102018114445A1 (de) Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters
EP2208584B1 (de) Verfahren zur Steuerung von Industrierobotern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final