DE69032185T2 - Verfahren und Vorrichtung zur Kontrolle der Bearbeitungsspur eines Industrieroboters - Google Patents

Verfahren und Vorrichtung zur Kontrolle der Bearbeitungsspur eines Industrieroboters

Info

Publication number
DE69032185T2
DE69032185T2 DE69032185T DE69032185T DE69032185T2 DE 69032185 T2 DE69032185 T2 DE 69032185T2 DE 69032185 T DE69032185 T DE 69032185T DE 69032185 T DE69032185 T DE 69032185T DE 69032185 T2 DE69032185 T2 DE 69032185T2
Authority
DE
Germany
Prior art keywords
coordinate system
data
robot
workpiece
discriminator
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.)
Expired - Lifetime
Application number
DE69032185T
Other languages
English (en)
Other versions
DE69032185D1 (de
Inventor
Norihisa Miyake
Shinichi Sarugaku
Masaki Sumita
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.)
Hitachi Industrial Equipment Systems Co Ltd
Hitachi Keiyo Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Keiyo Engineering Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=12034764&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69032185(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Hitachi Ltd, Hitachi Keiyo Engineering Co Ltd filed Critical Hitachi Ltd
Publication of DE69032185D1 publication Critical patent/DE69032185D1/de
Application granted granted Critical
Publication of DE69032185T2 publication Critical patent/DE69032185T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • 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/39063Quick calculation of coordinates by using precalculated, stored matrixes, inverses
    • 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/39101Cooperation with one or more rotating workpiece holders, manipulators
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50353Tool, probe inclination, orientation to surface, posture, attitude
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Steuerung des Laufwegs, auf den der Bearbeitungspunkt beispielsweise eines Industrieroboters, der von mehreren beweglichen Elementen angetrieben wird, bewegt werden soll, und insbesondere ein Steuerverfahren und eine Steuervorrichtung, die eine Veränderung der Bewegungszustände der jeweiligen beweglichen Elemente und eine Veränderung des Laufwegs des Bearbeitungspunkts, die aufgrund eines Zusammenwirkens mit Peripheriegeräten zu erfolgen hat, leicht bewältigen können.
  • Bei einer automatischen Bearbeitungsmaschine, wie einem Industrieroboter, wird das Bearbeitungselement, d.h. das Bearbeitungswerkzeug, durch mehrere Bewegungselenente angetrieben, die einzeln bewegt werden können. Zur Steuerung des Laufwegs bzw. Wegs des Bearbeitungswerkzeugs ist es zweckmäßig, den Weg des Bearbeitungswerkzeugs unter Verwendung eines rechtwinkligen Koordinatensystems zu beschreiben; eine derartige Technik wurde verbreitet übernommen.
  • Die als "programmiertes Repetieren" bezeichnete Steuerungstechnik wurde zur Steuerung herkömmlicher Industrieroboter und dergleichen verbreitet übernommen. Bei dieser Technik wird die Antriebssteuerung des Roboters normalerweise wie folgt ausgeführt. Zunächst werden repräsentative Punkte auf der erforderlichen Laufbahn des an den Bearbeitungspunkt des Roboters befestigten Bearbeitungswerkzeugs nacheinander positioniert und in einem Speicher gespeichert. Anschließend werden, damit sich das Bearbeitungswerkzeug auf dem gegebenen Weg bewegt, der unter Verwendung gerader Linien und Bögen durch Verbinden der repräsentativen Punkte erhalten wird, durch arithmetische Operationen die Verschiebungen der jeweiligen den Robotermechanismus bildenden Freiheitsgrade, d.h. der einzeln beweglichen Elemente, berechnet. Das Verfahren der arithmetischen Operationen ist beispielsweise in R. Paul, "Robot Manipulator", MIT Press, 1981 offenbart.
  • Daher hat das Beschreiben des Wegs des Bearbeitungswerkzeugs unter Verwendung eines rechtwinkligen Koordinatensystems die Vorteile, daß eine den Roboter manipulierende Person die Operation leicht verstehen kann, der Bearbeitungsweg in einer von dem Mechanismus des Roboters unabhängigen Form ausgedrückt kann, sowie weitere Vorteile. Hierbei wird normalerweise ein an der Basis des Roboters festgelegtes Koordinatensystem (das im folgenden als Roboterkoordinatensystem bezeichnet wird) als rechtwinkliges Koordinatensystem zur Beschreibung des Wegs verwendet. Dies liegt daran, daß bei der Verwendung der vorstehend erwähnten Steuerungstechnik des programmierten Repetierens jede ursprungsposition des Koordinatensystems und jede Stellung darin verwendet werden können, soweit sie eindeutig definiert werden können, und daran, daß die Prozedur zum Erhalt der Beziehung zwischen den Verschiebungen der Freiheitsgrade des Mechanismus des Roboters und der Position und Stellung des Bearbeitungswerkzeugs, wie bei dem vorstehend genannten Beispiel, sehr leicht bereitgestellt werden kann.
  • Inzwischen kann in vielen Fällen das gesamte Fertigungssystem einschließlich der Roboter seine Aufgabe nicht nur durch die individuelle Verwendung der Arbeitsmaschinen, wie der Roboter, sondern auch durch ihre Verwendung im Zusammenwirken mit mehreren Peripheriemaschinen erfüllen. Die Peripheriemaschinen bestehen hauptsächlich aus einer Positioniereinrichtung zum Einstellen der Position und Stellung eines Werkstücks, einer Transporteinrichtung zum Transportieren des Werkstücks, einem Bewegungsunterbau zur Erweiterung des Bewegungsradius des Roboters, einem an dem Arbeitspunkt des Roboters angeordneten Sensor und einem weiteren, in der Nähe des Roboters angeordneten Sensor zur Erfassung der Arbeitsumgebung. Daher ist es bei der Steuerung des gesamten Fertigungssystems einschließlich der Roboter wesentlich, das Zusammenwirken der Roboter und der vorstehend genannten Penpheriemaschinen zu berücksichtigen.
  • Die jeweiligen das Fertigungssystem bildenden Komponenten werden gesteuert (beispielsweise die Positioniereinrichtung) oder mit Informationen versorgt (beispielsweise die Sensoren), wobei normalerweise die den Komponenten (beispielsweise der Positioniereinrichtung) eigenen Koordinatensysteme verwendet werden. Es ist daher unerläßlich, zwischen dem in dem Fertigungssystem zentral angeordneten Roboter und den jeweiligen Maschinen die Koordinatenumwandlungsoperation entsprechend dem jeder Peripheriemaschine eigenen Koordinatensystem auszuführen.
  • Eine derartige Koordinatenumwandlung wurde auch beim bekannten Stand der Technik angewendet. Bei dem System, bei dem der Weg des Bearbeitungspunkts unter Verwendung eines an dem Bearbeitungswerkzeug befestigten Sensors dem Zustand eines Werkstücks entsprechend verändert wird, wie in Bamba et al., "A Visual j Seam Tracking System for Arc-Welding Robots", "Proceedings of the 14th International Symposium on Industrial Robots", 1984, offenbart, werden die von einem Sensor ausgegebenen Informationen beispielsweise unter Verwendung eines an dem Sensor festgelegten Koordinatensystems ausgedrückt, und dieser Ausdruck wird in den Ausdruck durch das an der Basis des Roboters festgelegte Koordinatensystem umgewandelt, wodurch der Weg verändert wird.
  • In den letzten Jahren wurde auch die Technik der "Off- Line-Programmierung" verwendet, die sich von dem vorstehenden Beispiel geringfügig unterscheidet. Bei der Off-Line- Programmierung wird beispielsweise durch CAD-Technik (CAD, computer-aided-design, rechnergestützte Konstruktion) ein Erzeugnis konstruiert, und seine Formdaten werden zur Erzeugung der Weginformationen eines Roboters verwendet. Auch hierbei wird der Weg, dem von dem Bearbeitungswerkzeug gefolgt werden soll, vorab unter Verwendung des für ein Erzeugnis, d.h. für ein Werkstück für den Roboter, festgelegten Koordinatensystems beschrieben, der beschriebene Weg wird auf der Grundlage einer angenommenen relativen Positionsbeziehung zwischen dem Werkstück und dem Roboter in den eines weiteren, an der Basis des Roboters festgelegten Koordinatensystems umgewandelt, und der in dem weiteren Koordinatensystem beschriebene Weg wird zur Steuerung des Antriebs des Roboters an eine Robotersteuerungsvorrichtung gesendet.
  • Als Modifikation der Off-Line-Programmierung wurde auch eine Technik vorgeschlagen, bei der beispielsweise eine Robotersprache verwendet wird. Ein typisches Beispiel ist in Mujtaba, Goldman, "AL User's Manual", "Stanford University Report", Nr. STAN-CS-81-889, 1981 offenbart. In diesem Artikel ist das Prinzip der Verwendung mehrerer Koordinatensysteme offenbart, die Hauptidee ist jedoch, wie bei dem vorstehend beschriebenen Beispiel, das Umwandeln der Daten in die des an der Basis des Roboters festgelegten Koordinatensystems, bevor sie an einen Roboter gesendet werden; wobei eine Robotersteuerungsvorrichtung den Roboter unter Verwendung der Daten in dem an der Basis des Roboters festgelegten Koordinatensystem steuert.
  • Wie aus diesen Beispielen hervorgeht, ist es zur Steuerung eines Roboters, insbesondere eines Systems mit peripheren Maschinen, unerläßlich, die Operation zur Umwandlung zwischen dem an der Basis eines Roboters festgelegten Koordinatensystem und den weiteren Koordinatensystemen auszuführen.
  • Eine herkömmliche Technik zur Ausführung der Umwandlungsoperation zwischen mehreren Koordinatensystemen ist das Beschreiben einer Gleichung für die Umwandlungsoperation in Form eines festen Softwareprogramms. Wenn beispielsweise das Bearbeitungswerkzeug eines Roboters derart gesteuert werden soll, daß es einem sich auf einer Fördereinrichtung bewegenden Werkstück folgt, wird die Position eines Zielpunkts auf dem durch eine Programmiermaschine vorgegebenen Weg oder dergleichen auf dem an der Basis festgelegten Koordinatensystem berechnet und anschließend um den Bewegungsbetrag der Fördereinrichtung korrigiert; eine derartige Technik ist beispielsweise in der JP-A-5284669 offenbart. Obwohl diese Korrekturoperation die Umwandlungsoperation zwischen dem Koordinatensystem, das sich mit der Bewegung der Fördereinrichtung bewegt, und dem Roboterkoordinatensystem bezeichnet, ist die Operationslogik normalerweise in Form einer Korrekturoperation in einem Programm fest beschrieben (wobei zur Schaffung von Flexibilität für die Anderung der Bewegungsrichtung der Fördereinrichtung vorgeschlagen wird, einen Einheitsvektor in Form eines Richtungscosinus in den Roboterkoordinaten zu generalisieren; jedenfalls ist die Operationslogik fest beschrieben).
  • Überdies wird zur Veränderung des Wegs des Bearbeitungswerkzeugs eines Roboters entsprechend einem Werkstück unter Verwendung des an dem Bearbeitungswerkzeug des Roboters angeordneten Sensors normalerweise eine Sensorregelung, wie eine i-Weg-Steuerung, ausgeführt. Auch hierbei werden, wie vorstehend erwähnt, die von dem Sensor ausgegebenen Informationen in dem für den Sensor selbst festgelegten Koordinatensystem beschrieben. Die Informationen werden in den Ausdruck in dem Roboterkoordinatensystem oder in einem an dem Bearbeitungswerkzeug oder dem Arbeitselement festgelegten Koordinatensystem (das nachstehend als Koordinatensystem eines Bearbeitungspunkts des Roboters bezeichnet wird) umgewandelt, und die umgewandelten Informationen werden auf einem programmierten Weg vorgeschaltet. Auf diese Weise wird die Antriebssteuerung des Roboters ausgeführt. Dieses Beispiel ist beispielsweise in "Proceedings of the 14th International Symposium on Industrial Robots", Seiten 365 - 374, 1974 offenbart. Auch hierbei ist die Umwandlungsoperation zwischen dem Sensorenkoordinaten und den Roboterkoordinaten oder den Bearbeitungspunktkoordinaten normalerweise in einem Softwareprogramm fest beschrieben (wobei eine Flexibilität für für die Umwandlungsoperation verwendete Parameter normalerweise berücksichtigt wird). Genauer ist das Programm fest beschrieben, so daß die von dem Sensor ausgegebenen Informationen in der Operationssteuerung eines Roboters reflektiert werden, nachdem sie stets der vorstehend beschriebenen Umwandlung unterzogen wurden.
  • Die gleiche Technik wurde auch in Fällen verwendet, in denen ein Bearbeitungsobjekt, d.h. ein Werkstück, auf einer Positioniereinrichtung eingestellt wurde, und die Informationen, wie die Bearbeitungsumgebung, unter Verwendung des an der Basis des Roboters befestigten Sensors ermittelt werden.
  • Überdies wird bei der Off-Line-Programmierung, bei der die Operation eines Roboters auf der Grundlage der beispielsweise unter Verwendung von CAD erhaltenen Formdaten eines Werkstücks gesteuert wird, die Beziehung zwischen dem Roboter und dem Werkstück vorab angenommen, der Weg, dem der Roboter folgen soll und der entsprechend dieser Beziehung in dem an dem Werkstück festgelegten Koordinatensystem (das nachstehend als Koordinatensystem des Werkstücks bezeichnet wird) ausgedrückt ist, wird durch die Off-Line-Verarbeitung in den in dem Roboterkoordinatensysten umgewandelt, und die in dem Roboterkoordinatensystem ausgedrückten Weginfornationen des Roboters werden zur Steuerung des Antriebs des Roboters an eine Robotersteuerungsvorrichtung gesendet. Auch in diesem Fall wird die Umwandlungsoperation zwischen dem an dem Werkstück festgelegten Koordinatensystem (dem Koordinatensystem des Werkstücks) und dem Koordinatensystem des Roboters als eine vorgegebene Beziehung erfüllend in der formulierten Form ausgeführt. Der Weg wird in der Robotersteuerungsvorrichtung stets in dem Roboterkoordinatensystern ausgedrückt, und daher weist die Robotersteuerungsvorrichtung i das Konzept des Koordinatensystems des Werkstücks normalerweise nicht auf.
  • Bei den vorstehend beschriebenen bekannten Techniken wird das Robotersystem unter Verwendung einer dafür bestimmten Verarbeitung gesteuert, die als Softwareprogramm gemäß den einzelnen Konstruktionsmerkmalen und Charakteristika eines Roboters und seiner Peripheriegeräte erstellt wird. Daher muß bei einer Umgebung, in der Peripheriegeräte verwendet werden, bei einer Veränderung von deren Konstruktion, Aufbau, etc. oder beim Hinzufügen einer neuen Funktion des Roboters bzw. einer Veränderung der Funktion des Roboters das entsprechende Softwareprogramm erstellt werden. Soll beispielsweise der Roboter auf einem Bewegungsunterbau montiert und synchron mit der Fördereinrichtung bewegt werden, ist eine Veränderung oder Ergänzung für Konstruktion des Systems einschließlich des Roboters vorzunehmen, und seine Konstruktion ist unter Berücksichtigung der Beziehung unter den Komponenten des Systerns zu korrigieren, wobei das entsprechende dafür bestimmte Softwareprogramm verändert oder hinzugefügt werden muß.
  • Daher ist bei den bekannten Techniken die Wartung der in der Robotersteuerungsvorrichtung enthaltenen Software problematisch und stellt mehrere Probleme hinsichtlich der Steigerung der Softwarekapazität, der Steigerung der Anzahl der zum Verändern oder Hinzufügen von Software erforderlichen Schritte und der Begrenzung der Anwendbarkeit oder Erweiterbarkeit der Steuerungsvorrichtung.
  • In der EP 0271691 ist ein Verfahren zur Steuerung einer dreidimensionalen Bewegung eines Roboters in bezug auf ein Werkstück offenbart. Die Steuerung erfolgt durch eine Kette von Koordinatenumwandlungen. Der Roboter wird unter Bezugnahne auf signifikante Punkte im Raum und in gleichen Abständen voneinander angeordneten Interpolationspunkten zwischen den signifikanten Punkten gesteuert. Eine Annäherung zwischen Roboter und Werkstück erfolgt durch eine Bewegung zwischen der Basis des Roboters und dem Träger des Werkstücks. Die signifikanten Punkte und die Interpolationspunkte sind in einen an dem Träger des Werkstücks festgelegten Koordinatensystem gegeben. All diese Punkte werden dann in das Koordinatensystem des Roboters transformiert.
  • In der Druckschrift "Robot Manipulators: Mathematics, Programming and Control" von R.P. Paul, "The MIT Press Series" April 1983, Seiten 199 ff ist die Grundlage für ein Bewegungssteuerungssystem für einen Roboter offenbart. In dieser Druckschrift sind zwei Koordinatensysteme (Basiskoordinatensystem, H-Koordinatensystern) erwähnt, werden jedoch nicht genau beschrieben.
  • Es ist Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung zur Steuerung des Wegs eines Roboters zu schaffen, die eine flexible und leichte Anpassung des Roboters an unterschiedliche Bearbeitungsaufgaben ermöglichen.
  • Die Aufgabe wird gemäß den Merkmalen der Patentansprüche gelöst.
  • Das Verfahren und die Vorrichtung sind ein System zur derartigen Steuerung des Wegs eines Arbeitselernents, daß sich das Arbeitselement längs eines Wegs so bewegt, daß es eine vorgegebene Positionsbeziehung mit dem Werkstück aufweist, indem die relative Positionsbeziehung zwischen dem Arbeitselement und dem Werkstück durch die Bewegung zumindest eines Bewegungselenents eingestellt wird, das jeweils in einen bestimmten Verbindungszustand entweder mit dem Arbeitselement oder dem Werkstück funktionell verbunden ist, wobei zur Schaffung der Koordinatensysterne mit den entsprechenden Diskrirninatoren dem Arbeitselement, dem Werkstück und den Bewegungselementen einzelne Koordinatensysterne zugeordnet werden, die jeweils einen Diskriminator aufweisen, als Koordinatensystem, das die Daten zur Steuerung der Bewegung des Arbeitselement ausdrückt, ein aus den Koordinatensystemen ausgewähltes erstes Koordinatensystem eingestellt wird, das unter Verwendung eines aus den Koordinatensystemen ausgewählten zweiten Koordinatensystems die Daten beschreibt, die die bestimmten Punkten auf dem Weg, längs dem sich das Arbeitselement auf der Grundlage eines vorgegebenen Arbeitsplans bewegen soll, entsprechenden Positionen des Arbeitselements repräsentieren, diese Daten zusammen mit den Diskriminatoren gespeichert werden, die die entsprechenden Koordinatensysteme repräsentieren, bei der Ausführung der tatsächlichen Bearbeitung anhand ihrer Diskriminatoren festgestellt wird, ob das erste Koordinatensystem und das zweite Koordinatensystem identisch sind oder nicht, die dem bestimmten Punkt entsprechenden Positionsdaten des Arbeitselements in die im ersten Koordinatensystem ausgedrückten Daten umgewandelt werden, wenn die beiden Koordinatensysteme unterschiedlich sind, und die Bewegung des Arbeitselements auf der Grundlage der umgewandelten Daten gesteuert wird.
  • Zudem ist es zweckmäßig, das an dem Werkstück festgelegte Koordinatensystem als das zweite Koordinatensystem und das an dem Arbeitselernent festgelegte Koordinatensystem als das erste Koordinatensystem zu verwenden, da der Weg des Arbeitselements für das Arbeitselernent normalerweise durch seine relative Position definiert wird. Die Daten, die die dem vorstehend genannten bestimmten Punkt entsprechende Position des Arbeitselements repräsentieren, können entsprechend der vorgegebenen Verbindungsbedingung eindeutig definiert werden, die die Wechselbeziehung zwischen den sich bewegenden Elementen festlegt, und auch die in dem zweiten Koordinatensystem ausgedrückten Daten können auf der Grundlage der durch die vorstehend genannte Verbindungsbedingung definierte Regel leicht in die in dem ersten Koordinatensystem ausgedrückten Daten umgewandelt werden.
  • Bei der Steuerung eines Industrieroboters können die Fehlerinformationen einschließlich eines Befestigungsfehlers eines Arbeitselementes (beispielsweise des Bearbeitungswerkzeugs), eines von einem Sensor erfaßbaren Positionsfehlers eines Werkstücks, etc. repräsentierenden Daten und die bei einer Bewegung der peripheren Vorrichtungen, auf denen der Roboter oder das Werkstück angeordnet sind, erhaltenen und die Bewegungsinformationen repräsentierenden Daten für die Steuerung verwendet werden; sie können auch in der in dem Koordinatensystem, dessen Verarbeitung am zweckmäßigsten ist, ausgedrückten Form verwendet werden, und das Koordinatensystem der Daten kann durch den vorstehend genannten Diskriminator unterschieden werden. Die Umwandlungsoperation zwischen den unterschiedenen Koordinatensysternen wird durch eine Umwandlungseinrichtung derart ausgeführt, daß die eingegebenen Informationen für die Steuerung in ihren Ausdruck in einem erforderlichen Koordinatensystem umgewandelt werden. Diese Informationssätze können zur Steuerung einer Operation, wie der Erstellung oder Veränderung des Wegs, verwendet werden. Ebenso können die derart erhaltenen Informationen durch die Unterscheidungseinrichtung und die Umwandlungseinrichtung erneut in den Ausdruck in dem an der Basis des Roboters festgelegten Koordinatensystem oder in dem jeder peripheren Vorrichtung eigenen Koordinatensystem umgewandelt werden.
  • Auf diese Weise können, wenn davon ausgegangen wird, daß Informationen unter dem Roboter und den peripheren Vorrichtungen durch die Koordinatenunterscheidungseinrichtung und die Koordinatenumwandlungseinrichtung umgewandelt werden, durch Spezifikation der zur Unterscheidung der Koordinatensysterne entsprechend beispielsweise dem gesteuerten Objekt erforderlichen Informationen unter Verwendung der gleichen Steuereinrichtung und des gleichen Softwareprogramms leicht verschiedene Funktionen realisiert werden.
  • Genauer kann erfindungsgemäß eine Konsistenz unter mehreren das System bildenden Vorrichtungen sichergestellt werden, und die gesamte Steuerung des Systems einschließlich des Zusammenwirkens, der Synchronisation, etc. unter den Vorrichtungen kann durch die Kombination einer Einrichtung zum Vergleichen des Diskriminators eines spezifizierten Koordinatensystems, das eingegebene Informationsdaten ausdrückt, mit dem Diskriminator eines Steuerkoordinatensystems, in dem die Verarbeitung, wie die Steuerung, auszuführen ist, und, wenn die verglichenen Diskriminatoren unterschiedlich sind, zur aufeinanderfolgenden Entnahme einer Umwandlungsmatrix oder einer Gruppe von Umwandlungsmatrizen zwischen den beiden Koordinatensystemen (wenn die verglichenen Diskriminatoren und damit die Koordinatensysteme übereinstimmen, ist keine Umwandlung erforderlich, doch es kann der Fall sein, daß die Daten übertragen werden müssen), einer Einrichtung zur Anwendung der derart erstellten Umwandlungsdeterminante auf die in das spezifizierte Koordinatensystem umzuwandelnden Eingabedaten, einer Einrichtung zum Vergleichen des Diskriminators des Koordinatensystems, das die als Ergebnis einer Steuerungsverarbeitung erhaltenen Daten ausdrückt, (d.h. des Diskriminators des Koordinatensystems, in dem die Verarbeitung, wie die Steuerung, ausgeführt werden soll) mit dem Koordinatensystem der endgültigen Ausgangsdaten oder dessen Diskriminator, und, wenn diese sich unterscheiden, zur Erstellung einer Umwandlungsmatrix oder einer Gruppe von Umwandlungsmatrizen, und einer Einrichtung zur Anwendung der derart erstellten Umwandlungsmatrix auf die als Ergebnis der Steuerungsverarbeitung erhaltenen und in ein Koordinatensystem für die endgültige Ausgabe umzuwandelnde Daten erfolgen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist eine perspektivische Ansicht des Systems, auf das eine Ausführungsform der vorliegenden Erfindung angewendet werden soll;
  • Fig. 2 ist ein Blockdiagramm der in Fig. 1 dargestellten Steuervorrichtung;
  • Fig. 3 ist ein Datenablaufgramm der Steuerung der Operation des Systems gemäß Fig. 1;
  • Fig. 4 ist ein Ablaufdiagramm einer Fig. 3 entsprechenden Verarbeitung;
  • Fig. 5 ist eine Ansicht zur Erläuterung des bei dem System gemäß Fig. 1 eingestellten Koordinatensystems;
  • Fig. 6 ist eine Ansicht, die eine Positions/Stellungsdatentabelle zeigt, in der ein Interpolationsausgangspunkt eine Eingangsdateneinheit ist;
  • Fig. 7 ist eine perspektivische Ansicht einer Positioniereinrichtung mit drei Freiheitsgraden, auf die eine Ausführungsform der vorliegenden Erfindung angewendet werden soll;
  • Fig. 8 ist eine Ansicht zur Erläuterung des Zusammenwirkens zwischen dem Roboter und der Positioniereinrichtung;
  • Fig. 9 ist eine Ansicht zur Erläuterung des Einstellfehlers des Werkstücks;
  • Fig. 10 ist eine perspektivische Ansicht des Systems, auf das eine weitere Ausführungsform der vorliegenden Erfindung angewendet werden soll;
  • Fig. 11 ist eine Ansicht zur Erläuterung der bei dem System gemäß Fig. 10 eingestellten Koordinatensysteme;
  • Fig. 12 ist ein Datenablaufdiagramm der Steuerung der Operation des Systems gemäß Fig. 10;
  • Fig. 13 ist ein Ablaufdiagramm, das Einzelheiten des Verarbeitungsblocks 1001 gemäß Fig. 4 zeigt;
  • Fig. 14 ist ein Diagramm, das einen Datenfluß bei der in Fig. 13 durch ein Ablaufdiagramm dargestellten Operation zeigt;
  • Fig. 15 ist eine Tabelle, die ein Beispiel der Entsprechung zwischen Koordinatensystemen und ihrer Diskriminatorennummer zeigt;
  • Fig. 16 ist eine Ansicht, die die Umwandlungsmatrixtabelle unter den Koordinatensystemen zeigt;
  • Fig. 17 ist eine Tabelle, die ein Beispiel der Entsprechung zwischen Zeiten und ihrer Diskriminatorennummer zeigt;
  • Fig. 18 ist eine Ansicht, die die Wechselbeziehungen bei den Systemen gemäß den Figuren 1 und 4 zeigt; und
  • Fig. 19 ist ein Blockdiagramm des in der Steuerungsvorrichtung enthaltenen Hochgeschwindigkeitsoperatoren.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Im folgenden werden unter Bezugnahme auf die Figuren 1 bis 5 Ausführungsformen der vorliegenden Erfindung erläutert. Fig. 1 zeigt ein Beispiel des einen Roboter 1 enthaltenden Produktionssystems. Der Roboter 1, der ein Roboter mit mehreren Gelenken ist, der mehrere, beispielsweise 6 (sechs) Freiheitsgrade aufweist, ist auf einem verfahrbaren Ständerfahrzeug 2 montiert. Ein als Bearbeitungswerkzeug dienender Schweißbrenner 3 ist am Bearbeitungspunkt des Roboters 1 befestigt. Eine Positioniereinrichtung 4 ist im Arbeitsbereich des Roboters 1 angeordnet, und ein Werkstück 5 ist auf der Positioniereinrichtung 4 angeordnet. Der Roboter 1, die vorstehend genannte jeweilige Peripherie- und Schweißmaschine 7 sind an eine Steuerungsvorrichtung 6 angeschlossen Obwohl dies in Verbindung mit dieser Ausführungsform nicht beschrieben wird, ist auch ein optischer Sensor 92 dargestellt, der im Zusammenhang mit einer weiteren Ausführungsform der vorliegenden Erfindung beschrieben wird.
  • Bei dem in Fig. 1 dargestellten System führt der Roboter 1 den Schweißvorgang an dem Werkstück 5 unter Verwendung des Schweißbrenners 3 aus. Ein Ende 30 des Schweißbrenners 3 ist ein tatsächlicher Bearbeitungspunkt, und daher wird der Roboter 1 gesteuert, wobei die Aufmerksamkeit auf den Bearbeitungspunkt 30 gerichtet ist. Hierbei können der Bewegungsunterbau 2 oder die Positioniereinrichtung 4 gleichzeitig mit dem Roboter 1 bewegt werden, während das Schweißen ausgeführt wird; wobei entsprechend der Form und Größe des Werkstücks 5, den Bearbeitungsbedingungen, etc. entweder der Roboter 1, der Bewegungsunterbau 2 oder die Positioniereinrichtung 4 oder zwei oder mehr unter diesen betätigt werden können. Ebenso verändert sich, streng genommen, der Zustand (die Position, die Stellung, etc.) des Werkstücks 5 für die Positioniereinrichtung jedesmal, wenn die Bearbeitung wiederholt an mehreren Werkstücken vorgenommen wird. Überdies umfaßt der Roboter 1 mehrere Arme 10, 11, 12 und 13, wobei der Arm 10 drehbar an dem in der Längsrichtung der Basis beweglich an einer festen Standbasis 20 angeordneten Unterbau 2 angeordnet ist und die Arme derart beschaffen sind, daß sie in eine Richtung oder in zwei Richtungen drehbar sind. Auf diese Weise sind der Unterbau 2 und die Arme 10, 11, 12 und 13, die als Bewegungselemente zum Halten des Bearbeitungspunkts 30 dienen, unter vorgegebenen Bedingungen miteinander verbunden und derart beschaffen, daß sie unter den vorgegebenen Bedingungen einzeln beweglich sind.
  • Fig. 2 zeigt den Aufbau einer Steuerungsvorrichtung 6 für den Roboter 1. Wie aus Fig. 2 hervorgeht, ist ein Mikroprozessor 61 zentral angeordnet, und ein Speicher 62, ein Zusatzspeicher 63, etc. sind über einen Systembus 61-1 an den Mikroprozessor 61 angeschlossen. Ein Programmierkasten 64, über den der Roboter 1, die Positioniereinrichtung 4, etc., manuell betätigt werden, um sie auf auszuführende Arbeiten zu programmieren, und eine Betätigungskonsole 65, über die der Beginn und das Ende der tatsächlichen Arbeit befohlen werden, sind über einen Eingangs-/Ausgangsprozessor 66 an die Steuerungsvorrichtung 6 angeschlossen. Ebenso sind auch ein optischer Sensor 92 und eine Verarbeitungsvorrichtung 62 an die Steuerungsvorrichtung 6 angeschlossen. Der Mikroprozessor 61, der eine arithmetische Hochgeschwindigkeitsvorrichtung 67 aufweist, ist derart beschaffen, daß er unter Verwendung der arithmetischen Hochgeschwindigkeitsvorrichtung 67 mehrere arithmetische Operationen mit hoher Geschwindigkeit verarbeitet.
  • Servoverstärker 14 bis 19, 21, 41 und 42, über die die Wellen der Freiheitsgrade des Roboters 1, des Bewegungsunterbaus 2 und der Positioniereinrichtung 4 gesteuert werden, sind über eine Dienstschnittstelle 68 an den Mikroprozessor 61 angeschlossen. Eine Steuereinheit 71 für die Schweißmaschine 7 ist ebenfalls über den Eingangs-/Ausgangsprozessor 66 an den Mikroprozessor 61 angeschlossen.
  • Beim Betrieb werden der Roboter 1, der Bewegungsunterbau 2 und die Positioniereinrichtung 4 nacheinander an bestimmte Punkte auf dem Weg bewegt, längs dem das Bearbeitungswerkzeug durch Betätigung eines auf dem Programmierkasten 64 angeordneten (nicht dargestellten) Druckschalters bewegt wird, wodurch die Positionen der bestimmten Punkte eingestellt werden. Anschließend überwacht der Mikrocomputer 61 auf der Grundlage des in dem Speicher 62 gespeicherten Programms den Status des Programmierkastens 64, erzeugt eine durch einen Bediener angegebene Bewegungsanweisung (Antriebsanweisung) und sendet sie über die Dienstschnittstelle 68 an jede Welle jeder Einheit. Die Servoverstärker 14 bis 19, 21, 41 und 42 dienen der Anordnung der betreffenden Wellen entsprechend der Antriebsanweisung. Die Positionsdaten jeder der derart angetrieben und angeordneten Einheiten werden den Erfordernissen entsprechend in dem Zusatzspeicher 63 gespeichert. Durch eine Wiederholung dieses Vorgangs wird die entsprechende Gruppe von Daten gespeichert.
  • Andererseits wird bei der Ausführung der Arbeit, d.h. bei einem "Repetiervorgang", auf der Grundlage des im Speicher 62 gespeicherten Verarbeitungsprogramms die Gruppe von Positionsdaten entsprechend einer vorgegebenen Reihenfolge aus dem Zusatzspeicher 63 abgerufen, durch eine Verarbeitung wie eine Interpolation werden den Weg zwischen den bestimmten Punkten repräsentierende Daten erstellt, und die Positionen der jeweiligen Wellen des Roboters 1, des Bewegungsunterbaus 2, der Positioniereinrichtung 4, etc. werden auf die gleiche Weise wie vorstehend erwähnt definiert. Durch eine Wiederholung derartiger Vorgänge wird der Repetiervorgang gesteuert. Anschließend wird gegebenenfalls auch die Schweißmaschine 7 gesteuert. Auf diese Weise wird das Schweißen unter Verwendung des Schweißbrenners 3 für das Werkstück 5 abgeschossen.
  • Eine Folge von Steuerungsoperationen wie die vorstehend beschriebenen sind denen des herkömmlichen Robotersysteins grob ähnlich. Die entsprechenden Einzelheiten und die Merkmale der vorliegenden Erfindung werden beschrieben.
  • Fig. 3 zeigt einen Datenfluß bei den Verarbeitungen des Steuerungsprogramms bei dem Repetiervorgang bei der vorliegenden Erfindung, und Fig. 4 zeigt den entsprechenden Verarbeitungsablauf.
  • Fig. 5 zeigt bei dem System gemäß Fig. 1 eingestellte Koordinatensysterne, die in bezug auf die Erläuterungen gemäß den Figuren 3 und 4 verwendet werden. Ein Roboterkoordinatensystem (ΣR) 1a ist an der Basis des Roboters 1, ein Peripheriekoordinatensystem (ΣP) 4a an der Basis der Positioniereinrichtung 4, ein Objekttischkoordinatensystem (ΣB) 40a an dem Objekttisch 40 für das Werkstück zum Fixieren des Werkstücks 5 in der Positioniereinrichtung 4, ein Werkstückkoordinatensystem (ΣW) Sa an dem Werkstück, ein Werkzeugkoordinatensystem (ΣT) 3a an dem Bearbeitungspunkt 30 am Ende des Schweißbrenners 3 und ebenso ein universelles Koordinatensystem (ΣU) 8a auf dem Boden festgelegt bzw. angeordnet, auf dem der Bewegungsunterbau 2 und die Positioniereinrichtung 4 angeordnet sind, wobei darauf hingewiesen wird, daß diese Koordinatensysteme rechtwinklige Koordinatensysteme sind. Im übrigen werden, obwohl der Roboter 1 mehrere einzelne Arme aufweist, die Bewegungen dieser Arme über einen allgemein bekannten Robotersteuerungsmechamismus auf der Grundlage der Position des in dem Roboterkoordinatensystem (ΣR) 1a ausgedrückten Bearbeitungspunkts derart gesteuert, daß die Arme im allgemeinen als ein Bewegungselement (Roboter 1) betrachtet werden.
  • Im folgenden werden unter hauptsächlicher Bezugnahme auf die Figuren 3 und 4 (und ebenso die Figuren 1 und 5) die Verarbeitungen bei einer typischen Ausführungsform der vorliegenden Erfindung erläutert.
  • Es wird davon ausgegangen, daß bei einer Anordnung des Bearbeitungspunkts 30 des Roboters 1 an einem Startpunkt (Ps) 51 auf dem Werkstück 5 die Operation mit einer Interpolation fortgesetzt wird, um Zwischenpositionen auf einer geraden Linie zu bestimmen, die den Punkt 51 mit einem Endpunkt PE (52) auf dem Werkstück verbindet, und es wird davon ausgegangen, daß Positionsdaten 510 (einschließlich der Stellungsdaten) des Startpunkts (Ps) 51 in dem Roboterkoordinatensystern 1a (ΣR) ausgedrückt werden und Positons-/Stellungsdaten 520 des Endpunkts (Ps) 52 ebenfalls in dem Roboterkoordinatensystem 1a (ΣR) ausgedrückt werden. Im übrigen ist es, wenn der Bearbeitungspunkt 30 oder das Bearbeitungswerkzeug 3 an Punkt 51 angeordnet werden sollen, gegebenenfalls erforderlich, das Bearbeitungswerkzeug 3 in bezug auf das Werkstück 5 in einer vorgegebenen Richtung (Stellung) auszurichten. Die Daten 510 und 520 sind Positionsdaten einschließlich einer derartigen Stellung des Bearbeitungswerkzeugs.
  • Die durch RXS und RXE repräsentierten Positions/Stellungsdaten 510 und 520 werden im allgemeinen durch
  • ausgedrückt, wobei nx, ny, nz, Ox, Oy, Oz, ax, ay, az Richtungsconsini der Werkzeugkoordinaten (ΣT) 3a in bezug auf das Roboterkoordinatensystem (ΣR) und PX, PY, PZ ein in dem Roboterkoordinatensystem ausgedrückter Ursprungspunkt des Werkzeugkoordinatensystems 3a sind. Die Daten 510 und 520 enthalten auch Unterscheidungsinformationen, wie ausgedrückte Koordinatensystemdiskriminatoren, Formatdiskriminatoren, etc.
  • Ein Beispiel des Speicherformats der Positions/Stellungsdaten 510 des Punkts 51 ist in Fig. 6 dargestellt. 511 bezeichnet die Länge einer Datentabelle, 512 ist ein ausgedrückter Koordinatensystemdiskriminator, 513 ein Formatdiskriminator, 514 sind zusätzliche Daten, und 515 bezeichnet tatsächliche Positions-/Stellungsdaten. Erfindungsgemäß ist der ausgedrückte Koordinatensystemdiskrirninator 511 ein Parameter zur Unterscheidung des Koordinatensystems, in dem tatsächliche Positions-/Stellungsdaten ausgedrückt sind. Der Formatdiskriminator 513 dient der Unterscheidung des Ausdruckformats der Daten, durch das die Daten durch Anordnung der durch die Gleichung (1) angegebenen Elemente, durch Komprimieren der derart erzeugten Anordnung oder durch die Verwendung der Verschiebung jedes der Freiheitsgrade des Roboters 1 ausgedrückt werden. Die zusätzlichen Daten 514 sind ein anderer Diskriminator als der vorstehende Diskriminator oder Daten, die zur Auswahl einer Lösung verwendet werden, wenn mehrere Gruppen von Verschiebungen der Freiheitsgrade des Roboters vorhanden sind, bei denen die gleiche Position und Stellung des Bearbeitungspunkts vorliegen. Die Länge 511 der Datentabelle wird erzeugt, um die vielseitige Anwendbarkeit der Datentabelle für mehrere Formate aufrecht zu erhalten. Es wird darauf hingewiesen, daß die Daten 520 die gleichen Inhalte wie die Daten 510 aufweisen, wobei die entsprechenden Elemente durch Zahlen in Klammern "( )", angegeben sind.
  • Im folgenden wird davon ausgegangen, daß sich der Bearbeitungspunkt entsprechend einem vorgegebenen Arbeitsplan vom Punkt 51 (PS) längs eines bestimmten Wegs, wie einer geraden Linie und einer Kurve, zum Punkt 52 (PE) bewegt und die Steuerung während dieser Zeitspanne für das Werkstück erfolgt. Zur Ausführung dieser Steuerung wird eine Datentabelle 590 des Steuerkoordinatensystems verwendet, wobei Diskriminatoren mehrerer Koordinatensysteme, wie in Fig. 5 dargestellt, als Daten 590 eingestellt sind. Die Inhalte jedes Diskriminators entsprechen denen der ausgedrückten Koordinatensystemdiskriminatoren 511, 522 der Daten 510, 520.
  • Wie vorstehend erwähnt, werden die Daten 510 und 520 in dem Roboterkoordinatensystem 1a ausgedrückt. Andererseits ist für die Steuerkoordinatensystemdaten 590 der Diskriminator 591 des Werkstückkoordinatensystems 5a angegeben. Daher werden in dem Steuerprogramm, wie in Fig. 3 dargestellt, die Diskriminatoren 511 und 522 des die Daten eines Startpunkts für die Interpolation (des Punkts 51, der der Position/ Stellung des Roboters zu diesem Zeitpunkt entspricht) und des einen Ziel- oder Endpunkt 52 ausdrückenden Koordinatensystems werden mit dem Diskriminator 591 des Steuerkoordinatensystems verglichen. Wenn sie sich unterscheiden, wird eine arithmetische Umwandlungsverarbeitung 1001 ausgeführt, um in dem Steuerkoordinatensystem mit dem Diskriminator 591 ausgedrückte Startpunktdaten 510' und Endpunktdaten 520' zu ermitteln.
  • Die Umwandlung zwischen zwei rechtwinkligen Koordinatensystemen kann durch eine aus vier Zeilen und vier Spalten bestehende Matrix ausgedrückt werden, wie in Gleichung (1) ausgedrückt. Im folgenden wird davon ausgegangen, daß die Umwandlung (Matrix) aus dem Roboterkoordinatensystem (ΣR) 1a in das universelle Koordinatensystem (ΣU) 8a A , die umgekehrte Umwandlung A , die Umwandlung aus dem Werkstückkoordinatensystem (ΣW) 5a in das Objekttischkoordinatensystern (ΣB) A und die umgekehrte Umwandlung A , die Umwandlung aus dem Objekttischkoordinatensystem 40a in das Peripheriekoordinatensystem (ΣP) A und die umgekehrte Umwandlung A und die Umwandlung aus dem Peripheriekoordinatensystem 4a in das universelle Koordinatensystem 8a A und die umgekehrte Umwandlung A sind. Dann wird bei dem System gemäß Fig. 5 die durch das Roboterkoordinatensystem ausgedrückte Position/ Stellung RX wie folgt in den Ausdruck in dem Werkstückkoordinatensystem (ΣW) 5a umgewandelt.
  • wX = A A A A RX ... (2)
  • Im übrigen gilt allgemein A = (A )&supmin;¹ (wobei A&supmin;¹ eine inverse Matrix ist). Daher bezeichnet die arithmetische Verarbeitung 1001 die in der Gleichung (2) ausgedrückte arithmetische Verarbeitung.
  • Obwohl die Umwandlungsmatrix A zwischen zwei bewegten Elementen im Grunde von der Verbindungsbedingung zwischen diesen abhängt, verändert sie sich bei einer Bewegung des Roboters 1, des Bewegungsunterbaus 2 und der Positioniereinrichtung 4 oder mit dem Einstellzustand des Werkstücks, so daß die Matrix A als eine Funktion der Zeit t, d.h. als A(t), betrachtet werden muß. Bei einem Interpolationsprozeß zur Bewegung vom Startpunkt 51 (PS) zum Endpunkt (PE) ist der Bearbeitungspunkt 30 zu Beginn des Interpolationsprozesses am Startpunkt (PS) angeordnet. Daher ist es zum Ausdrücken der Positions-/Stellungsdaten 510 des am Startpunkt angeordneten Bearbeitungspunkts durch das Koordinatensystem 5a am Werkstück 5 erforderlich, die Umwandlungsmatrix zum Startzeitpunkt des Interpolationsprozesses zu verwenden. Wird davon ausgegangen, daß t tS den Zeitpunkt des Beginns der Interpolation repräsentiert, kann die den Daten 510 (RXS) entsprechende Gleichung (2) wie folgt ausgedrückt werden.
  • WXS = A (ts) A (tT) A (tT) A (tT) RXS ... (2-1)
  • Andererseits werden die Positions-/Stellungsdaten 520 des am Punkt 52 (PE) angeordneten Bearbeitungspunkts auf der Grundlage der Beziehung von Position/Stellung unter dem Roboter 1, dem Werkstück 5, etc. zum Zeitpunkt der Programmierung ermittelt. Wird daher davon ausgegangen, daß der Programmierungszeitpunkt t = tr ist, kann die Gleichung (2) entsprechend den Daten 52 (RXE) wie folgt ausgedrückt werden.
  • WXE = A (tT A (tT) A (tT) A (tT) RXE ... (2-2)
  • Dementsprechend ergeben in der Verarbeitung 1001 die durch die Gleichungen (2-1) und (2-2) ausgedrückten arithmetischen Operationen die Daten 510' und 520', die jeweils durch die Gleichungen (2-1) und (2-2) ausgedrückt WXS und WXE angeben.
  • Als nächstes wird unter Verwendung der Daten 510' und 520' eine Interpolationsverarbeitung 1002 an den beiden Punkten auf dem Werkstückkoordinatensystern (ΣW) 5a ausgeführt. Bei der Interpolation einer geraden Linie kann, wenn davon ausgegangen wird, daß der Positionsdatenteil von WXS (der PX, PY, PZ in der Gleichung (1) entspricht) in Vektorform durch WPS = (WPXS,WPYS,WPZS)t repräsentiert wird (wobei t ein Transponieren bezeichnet) und daß der Positionsdatenteil von WXE durch WPE = (WPXE,WPYE,WPZE)t repräsentiert wird, kann die Position WPλ = (WPXλ,WPYλ,WPZλ)t nach der Interpolation als Funktion von λ durch
  • WPλ = (1 - λ)WPS + λWPE ... (3)
  • ausgedrückt werden. Im übrigen gilt bei der Interpolation zwischen WPS und WPE 0 ≤ λ ≤ 1, und daher kann durch Verändem des Werts von λ die Interpolationsposition WPλ zu einem vorgegebenen Zeitpunkt ermittelt werden. Vorstehendes gilt auch für die Stellung, und die entsprechenden Einzelheiten werden hier nicht erläutert.
  • Die Positions-/Stellungs-Interpolationsdaten 530' sind eine durch WX(t) ausgedrückte Funktion der Zeit, da λ eine Funktion der Zeit ist. Wird davon ausgegangen, daß t = tc den aktuellen Zeitpunkt, d.h. den Zeitpunkt, zu dem die Interpolationsdaten 530' ermittelt werden, repräsentiert, entspricht WX(tc) den Positions-/Stellungs-Interpolationsdaten 530'. Die durch die Interpolation auf dem Werkstückkoordinatensystem (ΣW) Sa ermittelten Daten 530 werden offensichtlich durch das Werkstückkoordinatensystem (ΣW) 5a ausgedrückt.
  • Als nächstes wird der Diskriminator 591 des Steuerkoordinatensystems der Daten 530' mit dem des Roboterkoordinatensystems 1a verglichen. Sind sie unterschiedlich, werden die Daten 530' erneut in den Ausdruck RX(tc) in einem endgültigen Ausgabekoordinatensystem 595, d.h. dem Roboterkoordinatensystern (ΣR) 1a, umgewandelt. Die arithmetische Operation wird in diesem Fall unter Verwendung der entsprechenden Umwandlungsmatrix zum aktuellen Zeitpunkt wie folgt ausgeführt.
  • RX(tc) = A (tc) A (tc) A (tc) A (tc) WX(tc) ... (4)
  • Daher entspricht RX(tc) den in dem Roboterkoordinatensystem (ΣR) 1a ausgedrückten Positions-/Stellungs-Interpolationsdaten 530.
  • Ferner werden die Daten 530 zur Ermittlung der entsprechenden Gelenkwinkeldaten (Θ(tc)) 540 des Roboters 1 einer inversen kinematischen Umwandlung 1004 unterzogen. Die dadurch erhaltenen Daten 540 werden zur Steuerung des Antriebs des Roboters durch einen Ausgabevorgang 1005 über die Dienstschnittstelle 68 an ein Servosystem übertragen. Dieser Prozeß wird nicht erläutert, da er mit dem bei dem herkömmlichen Robotersystem übereinstimmt.
  • Zudem müssen bei den vorstehend beschriebenen Verarbeitungen mehrere in den Gleichungen (2-1), 2-2) und (4) verwendete Umwandlungsmatrizen A, wie A(ts) 551, A(tR) 552 und A(tc) den Erfordernissen entsprechend aktualisiert werden. Sie werden ausgedrückt durch
  • A(ts) = A (ts) A (ts) A (ts) A (ts),
  • A(tT) = A (ts) A (tT) A (tT) A (tT) und
  • A(tc) = A (tc) A (tc) A (tc) A (tc).
  • Dies wird durch eine arithmetische Umgebungsoperation 1006 ausgeführt, durch die beispielsweise A(tc) 553 berechnet wird.
  • Bisher wurden die Flüsse der Verarbeitung und der Daten bei der typischen Ausführungsform der vorliegenden Erfindung allgemein erläutert. Als nächstes wird die Funktion erläutert, die durch die Verarbeitungen realisiert werden kann.
  • Ein erstes Beispiel der typischen Ausführungsform ist ein Fall, in dem die Robotersteuerungsvorrichtung 6 eine Antriebsanweisung an den Bewegungsunterbau 2 oder die Positioniereinrichtung 4 sendet, die synchron mit dem Roboter 1 betätigt werden sollen.
  • Im folgenden wird davon ausgegangen, daß der Roboter 1 um die an dem Bewegungsunterbau 2 befestigte Bewegungswelle drehbar ist, und es wird davon ausgegangen, daß die Position der Bewegungswelle bei einer linearen Bewegung des Bewegungsunterbaus 2 auf einer Bewegungsschiene durch den Abstand q von einem vorgegebenen Basispunkt auf der Schiene repräsentiert wird und die Positionen der Bewegungswelle bei einem jeweiligen Zusammenfallen des Bearbeitungspunkts 30 des Roboters 1 mit den Punkten 51 und 52 auf dem Werkstück 5 jeweils als qS und qE programmiert werden. Erfolgt bei einer linearen Interpolation der Position des Bearbeitungspunkts 30 über den Abstand von dem Punkt 51 zu dem Punkt 52 eine Interpolation der Position der Bewegungswelle über den Abstand von qS nach qE, kann die Position der Bewegungswelle zu jeweiligen Zeitpunkten unter Verwendung von λ gemäß der Gleichung (3) wie folgt ausgedrückt werden.
  • qλ = (l - λ)qs + λqE ... (5)
  • Hierbei wird die Berechnung der Gleichung (5) zusammen mit der der Gleichung (3) durch die Interpolation 1002 ausgeführt. Ferner werden unter Verwendung der derart erhaltenen Position qλ der Bewegungswelle durch die arithmetische Umgebungsverarbeitung 1006 die Matrizen A und A berechnet, die die Beziehung zwischen dem Roboterkoordinatensystem (ΣR) 1a und dem universellen Koordinatensystem (ΣU) repräsentieren. Wird nun davon ausgegangen, daß das universelle Koordinatensystem 8a und das Roboterkoordinatensystern la in einer parallelen Beziehung definiert sind und die Bewegungswelle in beiden Koordinatensystemen in der Richtung der X-Achse ausgerichtet ist, ist A durch
  • gegeben, wobei (PRX, PRY, PRZ) ein Ursprung des Roboterkoordinatensystems ist, wenn es durch das universelle Koordinatensystem 8a ausgedrückt wird. Das "q" in der Gleichung (6), das qλ in der Gleichung (5) entspricht, kann, wie der Ausdruck von WX(t), durch A (t) ausgedrückt werden. Dadurch wurde ein Teil der Umgebungsverarbeitung 1006 geklärt, in dem die in den Gleichungen (2-1), (2-2) und (4) beschriebene Umwandlungsmatrix A verändert wird.
  • Durch Anwenden des gleichen Prinzips wie bei dem Bewegungsunterbau 2 auf die Positioniereinrichtung 4 kann zur Ermittlung der Umwandlungsmatrizen A und A die arithmetische Umgebungsverarbeitung 1006 realisiert werden.
  • Obwohl bei dem vorstehenden Beispiel davon ausgegangen wurde, daß jeder der Freiheitsgrade der Positioniereinrichtung 4 in der Gleichung (5) der gleichen Interpolation wie der Bewegungsunterbau unterzogen wird, kann davon ausgegangen werden, daß die Position des Objekttischs 40 in bezug auf die Basis der Positioniereinrichtung 4 in einem dreidimensionalen Raum verändert wird. Wenn die Positioniereinrichtung beispielsweise, wie in Fig. 7 dargestellt, drei Freiheitsgrade aufweist, ist es durch ein Richten des Augenmerks auf beispielsweise den Ursprung des Objekttischkoordinatensystems (ΣB) 40a ohne ein Ausführen der Steuerung für jeden Freiheitsgrad möglich, die Positionen APB(tT) an den Start- und Endpunkten (Zielpunkten) zu interpolieren, um zu jedem Zeitpunkt die Position A (tc) zu ermitteln und sie in die jeweiligen Freiheitsgrade 4-1, 4-2 und 4-3 aufzulösen. Durch Erweitern dieses Prinzips ist es möglich, zwei zusammenwirkende Roboter zu steuern.
  • Fig. 8 zeigt ein Beispiel des Zusammenwirkens zwischen dem Roboter 1 und Peripheriegeräten, insbesondere den Weg 30- 1 des Bearbeitungspunkts 30 in dem Roboterkoordinatensystem 1a und den entsprechenden Weg 30-2 in bezug auf das Werkstück 5, wenn sowohl der Roboter 1 als auch die Positioniereinrichtung 4 betätigt werden. Gemäß Fig. 8 sind 51 und 52 Punkte, die dem Startpunkt PS und dem Zielpunkt PE der Interpolation entsprechen, wie vorstehend ausgeführt. 4-1 ist die Betätigungsrichtung der Positioniereinrichtung.
  • Ferner werden Umwandlungsmatrizen A , A , A und A durch eine durch
  • gegebene Einheitsumwandlungsmatrix II repräsentiert.
  • Daher sind sämtliche bei den Operationen der Gleichungen (2-1), (2-2) und (4) verwendeten Elemente derart definiert, daß die yerarbeitungen 1001 und 1003 tatsächlich ausgeführt werden können.
  • Dadurch ist es bei der kooperativen und gleichzeitigen Steuerung des Antriebs zumindest entweder des Bewegungsunterbaus 2 oder der Positioniereinrichtung 4 und des Roboters 1 möglich, den Bearbeitungspunkt 30 längs eines gewünschten Wegs auf dem Werkstück zu betätigen, wodurch eine Bearbeitung, wie ein Schweißen, leicht ausgeführt werden kann.
  • Im übrigen wird darauf hingewiesen, daß der Bewegungsunterbau oder die Positioniereinrichtung, die vorstehend beschrieben wurden, lediglich Beispiele sind, und daß die sie betreffende vorstehende Erläuterung auf jede Vorrichtung, beispielsweise einen sich bewegenden Roboter, angewendet werden kann.
  • Ein zweites Beispiel einer typischen Ausführungsform der vorliegenden Erfindung ist der Fall, in dem von der Steuerungsvorrichtung 6 nur der Roboter 1 gesteuert wird und die anderen Peripherievorrichtungen, wie der Bewegungsunterbau 2 und die Positioniereinrichtung 4, fest sind (und ihre Berücksichtigung daher nicht erforderlich ist), ein statischer Fehler, wie der in bezug auf den Einstellungszustand des Werkstücks 5, jedoch berücksichtigt werden muß. Es wird nun davon ausgegangen, daß die Positioniereinrichtung 4 und der Bewegungsunterbau 2 fest sind und daß die tatsächliche Arbeit ausgeführt wird, wenn sich, wie in Fig. 9 dargestellt, die Position 5-1 des Werkstücks 5 zum Zeitpunkt der Programmierung der Bearbeitung von seiner Position 5-2 zum Zeitpunkt des Repetiervorgangs unterscheidet (anders ausgedrückt betrifft dies den Einstellfehler des Werkstücks). Die Positionsbeziehung zwischen dem Objekttisch 40 und dem Werkstück 5 zum Zeitpunkt der Programmierung einer Arbeit kann durch eine Matrix, die, wie die Gleichung (1), aus vier Zeilen und vier Spalten besteht, als Umwandlung zwischen dem Koordinatensystem (ΣB) 40a des Objekttischs und dem Werkstückkoordinatensystem (ΣW) beschrieben werden. Sie wird in Form einer Funktion des Zeitpunkts der Programmierung der Arbeit t = tT durch A (tc) (oder ihre inverse Matrix A (tc)) repräsentiert. Die Positionsbeziehung zwischen dem Objekttisch 40 und dem Werkstück 5 zum Zeitpunkt der Ausführung der Arbeit kann ebenso in Form einer Funktion des Zeitpunkts der Ausführung der Arbeit t = tc (aktueller Zeitpunkt) durch A (tc) (oder ihre inverse Matrix AWBQ)) repräsentiert werden. (Es wird darauf hingewiesen, daß dieser Wert konstant ist.)
  • Da in diesem Fall der Bewegungsunterbau 2 und die Positioniereinrichtung 4 fest sind, muß ihr Einfluß auf die Matrizen nicht berücksichtigt werden. Die Matrizen A , A , A , A , A und A können nämlich zeitunabhängig stets als die Einheitsmatrix II (Gleichung (7)) oder als Konstanten betrachtet werden. Daher können die arithmetischen Verarbeitungen 1001 und 1003 unter Verwendung der Gleichungen (2-1), (2- 2) und (4) ausgeführt werden. Insbesondere können unter Verwendung der Gleichungen (2-1) und (2-2) die Betätigungspunkte 51 und 52 an dem Werkstück 5 auf der Grundlage der Positionsbeziehung zwischen dem Objekttisch 40 und dem Werkstück 5 zum Zeitpunkt der Programmierung bestimmt werden. Die Interpolation 1002 erfolgt zwischen den Punkten 51 und 52. Unter Verwendung der Gleichung (4) kann die Position/Stellung des Bearbeitungspunkts 30 an der durch Interpolation ermittelten Position auf der Grundlage der Positionsbeziehung zwischen dem Objekttisch 40 und dem Werkstück zum aktuellen Zeitpunkt oder zu jedem beliebigen Zeitpunkt während der Arbeit ermittelt werden. Dadurch ist es mglich, die Operation bei korrigierten Einstellfehler des Werkstücks 5 auszuführen. Im übrigen wird, obwohl die Position 5-2 des Werkstücks 5 in bezug auf den Objekttisch 40 bei der Ausführung der Arbeit fest und auch A (tc) konstant ist, die vorstehend beschriebene Operation dadurch nicht beeinträchtigt.
  • Ein drittes Beispiel einer typischen Ausführungsform der vorliegenden Erfindung ist der Fall, in dem der erste und der zweite Fall kombiniert werden und die Position beispielsweise der Positioniereinrichtung 4 während einer informellen Zeit zwischen dem Zeitpunkt der Programmierung der Arbeit und dem Zeitpunkt der Ausführung der Arbeit verändert wird. In diesem Fall können, wenn die Umwandlungsmatrizen A , A , A und A wie bei dem ersten Fall, die Umwandlungsmatrizen A und A wie bei dem zweiten Fall und auch A und A gemäß dem gleichen Prinzip wie A und A eingestellt sind, unter Verwendung der Gleichungen (2-1), (2-2) und (4) der synchrone und kooperative Betrieb des Roboters 1 und des Bewegungsunterbaus 2 oder der positioniereinrichtung 4 und die Korrektur des Einstellfehlers des Werkstücks 5 und der Positioniereinrichtung 4 gleichzeitig realisiert werden.
  • Ein viertes Beispiel einer typischen Ausführungsform der vorliegenden Erfindung ist der Fall, in dem bei der Betätigung der Umwandlungsmatritzen AuR, ARU, wie bei den die Einstellpositionen im zweiten und dritten Fall repräsentierenden Matrizen (A , A , etc.), die Matrix der Gleichung (6) der Operation unterzogen wird, wobei die die dazu relativen Einstellpositionen des Bewegungsunterbaus 2 und des Roboters 1 berücksichtigt werden. Hierbei kann, zusätzlich zu dem dritten Fall, auch der Einstellfehler des Roboters 1 und des Bewegungsunterbaus 2 korrigiert werden. Weist das betreffende System keinen Bewegungsunterbau 2 auf, können A und A , die die Beziehung des Roboterkoordinatensystems 1a zu dem universellen Koordinatensystem 8a repräsentieren, direkt zur Korrektur des Einstellfehlers des Roboters 1 verwendet werden.
  • Wie aus der vorstehenden Erläuterung hervorgeht, ist es bei der Implementierung der Funktion der vorliegenden Erfindung erforderlich, die Matrizen A in der vorgegebenen Weise zu berücksichtigen. Wie vorstehend in bezug auf den Bewegungsunterbau und die Positioniereinrichtung 4 beschrieben, werden bei der Ausführung der Arbeit (des Repetiervorgangs) in der arithmetischen Verarbeitung 1006 gemäß Fig. 4 die Matrizen A berechnet. Auch bei der Programmierung der Arbeit können die Matrizen A auf die gleiche Weise berechnet werden. Genauer wird bei der Programmierung der Arbeit bei jedem Antrieb des Bewegungsunterbaus 2 bzw. der Positioniereinrichtung 4 beispielsweise durch eine manuelle Betätigung zur Aktualisierung der Matrizen A die gleiche Verarbeitung 1006 ausgeführt. Die Inhalte der Berechnung sind die Werte A(tc) der jeweiligen Matrizen zum aktuellen Zeitpunkt. Anders ausgedrückt wird bei jeder Erzeugung einer Anweisung für eine Operation unabhängig von der Art von Operation (der manuellen Betätigung oder einer Interpolationsoperation zur Ausführung der Arbeit) die Matrix A als A(tc) zum entsprechenden Zeitpunkt berechnet.
  • Ferner werden bei der Programmierung der Arbeit die die Position/Stellung des Bearbeitungspunkts 30 des Roboters 1 repräsentierenden Daten gespeichert, und auch die Matrix A(tc) wird als A(tT) gespeichert. Zudem wird die Matrix A(tT) nur gespeichert, wenn ihr Wert und Inhalt verändert wurden, so daß die Kapazität zur Speicherung der programmierten Daten verringert werden kann.
  • Überdies wird der in der Gleichung (2-1) erscheinende und als Wert der Matrix am Startpunkt jedes Einheitssegments der Interpolation definierte Wert A(ts) zum Startzeitpunkt des Interpolationssegments als A(tc) betrachtet, er kann, soweit erforderlich, durch seine Speicherung zu diesem Zeitpunkt leicht erhalten werden.
  • Die Handhabung der durch die arithmetische Umebungsverarbeitung 1006 zu aktualisierenden Matrizen A wurde erläutert. Andererseits können die Einstellposition des Werkstücks 5 in bezug auf den Objekttisch 40, die bei der Programmierung der Arbeit die Position 5-1 angebenden Umwandlungsmatrizen A (tT) (und A (tT)) und die bei der Ausführung der Arbeit die Position 5-2 angebenden Matrizen A (tc) (und A (tc)) beispielsweise durch Kalibrierung einzeln erhalten und auf die gleiche Weise wie die durch die vorstehend genannte arithmetische Umgebungsverarbeitung 1006 zu aktualisierenden Matrizen gehandhabt werden. Dies gilt im zweiten Fall für A , A , etc. Die Technik für diese Matrizen ist in der von den Erfindern der vorliegenden Anmeldung angemeldeten JP-A-59- 189415 (JP-62-162359) offenbart.
  • Gemäß der bislang erläuterten typischen Ausführungsform der vorliegenden Erfindung können bei dem in Fig. 1 dargestellten System die synchrone und kooperative Steuerung des Roboters 1 und der Peripheriegeräte, wie des Bewegungsunterbaus 2 und der Positioniereinrichtung 4, die von der Robotersteuerungsvorrichtung 6 gesteuert werden, die Korrektur der Fehler der Einstellung von Position und Stellung des Werkstücks sowie weiteres vereint realisiert werden.
  • Obwohl bei der vorstehenden Erläuterung davon ausgegangen wurde, daß die Daten des Zielpunkts 52 der Interpolation durch das Koordinatensystem (ΣR) 1a des Roboters ausgedrückt werden und das Koordinatensystem (ΣW) 5a des Werkstücks als Steuerkoordinatensystem spezifiziert ist, können diese, wie aus der bisherigen Beschreibung hervorgeht, wahlweise verändert werden.
  • Werden beispielsweise die Daten entweder des Startpunkts 51 oder des Zielpunkts 52 der Interpolation durch das universelle Koordinatensystem (ΣU) 8a und der andere durch das Koordinatensystem (ΣW) des Werkstücks ausgedrückt, können diese Punkte unter Verwendung des Koordinatensystems (ΣR) 1a des Roboters als Steuerkoordinatensystem gesteuert werden. Ein Beispiel für das Ausdrücken des Zielpunkts 52 der Interpolation durch das Koordinatensystem (ΣW) 5a des Werkstücks ist der Fall, in dem der Weg, dem der Bearbeitungspunkt 30 des Roboters 1 folgen soll, mittels einer Off-Line- Programmierung unter Verwendung von CAD-Konstruktionsdaten des Werkstücks 5 erzeugt wird. In diesem Fall ist bei der Umwandlungsverarbeitung 1001 gemäß Fig. 4 keine Berechnung der Gleichung (2-2) erforderlich. Genauer stimmen die Daten 520, die WXE selbst sind, mit 502' überein, so daß die Berechnung der Gleichung (2-2) nicht erforderlich ist. Es erübrigt sich, darauf hinzuweisen, daß auch in diesem Fall die Funktionen des Zusammenwirkens zwischen dem Roboter 1 und den peripheren Vorrichtung sowie die Korrektur des Fehlers bei der Einstellung des Werkstücks implementiert werden können. Überdies entspricht die Verwendung des Koordinatensystems (ΣR) 1a Roboters als Steuerkoordinatensystem unabhängig von einer Betätigung des Bewegungsunterbaus 2 und der Positioniereinrichtung 4 einer Anordnung des Bearbeitungspunkts 30 des Roboters 1 an einem festen Punkt in bezug auf beispielsweise den Roboter 1 oder eine andere (dem universellen Koordinatensystem 8a entsprechende) Oberfläche des Bearbeitungsbereichs. Dies wird in Fällen angewendet, in denen der Roboter 1 für die an einem festen Punkt in dem Arbeitsbereich eingestellte Vorrichtung zum Austausch des Bearbeitungswerkzeugs 3 angeordnet werden soll und in denen der Roboter 1 in seine Ruheposition (die Position zu Beginn oder nach Abschluß einer Arbeit) bewegt werden soll.
  • Aus der vorstehenden Beschreibung ist ersichtlich, daß die die Daten des Startpunkts 51 und des Zielpunkts 52 der Interpolation oder die Steuerkoordinaten ausdrückenden Koordinatensysteme für jede Grundoperation, wie das Interpolationssegment des Roboters 1, wahlweise eingestellt werden können, wobei die Operationen des Roboters dementsprechend problemlos gesteuert werden können. Daher können diese Koordinatensysteme und damit ihre Diskriminatoren auch beim Betrieb des Roboters 1 für jede Grundoperationseinheit wahlweise verändert werden. Dadurch können beispielsweise ein Mischen der bei einer manuellen Betätigung des Roboters 1 programmierten Daten mit den Daten einer Off-Line-Programmierung und eine Ausführung einer kooperativen Betätigung des Roboters 1 und seiner peripheren Vorrichtungen oder deren Beendigung leicht realisiert werden.
  • Im folgenden wird unter Bezugnahme auf Fig. 10 eine weitere Ausführungsform der vorliegenden Erfindung erläutert. Bei dem System gemäß Fig. 10 entsprechen der Roboter 1, das Bearbeitungswerkzeug 3 und das Werkstück 5 den Elementen gemäß Fig. 1. Es wird davon ausgegangen, daß das Werkstück 5 auf einer Fördereinrichtung 91 in einem Zustand, in dem es an einem Objekttisch 91-1 der Fördereinrichtung montiert ist, linear bewegt wird. Es sind auch ein optischer Sensor 92, an dem das universelle Koordinatensystem (ΣU) 8a festgelegt ist, und ein an dem Bearbeitungspunktarm des Roboters 1 befestigter optischer Arbeitssensor 93 vorgesehen.
  • Für die jeweiligen Vorrichtungen gemäß Fig. 10 sind die folgenden in Fig. 1 dargestellten Koordinatensysteme definiert. Ein Koordinatensystem (ΣV) 92a des optischen Sensors ist an dem optischen Sensor 92 festgelegt, ein Koordinatensystem (ΣS) 93a des Bearbeitungspunkts ist an dem optischen Sensor 93 des Bearbeitungspunkts festgelegt, und ein Koordinatensystem (ΣC) 91a der Fördereinrichtung ist an der Fördereinrichtung 91 festgelegt. Das Koordinatensystem (ΣR) 1a des Roboters, das Koordinatensystem (ΣW) 5a des Werkstücks, etc. sind auf die gleiche Weise wie gemäß Fig. 5 festgelegt.
  • Anders als bei dem System gemäß Fig. 1 sind bei dem System gemäß Fig. 10 die Fördereinrichtung 91 und die Sensoren 92 und 93, die periphere Vorrichtungen sind, Eingabevorrichtungen für die Robotersteuerungsvorrichtung. Die vorliegende Erfindung ist jedoch, wie nachstehend erläutert, ohne eine Veränderung ihres Konzepts auf einen derartigen Fall anwendbar.
  • Zunächst werden die Umwandlungsmatrizen zwischen dem universellen Koordinatensystem (ΣU) 8a und dem Koordinatensystem (ΣC) 91a der Fördereinrichtung als A (oder A ), zwischen dem universellen Koordinatensystem 8a und dem Koordinatensystem (ΣV) 92a des optischen Sensors als A (oder A ) und zwischen dem Koordinatensystem (ΣT) 30a des Werkzeugs und dem Koordinatensystem (ΣS) 93a des optischen Sensors am Bearbeitungspunkt als A (oder A ) definiert.
  • Im folgenden wird davon ausgegangen, daß das Koordinatensystem (ΣW) des Werkstücks als Steuerkoordinatensystem zugeordnet ist und der Diskriminator 591 des Steuerkoordinatensystems mit dem des Koordinatensystem (ΣW) des Werkstücks zusammenfällt. Unter Bezugnahme auf den in Fig. 12 dargestellten Datenfluß wird die Funktionsweise des Systems gemäß Fig. 10 erläutert.
  • Zunächst wird in bezug auf die Position des auf einer Palette (einem Objekttisch) 91-1 der Fördereinrichtung 91 montieren Werkstücks 5 durch den optischen Sensor 92 eine Abweichung zwischen seiner Position 5-2 bei der Ausführung der Arbeit und seiner Position bei der Programmierung der Arbeit erfaßt. Das Ergebnis (die Daten 921) ist VΔ und wird durch das Koordinatensystem (ΣV) 92a des optischen Sensors ausgedrückt.
  • Wird davon ausgegangen daß der Zeitpunkt der Programmierung der Arbeit t = tT und der Zeitpunkt des Beginns der Arbeit t = t&sub5; ist, gilt dann:
  • VΔ = A (ts) A (tT) ... (8)
  • wobei AW und AV eine Beziehung zwischen dem Koordinatensystem 92a und dem Koordinatensystem 5a des Werkstücks repräsentieren. Ebenso gilt:
  • A = A A A ... (9)
  • Daher ergeben sich unter Verwendung von
  • A (tT) = A (tT) A (tT) A (tT) ... (10)
  • und
  • A (ts) = A (ts) A (ts) A (ts) ... (11)
  • die folgenden Gleichungen:
  • A (tT) = A (tT) A (tT) A (tT) ... (10')
  • und
  • A (ts) = A (ts) A (ts) A (ts) ... (11 )
  • Daher gilt:
  • A (ts) = A (ts) A (ts) VΔ A (tT) A (tT) A (tT) ... (12)
  • wobei A (tT) eine Beziehung zwischen einem Wertstück 5 und der Fördereinrichtung 91 zum Zeitpunkt der Programmierung der Arbeit repräsentiert. Wird davon ausgegangen, daß zum Zeitpunkt der Programmierung der Arbeit das Koordinatensystem (ΣC) 91a der Fördereinrichtung mit dem Koordinatensystem (ΣW) 5a des Werkstücks übereinstimmt, kann es wie folgt generalisiert werden.
  • Ferner kann, wenn der Einfachheit halber davon ausgegangen wird, daß AE und AuV unabhängig von der Zeit konstant sind, die Gleichung 12 wie flogt ausgedrückt werden:
  • A (ts)=cΔ = A A νΔ A A ... (12')
  • A (ts) repräsentiert nämlich eine Positionsabweichung des Werkstücks 5 zum Zeitpunkt der Programmierung der Arbeit und zum Zeitpunkt der Ausführung der Arbeit von dem Koordinatensystem (ΣC) 91a der Fördereinrichtung aus betrachtet und wird als Daten 921' bezeichnet. Daraus geht hervor, daß die Verarbeitungen der Gleichungen (12) und (12)' der im Zusammenhang mit der vorhergehenden Ausführungsform erläuterten Korrektur des Anordnungsfehlers entsprechen.
  • Das in Fig. 12 dargestellte Datenflußdiagramm stimmt im Grundsatz mit dem in den Figuren 3 und 4 dargestellten überein. Es wird jedoch darauf hingewiesen, daß die Interpolationszielpunktdaten 520 unter Verwendung der durch den optischen Sensor 92 erhaltenen Daten 921 korrigiert werden. Zuerst werden bei der Verarbeitung 1101 die Daten 921 in die durch das Steuerkoordinatensystem ausgedrückten Daten 921' umgewandelt. Andererseits werden bei der Umwandlungsverarbeitung 1001 die Interpolationszielpunktdaten 520 in die durch die Steuerkoordinaten ausgedrückten Daten 520' umgewandelt. Die Daten 520' werden zur Ermittlung der korrigierten Daten 520" (WXE*) bei der Korrekturverarbeitung 1102 unter Verwendung der Daten 921' korrigiert. Unter Verwendung der korrigierten Daten 520", die als die einer Interpolation unterzogenen Daten 520' gemäß Fig. 3 betrachtet werden können, und der durch das Koordinatensystem ausgedrückten Positionsdaten 520' des Roboters 1 wird zur Ermittlung der einer Interpolation unterzogenen Positionsdaten 530' die Interpolationsverarbeitung 1102 ausgeführt.
  • Bei dem in Fig. 12 dargestellten Datenfluß wird ein Fall betrachtet, in dem die Fördereinrichtung 91 zusammen mit dem Fortschreiten der Arbeit bewegt wird. Die Operation der Fördereinrichtung 91 kann, als Umwandlung in das universelle Koordinatensystem (ΣU) 8a genommen, beispielsweise wie folgt ausgedrückt werden.
  • Die Umwandlungsmatrix AuC repräsentiert die Daten 910. (PCX, PCY, PCZ) ist ein Ursprungspunkt des Koordinatensystems (ΣC) 91a der Fördereinrichtung in bezug auf ein universelles Koordinatensystem, und n, o und a sind die Richtungscosini der Einheitsvektoren in der der Fördereinrichtung 91 entgegengesetzten Richtung in bezug auf das universelle Koordinatensystem, wobei darauf hingewiesen wird, daß das Koordinatensystem der Fördereinrichtung derart vereinfacht wurde, daß es parallel zu dem universellen Koordinatensystem 8a ist. 1c ist eine Bewegungsstrecke der Fördereinrichtung 91, und es wird davon ausgegangen, daß bei t = ts 1c = 0 gilt. Die Bewegungsstrecke kann durch einen Positionsdetektor, wie eine rotierende Codiereinrichtung zur Erfassung des Bewegungsbetrags der Fördereinrichtung 91, oder durch Aufaddieren einer Eingabe in einen Geschwindigkeitsdetektor ermittelt werden. Die Verarbeitung zur Ermittlung des Werts AC entspricht der Verarbeitung 1006.
  • Die einer Interpolation unterzogenen Positionsdaten 530' sowie die Daten 930', die von dem optischen Sensor 93 am Bearbeitungspunkt stammen, werden durch den optischen Sensor 93 am Bearbeitungspunkt einer Korrekturverarbeitung (einer nachstehend erläuterten Überlappungsverarbeitung) 1103 unterzogen, um die Daten 530" (WX*(tc)) zu ermitteln. Wenn die Korrektur durch den optischen Sensor 93 am Bearbeitungspunkt nicht ausgeführt wird, sind die Daten 530" offensichtlich äquivalent zu den Daten 530'.
  • Die arithmetische Verarbeitung gemäß Fig. 12 stimmt mit der gemäß Fig. 3 überein und führt die Operation der folgenden Gleichung aus,
  • RX(tc) = A (tc) A (tc) A (tc) WX*(tc) ... (15)
  • wobei WX*(tc) die korrigierten, einer Interpolation unterzogenen Positions-/Stellungsdaten 530" sind, die in den Steuerkoordinaten, d.h. in diesem Fall den Werkstückkoordinaten, ausgedrückt werden. Durch die Operation gemäß der Gleichung (12) werden die korrigierten, einer Interpolation unterzogenen Positions-/Stellungsdaten (RX(tc)) ernittelt. Die der Verarbeitung 1003 folgenden Verarbeitungen stimmen mit denen gemäß den Figuren 3 und 4 überein. Auf diese Weise ist es möglich, den Steuervorgang einschließlich der Steuerung des optischen Sensors 92 und der Fördereinrichtung 91 auszuführen.
  • Ferner kann die Steuerung des Wegs, wie eine Gratnachlaufsteuerung, unter Berücksichtigung der Daten von dem optischen Bearbeitungspunktsensor 93 auf die folgende Weise hinzugefügt werden. Die von dem Bearbeitungspunktsensor 93 erhaltenen Daten 930, die durch das Koordinatensystem (ΣS) 93a des Bearbeitungspunktsensors ausgedrückt sind, werden auf die gleiche Weise wie bei der Verarbeitung 1101 durch die Verarbeitung 1004 in bezug auf den optischen Sensor 92 in die durch das Steuerkoordinatensystern ausgedrückten Daten 930' umgewandelt. Die Daten 930' sowie die einer Interpolation unterzogenen Positions-/Stellungsdaten 530' werden zur Ermittlung der korrigierten, einer Interpolation unterzogenen Positions-/Stellungsdaten 530" der Überlappungsverarbeitung 1103 unterzogen. Die Daten 530" werden der der Gleichung (15) entsprechenden Verarbeitung 1003 unterzogen. Ferner folgen die Verarbeitungen der Verarbeitung 1004 und der folgenden.
  • Es wurden die Fälle erläutert, in denen Eingaben in die Robotersteuerungsvorrichtung 6 durch mehrere Koordinatensysteme angegeben werden. Die Verarbeitungsweise einschließlich der arithmetischen Gleichungen, die in bezug auf diese Ausführungsform erläutert wurden, sind nicht eindeutig, sondern können auf verschiedene Arten modifiziert werden. Obwohl beispielsweise bei dieser Ausführungsform sämtliche Eingabedaten in den Ausdruck durch das Koordinatensystem umgewandelt und anschließend der Korrektur oder Überlappung unterzogen werden, können die Korrektur oder die Überlappung statt in dem Steuerkoordinatensystem in jedem Koordinatensystem ausgeführt werden, in dem die Anzahl der zur Umwandlung der Daten erforderlichen arithmetischen Operationen minimal ist.
  • Die zur Vereinfachung der Erläuterung anhand der nur zwei typischen Ausführungsformen erläuterten Funktionen sind individuell. Daher ist es möglich, ein System zu realisieren, in dem diese Funktionen kombiniert sind. Genauer kann die vorliegende Erfindung auf einen breiten Anwendungsbereich angewendet werden, von einem Fall, in dem der Roboter 1 nur unter Verwendung von durch das Werkstückkoordinatensystem ausgedrückten Daten gesteuert wird, bis zu einem Fall, in dem ein gesamtes mit einem Bewegungsunterbau, einer Positioniereinrichtung, mehreren Sensoren, einer Fördereinrichtung, etc. kombiniertes Robotersystem gemeinsam kooperativ gesteuert wird, wobei auch Einstellfehler berücksichtigt werden. Erfindungsgemäß ist es möglich, viele Arten von Systemen in einer 'datengetriebenen' Konstruktion unter Verwendung von Diskriminatoren gemeinsam zu steuern, indem ohne eine Veränderung des Softwareprogramms lediglich die Diskriminatoren erforderlicher Daten, wie Eingabedaten, Ausgabedaten, etc., sowie zur Angabe des Koordinatensystems verändert werden.
  • Die Inhalte der Umwandlungsmatrizen für die Koordinaten sind für jeweilige Systeme unterschiedlich, und ein Teil von ihnen muß als Funktion der Zeit behandelt werden. Sie sind jedoch als aus vier Zeilen und vier Spalten bestehende Matrizen (oder Matrixprodukte) generalisiert, so daß in vielen Fällen lediglich die den Diskriminatoren äquivalenten Parameter verändert werden müssen. Selbst wenn eine kompliziertere Verarbeitung erforderlich ist, können deren Inhalte zusammengefaßt werden. Daher ist keine vollständige Veränderung der Basissoftware, wie einer Verarbeitung zur Erzeugung eines Wegs, die hauptsächlich eine Interpolation enthält, die ein Basisalgorithmus für die Operationssteuerung ist, erforderlich. Im übrigen kann der Weg, obwohl er bei den vorstehend beschriebenen Ausführungsformen durch Interpolation erzeugt wird, durch jede andere geeignete Technik erzeugt werden, ohne daß das Wesentliche der vorliegenden Erfindung beeinflußt würde.
  • Schließlich wird ein Verfahren zur einfachen Implementierung der konkreten Verarbeitung unter Verwendung eines Diskriminators, der der Kern der vorliegenden Erfindung ist, und des diesen betreffenden Steuerteils erläutert.
  • Fig. 13 zeigt Einzelheiten der Verarbeitung 1001 gemäß Fig. 4, und Fig. 14 zeigt den entsprechenden Datenfluß Es wird davon ausgegangen, daß in der Tabelle 591 zur Zuordnung eines Steuerkoordinatensysterns ein Diskriminator 591 für das Steuerkoordinatensystem eingestellt ist, und ebenso wird davon ausgegangen, daß die Aufmerksamkeit auf den Diskriminator 522 des Koordinatensystems zum Ausdrücken der Zieldaten 520 für die Interpolation gerichtet wird, die als Eingabedaten verwendet werden. Ferner wird davon ausgegangen, daß das in Fig. 1 dargestellte System der betreffenden Verarbeitung unterzogen wird. Die in dem System gemäß Fig. 1 enthaltenen Koordinatensysteme sind, wie in Fig. 15 dargestellt, mit Nummern ausgestattet. Es wird darauf hingewiesen, daß das Koordinatensystem 4a der Positioniereinrichtung als Peripheriekoordinatensystern generalisiert wird.
  • Überdies wird davon ausgegangen, daß die Matrizen zur Umwandlung der Koordinatensysteme in einer Tabelle gemäß Fig. 16 dargestellt sind, die mit den den in Fig. 14 dargestellten Nummern entsprechenden Nummern ausgestattet ist. Im folgenden wird das Konzept eines Zeit eingeführt, wie in Fig. 17 gezeigt. Die Zeit enthält drei Zeitpunkte, nämlich den Zeitpunkt der Programmierung der Interpolation (t = tT), den Zeitpunkt des Beginns der Interpolation (t = tS) und den aktuellen Zeitpunkt (im allgemeinen jeden Moment bei der Ausführung der Interpolation, t = tc). Die Tabelle 550 besteht aus drei Gruppen, die jeweils fünf Arten von Daten enthalten, wobei die Daten jeweils aus 16 (sechzehn) Teilen bestehen und die drei Gruppen als Matrizen 550-1 für den Zeitpunkt der Programmierung der Interpolation, die Matrizen 550-2 für den Zeitpunkt des Beginns der Interpolation und die Matrizen 550- 3 für den aktuellen Zeitpunkt bezeichnet werden.
  • Die Werte der fünf Matrizen A , A , A , A und A in 550-1 werden durch eine arithmetische Operation zur Aktualisierung der Umgebung über Unterbrechungssignale oder geeignete periodische Signale periodisch aktualisiert. Genauer werden die Ursprungsposition des an dem entsprechenden Bewegungselement festgelegten Koordinatensystems und seine Stellung anhand der durch den an dem entsprechenden Bewegungselement vorgesehenen Sensor erhaltenen Position und Stellung zu jedem Zeitpunkt eindeutig definiert. Ebenso wird die Position/Stellung des unabhängig von dem anderen Bewegungselement beweglichen Koordinatensystems von einem optischen Sensor oder jeder anderen für das Koordinatensystem vorgesehenen geeigneten Einrichtung überwacht, so daß sie durch ein Ausgabesignal des optischen Sensors definiert werden kann. Unter Verwendung der derart definierten Position/Stellung wird die Umwandlungsrnatrix zu jedem zugewiesenen Zeitpunkt definiert und in der Tabelle gespeichert. Dies bedeutet, daß die Umwandlungsrnatrix stets entsprechend jedem Unterbrechungssignal bzw. periodischen Signal mit einem anhand der Position/ Stellung des Ursprungs jedes Koordinatensystems zu diesem Zeitpunkt erhaltenen neuen Wert aktualisiert und, soweit erforderlich, gespeichert wird.
  • Das Konzept der Zeit wird eingeführt, um die Verarbeitungen 1001, 1003, 1102, 1103, etc. vereint zu handhaben. Bei der Verarbeitung 1001 beispielsweise, bei der die Gleichung (2-2) verwendet wird, ist die Zeit t = tT, daher wird der Zeitdiskrirninator 559 (yA) von yA = 1 zugeordnet, wie in Fig. 17 dargestellt. Auf der Grundlage dieser Zeitzuweisung wählt die Verarbeitung 1001-1 die der entsprechenden Zeit entsprechende Tabelle aus der in Fig. 16 dargestellten Tabelle 550 der Umwandlungsmatrizen aus, beispielsweise 550-1. Ein Beispiel der Verarbeitung 1001-1 ist eine Berechnung unter Verwendung von
  • ZA = χA + bA + CA (YA - 1) ... (16)
  • wobei zA die Basisadresse der ausgewählten Tabelle, xA die oberste Adresse der Tabelle, bA die Datenlänge für jede Umwandlungsmatrix (die Anzahl an Bytes, wenn die Adresse durch Einheiten von Byte ausgedrückt ist) und CA die diesbezügliche Anzahl an Umwandlungsmatrizen ist.
  • Als nächstes wird in einer Initialisierungsverarbeitung 1001-2 jedes Element in einer Zeigertabelle 5500 der Umwandlungsmatrizen auf "NULL" (das Fehlen von Zeigerdaten) und eine Flagge 558 (SA) für die Umwandlungsrichtung initialisiert. Hierbei dient die Zeigertabelle 550 für die Umwandlungsmatrizen der Speicherung eines Zeigers (einer Basisadresse oder einer Gruppe von Basisadressen) für eine Matrix oder eine Gruppe von Matrizen, die zur Umwandlung der Positions/Stellungsdaten 520 erforderlich ist/sind, die eine Eingabe für die Verarbeitung 1001 in die durch das Steuerkoordinatensystem ausgedrückten Daten 520' sind. Die Flagge 558 für die Umwandlungsrichtung gibt gemäß Fig. 18, die die Umwandlungsbeziehung unter den in dem System gemäß Fig. 1 enthaltenen Koordinatensystemen zeigt, an, ob die Umwandlung im Uhrzeigersinn (negativ) oder gegen den Uhrzeigersinn (positiv) fortschreitet. Diese Flagge wird verwendet, weil entsprechend der Richtung der Umwandlung die Umwandlungsmatrix selbst oder ihre inverse Matrix verwendet werden und weil sie zur Verringerung der Menge an zu speichernden Daten beiträgt. Der positive Sinn wird durch SA = 0 und der negative Sinn durch SA = 1 repräsentiert.
  • Als nächstes vergleicht eine Verarbeitung 1001-3 zum Vergleichen der Diskriminatoren den Diskriminator 522 (dessen Wert durch αA repräsentiert wird) des Koordinatensystems, in dem die Eingabedaten (im vorliegenden Fall die Interpolationszieldaten 520) ausgedrückt sind, mit dem Diskriminator 591 (dessen Wert durch βA repräsentiert wird) des Ausgabekoordinatensystems (im vorliegenden Fall des Steuerkoordinatensysterns). Der Vergleich erfolgt durch Behandlung der zu dem jeweiligen in Fig. 15 dargestellten Koordinatensystem hinzugefügten Nummer als numerischen Wert. Es werden nämlich αA und βA verglichen.
  • Als Ergebnis des Vergleichs wird, wenn αA = βA gilt, die Verarbeitung 1001-3 beendet, worauf eine Verarbeitung 1001-6 folgt.
  • Ist &alpha;A < &beta;A stellt eine Verarbeitung 1001-4 zur Einstellung der Tabelle in einem ersten Element 5500-1 der Tabelle 5500 die Basisadresse (deren Wert durch VA repräsentiert wird) der Umwandlungsmatrixdaten 550-9 von der Koordinatennummer &alpha;A bis &alpha;A + 1 ein.
  • Ebenso wird, wenn &alpha;A > &beta;A ist, im wesentlichen die gleiche Verarbeitung wie die Verarbeitung 1101-4 ausgeführt. In der Verarbeitung 1001-4 wird in dem ersten Element 5500-1 der Tabelle 5500 die Basisadresse (der Zeiger hat den Wert VA) der Umwandlungsmatrixdaten von &alpha;A bis &alpha;A - 1 eingestellt.
  • Beide Verarbeitungen werden wie folgt formuliert:
  • VA = ZA + bA. (&alpha;A + SA) ... (17)
  • Nach der Verarbeitung 1001-4 ersetzt eine Aktualisierungsverarbeitung 1001-5 &alpha;A durch &alpha;A + 1, wenn SA = 0 ist, und durch &alpha;A - 1, wenn SA = -1 ist. Ebenso aktualisiert die Verarbeitung 1001-5 den Zeiger auf den Bereich, in dem die Daten der Tabelle 5500 derart einzustellen sind, daß sie zweite, dritte, etc. Elemente vorgeben. Diese Verarbeitung entspricht einer Verschiebung des Koordinatensystems um ein Koordinatensystem aus dem Koordinatensystem der Eingabedaten zu dem Ausgabekoordinatensystem.
  • Beim Abschluß der Verarbeitung 1001-5 kehrt die Prozedur zu der Verarbeitung 1001-1 zurück, und die vorstehend beschriebenen Verarbeitungen werden wiederholt, bis sich die Beziehung &alpha;A = &alpha;B ergibt, d.h. das Eingabekoordinatensystem mit dem Ausgabekoordinatensystem übereinstimmt.
  • Daher wird (werden) in der Tabelle 5500 ein Zeiger (oder eine Folge von Zeigern, d.h. Adressen) auf die Umwandlungsmatrix (eine Gruppe von Matrizen) aus dem die Eingabepositions-/Stellungsdaten 520 ausdrückenden Koordinatensystem in das Ausgabekoordinatensystem eingestellt. Ebenso wird in dem dem (den) für die Tabelle 5500 erforderlichen Zeiger(n) folgenden Bereich in der Verarbeitung 1001-2 "NULL" eingestellt.
  • Wenn die Tabelle 5500 auf diese Weise erstellt werden kann, werden in einer Verarbeitung 1001-6 zur Ausführung der Umwandlung Zeiger aus der Tabelle entnommen, und die durch die Zeiger repräsentierten Umwandlungsmatrizen werden auf die Eingabedaten 520 angewendet. Diese Umwandlungsoperation wird wiederholt, bis der aus der Tabelle entnommene Zeiger "NULL" ist. Dadurch werden die durch das Ausgabekoordinatensystern (im vorliegenden Fall das Steuerkoordinatensystem) ausgedrückten Positions-/Stellungsdaten 520' erhalten. Zudem wird darauf hingewiesen, daß, wenn die Flagge 558 (SA) für die Umwandlungsrichtung -1 ist, vor der Anwendung der jeweiligen Matrizen ihre inversen Matrizen berechnet werden. Kurz ausgedrückt wird beispielsweise die folgende Gleichung
  • X' = A A A X ... (18)
  • in Form von
  • X' = S (A (A X)) ... (19)
  • berechnet, wobei A&sup0; = A und A&supmin;¹ die inverse Matrix von A sind. Ebenso kann vorab durch
  • X' = (A A A )X ... (18)"
  • ein Produkt der Gruppe von Matrizen berechnet werden. Diese Technik ist insbesondere nützlich, wenn sich der Wert der Umwandlungsmatrix nicht verändert, während ihre Operation ausgeführt wird.
  • Bei der Ausführung der Operation der Umwandlungsmatrizen ist eine große Anzahl an Operationsverarbeitungen erforderlich. Zur Berechnung eines Produkts von zwei Matrizen beispielsweise, die jeweils aus vier Zeilen und vier Spalten bestehen, sind 64 Mal Multiplikationen und Additionen erforderlich. Daher sind zur Berechnung der Gleichung (18) 192 Mal Multiplikationen und Additionen erforderlich. Dies kann durch den herkömmlichen Mikroprozessor und Koprozessor in Anbetracht von deren Kapazität nicht realisiert werden. Unter Verwendung einer in den letzten Jahren entwickelten, digitaler Signalprozessor (DSP) genannten Vorrichtung, die eine Produkt-Summen-Operation mit hoher Geschwindigkeit ausführen kann, kann jedoch das vorstehend erwähnte Matrizenprodukt mit hoher Geschwindigkeit berechnet werden, da es eine Produkt- Summen-Operation ist.
  • Der DSP kann als der in Fig. 2 dargestellte Hochgeschwindigkeitsprozessor verwendet werden. In diesem Fall ist er, wie in Fig. 19 dargestellt, aus einem DSP-Teil 67-1, einem mit dem Mikroprozessor 61 gemeinsam genutzten Speicherteil 67-2 und einem Steuerungslokikteil 67-3 zusammengesetzt.
  • In dem gemeinsamen Speicherteil 67-2 werden die Positions/Stellungsdaten 510, 520, 530, 510', 520', 530', 530", die Umwandlungsmatrizendaten 551, 552, 553, etc. gespeichert. In dem DSP-Teil 67-1 werden die Software für einen Monitorbereich und einen Bereich zur Ausführung der Verarbeitung gespeichert, wobei der Monitorbereich zur ständigen Überwachung eines bestimmten Bereichs des gemeinsamen Speicherteils 67-2 und zur Decodierung der in diesen Bereich geschriebenen Daten dient, um dadurch auf die zugewiesene Verarbeitung zuzugreifen, und der Bereich zur Ausführung der Verarbeitung zum Lesen der Daten in dem gemeinsamen Speicherteil 67-2 zur Ausführung der Operationen des Matrizenprodukts und der inversen Matrizen und zum Schreiben von deren Ergebnissen in den gemeinsamen Speicherteil 67-2 dient. Der Steuerungslogikteil 67-3 führt eine synchrone Steuerung des Mikroprozessors 61 und des DSP-Teils 67-1 aus.
  • Die den Hochgeschwindigkeitsprozessor mit dem vorstehend beschriebenen Aufbau 67 enthaltende Robotersteuerungsvorrichtung 6 kann Operationen wie das Matrizenprodukt gemäß Anweisungen von dem Mikroprozessor 61 mit sehr hoher Geschwindigkeit und auch in Echtzeit ausführen, wenn der Roboter betrieben wird.
  • Es wird darauf hingewiesen, daß die vorliegende Erfindung nicht auf die bisher beschriebenen Ausführungsformen beschränkt und für jedes einen Roboter enthaltende Fertigungssystem anwendbar ist.
  • Ebenso sind der Bewegungsunterbau und die Positioniereinrichtung sowie das an diesen festgelegte Koordinatensystem konzeptuell, so daß die vorliegende Erfindung unabhängig von den tatsächlich verwendeten Vorrichtungen verwendet werden kann. Es ist beispielsweise möglich, als Peripheriekoordinatensystem (&Sigma;P) eine Positioniereinrichtung und ebenso eine Fördereinrichtung 91 anzunehmen; ferner ist es auch möglich, gegebenenfalls das Werkstück 5 dem Peripheriekoordinatensystem zuzuweisen. Kurz ausgedrückt, können diese imaginären Koordinatensysterne entsprechend ihrer Verwendung jeder beliebigen Vorrichtung zugewiesen werden. Obwohl bei den Ausführungsformen der vorliegenden Erfindung sechs Koordinatensysteme verwendet werden, ist ferner ihre Anzahl nicht auf sechs begrenzt, solange es sich um mehrere handelt.
  • Überdies ist, obwohl die Position/Stellung als Daten zur Erläuterung der Ausführungsformen der vorliegenden Erfindung herangezogen wurde, die vorliegende Erfindung auf einen Fall anwendbar, in dem der Bearbeitungspunkt des Roboters derart gesteuert wird, daß er entsprechend einer Veränderung einer Kraft / eines Drehmoments oder jeder Art von Parametern außer Position und Stellung, wie Geschwindigkeit, Beschleunigung, Kraft und Drehmoment, einem gewünschten Plan folgt, und ebenso kann die Anzahl der Elemente oder Freiheitsgrade wahlweise eingestellt werden.
  • Zudem ist es, obwohl bei den Ausführungsformen sowohl das Koordinatensystem für die Dateneingabe als auch das Koordinatensystem für die Datenausgabe (bzw. das Steuerkoordinatensystem) unter Verwendung der entsprechenden Diskrirninatoren ausdrücklich zugewiesen werden, auf vereinfachtere Weise möglich, die Anzahl an Diskriminatoren zu verringern, indem zumindest eines dieser Koordinatensysteme fest eingestellt wird.
  • Zusätzlich kann das System gemäß dem Stand der Technik als System betrachtet werden, bei dem Koordinatensysterne zur Dateneingabe und zur Datenausgabe festgelegt sind, obwohl es gewünscht wird, Umwandlungsverarbeitungen auszuführen. Andererseits ist der Grundgedanke der vorliegenden Erfindung das Einführen des Konzepts von Diskriminatoren für zum Ausdrücken von Daten verwendete Koordinatensysteme zur erheblichen Steigerung der Vielseitigkeit und Erweiterbarkeit der Robotersteuerungsvorrichtung, wie im Zusammenhang mit den Ausführungsformen der vorliegenden Erfindung beschrieben. Es ist offensichtlich, daß bei dem System gemäß dem Stand der Technik, bei dem das Konzept der Diskriminatoren nicht eingeführt wurde, die Vielseitigkeit und Erweiterbarkeit der Robotersteuerungsvorrichtung nicht gesteigert werden können, wenn das Softwareprogramm nicht verändert wird. Schließlich kann, obwohl bei den Ausführungsformen davon ausgegangen wird, daß das eine Art von Daten ausdrückende Koordinatensystem gemeinsam verwendet wird, das Koordinatensystem für jedes Element der Daten vorgesehen sein, beispielsweise sowohl für die Position als auch für die Stellung. Hierbei kann zumindest ein Koordinatensystem ein Element wie beispielsweise den Gelenkwinkel des Roboters enthalten.
  • Gemäß der vorliegenden Erfindung kann durch Zuordnung eines Diskriminatoren zu dem physikalische Daten, wie die Position und die Stellung, ausdrückenden Koordinatensystem und ebenso die Zuordnung eines weiteren Diskriminatoren zu dem Koordinatensystem, in das die Daten umgewandelt werden, wodurch den Eingabe- und Ausgabekoordinatensysternen für mehrere Arten von Datenverarbeitungen Diskrirninatoren zugeordnet werden, die gemeinsame synchrone und kooperative Steuerung eines Roboters und seiner peripheren Vorrichtung ohne eine Veränderung des Softwareprogramms in einer Robotersteuerungsvorrichtung leicht realisiert werden. Dadurch kann eine komplizierte Steuerung eines Robotersystems leicht realisiert werden; ebenso kann ein den Roboter enthaltendes Fertigungssystern leicht vereint gesteuert werden, seine Flexibilität kann verbessert werden, und es kann teilweise oder zeitlich begrenzt verändert werden. Daneben können die Wartung der in der Robotersteuerungsvorrichtung enthaltenen Software verbessert, die Softwarekapazität verringert oder verändert und die aufzubringenden Arbeitsstunden des Personals vermindert werden. Überdies können die Anwendbarkeit und die Erweiterbarkeit verbessert werden.

Claims (2)

1. Verfahren zur Steuerung eines Wegs eines Arbeitselements (3) derart, daß das Arbeitselement (3) sich längs eines Wegs so bewegt, daß es bezüglich eines Werkstücks (5) eine vorbestimmte Positionsbeziehung hat, indem die relative Positionsbeziehung zwischen Arbeitselement und Werkstück eingestellt wird durch die Bewegung zumindest eines beweglichen Bewegungselements (1, 2, 4), das funktionell entweder mit dem Arbeitselement oder dem Werkstück in einem bestimmten Verbindungszustand verbunden ist, mit den Schritten:
Zuordnen einzelner rechtwinkliger Koordinatensysteme (1a, 3a, 4a, Sa) zum Arbeitselement (3), dem Werkstück (5) und den beweglichen Elementen (1, 2, 4), wobei jedes Koordinatensystem einen durch einen numerischen Wert dargestellten individuellen Diskriminator hat;
Festlegen eines ersten Koordinatensystems (5a) der Koordinatensysteme mit Diskriminator &beta; als ein Koordinatensystem, das die Daten zur Steuerung der Bewegung des Arbeitselements ausdrückt, und Speichern der Steuerungsdaten zusammen mit ihrem Diskriminator &beta;;
Beschreiben, unter Verwendung eines zweiten Koordinatensystems (1a) der Koordinatensysteme mit Diskriminator &alpha;, der Daten, die die Position des Arbeitselements entsprechend bestimmten Punkten (51, 52) auf dem Weg beschreiben, längs dessen sich das Arbeitselement bewegt, während des Lernens auf der Grundlage eines bestimmten Arbeitsablaufs, um die Daten zusammen mit ihrem das entsprechende Koordinatensystem darstellenden Diskriminator zu speichern, und Speichern der Positionsdaten zusammen mit ihrem Diskriminator &alpha;;
bei der Ausführung eines tatsächlichen Vorgangs Entscheiden bezugnehmend auf die Diskriminatoren &alpha;, &beta;, ob das erste und das zweite Koordinatensystem die gleichen sind oder nicht; und
wenn die beiden Koordinatensysteme unterschiedliche Koordinatensysteme sind&sub1; Umwandeln der den bestimmten Punkten entsprechenden Positionsdaten des Arbeitselements bezugnehmend auf die gespeicherten Diskriminatoren in Daten, die im ersten Koordinatensystem ausgedrückt sind, und Steuern der Bewegung des Arbeitselements auf der Grundlage der umgewandelten Daten, wobei
die Positionsdaten und die Steuerungsdaten in Matrixformat vorliegen, gespeichert und verarbeitet werden.
2. Vorrichtung zur Steuerung eines Wegs eines Arbeitselements (3) eines Industrieroboters derart, daß sich das Arbeitselement (3) längs eines Wegs bewegt und dabei eine bestimmte Positionsbeziehung zu einem bestimmten Werkstück (5) hat, wobei sich die relative Positionsbeziehung zwischen Arbeitselement und Werkstück entsprechend der Bewegung zumindest eines einzeln beweglichen Bewegungselements (1, 2, 4) ändert, wobei die Bewegungselemente funktionell entweder mit dem Arbeitselement oder dem Werkstück in einem bestimmten Verbindungszustand verbunden sind, mit
Diskriminatoren zum Unterscheiden einzelner Koordinatensysteme (la, 3a, 4a, 5a), die dem Arbeitselement (3), dem Werkstück (5) und den beweglichen Elementen (1, 2, 4) zugeordnet sind;
einer Einrichtung (6) zum Steuern der Bewegung des Arbeitspunkts aufgrund von in einem ersten Koordinatensystem der Koordinatensysteme mit Diskriminator &beta; ausgedrückten Daten;
einer Einrichtung (63) zum Speichern des Diskriminators des ausgewählten ersten Koordinatensystems;
einer Einrichtung, um unter Verwendung eines zweiten Koordinatensystems (la) der Koordinatensysteme mit Diskriminator &alpha; während des Lernens die Daten zu beschreiben, die die Position des Arbeitselements entsprechend zumindest bestimmten Punkten (51, 52) auf dem Pfad, längs derer sich das Arbeitselement bewegt, darstellen, auf der Grundlage eines bestimmten Arbeitsablaufs, um die Daten zusammen mit dem das entsprechende Koordinatensystem darstellenden Diskriminator zu speichern;
einer Einrichtung (1001), um vor Ausführung eines tatsächlichen Vorgangs zu entscheiden, ob das erste Koor e dinatensystem und das zweite Koordinatensystem gleich sind, anhand ihrer Diskriminatoren (512, 591);
einer Einrichtung (1001), um dann, wenn beide Koordinatensysteme unterschiedliche Koordinatensysteme sind, bezugnehmend auf die gespeicherten Diskriminatoren die Positionsdaten des Arbeitselements, die den bestimmten Punkten entsprechen, in im ersten Koordinatensystem ausgedrückte Daten umzuwandeln; und
einer Einrichtung, um der Einrichtung (6) zur Steuerung der Bewegung des Arbeitspunkts die umgewandelten Positionsdaten des Arbeitspunkts, die zumindest zwei bestimmten Punkten entsprechen, zuzuführen, wobei
die Positionsdaten und die Steuerungsdaten in Matrixformat vorliegen, gespeichert und verarbeitet werden.
DE69032185T 1989-02-01 1990-01-31 Verfahren und Vorrichtung zur Kontrolle der Bearbeitungsspur eines Industrieroboters Expired - Lifetime DE69032185T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1020712A JP2786225B2 (ja) 1989-02-01 1989-02-01 工業用ロボットの制御方法及び装置

Publications (2)

Publication Number Publication Date
DE69032185D1 DE69032185D1 (de) 1998-05-07
DE69032185T2 true DE69032185T2 (de) 1998-10-29

Family

ID=12034764

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69032185T Expired - Lifetime DE69032185T2 (de) 1989-02-01 1990-01-31 Verfahren und Vorrichtung zur Kontrolle der Bearbeitungsspur eines Industrieroboters

Country Status (4)

Country Link
US (1) US4954762A (de)
EP (1) EP0381185B1 (de)
JP (1) JP2786225B2 (de)
DE (1) DE69032185T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3711909A2 (de) 2019-03-22 2020-09-23 Günther Battenberg Verfahren zur durchführung zumindest eines tätigkeitsprozesses mittels eines roboters

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4000348A1 (de) * 1989-03-06 1990-09-13 Hewlett Packard Co Vorrichtung und verfahren zum ueberwachen der bewegungen eines vielgelenkigen roboters
JP2979552B2 (ja) * 1989-08-29 1999-11-15 株式会社安川電機 ロボットの制御方法
EP0449039B1 (de) * 1990-03-30 1995-11-15 Siemens Aktiengesellschaft Verfahren zur Steuerung von Positioniersystemen
JP2686351B2 (ja) * 1990-07-19 1997-12-08 ファナック株式会社 視覚センサのキャリブレーション方法
JPH04169905A (ja) * 1990-11-01 1992-06-17 Fanuc Ltd 3次元レーザの座標変換方式
US5347616A (en) * 1991-01-28 1994-09-13 Tsubakimoto Chain Co. Method of controlling position and attitude of working robot and its manipulator and apparatus thereof
JP2779072B2 (ja) * 1991-01-28 1998-07-23 ファナック株式会社 ロボットの教示方法
US5392384A (en) * 1991-04-09 1995-02-21 Kabushiki Kaisha Yaskawa Denki Method of calibrating an industrial robot
JP2514490B2 (ja) * 1991-07-05 1996-07-10 株式会社ダイヘン 産業用ロボットの連動手動操作による教示制御方法
DE69216167T2 (de) * 1991-07-06 1997-07-10 Daihen Corp Gerät zur Steuerung eines Industrieroboters zur Durchführung koordinierter Arbeitsvorgänge unter Verwendung eines Playbackteachingverfahrens und dies-bezügliches Verfahren
US5542028A (en) * 1991-10-29 1996-07-30 Tsubakimoto Chain Co. Method of controlling position and attitude of working robot and its manipulator and apparatus thereof
US5550953A (en) * 1994-04-20 1996-08-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration On-line method and apparatus for coordinated mobility and manipulation of mobile robots
JP2787872B2 (ja) * 1992-06-08 1998-08-20 三菱電機株式会社 数値制御装置
GB9300403D0 (en) * 1993-01-11 1993-03-03 Huissoon Jan P Dynamic seam tracking with redundant axes control
DE59308224D1 (de) * 1993-08-20 1998-04-09 Siemens Ag Verfahren zur numerischen Steuerung von mehrachsigen kinematischen Systemen
FR2710407B1 (fr) * 1993-09-20 1995-12-01 Romer Srl Procédé de repérage positionnel pour une machine de mesure tridimensionnelle et dispositif pour la mise en Óoeuvre du procédé.
US5511147A (en) * 1994-01-12 1996-04-23 Uti Corporation Graphical interface for robot
JP3559306B2 (ja) * 1994-04-15 2004-09-02 ファナック株式会社 走行ロボット装置及び該装置を用いた組立作業実行方法
JP3394322B2 (ja) 1994-05-19 2003-04-07 ファナック株式会社 視覚センサを用いた座標系設定方法
US6216056B1 (en) * 1996-12-16 2001-04-10 Kabushiki Kaisha Sanyo Seiki Seisakusho Method of controlling force assisting device and control apparatus using the same
US6197582B1 (en) * 1998-03-18 2001-03-06 The Trustees Of Columbia University In The City Of New York Development of human monoclonal antibodies and uses thereof
WO2000045229A1 (en) * 1999-01-29 2000-08-03 Georgia Tech Research Corporation Uncalibrated dynamic mechanical system controller
US6430472B1 (en) 1999-12-20 2002-08-06 Servo-Robot Inc. Robot feature tracking devices and methods
US6480759B1 (en) 2000-06-23 2002-11-12 Storage Technology Corporation Diagnostic port between independent robots
DE60035131T2 (de) * 2000-09-20 2008-01-31 Mitsubishi Denki K.K. Numerisches steuerverfahren und numerische steuereinrichtung
JP2002192486A (ja) * 2000-12-25 2002-07-10 Seiko Epson Corp ロボット制御方法及び該方法を適用したロボットコントローラ
US6442451B1 (en) 2000-12-28 2002-08-27 Robotic Workspace Technologies, Inc. Versatile robot control system
DE10195943T1 (de) * 2001-01-23 2003-08-07 Mitsubishi Electric Corp Fördergerät
JP2004299010A (ja) * 2003-03-31 2004-10-28 Fanuc Ltd ロボットのたわみ補正装置及びたわみ補正方法
US6822412B1 (en) * 2003-06-11 2004-11-23 Zhongxue Gan Method for calibrating and programming of a robot application
CN1222395C (zh) * 2003-08-19 2005-10-12 潘际銮 永磁履带自主全位置爬行式弧焊机器人的控制方法
WO2005039836A2 (de) * 2003-10-20 2005-05-06 Isra Vision Systems Ag Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung
US8588981B2 (en) * 2004-03-16 2013-11-19 Abb Ab System of manipulators and method for controlling such a system
JP2006099260A (ja) * 2004-09-28 2006-04-13 Fanuc Ltd ロボットプログラム作成装置
JP2006341283A (ja) * 2005-06-09 2006-12-21 Fanuc Ltd アーク溶接用ポジショナ及びアーク溶接ロボットシステム
US20080273754A1 (en) * 2007-05-04 2008-11-06 Leviton Manufacturing Co., Inc. Apparatus and method for defining an area of interest for image sensing
JPWO2009113364A1 (ja) 2008-03-12 2011-07-21 株式会社安川電機 ロボットシステム
JP2010082802A (ja) * 2009-11-26 2010-04-15 Yaskawa Electric Corp 自動機械システム
JP2011148010A (ja) * 2010-01-19 2011-08-04 Yaskawa Electric Corp ポジショナを備えたロボットシステム
DE102010007458A1 (de) * 2010-02-10 2011-08-11 KUKA Laboratories GmbH, 86165 Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
DE102011084412A1 (de) * 2011-10-13 2013-04-18 Kuka Roboter Gmbh Robotersteuerungsverfahren
DE102012006352B4 (de) * 2012-03-28 2014-07-17 Mbda Deutschland Gmbh Vorrichtung zum Testen und/oder Betreiben einer Wirkeinheit
US9144860B2 (en) * 2012-03-29 2015-09-29 Fanuc Robotics America Corporation Robotic weld gun orientation normalization
AT513697B1 (de) * 2012-11-08 2014-09-15 Stiwa Holding Gmbh Verfahren und Maschinensystem zum Positionieren zweier beweglicher Einheiten in einer Relativposition zueinander
US9417625B2 (en) * 2012-11-29 2016-08-16 Fanuc America Corporation Robot system calibration method
JP5729404B2 (ja) * 2013-02-21 2015-06-03 株式会社安川電機 ティーチングシステムおよびティーチング方法
US9221175B2 (en) * 2013-03-28 2015-12-29 Denso Wave Incorporated Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
JP5792226B2 (ja) * 2013-05-29 2015-10-07 株式会社神戸製鋼所 多関節リンク機構の逆運動学解法、及びこの逆運動学解法を利用した教示データ作成装置
EP2849016B1 (de) * 2013-09-17 2022-03-30 Siemens Aktiengesellschaft Erstellverfahren für eine von einem Endeffektor abzufahrende Bahn
WO2015054599A2 (en) * 2013-10-11 2015-04-16 Rethink Robotics, Inc. Robotic placement and manipulation with enhanced accuracy
US9815155B2 (en) 2015-03-31 2017-11-14 GM Global Technology Operations LLC Reconfigurable assembly work station
US9919421B2 (en) * 2015-04-15 2018-03-20 Abb Schweiz Ag Method and apparatus for robot path teaching
US10512983B2 (en) * 2015-06-15 2019-12-24 University Of Kentucky Research Foundation Method and apparatus for measurement of three-dimensional welding torch orientation for a welding process without using a magnetometer
FR3043004B1 (fr) * 2015-10-29 2017-12-22 Airbus Group Sas Procede d'orientation d'un effecteur portant un outil d'assemblage par rapport a une surface
CN105522577B (zh) * 2015-11-29 2017-09-12 上海新时达电气股份有限公司 一种用于五轴折弯机器人笛卡尔轨迹规划的方法及其装置
CN105382835B (zh) * 2015-12-11 2017-06-20 华中科技大学 一种可穿越腕部奇异点的机器人路径规划方法
CN106945034B (zh) * 2016-01-07 2021-09-03 鸿富锦精密电子(郑州)有限公司 机器人点位调节方法与***
JP6665040B2 (ja) * 2016-06-20 2020-03-13 三菱重工業株式会社 ロボット制御システム及びロボット制御方法
CN109715894B (zh) 2016-07-15 2021-09-03 快砖知识产权私人有限公司 用于物料运输的吊杆
AU2017294796B2 (en) 2016-07-15 2019-05-30 Fastbrick Ip Pty Ltd Brick/block laying machine incorporated in a vehicle
AU2018295572B2 (en) 2017-07-05 2022-09-29 Fastbrick Ip Pty Ltd Real time position and orientation tracker
CN111226090B (zh) 2017-08-17 2023-05-23 快砖知识产权私人有限公司 具有改进的横滚角测量的激光***
EP3668689A4 (de) 2017-08-17 2021-04-28 Fastbrick IP Pty Ltd Interaktionssystemkonfiguration
ES2971624T3 (es) 2017-10-11 2024-06-06 Fastbrick Ip Pty Ltd Máquina para transportar objetos
JP6849631B2 (ja) * 2018-04-23 2021-03-24 ファナック株式会社 作業ロボットシステムおよび作業ロボット
JP6816060B2 (ja) 2018-04-23 2021-01-20 ファナック株式会社 作業ロボットシステムおよび作業ロボット
CN109015652A (zh) * 2018-08-29 2018-12-18 苏州艾利特机器人有限公司 一种机器人与变位机协调运动的控制方法
US12036663B2 (en) * 2019-03-25 2024-07-16 Abb Schweiz Ag Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system
CN109895098B (zh) * 2019-03-25 2020-09-29 华中科技大学 一种机器人结构参数和手眼关系的统一标定模型
JP2020203349A (ja) * 2019-06-18 2020-12-24 株式会社ダイヘン ロボット制御装置、及びロボット制御システム
WO2022259387A1 (ja) * 2021-06-08 2022-12-15 ファナック株式会社 生産システム
CN114147714B (zh) * 2021-12-02 2023-06-09 浙江机电职业技术学院 自主机器人机械臂控制参数计算方法和***
CN114310881A (zh) * 2021-12-23 2022-04-12 中国科学院自动化研究所 一种机械臂快换装置的标定方法、***及电子设备
WO2023144892A1 (ja) * 2022-01-25 2023-08-03 ファナック株式会社 制御装置
CN115319761B (zh) * 2022-10-14 2023-01-06 深圳市功夫机器人有限公司 高精度机械手抓取的控制方法、控制***及机器人

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2403698C2 (de) * 1974-01-26 1984-05-24 Christoph Dipl.-Phys. 2283 Wenningstedt Schlobies Verfahren und Vorrichtung zur Feststellung der räumlichen Position von Robotergliedern
SE401637B (sv) * 1976-03-29 1978-05-22 Asea Ab Forfarande och anordning for att bringa en industrirobot att utfora en komplex rorelse
US4212443A (en) * 1978-05-18 1980-07-15 Sperry Corporation Strapped down attitude and heading reference system for aircraft employing skewed axis two-degree-of-freedom rate gyros
SE443531B (sv) * 1978-11-27 1986-03-03 Asea Ab Industrirobotutrustning
US4550383A (en) * 1981-09-24 1985-10-29 Hitachi, Ltd. Parabolic position and attitude interpolation for a robot hand
JPS5927307A (ja) * 1982-08-04 1984-02-13 Hitachi Ltd 経路制御方法及び装置
US4677276A (en) * 1982-11-23 1987-06-30 Yaskawa Electric Mfg. Co., Ltd. Method of welding robot control which controls the three basic axes of a robot to provide a repetition of a weaving pattern along a robot locus
US4590577A (en) * 1982-12-01 1986-05-20 Yaskawa Electric Mfg. Co., Ltd. Welding robot controlling method
JPS59106007A (ja) * 1982-12-10 1984-06-19 Toyota Central Res & Dev Lab Inc 多関節型ロボツトの軌跡制御装置
JPS59152043A (ja) * 1983-02-17 1984-08-30 Fanuc Ltd 三次元工具通路決定方法
SE8304100L (sv) * 1983-07-22 1985-01-23 Ibm Svenska Ab System for automatisk kalibrering av rymdkoordinaterna hos en robotgripper i sex frihetsgrader
GB2146796B (en) * 1983-08-31 1986-12-17 Mitsubishi Electric Corp Method for controlling an industrial robot to perform weaving-like motion and apparatus for practising the same
JPS6125207A (ja) * 1984-07-12 1986-02-04 Fanuc Ltd ツ−ル座標系の設定方式
JPS6154506A (ja) * 1984-08-24 1986-03-18 Fanuc Ltd ア−ク開始点探索時のツ−ルの探索姿勢制御方式
US4672190A (en) * 1984-12-21 1987-06-09 The Gerber Scientific Instrument Company Line following system and process with matrix generating
JPS61157909A (ja) * 1984-12-29 1986-07-17 Fanuc Ltd ロボツトの経路誤差補正方式
DD261047A3 (de) * 1985-08-26 1988-10-19 Fortschritt Veb K Verfahren zur adaptiven korrektur der vorprogrammierten punkte einer sollbahn bei einer punkt- zu punkt-steuerung eines industrieroboters
JPS62108314A (ja) * 1985-11-07 1987-05-19 Mitsubishi Electric Corp ロボツトのオフラインプログラミング装置
JPH0731533B2 (ja) * 1986-09-03 1995-04-10 日産自動車株式会社 三次元座標変換装置
ATE68894T1 (de) * 1986-11-17 1991-11-15 Siemens Ag Verfahren zum steuern der dreidimensionalen relativbewegung eines roboters gegenueber einem an einem werkstuecktraeger befestigten werkstueck.
JPS63184804A (ja) * 1987-01-28 1988-07-30 Fujitsu Ltd ロボツト制御用相対座標情報の絶対座標情報変換方式
US4868473A (en) * 1987-02-24 1989-09-19 Mitsubishi Denki Kabushiki Kaisha Industrial robot device including a robot and a processing machine
JP2718678B2 (ja) * 1987-07-01 1998-02-25 株式会社日立製作所 座標系合わせ方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3711909A2 (de) 2019-03-22 2020-09-23 Günther Battenberg Verfahren zur durchführung zumindest eines tätigkeitsprozesses mittels eines roboters
DE102019107417A1 (de) * 2019-03-22 2020-09-24 Günther Battenberg Verfahren zur Durchführung von zumindest einem Tätigkeitsprozess mittels eines Roboters

Also Published As

Publication number Publication date
JP2786225B2 (ja) 1998-08-13
EP0381185A3 (de) 1990-10-03
EP0381185B1 (de) 1998-04-01
EP0381185A2 (de) 1990-08-08
US4954762A (en) 1990-09-04
JPH02202606A (ja) 1990-08-10
DE69032185D1 (de) 1998-05-07

Similar Documents

Publication Publication Date Title
DE69032185T2 (de) Verfahren und Vorrichtung zur Kontrolle der Bearbeitungsspur eines Industrieroboters
DE69523906T2 (de) Maschinensteuerung
DE69024854T2 (de) Verfahren zur Steuerung von Roboterbewegungen
DE102018009023B4 (de) Einlernvorrichtung zum Ausführen von Robotereinlernvorgängen und Einlernverfahren
DE4291619C2 (de) Verfahren zum Betreiben einer mehrachsigen computernumerisch gesteuerten Werkzeugmaschine
DE69726431T2 (de) Gerät und verfahren zur integration eines intelligenten fertigungssystems mit einem blechteilplanungs- und -biegesystem
DE69529607T2 (de) Intelligentes system zur herstellung und ausführung eines metallplattenbiegeplans
DE69033620T2 (de) Numerische Steuerung
DE69315137T2 (de) Verfahren zum steuern von mehreren robotern
DE112016005365B4 (de) Direktes Lehrverfahren eines Roboters
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE69325975T2 (de) System zum Sicherheitsbetrieb von Manipulatoren
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE68926739T2 (de) Lernverfahren und steuergerät für ein roboter
DE112016004725T5 (de) Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
DE102011110111B4 (de) Numerische Steuerung einer mehrachsigen Werkzeugmaschine für das Steuern der Lage der Tool Center Point Position
DE102017001783A1 (de) Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht
DE102019129041A1 (de) Werkzeugmaschinensystem
EP2500148A1 (de) Verfahren und Vorrichtung zum Steuern eines Roboters mit Hilfe eines virtuellen Modells des Roboters
EP3812106B1 (de) Roboteranordnung, verfahren zum betreiben der roboteranordnung, computerprogramm sowie maschinenlesbares speichermedium
DE3889981T2 (de) Roboterregelanordnung.
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE112021003517T5 (de) Numerisches Steuersystem
DE112019007579T5 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
DE69616735T2 (de) Verfahren zum schrittbetrieb eines roboters

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HITACHI INDUSTRIAL EQUIPMENT SYSTEMS CO. LTD.,, JP

Owner name: HITACHI KEIYO ENGINEERING CO., LTD., NARASHINO, JP