DE10162967A1 - Verfahren zur Steuerung eines Roboters und dieses Verfahren verwendende Robotersteuerung - Google Patents

Verfahren zur Steuerung eines Roboters und dieses Verfahren verwendende Robotersteuerung

Info

Publication number
DE10162967A1
DE10162967A1 DE10162967A DE10162967A DE10162967A1 DE 10162967 A1 DE10162967 A1 DE 10162967A1 DE 10162967 A DE10162967 A DE 10162967A DE 10162967 A DE10162967 A DE 10162967A DE 10162967 A1 DE10162967 A1 DE 10162967A1
Authority
DE
Germany
Prior art keywords
robot
moving object
coordinate system
follow
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10162967A
Other languages
English (en)
Other versions
DE10162967B4 (de
Inventor
Masayuki Okuyama
Takayuki Kameyama
Nobuyuki Setsuda
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Seiko Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp, Seiko Instruments Inc filed Critical Seiko Epson Corp
Publication of DE10162967A1 publication Critical patent/DE10162967A1/de
Application granted granted Critical
Publication of DE10162967B4 publication Critical patent/DE10162967B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/39401Machine tool coordinates to manipulator coordinates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40554Object recognition to track object on conveyor
    • 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/45Nc applications
    • G05B2219/45054Handling, conveyor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Specific Conveyance Elements (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

Die aktuelle Position eines Werkstücks wird nacheinander in einem Fördermittelkoordinatensystem aktualisiert, und der Weg eines Roboters, um dem Werkstück zu folgen, wird durch Transformieren der Position des Werkstücks von dem Fördermittelkoordinatensystem in ein Roboterkoordinatensystem gebildet.

Description

HINTERGRUND DER ERFINDUNG 1. Bereich der Erfindung
Die vorliegende Erfindung betrifft ein Verfahren zur Steuerung eines Roboters, der einem sich bewegenden Gegenstand folgt, der auf einem Fördermittel oder ähnlichem befördert wird und der eine vorbestimmte Handlung an dem sich bewegenden Gegenstand vornimmt. Die vorliegende Erfindung betrifft außerdem eine Robotersteuerung unter Verwendung dieses Verfahrens.
2. Beschreibung des technischen Hintergrunds
Bisher ermittelt beim Nachverfolgen eines Fördermittels, bei dem einem derartigen sich bewegenden Gegenstand (nachstehend als "Werkstück" bezeichnet) gefolgt wird, ein externer Sensor wie beispielsweise ein Näherungsschalter, ob das Werkstück in einen Bereich, in dem sich ein Roboter bewegen kann, gekommen ist oder nicht, und der Roboter beginnt nach Maßgabe eines Ermittlungs­ signals, dem Werkstück bei seiner Fingerspitze (Werkzeug) zu folgen und er nimmt eine Handlung an dem Werkstück vor, wenn die Hände das Werkstück erreichen. Das bekannte Nachverfolgen von Fördermitteln ist hauptsächlich beim Schweißen von auf einem Förderband angeordneten Automo­ bilkarosserien angewendet worden. Das bekannte System des Nachverfolgens von Fördermitteln ist so ausgebildet, daß sich das Fördermittel mit niedriger Geschwindigkeit bewegt und jeweils eine kleine Anzahl an Werkstücken (im allgemeinen ein Werkstück) bearbeitet wird.
In jüngerer Zeit haben verschiedene Anwendungen die Nachverfolgung von Fördermitteln erfordert, und es wurde ein Verarbeitung einer Mehrzahl von Werkstücken erforderlich, während sie auf einem Förderband mit einer bestimmten Geschwindigkeit transportiert werden. Es war jedoch schwierig, Anwendungen unter Verwendung eines Systems wie dem oben beschriebenen zu realisieren, bei dem eine kleine Anzahl an Werkstücken verarbeitet wird.
Wenn sich die Positionen der Werkstücke ändern, ist ein bestimmter Rechenumfang in Proportion zur Anzahl an Werkstücken erforderlich. Daher müssen, wenn beispielsweise der Roboter so positioniert ist, daß er bezüglich des Förderbands geneigt ist, anstatt parallel zu ihm angeordnet zu sein, die aktuellen Positionen der Werkstücke durch Ausführen trigonometrischer Berechnungen auf der Basis des Neigungswinkels des Roboters bezüglich des Ausmaßes der Bewegung des Förder­ bands berechnet werden. Dadurch nimmt der Rechenumfang beträchtlich zu, daß es erforderlich ist, einen x-Koordinatenwert und einen y-Koordinatenwert in einem Roboterkoordinatensystem (einem rechtwinkligen Koordinatensystem (x, y, z), bei dem die z-Achse eine vertikale Achse mit Ursprung an der Montagebasis des Roboters ist) zu berechnen. Daher besteht das Problem, daß die Anzahl an Werkstücken, die gleichzeitig verarbeitet werden kann, beschränkt ist, daß eine sehr schnelle CPU zum Verarbeiten einer Anzahl an Werkstücken erforderlich ist, etc.
Bei einem Betriebsprogramm für den Roboter zum Folgen der Werkstücke auf einem Förderband wird eine Zielposition des Werkzeugs des Roboters in dem Roboterkoordinatensystem angegeben. Daher ist es schwierig, die Position auf der Basis des Förderbands zu bezeichnen (beispielsweise eine Position 5 mm in Bewegungsrichtung oberhalb der Mitte eines Werkstücks oder eine Position 10 mm oberhalb in der Breitenrichtung des Förderbands von der Mitte des Werkstücks entfernt), und daher wird die Beschreibung des Programms komplex.
In jüngerer Zeit wurde ein System bekannt, das eine Kamera zum Erfassen der Werkstücke verwendet. Es wird erwartet, daß das System verwendet werden kann, wenn eine Mehrzahl von Werkstücken über ein Förderband verteilt ist, da die Kamera die Positionen und die Orientierung der Werkstücke ermitteln kann. Das Problem des großen Rechenumfangs zum Aktualisieren der aktuellen Positionen der Werkstücke ist in einem solchen System jedoch nicht gelöst worden.
Bei diesen bekannten Systemen müssen die Benutzer Prozesse zum Überprüfen programmieren, ob ein Werkstück in einer Betriebsreichweite des Roboters oder außerhalb der Betriebsreichweite positioniert ist. Daher muß in dem Benutzerprogramm eine Prozeßschleife zum Überwachen beschrieben werden, ob sich die aktuelle Position des Werkstücks in der Betriebsreichweite befindet oder nicht.
Fig. 20 zeigt ein Beispiel der Beschreibung eines Benutzerprogramms. Fig. 21 ist ein Flußdiagramm entsprechend dem in Fig. 20 gezeigten Benutzerprogramm. Die gleichen Bezugszeichen werden für die entsprechenden Schritte in den Fig. 20 und 21 verwendet.
Bei diesen Benutzerprogramm wird durch eine Prozeßschleife (DO..LOOP) überprüft, ob das Werkstück in einer Betriebsreichweite positioniert ist oder nicht (Schritt S101), und wenn das Werkstück in der Betriebsreichweite positioniert ist, wird ein Folgeweg gebildet, und der Roboter folgt dem Werkstück (Schritt S102). Der Folgeweg wird bis zur Beendigung der Handhabung des Werkstücks wiederholt gebildet (Schritt S104), während eine Prozeßschleife (REPEAT..UNTIL) überprüft, ob sich das Werkstück aus der Betriebsreichweite heraus bewegt oder nicht (Schritt S103). Wenn sich der Roboter aus der Betriebsreichweite herausbewegt, wird die Folgebewegung unterbrochen, und es wird ein Fehlerprozeß ausgeführt (Schritt S105).
Bei der bekannten Technologie wird, da auf der Basis eines Benutzerprogramms überprüft wird, ob das Werkstück in der Betriebsreichweite (Handhabungsbereich) des Roboters ankommt oder nicht, vom Benutzer eine arbeitsreiche Tätigkeit wie die Schaffung eines Programms verlangt, und das Programm wird komplex und daher schlecht lesbar.
Wenn das Programm aus irgendeinem Grund abgebrochen wird, während der Roboter die Folgebe­ wegung ausführt, besteht das Risiko, daß der Roboter mit anderen Vorrichtungen kollidiert, die sich in Betriebsreichweite des Roboters befinden, oder daß ein Fehler von dem Roboter verursacht wird, der versucht, über seine Betriebsreichweite hinaus zu arbeiten.
Eine Robotersteuerung, die eine Mehrzahl von Vorrichtungen wie beispielsweise eine Kamera und einen Roboter steuert, ist mit einer Multi-Tasking-Fähigkeit versehen, um mit hoher Geschwindigkeit eine Parallelverarbeitung einer Mehrzahl von Programmen wie beispielsweise eines die Ermittlung der Position des Werkstücks betreffenden Programms und eines Betriebsprogramms des Roboters auszuführen. Einige Prozesse wie beispielsweise die Überprüfung der Ankunft oder der Abweichung des Werkstücks, die sogar bei einer einfachen Überprüfung zu gegebenen Intervallen gut genug funktionieren, werden jedoch aufgrund der Prozeßschleifen zu aufwendig verarbeitet, wodurch die Betriebsgeschwindigkeit der anderen Programme abnimmt und die Leistungsfähigkeit der Roboter­ steuerung als ganzes gesenkt wird, das heißt, die Multi-Tasking-Fähigkeit wird nicht effizient eingesetzt.
Das bekannte Handhabungssystem umfaßt im allgemeinen ein geradliniges Förderband, und es ist schwierig, eine Folgebewegung von Werkstücken zu steuern, die auf einem Förderband befördert werden, das einen gekrümmten Förderweg für die Werkstücke aufweist, wie es beispielsweise bei einem Drehtisch oder einem bogenförmigen Förderband der Fall ist. Eine Technologie ist beispiels­ weise in der japanischen Offenlegungsschrift 60-221805 offenbart, welche diesen Nachteil beseitigt. Der Nachteil des zum Ermitteln der Position des Werkstücks erforderlichen großen Rechenumfangs wurde jedoch nicht beseitigt.
ZUSAMMENFASSUNG DER ERFINDUNG
Daher ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zur Steuerung eines Roboters und eine dieses Verfahren verwendende Robotersteuerung zu schaffen, bei denen der Rechenum­ fang zum Ermitteln der aktuellen Position eines auf einem Förderband beförderten Werkstücks unabhängig vom Bewegungsweg gesenkt wird, ein Roboterbetrieb an einem sich bewegenden Gegenstand in einfacher Weise beschrieben werden kann und ein intuitives Lernen ermöglicht wird.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Verfahren zur Steuerung eines Roboters und eine dieses Verfahren verwendende Robotersteuerung zu schaffen, bei denen ein Programm einfach beschrieben und die Ausführungsgeschwindigkeit des Programms erhöht werden kann, indem ein Handhabungsbereich (Folgebereich) des Roboters eingestellt wird und eine Funktion zum Überprüfen der Beziehung der Positionen zwischen dem Folgebereich und dem Werkstück geschaf­ fen wird.
  • 1. Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zur Steuerung eines Roboters geschaffen, der einem sich auf einem Fördermittel beförderten, sich bewegenden Gegenstand folgt und eine vorbestimmte Handlung an dem sich bewegenden Gegenstand ausführt. Das Verfahren umfaßt folgende Schritte: Erfassen des sich bewegenden Gegenstands; Ermitteln einer Erfassungsposition des sich bewegenden Gegenstands in einem Fördermittelkoordinaten­ system aus dem Ergebnis der Erfassung; aufeinanderfolgendes Aktualisieren der aktuellen Position des sich bewegenden Gegenstands in dem Fördermittelkoordinatensystem auf der Basis der Erfassungsposition des sich bewegenden Gegenstands und des Ausmaßes an Bewegung des Fördermittels; Transformieren der aktuellen Position des sich bewegenden Gegenstands im Fördermittelkoordinatensystem in diejenige in einem Roboterkoordinatensystem; und Bilden eines Folgewegs für den Roboter auf der Basis der transformierten Position, damit er dem sich bewegen­ den Gegenstand folgen kann.
  • 2. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann das Fördermittelko­ ordinatensystem aus einer x-Achse in der Bewegungsrichtung des sich bewegenden Gegenstands, einer zusammen mit der x-Achse eine Tragefläche des Fördermittels bildenden y-Achse und einer zur x-Achse sowie zur y-Achse senkrechten z-Achse bestehen.
  • 3. Das erfindungsgemäße Verfahren zur Steuerung eines Roboters kann ferner folgenden Schritt umfassen: Veranlassen, daß der Roboter eine Folgebewegung nach Maßgabe eines Bewegungs­ befehls startet, um dem sich bewegenden Gegenstand an einer Position zu folgen, die durch Positionsbezeichnungsdaten bezeichnet ist, die in dem Bewegungsbefehl enthalten sind, vorausge­ setzt, daß die Positionsbezeichnungsdaten in dem Fördermittelkoordinatensystem angegeben sind.
  • 4. Das erfindungsgemäße Verfahren zur Steuerung eines Roboters kann ferner folgende Schritte umfassen: Einstellen eines Folgebereichs in dem Fördermittelkoordinatensystem; Ermitteln, auf der Basis des Folgebereichs und der aktuellen Position des sich bewegenden Gegenstands, ob der sich bewegende Gegenstand in dem Folgebereich positioniert ist oder nicht; Erzeugen eines Ereignisses der Ankunft des sich bewegenden Gegenstands, wenn ermittelt wird, daß der sich bewegende Gegenstand in dem Folgebereich positioniert ist; und Veranlassen, daß der Roboter eine Folgebe­ wegung nach Maßgabe eines Bewegungsbefehls startet, um dem sich bewegenden Gegenstand an einer Position zu folgen, die durch die in dem Bewegungsbefehl enthaltenen Positionsbezeich­ nungsdaten bezeichnet ist, wenn das Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt wird.
  • 5. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann mit einer bestimmten Häufigkeit ermittelt werden, ob der sich bewegende Gegenstand im Folgebereich positioniert ist oder nicht.
  • 6. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann der Folgebereich durch zwei zur Bewegungsrichtung des sich bewegenden Gegenstands parallele erste Linien und zwei zu den ersten Linien senkrechte zweite Linien auf einer Tragefläche des Fördermittels begrenzt sein.
  • 7. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann der Folgeweg für den Roboter zum Folgen des sich bewegenden Gegenstands durch Addieren eines zusätzlichen Wegs in der Bewegungsrichtung des sich bewegenden Gegenstands zu einem direkten Weg eines Werk­ zeugs des Roboters in einer Richtung zu einer Startposition hin gebildet sein, wo der sich bewe­ gende Gegenstand beim Start der Folgebewegung positioniert ist, wobei der zusätzliche Weg durch Transformieren der Änderung der Position des sich bewegenden Gegenstands im Fördermittelkoor­ dinatensystem in diejenige im Roboterkoordinatensystem und außerdem in diejenige in einem Robotergelenkwinkelkoordinatensystem gewonnen wird und der direkte Weg durch Transformieren von Positionen des Werkzeugs des Roboters und des sich bewegenden Gegenstands beim Start der Folgebewegung im Roboterkoordinatensystem bzw. im Fördermittelkoordinatensystem in diejenigen im Robotergelenkwinkelkoordinatensystem gewonnen wird.
  • 8. Das erfindungsgemäße Verfahren zur Steuerung eines Roboters kann ferner folgende Schritte umfassen: Erzeugen eines Folgebewegungsabbruchereignisses, wenn ermittelt wird, daß der sich bewegende Gegenstand sich nicht im Folgebereich befindet; und Ausführen eines Prozesses in Antwort auf das Folgebewegungsabbruchereignis.
  • 9. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann der Prozeß in Antwort auf das Folgebewegungsabbruchereignis ein Prozeß zum Abbrechen der Bildung des zusätzlichen Wegs sein.
  • 10. Das erfindungsgemäße Verfahren zur Steuerung eines Roboters kann ferner folgende Schritte umfassen: Abbrechen der Bildung des zusätzlichen Wegs nach Maßgabe eines Positionsbezeich­ nungsdaten enthaltenden Bewegungsbefehls, vorausgesetzt, daß die Positionsbezeichnungsdaten in dem Roboterkoordinatensystem angegeben sind; und Bilden des Folgewegs, der aus dem direkten Weg in einer Richtung zu der von den Positionsbezeichnungsdaten bezeichneten Position besteht.
  • 11. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann für jedes einer Mehrzahl von Fördermitteln ein Fördermittelkoordinatensystem vorgesehen sein.
  • 12. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann für jeden einer Mehrzahl von Robotern das Fördermittelkoordinatensystem und der Folgebereich vorgesehen sein. (13) Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann das Fördermittel ein geradliniges Fördermittel umfassen.
  • 13. Bei dem erfindungsgemäßen Verfahren zur Steuerung eines Roboters kann das Fördermittel entweder ein bogenförmiges Fördermittel oder einen Drehtisch umfassen und das Koordinaten­ system des Fördermittels eine durch einen Drehwinkel repräsentierte x-Koordinate, eine durch die Drehachse des Fördermittels repräsentierte z-Koordinate und eine durch den Abstand von der Drehachse repräsentierte y-Koordinate umfassen.
  • 14. Gemäß einem anderen Aspekt der vorliegenden Erfindung umfaßt eine Robotersteuerung zum Steuern eines Roboters, der einem von einem Fördermittel beförderten, sich bewegenden Gegen­ stand folgt und eine vorbestimmte Handlung an dem sich bewegenden Gegenstand ausführt: einen Speicherteil für die aktuelle Position des sich bewegenden Gegenstands zum Speichern der aktuel­ len Position des sich bewegenden Gegenstands; einen Detektor zum Erfassen des sich bewegenden Gegenstands; einen Aktualisierungsteil für die aktuelle Position des sich bewegenden Gegenstands zum Ermitteln einer Erfassungsposition des sich bewegenden Gegenstands in einem Fördermittel­ koordinatensystem aus dem Ergebnis der Erfassung durch den Detektor, zum Berechnen der aktuellen Position des sich bewegenden Gegenstands auf der Basis der Erfassungsposition des sich bewegenden Gegenstands und des Ausmaßes an Bewegung des Fördermittels, und zum Aktualisie­ ren des Speicherteils für die aktuelle Position des sich bewegenden Gegenstands mit den berech­ neten Daten; und einen Wegbildungsteil zum Transformieren der im Speicherteil für die aktuelle Position des sich bewegenden Gegenstands gespeicherten aktuellen Position des sich bewegenden Gegenstands in dem Fördermittelkoordinatensystem in diejenige in einem Roboterkoordinaten­ system und zum Bilden eines Folgewegs für den Roboter auf der Basis der transformierten Position, damit er dem sich bewegenden Gegenstand folgen kann.
  • 15. Bei einer erfindungsgemäßen Robotersteuerung kann das Fördermittelkoordinatensystem aus einer x-Achse in der Bewegungsrichtung des sich bewegenden Gegenstands, einer zusammen mit der x-Achse eine Tragefläche des Fördermittels bildende y-Achse und einer zur x-Achse sowie zur y- Achse senkrechten z-Achse bestehen.
  • 16. Die erfindungsgemäße Robotersteuerung kann ferner umfassen: einen Benutzerprogrammaus­ führteil, der ein mit einem Bewegungsbefehl beschriebenes Benutzerprogramm ausführt und ermittelt, ob in dem Bewegungsbefehl enthaltene Positionsbezeichnungsdaten in dem Fördermittel­ koordinatensystem beschrieben sind oder nicht, wobei der Wegbildungsteil einen Folgeweg für den Roboter bildet, damit er dem sich bewegenden Gegenstand an einer Position folgt, die durch die im Bewegungsbefehl enthaltenen Positionsbezeichnungsdaten bezeichnet ist, wenn der Benutzerpro­ grammausführteil ermittelt, daß die Positionsbezeichnungsdaten in dem Fördermittelkoordinaten­ system beschrieben sind.
  • 17. Die erfindungsgemäße Robotersteuerung kann ferner umfassen: einen Folgebereichspeicherteil zum Speichern eines durch Koordinaten im Fördermittelkoordinatensystem repräsentierten Folgebe­ reichs; und einen Ereigniserfassungsteil, der auf der Basis der im Speicherteil für die aktuelle Position des sich bewegenden Gegenstands gespeicherten aktuellen Position des sich bewegenden Gegenstands und dem im Folgebereichspeicherteil gespeicherten Folgebereich ermittelt, ob der sich bewegende Gegenstand in dem Folgebereich positioniert ist oder nicht, der ein Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt, wenn er ermittelt, daß der sich bewegende Gegenstand in dem Folgebereich positioniert ist, und der ein Folgebewegungsabbruchereignis erzeugt, wenn er ermittelt, daß der sich bewegende Gegenstand nicht in dem Folgebereich positioniert ist. Der Wegbildungsteil kann einen Folgeweg bilden, damit der Roboter dem sich bewegenden Gegenstand an einer Position folgen kann, die durch die im Bewegungsbefehl enthaltenen Positionsbezeich­ nungsdaten bezeichnet ist, wenn das Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt wird.
  • 18. Bei der erfindungsgemäßen Robotersteuerung kann der Ereigniserfassungsteil in gegebenen Intervallen ermitteln, ob der sich bewegende Gegenstand in dem Folgebereich positioniert ist oder nicht.
  • 19. Bei der erfindungsgemäßen Robotersteuerung kann der Folgebereich durch zwei zur Bewe­ gungsrichtung des sich bewegenden Gegenstands parallele erste Linien und zwei zu den ersten Linien senkrechte zweite Linien auf einer Tragefläche des Fördermittels begrenzt sein.
  • 20. Bei der erfindungsgemäßen Robotersteuerung kann der Wegbildungsteil den Folgeweg für den Roboter zum Folgen des sich bewegenden Gegenstands durch Addieren eines zusätzlichen Wegs in der Bewegungsrichtung des sich bewegenden Gegenstands zu einem direkten Weg eines Werk­ zeugs des Roboters in einer Richtung zu einer Startposition hin bilden, wo der sich bewegende Gegenstand beim Start der Folgebewegung positioniert ist, wobei der zusätzliche Weg durch Transformieren der Änderung der Position des sich bewegenden Gegenstands im Fördermittelkoor­ dinatensystem in diejenige im Roboterkoordinatensystem und außerdem in diejenige in einem Robotergelenkwinkelkoordinatensystem gewonnen wird und der direkte Weg durch Transformieren von Positionen des Werkzeugs des Roboters und des sich bewegenden Gegenstands beim Start der Folgebewegung im Roboterkoordinatensystem bzw. im Fördermittelkoordinatensystem in diejenigen im Robotergelenkwinkelkoordinatensystem gewonnen wird.
  • 21. Bei der erfindungsgemäßen Robotersteuerung kann der Benutzerprogrammausführteil das Ausführen eines Prozesses in Antwort auf das Folgebewegungsabbruchereignis starten, wenn der Ereigniserfassungsteil das Folgebewegungsabbruchereignis erzeugt.
  • 22. Bei der erfindungsgemäßen Robotersteuerung kann der Prozeß in Antwort auf das Folgebewe­ gungsabbruchereignis ein Prozeß zum Abbrechen der Bildung des zusätzlichen Wegs sein.
  • 23. Bei der erfindungsgemäßen Robotersteuerung kann der Wegbildungsteil die Bildung des zusätzlichen Wegs abbrechen und den aus dem direkten Weg in einer Richtung zu der durch die Positionsbezeichnungsdaten bezeichneten Position hin bestehenden Folgeweg bilden, wenn der Benutzerprogrammausführteil ermittelt, daß die im Bewegungsbefehl enthaltenen Positionsbezeich­ nungsdaten in dem Roboterkoordinatensystem angegeben sind.
  • 24. Bei der erfindungsgemäßen Robotersteuerung kann für jedes einer Mehrzahl von Fördermitteln ein Fördermittelkoordinatensystem vorgesehen sein.
  • 25. Bei der erfindungsgemäßen Robotersteuerung kann für jeden einer Mehrzahl von Robotern das Fördermittelkoordinatensystem und der Folgebereich vorgesehen sein.
  • 26. Bei der erfindungsgemäßen Robotersteuerung kann das Fördermittel ein geradliniges Förder­ mittel umfassen.
  • 27. Bei der erfindungsgemäßen Robotersteuerung kann das Fördermittel entweder ein bogenförmi­ ges Fördermittel oder einen Drehtisch umfassen und das Koordinatensystem des Fördermittels eine durch einen Drehwinkel repräsentierte x-Koordinate, eine durch die Drehachse des Fördermittels re­ präsentierte z-Koordinate und eine durch den Abstand von der Drehachse repräsentierte y-Koordi­ nate umfassen.
Bei der oben unter (1) und (15) beschriebenen Anordnung wird durch Aktualisieren der aktuellen Position des sich bewegenden Gegenstands in dem Fördermittelkoordinatensystem die Berechnung für die Aktualisierung im Vergleich zum Fall der Aktualisierung im Roboterkoordinatensystem einfach. Wenn eine vorbestimmte Bewegung zu den sich bewegenden Gegenstand beschrieben wird, ist eine einfache und intuitive Bezeichnung der Position möglich, indem das Fördermittelkoor­ dinatensystem als Referenz verwendet wird, und die Programmbeschreibung wird einfach.
Bei der oben unter (2) und (16) beschriebenen Anordnung variiert, da die x-Achse des Fördermittel­ koordinatensystems in der Bewegungsrichtung des sich bewegenden Gegenstands angeordnet ist, nur der x-Koordinatenwert der Position des sich bewegenden Gegenstands. Daher muß zur Aktualisierung der aktuellen Position des sich bewegenden Gegenstands nur der x-Koordinatenwert aktualisiert werden, wodurch der Rechenumfang im Vergleich zum Fall der Aktualisierung im Roboterkoordinatensystem reduziert werden kann.
Bei der oben unter (3) und (17) beschriebenen Anordnung kann die Folgebewegung ohne einen Folgebewegungsstartbefehl nur durch einen Bewegungsbefehl gestartet werden, der Positionsbe­ zeichnungsdaten des Fördermittelkoordinatensystems enthält. Daher wird die Programmbeschrei­ bung durch den Benutzer ohne Berücksichtigung der Bewegung des Fördermittels ermöglicht.
Bei der oben unter (4), (5), (6), (18), (19) und (20) beschriebenen Anordnung wird ein Folgebereich im Fördermittelkoordinatensystem eingestellt, und es wird auf der Basis des Folgebereichs und der aktuellen Position des sich bewegenden Gegenstands ermittelt, ob der sich bewegende Gegenstand im Folgebereich positioniert ist oder nicht. Wenn ermittelt ist, daß der sich bewegende Gegenstand im Folgebereich positioniert ist, wird ein Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt, und wenn das Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt wird, wird für den Roboter ein Prozeß zum Folgen des sich bewegenden Gegenstands an einer Position ausgeführt, die durch die in dem Bewegungsbefehl enthaltenden Positionsbestimmungsdaten bezeichnet ist. Daher ist es nicht erforderlich, eine Prozeßschleife in einem Benutzerprogramm zu beschreiben, während die Position des sich bewegenden Gegenstands überwacht wird, wodurch das Programm lesbar ist und die Prozeßgeschwindigkeit erhöht werden kann.
Bei der oben unter (7) und (21) beschriebenen Anordnung wird der zusätzliche Weg in der Bewe­ gungsrichtung des sich bewegenden Gegenstands auf der Basis der Änderung der aktuellen Position des sich bewegenden Gegenstands gebildet, wodurch der Folgeweg so gebildet werden kann, daß die Variationen der Geschwindigkeit des Fördermittels kompensiert werden können.
Bei der oben unter (8) und (22) beschriebenen Anordnung wird, wenn ermittelt wird, daß der sich bewegende Gegenstand nicht im Folgebereich positioniert ist, ein Folgebewegungsabbruchereignis erzeugt, und ein Prozeß entsprechend dem Folgebewegungsabbruchereignis startet. Daher wird ein Betriebsprogramm zum Vermeiden des Risikos eines Fehlers, der dadurch hervorgerufen wird, daß der Roboter die Folgebewegung über seine Betriebsreichweite hinaus fortsetzt, ausgeführt. Das heißt, der Benutzer braucht nur eine Bewegung zum Vermeiden des obigen Risikos als einen Prozeß entsprechend dem Folgebewegungsabbruchereignis zu beschreiben.
Bei der oben unter (9) und (23) beschriebenen Anordnung wird, wenn das Folgebewegungsabbruch­ ereignis erzeugt wird, die Bildung des zusätzlichen Wegs abgebrochen. Daher kann das Risiko, daß der Roboter die Folgebewegung über den Folgebereich hinaus fortsetzt, automatisch und zuverläs­ sig vermieden werden.
Bei der oben unter (10) und (24) beschriebenen Anordnung wird beim Ausführen eines Bewegungs­ befehls, der im Roboterkoordinatensystem angegebene Positionsbezeichnungsdaten enthält, die Bildung des zusätzlichen Wegs abgebrochen und der direkte Weg zur bezeichneten Position hin gebildet. Daher kann, wenn die Zielposition (bezeichnete Position) außerhalb des Fördermittels liegt, die Bildung des zusätzlichen Wegs automatisch abgebrochen und der Roboter automatisch zu der bezeichneten Position bewegt werden, indem der Benutzer die Positionsbezeichnungsdaten in dem Roboterkoordinatensystem beschreibt, wodurch der Benutzer ein Programm ohne Berücksichtigung des aktuellen Zustands des Roboters oder der Bewegung des Fördermittels schaffen kann.
Bei der oben unter (11) und (25) beschriebenen Anordnung ist, wenn eine Mehrzahl an Fördermitteln verwendet wird, für jedes der Mehrzahl von Fördermitteln ein Fördermittelkoordinatensystem vorgesehen, wodurch in einfacher Weise ein Programm zum Befördern des sich bewegenden Gegenstands von einem der Fördermittel zu einem anderen Fördermittel geschaffen werden kann, indem ein Bewegungsbefehl beschrieben wird, das Positionsbezeichnungsdaten enthält, die in dem entsprechenden Koordinatensystem angegeben sind.
Bei der oben unter (12) und (26) beschriebenen Anordnung kann eine Mehrzahl an Robotern für ein Fördermittel verwendet werden, indem für jeden Roboter das Fördermittelkoordinatensystem und der Folgebereich vorgesehen werden.
Bei der oben unter (13), (14), (27) und (28) beschriebenen Anordnungen können die oben beschrie­ benen Vorteile durch Verwendung entweder eines geradlinigen Fördermittels, eines bogenförmigen Fördermittels oder eines Drehtischs als Fördermittel genutzt werden.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist ein Funktionsblockschaltbild eines Handhabungssystems, das eine Robotersteuerung gemäß einer ersten Ausführungsform der vorliegenden Erfindung verwendet;
Fig. 2 ist eine Darstellung, welche die Konfiguration der Software gemäß der ersten Ausfüh­ rungsform der vorliegenden Erfindung zeigt;
Fig. 3 ist eine Darstellung einer Übersicht des Systems gemäß der ersten Ausführungsform der vorliegenden Erfindung;
Fig. 4 ist eine Darstellung, die ein Fördermittelkoordinatensystem zeigt;
Fig. 5 ist eine Darstellung, die eine hierarchische Struktur von Koordinatensystemen zeigt;
Fig. 6 ist eine Darstellung eines Folgebereichs;
Fig. 7 ist ein Flußdiagramm des Betriebs eines in Fig. 1 gezeigten Ereigniserfassungsteils, der in gegebenen Abtastintervallen ausgeführt wird;
Fig. 8 ist ein Flußdiagramm des Betriebs eines in Fig. 1 gezeigten Benutzerprogrammausführ­ teils;
Fig. 9 ist ein Graph, der die Positionsbeziehungen bei der ersten Ausführungsform gemäß der vorliegenden Erfindung zeigt;
Fig. 10 ist ein Flußdiagramm des Betriebs eines in Fig. 1 gezeigten Wegbildungsteils;
Fig. 11 ist eine Beschreibung eines Benutzerprogramms gemäß der ersten Ausführungsform der vorliegenden Erfindung, in dem "XQT task 1" oder "XQT task 2" einen Befehl zum Aktivie­ ren eines Programms bezeichnet, das mit dem Aufgabennamen "task 1" bzw. "task 2" be­ zeichnet ist, und "ABORT task 1" bezeichnet einen Befehl zum Beenden des Programms, das mit dem Aufgabennamen "task 1" bezeichnet ist;
Fig. 12A und 12B sind Flußdiagramme zum Bearbeiten der in Fig. 11 gezeigten Aufgabe 1 bzw. der Aufgabe 2;
Fig. 13 ist eine Darstellung einer Übersicht eines Handhabungssystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung;
Fig. 14 ist eine Darstellung, welche die Positionsbeziehungen eines Werkstücks in dem in Fig. 13 gezeigten Handhabungssystem gemäß der zweiten Ausführungsform zeigt;
Fig. 15 ist eine Darstellung einer Übersicht eines Handhabungssystems gemäß einer dritten Ausführungsform der vorliegenden Erfindung;
Fig. 16 ist eine Darstellung, die ein Fördermittelkoordinatensystem und einen Folgebereich in dem in Fig. 15 gezeigten Handhabungssystem gemäß der dritten Ausführungsform zeigt;
Fig. 17 ist eine Darstellung einer Übersicht eines Handhabungssystems gemäß einer vierten Ausführungsform der vorliegenden Erfindung;
Fig. 18 ist eine Darstellung einer Übersicht über ein Handhabungssystem gemäß einer fünften Ausführungsform der vorliegenden Erfindung;
Fig. 19A und 19B sind Graphen, die ein anderes Fördermittelkoordinatensystem und einen Folgebereich zeigen;
Fig. 20 ist eine Beschreibung eines bekannten Benutzerprogramms, in dem "workpos.x" die x- Koordinate der aktuellen Position eines Werkstücks repräsentiert, "workpos.y" die y-Koor­ dinate der aktuellen Position des Werkstücks repräsentiert, ein Folgebetrieb in einem Bereich (100, 300) bis (200, 400) ausgeführt wird, "TRACK ON/OFF" einen Befehl reprä­ sentiert, dem Fördermittel zu folgen/nicht zu folgen, und "HANDLING" eine Funktion re­ präsentiert, die zurückgibt, ob die Handhabung beendet ist oder nicht, und "1" zurückgibt, wenn sie beendet ist; und
Fig. 21 ist ein Flußdiagramm zum Ausführen des in Fig. 20 gezeigten Programms.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN Erste Ausführungsform
Fig. 1 ist ein Funktionsblockschaltbild eines Handhabungssystems unter Verwendung einer Robotersteuerung gemäß einer ersten Ausführungsform der vorliegenden Erfindung. Fig. 2 ist eine Darstellung, welche die Konfiguration von Software gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Fig. 3 ist eine Darstellung einer Übersicht über das Handhabungs­ system gemäß der ersten Ausführungsform der Erfindung.
Fig. 1 und 3 zeigen ein Fördermittel (Band) 1, das eine Beförderungsvorrichtung ist, eine Kamera 2 zum Erfassen eines auf dem Band 1 beförderten Werkstücks, einen Codierer 3, der an dem Band 1 montiert ist und das Ausmaß der Bewegung des Bands 1 erfaßt, und einen Roboter 4. Das Band 1, die Kamera 2, der Codierer 3 und der Roboter 4 sind an eine Robotersteuerung 5 angeschlossen, und bilden ein Handhabungssystem.
Die Robotersteuerung 5 enthält einen Benutzerprogrammspeicherteil 11 zum Speichern eines Benutzerprogramms, einen Benutzerprogrammausführteil 12 zum Ausführen des im Benutzerpro­ grammspeicherteil 11 gespeicherten Benutzerprogramms, einen Speicherteil 13 für die aktuelle Position des Werkstücks zum Speichern der aktuellen Position eines Werkstücks, das von der Kamera erkannt worden ist, einen Teil 14 zum Aktualisieren der in dem Speicherteil 13 für die aktuelle Position des Werkstücks gespeicherten aktuellen Position des Werkstücks nach Maßgabe des Ausmaßes der Bewegung des Bandes 1, einen Speicherbereich 15 für den Folgebereich, in dem ein Folgebereich eingestellt ist, und einen Wegbildungsteil 16, der einen Weg eines Betriebspunkts (eines Werkzeugs des Roboters) durch Einstellen eines Winkels für jedes Gelenk bildet, den gebildeten Weg in einen Motorbefehlswert (Impulse) umsetzt und den Wert an einen Motorsteuerteil 18 ausgibt, der unten beschrieben wird. Die Robotersteuerung 5 enthält des weiteren einen Ereig­ niserfassungsteil 17, der ein Ereignis des Werkstücks bezüglich des Folgebereichs erfaßt, und den Motorsteuerteil 18 zum Steuern eines Motors 4a der jeweiligen Gelenke in Antwort auf die Motorbe­ fehiswerte von dem Wegbildungsteil 16. Der Wegbildungsteil 16 und der Ereigniserfassungsteil 17 werden jeweils nach einer gegebenen Abtastzeit von externer Hardware wie beispielsweise einem Zeitgeber und einem Betriebssystem (OS) aktiviert, was unten beschrieben wird.
In Fig. 2 ist die Software der Robotersteuerung 5 mit einem Benutzerprogramm, einem Betriebs­ system (OS) mit einer Ereignisfunktion, einer Multi-Tasking-Fähigkeit, etc. zum Steuern der Robotersteuerung 5 sowie mit einem Steuerprogramm zum Erfassen von Positionen des Roboters 4 und des Bands 1 gebildet.
Das Bandkoordinatensystem (das Koordinatensystem der Beförderungsvorrichtung), das in der Robotersteuerung 5 verwendet wird, wird unten beschrieben.
Fig. 4 ist eine Darstellung, die das Bandkoordinatensystem zeigt.
Das Bandkoordinatensystem ist definiert durch die zur Bewegung des Werkstücks parallele x-Achse, die y-Achse, die zusammen mit der x-Achse eine Werkstückebene (Transport- bzw. Tragefläche des Bands 1) bildet, wobei die y-Achse in einem geraden Band senkrecht zur x-Achse ist, und die zur x- Achse und zur y-Achse senkrechte z-Achse. Das Bandkoordinatensystem ist eindeutig in das Roboterkoordinatensystem transformierbar. Der Ursprung des Bandkoordinatensystems kann die Position des Werkstücks zu einem bestimmten Zeitpunkt sein oder kann auf eine gegebene Position eingestellt sein. Das Roboterkoordinatensystem ist ein rechtwinkeliges Koordinatensystem, dessen Ursprung sich auf der Installationsbasis des Roboters 4 befindet.
Die Position in dem Bandkoordinatensystem und die Position in dem Roboterkoordinatensystem werden in dem Benutzerprogramm wie folgt beschrieben.
Die Daten der Position in dem Roboterkoordinatensystem: PR = x, y, z, u, v, w
Die Daten der Position in dem Bandkoordinatensystem: PC = xc, yc, zc, uc, vc, wc/CNV
Die Symbole x, y und z repräsentieren Komponenten einer Position auf der x-, y- bzw. z-Achse im Roboterkoordinatensystem, und die Symbole xc, yc und zc repräsentieren Komponenten der Position auf der x-, y- bzw. z-Achse im Bandkoordinatensystem. Die Symbole u, v und w bezeichnen die Orientierung an der Position in dem Roboterkoordinatensystem, und die Symbole uc, vc und wc repräsentieren die Orientierung an der Position in dem Bandkoordinatensystem. Das Symbol "/CNV", das an das Ende der Reihe von Koordinatenwerten angehängt ist, gibt an, daß sie Bandkoordinaten sind.
Das Bandkoordinatensystem ist eindeutig in das Roboterkoordinatensystem transformierbar, wie oben beschrieben. Die Transformationen vom einen zum anderen sind nachstehend ausgedrückt, wobei T eine Transformationsmatrix repräsentiert.
(x, y, z, u, v, w, 1) = T.(xc, yc, zc, uc, vc, wc, 1)
(xc, yc, zc, uc, vc, wc, 1) = T-1.(x, y, z, u, v, w, 1)
Durch Verwendung eines derartigen Bandkoordinatensystems variiert nur die x-Koordinate der Position des Werkstücks nach Maßgabe der Bewegung des Bands. Durch Berechnen der aktuellen Position des Werkstücks unter Verwendung des Bandkoordinatensystems kann die Berechnung der y-Koordinate und der z-Koordinate weggelassen werden, wodurch eine große Anzahl sich auf dem Band bewegender Werkstücke verarbeitet werden kann, ohne der Robotersteuerung 5 eine große Belastung aufzuerlegen.
Fig. 5 ist eine Darstellung, die eine hierarchische Struktur von Koordinatensystemen zeigt.
Das Roboterkoordinatensystem, ein Gelenkwinkelkoordinatensystem und ein Motorimpulskoordina­ tensystem sind bekannte Koordinatensysteme. Das erfindungsgemäß neu eingeführte Bandkoordi­ natensystem und die bekannten Koordinatensysteme bilden die in Fig. 5 gezeigte hierarchische Struktur. Diese Koordinatensysteme sind ineinander transformierbar. Ein in irgendeinem Koordina­ tensystem eingegebener Befehlswert für den Roboter 4 wird in die anderen Koordinatensysteme transformiert, eines nach dem anderen, die in den nachfolgenden Hierarchien angeordnet sind, und er wird schließlich auf der Basis des Motorimpulskoordinatensystems in Impulse transformiert, die an den Motorsteuerteil 18 auszugeben sind.
Beispiele der einen Bewegungsbefehl GO beschreibenden Anweisung in den einzelnen Koordina­ tensystemen sind unten angegeben.
Der Benutzer beschreibt den Bewegungsbefehl durch Verwendung der Daten der Position PC in dem Bandkoordinatensystem, wenn die Zielposition des Werkzeugs des Roboters eine Position auf dem Band 1 ist, beispielsweise wenn ein sich bewegendes Werkstück angepeilt wird. Der Benutzer beschreibt den Bewegungsbefehl durch Verwendung der Daten der Position PR in dem Roboterkoor­ dinatensystem, wenn die Zielposition des Werkzeugs des Roboters eine Position außerhalb des Bands 1 ist, beispielsweise wenn ein Werkstück auf einem seitlich des Roboters 4 angeordneten Tisch angepeilt wird.
Befehl in dem Bandkoordinatensystem: GO xc, yc, zc, uc, vc, wc/CNV
Befehl in dem Roboterkoordinatensystem: GO x, y, z, u. v, w
Befehl in dem Gelenkwinkelkoordinatensystem: GO JA (J1, J2, J3, J4, J5, J6)
Befehl in dem Motorimpulskoordinatensystem: GO PULSE (p1, p2, p3, p4, p5, p6)
Die obigen J1 bis J6 in dem Gelenkwinkelkoordinatensystem repräsentieren jeweils einen Gelenk­ winkel, und p1 bis p6 in dem Motorimpulskoordinatensystem repräsentieren jeweils die Anzahl an Impulsen, die für jedes Gelenk des Roboters bezeichnet sind. In dem Bandkoordinatensystem kann die Bestimmung erfolgen, indem "GO workpos" unter Verwendung einer Variablen "workpos" beschrieben wird, welche die aktuelle Position des Werkstücks angibt, beispielsweise auf dem Band 1, anstatt eine Bezeichnung unter Verwendung der Daten der Position PC vorzunehmen.
Gemäß Fig. 1 beobachtet die Kamera 2 das Werkstück auf dem Band 1. Der Teil 14 zum Aktualisie­ ren der aktuellen Position des Werkstücks ermittelt die Position des Werkstücks in dem Bandkoordi­ natensystem aus dem von der Kamera aufgenommenen Bild und speichert die Daten der Position in dem Speicherteil 13 für die aktuelle Position des Werkstücks. Dieser Prozeß wird als "Werkstückre­ gistrierung" bezeichnet. Andererseits gibt der Codierer 3 Bandimpulse aus. Der Teil 14 zum Aktualisierung der aktuellen Position des Werkstücks berechnet das Ausmaß an Bewegung des Werkstücks auf dem Band 1 nach Maßgabe der Bandimpulse und aktualisiert nacheinander die Daten der im Speicherteil 13 für die aktuelle Position des Werkstücks gespeicherten Daten. Das Ausmaß an Bewegung des Werkstücks kann durch Ermittlung der Differenz zwischen der Anzahl an bis zur Bildaufnahme angesammelten Bandimpulsen und der Anzahl an bis zum Moment der Berechnung angesammelten Bandimpulsen und durch Ermittlung des Produkts der Differenz mit dem vorab eingestellten Ausmaß an Bewegung pro Bandimpuls in dem Bandkoordinatensystem gewonnen werden. Der Teil 14 zum Aktualisieren der aktuellen Position des Werkstücks ermittelt die aktuelle Position des Werkstücks in dem Bandkoordinatensystem durch Addieren des so berechne­ ten Ausmaßes an Bewegung des Werkstücks zu dem bei der Bildaufnahme berechneten Koordina­ tenwert und aktualisiert die in dem Speicherteil 13 für die aktuelle Position des Werkstücks gespei­ cherten Daten. Da die y-Koordinate und die z-Koordinate nicht variieren, berechnet der Teil 14 zum Aktualisieren der aktuellen Position des Werkstücks nur die x-Koordinate und unterläßt die Berech­ nung der y-Koordinate und der z-Koordinate.
Fig. 6 ist eine Darstellung des Folgebereichs, der im Speicherteil 15 für den Folgebereich gespei­ chert ist. Das in Fig. 6 gezeigte Koordinatensystem ist das Bandkoordinatensystem (die z-Achse ist nicht gezeigt).
Der Folgebereich ist ein Bereich, in dem der Roboter 4 einen Folgevorgang ausführt, und er wird durch den Benutzer durch Eingabe von Koordinatenwerten (Folgebereichkoordinaten) in dem Bandkoordinatensystem unter Berücksichtigung der Betriebsreichweite des Roboters eingestellt. Das heißt, wenn der schraffierte Bereich in Fig. 6 bezeichnet wird, werden Folgebereichkoordinaten (xa, ya, 0) und (xb, yb, 0) von zwei Punkten a bzw. b in dem Folgebereichspeicherteil 15 als Folgebereicheinstellwerte gespeichert.
Fig. 7 ist ein Flußdiagramm des Betriebs des in Fig. 1 gezeigten Ereigniserfassungsteils 17.
Der Ereigniserfassungsteil 17 greift, wenn er zu den gegebenen Abständen aufgerufen wird, auf den Speicherteil 13 für die aktuelle Position des Werkstücks zu und, überprüft, ob das Werkstück registriert ist oder nicht (Schritt S1). Wenn das Werkstück registriert ist, überprüft der Ereigniserfas­ sungsteil 17 auf der Basis der aktuellen Werkstückposition und der in dem Folgebereichspeicherteil 15 gespeicherten Folgebereicheinstellwerte, ob das Werkstück im Folgebereich positioniert ist oder nicht (Schritt S2). Wenn das Werkstück im Folgebereich positioniert ist, erzeugt der Ereigniserfas­ sungsteil 17 ein Werkstückankunftsereignis (Schritt S3), und wenn das Werkstück nicht im Folgebe­ reich positioniert ist und der Roboter 4 dem Werkstück gerade folgt (Schritt S4), erzeugt der Ereigniserfassungsteil 17 ein Folgebewegungsabbruchereignis (Schritt S5) und beendet den Prozeß.
Fig. 8 ist ein Flußdiagramm der Betriebsweise des in Fig. 1 gezeigten Benutzerprogrammausführteils 12.
Der Benutzerprogrammausführteil 12 liest eine Zeile der im Benutzerprogramm beschriebenen Anweisung ein (Schritt S11) und ermittelt, ob der Befehl der eingelesenen Anweisung ein Bewe­ gungsbefehl ist oder nicht (Schritt S12). Wenn ermittelt wird, daß der Befehl kein Bewegungsbefehl ist, führt der Benutzerprogrammausführteil 12 einen Prozeß in Antwort auf den Befehl aus (Schritt S13). Wenn ermittelt wird, daß der Befehl ein Bewegungsbefehl ist, überprüft der Benutzerpro­ grammausführteil 12, ob die Daten der durch den Bewegungsbefehl bezeichneten Position für das Bandkoordinatensystem oder Roboterkoordinatensystem sind (Schritt S14). Wenn sie für das Bandkoordinatensystem sind, setzt der Benutzerprogrammausführteil 12 ein Flag auf 1 (Schritt S15), und wenn sie für das Roboterkoordinatensystem sind, setzt der Benutzerprogrammausführteil 12 des Flag auf 0 (Schritt S16). Dann wird der Bewegungsbefehl registriert (Schritt S17). Die Registrierung des Bewegungsbefehls wird so ausgeführt, daß zur Bildung eines Wegs in dem Wegbildungsteil 16 erforderliche Daten berechnet werden und die berechneten Daten in dem Wegbildungsteil 16 registriert werden, was nachstehend ausführlich beschrieben wird.
Der Benutzerprogrammausführteil 12 geht nach der Registrierung des Bewegungsbefehls in einen Wartezustand, um auf eine Bewegungsbefehlbeendigungsnachricht von dem Wegbildungsteil 16 zu warten (Schritt S18). D. h., der Benutzerprogrammausführteil 12 wartet, bis das Werkzeug des Roboters 4 eine durch den Bewegungsbefehl bezeichnete Position erreicht. Wenn das Erreichen des Werkzeugs durch die Bewegungsbefehlbeendigungsnachricht von dem Wegbildungsteil 16 mitgeteilt ist, ermittelt der Benutzerprogrammausführteil 12, ob der ausgeführte Prozeß für den letzten Befehl ausgeführt wird oder nicht (Schritt S19). Wenn ermittelt wird, daß der Bewegungsbefehl nicht der letzte ist, geht der Prozeß zurück zu Schritt S11 und wird wiederholt, bis das Programm beendet ist.
Der Registrierungsprozeß des Bewegungsbefehls wird unten beschrieben.
Der Prozeß wird so ausgeführt, daß eine Gelenkwinkeländerung ΔJ, die zum Bewegen des Werkzeugs des Roboters 4 von der aktuellen Position zu einer durch den Bewegungsbefehl bezeichneten Position (d. h. die Position des Werkstücks vor dem Starten einer Folgebewegung) erforderlich ist, und eine Zeit T, die zum Bewegen des Werkzeugs des Roboters 4 aus der aktuellen Position in die bezeichnete Position erforderlich ist, berechnet werden, und das Ergebnis wird in dem Wegbildungsteil 16 registriert.
Die Gelenkwinkeländerung ΔJ ist aus der Differenz zwischen dem aktuellen Gelenkwinkel des Roboters 4 und einem Gelenkwinkel des Roboters 4 mit dem in der bezeichneten Position positio­ nierten Werkzeug ermittelbar. Fig. 9 ist ein Graph, der die Beziehung zwischen der Position des Werkstücks und dem Gelenkwinkel des Roboters 4 zeigt, wobei die aktuelle Position des Roboters 4 durch P0 repräsentiert und die bezeichnete Position auf dem Band 1 durch P1 repräsentiert ist (die aktuelle Position P0 ist im Roboterkoordinatensystem und die bezeichnete Position P1 ist im Bandkoordinatensystem). Die Gelenkwinkeländerung ΔJ wird aus dem folgenden Ausdruck ermittelt, wobei aus der bezeichneten Position P1 des Werkstücks gewonnene Gelenkwinkelkoordinaten J1, die in das Roboterkoordinatensystem und dann in das Gelenkwinkelkoordinatensystem transformiert werden, und aus der aktuellen Position P0 des Roboters 4 gewonnene Gelenkwinkelkoordinaten J0, die in das Gelenkwinkelkoordinatensystem transformiert werden, verwendet werden.
ΔJ = J1 - J0
Die Zeit T wird unter Berücksichtigung der Beschränkungen des Motors der einzelnen Gelenke und ähnlichem durch ein vorab eingestelltes Berechnungsverfahren berechnet. Die Gelenkwinkelände­ rung ΔJ und die so berechnete Zeit T werden als Bewegungsbefehl im Wegbildungsteil 16 registriert.
Fig. 10 ist ein Flußdiagramm des Betriebs des in Fig. 1 gezeigten Wegbildungsteils 16.
Der Wegbildungsteil 16 überprüft, wenn er zu den gegebenen Abtastintervallen aufgerufen wird, ob der Bewegungsbefehl registriert ist oder nicht (Schritt S21). Wenn der Bewegungsbefehl registriert ist, d. h., die Bewegung des Roboters 4 ist angewiesen, bildet der Wegbildungsteil 16 einen Folgeweg, längs dem die Bewegung ausgeführt wird. Um den Folgeweg zu bilden, wird zuerst ein Direktgelenkwinkel Js(t) berechnet (Schritt S22), der einen direkten Weg in einer Richtung zur Bewegung des Werkzeugs des Roboters 4 von einer aktuellen Position zu einer bezeichneten Position repräsentiert, die in einem Bewegungsbefehl enthalten ist (in eine Richtung zur Position des Werkstücks zur Zeit, wenn der Roboter 4 die Folgebewegung startet). Der Gelenkwinkel Js(t) wird durch den folgenden Ausdruck unter Verwendung der Gelenkwinkeländerung ΔJ und der Zeit T gewonnen.
Js(t) = J0 + ΔJ.(t - t0)/T (t0 ≦ t ≦ t0 + T)
In dem obigen Ausdruck bezeichnet J0 einen Gelenkwinkel des Roboters 4 an der aktuellen Position P0, und t0 bezeichnet die Zeit, wenn die Folgebewegung startet.
Dann wird auf der Basis der aktuellen Zeit t ermittelt, ob die Wegbildung beendet ist oder nicht (Schritt S23). Wenn die aktuelle Zeit t kleiner als t0 + T ist, wird bestimmt, daß die Wegbildung nicht beendet ist, und es wird nach Maßgabe des Flags überprüft, ob die bezeichnete Position durch die Bandkoordinaten oder die Roboterkoordinaten gegeben ist (Schritt S25). Wenn Flag 1 erkannt wird, wird bestimmt, daß die bezeichnete Position durch die Bandkoordinaten gegeben ist, und eine zusätzliche Gelenkwinkeländerung ΔJt(t) für einen zusätzlichen Weg in der Bewegungsrichtung des Werkstücks, d. h. für eine zusätzliche Folgebewegung unter Berücksichtigung der Bewegung des Bands 1, wird berechnet (Schritt S26).
Die Berechnung der zusätzlichen Gelenkwinkeländerung ΔJt(t) für die zusätzliche Folgebewegung wird unter Bezug auf Fig. 9 beschrieben.
In Fig. 9 ist die durch die Bandkoordinaten angegebene Position des Werkstücks zur Zeit t durch Pt(t) repräsentiert, und die Änderung von Pt(t) wird durch den Codierer 3 erfaßt. Wenn Pt(t) überprüft wird, beispielsweise in vorbestimmten Intervallen, kann eine Änderung ΔPt(t) während eines Intervalls ermittelt werden. Die Gelenkwinkeländerung ΔJt(t) für die zusätzliche Folgebewegung entspricht der Änderung ΔPt(t) von Pt(t) und wird auf der Basis von Gelenkwinkeln Jt(t), die durch Transformieren der Positionen Pt(t) im Bandkoordinatensystem in diejenigen im Gelenkwinkelkoordi­ natensystem über diejenigen im Roboterkoordinatensystem gewonnen werden, durch den folgenden Ausdruck berechnet:
ΔJt(t) = Jt(t) - J1
Die zusätzliche Gelenkwinkeländerung ΔJt(t) zeigt die Bewegung des Werkstücks in dem Gelenk­ winkelkoordinatensystem und wird zur Bildung des Folgewegs in der Folgerichtung des Roboters 4 verwendet, so daß der Folgeweg unter Berücksichtigung des Ausmaßes an Bewegung (der Geschwindigkeit) des Bandes 1 gebildet wird.
Der Wegbildungsteil 16 berechnet einen Zielgelenkwinkel J(t) für einen Folgeweg als Ziel durch Addieren des Direktgelenkwinkels Js(t) in einer Richtung zur bezeichneten Position hin und der zusätzlichen Gelenkwinkeländerung ΔJt(t) in der Bewegungsrichtung des Werkstücks, für jedes Gelenk (Schritt S27). Der Zielgelenkwinkel J(t) wird durch den folgenden Ausdruck gewonnen.
J(t) = Js(t) + ΔJt(t)
Der Wegbildungsteil 16 überträgt den Zielgelenkwinkel J(t) in die Motorimpulskoordinaten und gibt diese an den Motorsteuerteil 18 aus (Schritt S27). Wenn in Schritt S25 ermittelt wird, daß die bezeichnete Position in dem Roboterkoordinatensystem angegeben ist, geht der Prozeß unter Überspringen von Schritt S26 zu Schritt S27 weiter. Durch Weglassen der Berechnung der zusätzli­ chen Gelenkwinkeländerung ΔJt(t) wird kein zusätzlicher Weg gebildet, und es wird nur ein direkter Weg zur bezeichneten Position gebildet. Der Wegbildungsteil 16 bildet nacheinander Wege nach Maßgabe des Koordinatensystems, in dem die in dem Befehl enthaltene bezeichnete Position angegeben ist, und überträgt Zielgelenkwinkel der Folgewege in die Motorimpulskoordinaten und gibt diese mit einer gegebenen Abtastfrequenz aus.
Wenn die Zeit t0 + T verstrichen ist und die Handhabung des Werkstücks beendet worden ist, wird festgelegt, daß die Wegbildung in Schritt S23 beendet worden ist, um eine Nachricht von der Beendigung des Bewegungsbefehls an den Benutzerprogrammausführteil 12 zu geben (Schritt S24). Selbst wenn die Zeit t0 + T verstrichen ist, wird die zusätzliche Gelenkwinkeländerung (der zusätzliche Weg) ΔJt(t) kontinuierlich gebildet, um den Roboter 4 bei der Ausführung der Folgebewegung zu halten, außer es wird ein Abbruch der Folgebewegung angewiesen. Wenn das Werkstück aus dem Folgebereich herausgeht und der Roboter 4 die Folgebewegung fortsetzt, erzeugt der Ereigniserfas­ sungsteil 17 ein Folgebewegungsabbruchereignis. Indem das Programm so ausgeführt wird, daß es nach Maßgabe des Folgebewegungsabbruchereignisses die Folgebewegung abbricht, wird daher die Bildung des zusätzlichen Wegs abgebrochen, um einen Fehler dahingehend zu vermeiden, daß eine Folgebewegung außerhalb des Folgebereichs ausgeführt wird.
Bei dieser Anordnung kann der Benutzer, wenn er das Werkzeug des Roboters 4 dem Werkstück auf dem Band 1 folgen lassen will, veranlassen, daß der Roboter 4 automatisch die Folgebewegung unter Berücksichtigung einer zusätzlichen Bewegung des Werkstücks auf dem Band startet, indem die Position des Werkstücks in dem Bandkoordinatensystem angegeben wird (beispielsweise dessen Angabe mit der Variablen "workpos", welche die aktuelle Position des Werkstücks angibt). Ferner kann der Benutzer, wenn er die Werkstücke nach deren Handhabung auf dem Band 1 auf einem seitlich des Roboters 4 angeordneten Tisch anordnen will, die Bildung des zusätzlichen Wegs automatisch abbrechen und das Werkzeug des Roboters 4 zu einer Zielposition auf dem Tisch bewegen, indem die Zielposition in dem Roboterkoordinatensystem angegeben wird. Daher kann der Benutzer ein Programm so leicht auslegen wie ein Programm zur Bearbeitung stationärer Werkstücke ohne Berücksichtigung der Bewegung des Bandes 1.
Fig. 11 ist ein Beispiel eines Benutzerprogramms gemäß der ersten Ausführungsform der Erfindung. Die Fig. 12A und 12B sind Flußdiagramme für die Verarbeitung der in Fig. 11 gezeigten Aufgabe 1 bzw. Aufgabe 2. Entsprechende Prozeßschritte in den Fig. 11, 12A und 12B werden unter Verwen­ dung der gleichen Bezugszeichen bezeichnet.
In einer Hauptaufgabe (FUNCTION MAIN) dieses Programms werden Aufgabe 1 und Aufgabe 2 in der ersten Zeile bzw. in der zweiten Zeile durch einen Befehl (XQT) aktiviert, der die Ausführung anderen Funktionen anweist. In Aufgabe 1 wird auf die Ankunft des Werkstücks gewartet (Schritt S31). Wenn ein Werkstückankunftsereignis von dem Ereigniserfassungsteil 17 erzeugt wird und die Ankunft des Werkstücks erkannt wird, wird der Roboter 4 so gesteuert, daß er dem Werkstück folgt (Schritt S32). Wenn die Handhabung beendet ist (Schritt S33), wird das Werkzeug des Roboters 4 zu einer Position P2 (einer Position im Roboterkoordinatensystem) bewegt (Schritt S34). In Aufgabe 2 wird in der ersten Zeile auf ein Folgebewegungsabbruchereignis gewartet (Schritt S41). Wenn das Folgebewegungsabbruchereignis von dem Ereigniserfassungsteil 17 erzeugt worden ist, d. h., wenn das Werkstück aus dem Folgebereich austritt, wird in der zweiten Zeile von Aufgabe 2 die Aufgabe 1 abgebrochen (Schritt S42), in der dritten Zeile wird die Folgebewegung abgebrochen (Schritt S43), und in der vierten Zeile wird eine Fehlerbehandlung ausgeführt (Schritt S44).
Der Betrieb gemäß der ersten Ausführungsform wird unten beschrieben, wobei das in Fig. 11 gezeigte Benutzerprogramm so ausgeführt wird, daß der Roboter 4 von der aktuellen Position P0 (vergleiche Fig. 3) aus startet, dem sich auf dem Band 1 bewegenden Werkstück zu folgen (P1 ist eine Position des Werkstücks zur Zeit der Ausgabe eines Betriebsbefehls (vergleiche Fig. 3)), um das Werkstück zu handhaben, und das Werkstück auf eine Palette legt, die auf einem Tisch angeordnet ist, der seitlich des Roboters 4 an der Position P2 (vergleiche Fig. 3) angeordnet ist.
Der Benutzer speichert den Folgebereich vorab im Folgebereichspeicherteil 15, führt dann ein Programm aus, um das Werkstück unter Verwendung der Kamera 2 zu erkennen, wodurch die Kamera 2 die Bildaufnahme beginnt. Die Position des Werkstücks wird aus der Bildaufnahme ermittelt, in dem Speicherteil 13 für die aktuelle Position des Werkstücks gespeichert und anschlie­ ßend in dem Teil 14 zum Aktualisieren der aktuellen Position des Werkstücks aktualisiert. Bei dem Aktualisierungsvorgang wird die Position in dem Bandkoordinatensystem berechnet. Im Vergleich zu einem bekannten Verfahren wird der Rechenumfang beträchtlich reduziert. Der Ereigniserfassungs­ teil 17 überprüft zu gegebenen Abtastintervallen die aktuelle Position des Werkstücks und den im Folgebereichspeicherteil 15 gespeicherten Einstellwert des Folgebereichs und erzeugt, seit das Werkstück im Folgebereich ankommt und bis das Werkstück den Folgebereich verläßt, wiederholt Werkstückankunftsereignisse. Wenn das Werkstück den Folgebereich verläßt, erzeugt der Ereignis­ erfassungsteil 17 ein Folgebewegungsabbruchereignis.
Die obigen Prozesse starten durch das Ausführen eines die Erkennung des Werkstücks betreffenden Programms, noch bevor das Betriebsprogramm des Roboters 4 vom Benutzer aktiviert wird. Die Prozesse werden auf der Seite der Robotersteuerung 5 unabhängig vom Betrieb des Roboters 4 ausgeführt.
Wenn der Benutzer beispielsweise das in Fig. 11 gezeigte Benutzerprogramm (Roboterbetriebspro­ gramm) ausführt, aktiviert der Benutzerprogrammausführteil 12 Aufgabe 1 und Aufgabe 2. In Aufgabe 1 wird in der ersten Zeile auf die Ankunft des Werkstücks gewartet, und der Benutzerpro­ grammausführteil 12 führt den nachfolgenden Befehl aus, wenn der Ereigniserfassungsteil 17 ein Werkstückankunftsereignis erzeugt. Der Befehl in der zweiten Zeile ist ein Bewegungsbefehl, der Positionsdaten enthält, welche die Variable "workpos" sind, welche die aktuelle Position des Werkstücks auf dem Band 1 bezeichnen. Daher setzt der Benutzerprogrammausführteil 12 das Flag auf 1, berechnet die Gelenkwinkeländerung ΔJ und die Zeit T und registriert den Bewegungsbefehl im Wegbildungsteil 16. Dann bewegt sich der Prozeß in einen Modus des Wartens auf eine Nachricht von der Beendigung des Bewegungsbefehls von dem Wegbildungsteil 16.
Der Wegbildungsteil 16 bildet einen Folgeweg nach Maßgabe des registrierten Bewegungsbefehls. Da dieser Befehl Positionsdaten in dem Bandkoordinatensystem enthält, werden der direkte Gelenkwinkel Js(t) und die zusätzliche Gelenkwinkeländerung ΔJt(t) berechnet, ein Folgeweg wird durch Addieren des direkten Gelenkwinkels Js(t) und der zusätzlichen Gelenkwinkeländerung ΔJt(t) gebildet, und der Gelenkwinkel J(t) für den Folgeweg wird in die Motorimpulskoordinaten transfor­ miert und ausgegeben. Der Motorsteuerteil 18 steuert die Gelenke des Roboters 4 nach Maßgabe des aus dem Wegbildungsteil 16 ausgegebenen gepulsten Signals. Der Wegbildungsteil 16 bildet zu jedem gegebenen Abtastzeitpunkt wiederholt den Weg und gibt eine Nachricht von der Beendigung des Bewegungsbefehls an den Benutzerprogrammausführteil 12, wenn die Handhabung beendet ist.
Wenn der Benutzerprogrammausführteil 12 die Nachricht von der Beendigung des Bewegungsbe­ fehls vom Wegbildungsteil 16 empfängt, führt der Benutzerprogrammausführteil 12 den nachfolgen­ den Befehl aus. Bei einem anderen Bewegungsbefehl in der dritten Zeile ist die Position P2 im Roboterkoordinatensystem bezeichnet. Daher setzt der Benutzerprogrammausführteil 12 das Flag auf 0, berechnet die Gelenkwinkeländerung ΔJ und die Zeit T und registriert den Bewegungsbefehl.
Der Wegbildungsteil 16 berechnet den direkten Gelenkwinkel Js(t) nach Maßgabe des registrierten Bewegungsbefehls. Wenn die Berechnung der zusätzlichen Gelenkwinkeländerung weggelassen wird, wird der direkte Gelenkwinkel Js(t) als Zielgelenkwinkel J(t) angesehen, der in die Motorim­ pulskoordinaten transformiert und ausgegeben wird. Dadurch bricht der Roboter 4 die Folgebewe­ gung ab, die der Roboter 4 nach der Handhabung des Werkstücks gerade ausgeführt hat, und bewegt sich zur Position P2.
In Aufgabe 2 wird in der ersten Zeile auf ein Folgebewegungsabbruchereignis gewartet. Wenn der Ereigniserfassungsteil 17 das Folgebewegungsabbruchereignis erzeugt, wird Aufgabe 1 in der zweiten Zeile abgebrochen, und in der dritten Zeile wird die Folgebewegung abgebrochen.
Gemäß der oben beschriebenen ersten Ausführungsform wird der Rechenumfang hinsichtlich der aktuellen Position des Werkstücks durch Anwenden des Bandkoordinatensystems reduziert, wodurch die Belastung der Robotersteuerung 5 reduziert werden kann.
Der zusätzliche Weg wird nur durch Ausführen eines Bewegungsbefehls mit Positionsdaten im Bandkoordinatensystem automatisch ausgeführt (beispielsweise die Daten der Position, die Variablen enthalten, welche die Daten der Position im Bandkoordinatensystem enthalten oder mit der angehängten Koordinatensystembezeichnung "/CNV"). Im Gegensatz dazu wird, wenn der Bewegungsbefehl, der Positionsdaten im Roboterkoordinatensystem enthält, ausgeführt wird, die Bildung des zusätzlichen Wegs automatisch unterbrochen. Daher kann der Benutzer Programme so einfach entwerfen wie ein Programm zum Bearbeiten eines stationären Werkstücks, ohne die Bewegung des Bands 1 zu berücksichtigen.
Da ein Folgebereich im Bandkoordinatensystem eingestellt wird und die Ankunft des Werkstücks in dem Folgebereich und das Verlassen des Folgebereichs erfaßt werden und als Ereignisse in der Robotersteuerung 5 erzeugt werden (durch den Ereigniserfassungsteil 17), kann die Belastung der Robotersteuerung 5 im Vergleich zu einem bekannten Verfahren reduziert werden, bei dem die Erfassung durch ein Benutzerprogramm ausgeführt wird, wodurch eine Abnahme der Verarbeitungs­ geschwindigkeit verhindert und die Leistungsfähigkeit verbessert wird. Es ist nicht erforderlich, daß der Benutzer im Benutzerprogramm eine Prozeßschleife beschreibt, und es wird nur ein Befehl zum Warten auf ein vom Ereigniserfassungsteil 17 erzeugtes Ereignis beschrieben, wodurch die Beschreibung des Programms einfach wird.
Wie in einem in Fig. 11 gezeigten Beispiel eines Benutzerprogramms gezeigt, kann das Programm so geschrieben werden, daß jeder auszuführende Prozeß für jedes erzeugte Ereignis modularisiert wird. Offensichtlich ist die Lesbarkeit des Programms im Vergleich zu derjenigen des in Fig. 20 gezeigten bekannten Benutzerprogramms deutlich verbessert.
Da die Erfassung von Ereignissen von Software ausgeführt wird, kann beispielsweise die Modifika­ tion des Folgebereichs in einfacher Weise durch Modifizieren von Folgebereicheinstellungen ausgeführt werden, so daß eine flexible Verarbeitung erzielt werden kann.
Wenn ermittelt wird, daß das Werkstück nicht im Folgebereich positioniert ist, wird ein Folgebewe­ gungsabbruchereignis erzeugt. Daher kann beispielsweise das Risiko, daß der Roboter 4 die Folgebewegung außerhalb des Folgebereichs fortsetzt, zuverlässig vermieden werden, wenn die Bildung des zusätzlichen Wegs so erfolgt, daß sie entsprechend dem Folgebewegungsabbrucher­ eignis abgebrochen wird. Der Benutzer kann in einfacher Weise ein Betriebsprogramm entwerfen, um das Risiko eines Fehlers zu vermeiden, der dadurch verursacht wird, daß sich der Roboter 4 aufgrund des Fortsetzens der Folgebewegung in einen Bereich außerhalb der Betriebsreichweite bewegt. Wenn ein Folgebewegungsabbruchereignis ohne Verwendung des Benutzerprogramms erzeugt wird, kann die Bildung des zusätzlichen Wegs automatisch abgebrochen werden. In diesem Fall können die vorbeschriebenen Risiken automatisch und zuverlässig vermieden werden.
Das Bandkoordinatensystem enthält die x-Achse parallel zur Richtung der Bewegung des Bands 1 und die y-Achse in der Breitenrichtung des Bands 1, wodurch die Position in einfacher Weise durch Angabe der Position einige Millimeter in Antriebsrichtung nach vorn oder einige Millimeter in der Breitenrichtung des Bands 1 mitgeteilt werden kann.
In dem Prozeß wird ein Folgeweg als Ziel durch Addieren des direkten Wegs des Roboters 4 zur bezeichneten Position und eines zusätzlichen Wegs, der vom Ausmaß der Bewegung des Bands 1 abhängt, gebildet. Daher kann der Folgeweg mit Kompensation für die Bewegung des Bands 1 gebildet werden, was es somit ermöglicht, daß das Werkstück exakt gehandhabt wird.
Zweite Ausführungsform
Fig. 13 ist eine Darstellung der Anordnung eines Handhabungssystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung.
Bei dem Handhabungssystem gemäß der zweiten Ausführungsform ist anstatt der in Fig. 3 gezeig­ ten Kamera 2 ein Sensor 21 zum Erfassen der Ankunft eines sich bewegenden Werkstücks (eine Palette 23) vorgesehen.
Solch ein Handhabungssystem wird verwendet, wenn beispielsweise des Werkstück (die Palette 23) auf dem Band in der Breitenrichtung des Bands 1 orientiert ist. In diesem Handhabungssystem wird, wenn beispielsweise auf einem Tisch angeordnete Werkstücke 22 auf die Palette 23 bewegt werden sollen, die in 3 × 3 gleichförmige Abteile unterteilt ist, jedes Abteil der Palette 23 als die Zielposition des Roboter-Werkzeugs in einem Benutzerprogramm bezeichnet. In diesem Fall wird ein Bandkoor­ dinatensystem angewendet, und eine Position A (xA, yA, 0), in einem Bandkoordinatensystem, des linken oberen Abteils der in Fig. 14 gezeigten Palette 23 wird als die aktuelle Position des Werk­ stücks registriert, wodurch beispielsweise eine Position B durch Bezeichnen der Position B als (xA + Δx, yA - Δy, 0) bezeichnet werden kann, was die Position in einer Form ausdrückt, die bezüglich der aktuellen Position A einen Versatz aufweist (bezüglich ihr versetzt ist). Durch Verwendung des Bandkoordinatensystems kann der Einfluß auf das sich bewegende Werkstück auf dem Band 1 in einfacher Weise beschrieben werden. Das in Fig. 13 gezeigte Handhabungssystem kann für einen Vorgang verwendet werden, bei dem zwei Arten von alternierend auf einer Palette angeordneten Teilen zu einem Körper auf dem Band 1 zusammengesetzt werden. Das Handhabungssystem gemäß der zweiten Ausführungsform bietet im wesentlichen die gleichen Wirkungen und Vorteile wie bei dem System gemäß der ersten Ausführungsform.
Dritte Ausführungsform
Fig. 15 ist eine Darstellung einer Übersicht über ein Handhabungssystem gemäß einer dritten Ausführungsform der vorliegenden Erfindung. Fig. 16 ist eine Darstellung, die ein Bandkoordinaten­ system und einen Folgebereich in dem Handhabungssystem gemäß der dritten Ausführungsform zeigt.
Bei dem Handhabungssystem gemäß der dritten Ausführungsform wird ein Drehtisch (mit einem bogenförmigen Fördermittel) 31 anstatt des in Fig. 1 gezeigten Bands 1 verwendet. Bei Verwendung des Drehtischs 31 enthält ein Bandkoordinatensystem die durch einen Rotationswinkel repräsen­ tierten x-Koordinate, eine durch die Drehachse des Fördermittels repräsentierte z-Koordinate und die durch einen Abstand von der Drehachse repräsentierte y-Koordinate, wie in Fig. 16 gezeigt. Die Koordinatenwerte sind angegeben durch (Rotationswinkel (in Grad), Radius (in Millimetern), Höhe (in Millimetern)). Die Folgebereicheinstellwerte des in Fig. 16 schraffiert dargestellten Folgebereichs werden durch a (xa, ya, 0) und b (xb, yb, 0) repräsentiert.
Bei Verwendung des Drehtischs 31 wird nur der x-Koordinatenwert der aktuellen Position des Werkstücks aktualisiert. Das Handhabungssystem gemäß der dritten Ausführungsform bietet im wesentlichen die gleichen Wirkungen und Vorteile wie jene des Antreibungssystems gemäß der ersten oder der zweiten Ausführungsform.
Vierte Ausführungsform
Fig. 17 ist eine Darstellung einer Übersicht über ein Handhabungssystem gemäß einer vierten Ausführungsform der vorliegenden Erfindung.
Dieses Handhabungssystem verwendet eine Mehrzahl von Robotern für ein Band. Für jeden Roboter werden ein Bandkoordinatensystem und ein Folgebereich eingestellt.
Dieses Handhabungssystem arbeitet so, daß, wenn es einem Roboter 4 nicht gelungen ist, ein Werkstück aus einer Mehrzahl von Werkstücken aufzunehmen, die sich mit hoher Geschwindigkeit bewegen, ein Roboter 43 das Werkstück handhabt, oder wenn zwei verschiedene Arten von Werkstücken durcheinandergemischt vorkommen, daß der Roboter 4 eine Art von Werkstücken handhabt und der Roboter 43 die andere Art von Werkstücken handhabt. Das Handhabungssystem gemäß der vierten Ausführungsform der vorliegenden Erfindung bietet im wesentlichen die gleichen Wirkungen und Vorteile wie jene, die von dem Handhabungssystem gemäß der ersten oder der zweiten Ausführungsform geboten werden.
Fünfte Ausführungsform
Fig. 18 ist eine Darstellung einer Übersicht über ein Handhabungssystem gemäß einer fünften Ausführungsform der vorliegenden Erfindung. Ein Roboter arbeitet bei diesem Handhabungssystem für eine Mehrzahl von Bändern. In diesem Fall kann der Vorgang des Bewegens eines Werkstücks von einem Band 1 zu beispielsweise einem Band 1a in einfacher Weise programmiert werden, indem ein Bandkoordinatensystem für jedes Band definiert wird. Anstatt der Koordinatensysteme gemäß den oben beschriebenen Ausführungsformen kann erfindungsgemäß auch ein in Fig. 19A gezeigtes schiefwinkliges Koordinatensystem oder ein in Fig. 19B gezeigtes anderes Koordinatensystem verwendet werden. Folgebereiche sind in den Fig. 19A und 19B schraffiert gezeigt. Folgebereichein­ stellwerte sind durch Punkte a (xa, ya, 0) und b (xb, yb, 0) an entgegengesetzten Ecken, wie in dem in Fig. 6 gezeigten rechtwinkligen Koordinatensystem, gezeigt.

Claims (28)

1. Verfahren zur Steuerung eines Roboters, der einem sich auf einem Fördermittel beför­ derten, sich bewegenden Gegenstand folgt und eine vorbestimmte Handlung an dem sich bewegen­ den Gegenstand ausführt, wobei das Verfahren folgende Schritte umfaßt:
Erfassen des sich bewegenden Gegenstands;
Ermitteln einer Erfassungsposition des sich bewegenden Gegenstands in einem Förder­ mittelkoordinatensystem aus dem Ergebnis der Erfassung;
aufeinanderfolgendes Aktualisieren der aktuellen Position des sich bewegenden Gegen­ stands in dem Fördermittelkoordinatensystem auf der Basis der Erfassungsposition des sich bewegenden Gegenstands und des Ausmaßes an Bewegung des Fördermittels;
Transformieren der aktuellen Position des sich bewegenden Gegenstands im Fördermittel­ koordinatensystem in diejenige in einem Roboterkoordinatensystem; und
Bilden eines Folgewegs für den Roboter auf der Basis der transformierten Position, damit er dem sich bewegenden Gegenstand folgen kann.
2. Verfahren zur Steuerung eines Roboters nach Anspruch 1, bei dem das Fördermittelko­ ordinatensystem aus einer x-Achse in der Bewegungsrichtung des sich bewegenden Gegenstands, einer zusammen mit der x-Achse eine Tragefläche des Fördermittels bildenden y-Achse und einer zur x-Achse sowie zur y-Achse senkrechten z-Achse besteht.
3. Verfahren zur Steuerung eines Roboters nach Anspruch 1 oder 2, ferner umfassend fol­ genden Schritt:
Veranlassen, daß der Roboter eine Folgebewegung nach Maßgabe eines Bewegungsbe­ fehls startet, um dem sich bewegenden Gegenstand an einer Position zu folgen, die durch Posi­ tionsbezeichnungsdaten bezeichnet ist, die in dem Bewegungsbefehl enthalten sind, vorausgesetzt, daß die Positionsbezeichnungsdaten in dem Fördermittelkoordinatensystem angegeben sind.
4. Verfahren zur Steuerung eines Roboters nach Anspruch 3, ferner umfassend folgende Schritte:
Einstellen eines Folgebereichs in dem Fördermittelkoordinatensystem;
Ermitteln, auf der Basis des Folgebereichs und der aktuellen Position des sich bewegen­ den Gegenstands, ob der sich bewegende Gegenstand in dem Folgebereich positioniert ist oder nicht;
Erzeugen eines Ereignisses der Ankunft des sich bewegenden Gegenstands, wenn ermit­ telt wird, daß der sich bewegende Gegenstand in dem Folgebereich positioniert ist; und
Veranlassen, daß der Roboter eine Folgebewegung nach Maßgabe eines Bewegungsbe­ fehls startet, um dem sich bewegenden Gegenstand an einer Position zu folgen, die durch die in dem Bewegungsbefehl enthaltenen Positionsbezeichnungsdaten bezeichnet ist, wenn das Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt wird.
5. Verfahren zur Steuerung eines Roboters nach Anspruch 4, bei dem mit einer bestimm­ ten Häufigkeit ermittelt wird, ob der sich bewegende Gegenstand im Folgebereich positioniert ist oder nicht.
6. Verfahren zur Steuerung eines Roboters nach Anspruch 4 oder 5, bei dem der Folgebe­ reich durch zwei zur Bewegungsrichtung des sich bewegenden Gegenstands parallele erste Linien und zwei zu den ersten Linien senkrechte zweite Linien auf einer Tragefläche des Fördermittels begrenzt ist.
7. Verfahren zur Steuerung eines Roboters nach einem der Ansprüche 4 bis 6, bei dem der Folgeweg für den Roboter zum Folgen des sich bewegenden Gegenstands durch Addieren eines zusätzlichen Wegs in der Bewegungsrichtung des sich bewegenden Gegenstands zu einem direkten Weg eines Werkzeugs des Roboters in einer Richtung zu einer Startposition hin gebildet wird, wo der sich bewegende Gegenstand beim Start der Folgebewegung positioniert ist, wobei der zusätzli­ che Weg durch Transformieren der Änderung der Position des sich bewegenden Gegenstands im Fördermittelkoordinatensystem in diejenige im Roboterkoordinatensystem und außerdem in diejenige in einem Robotergelenkwinkelkoordinatensystem gewonnen wird und der direkte Weg durch Transformieren von Positionen des Werkzeugs des Roboters und des sich bewegenden Gegenstands beim Start der Folgebewegung im Roboterkoordinatensystem bzw. im Fördermittelko­ ordinatensystem in diejenigen im Robotergelenkwinkelkoordinatensystem gewonnen wird.
8. Verfahren zur Steuerung eines Roboters nach Anspruch 7, ferner umfassend folgende Schritte:
Erzeugen eines Folgebewegungsabbruchereignisses, wenn ermittelt wird, daß der sich bewegende Gegenstand sich nicht im Folgebereich befindet; und
Ausführen eines Prozesses in Antwort auf das Folgebewegungsabbruchereignis.
9. Verfahren zur Steuerung eines Roboters nach Anspruch 8, bei dem der Prozeß in Antwort auf das Folgebewegungsabbruchereignis ein Prozeß zum Abbrechen der Bildung des zusätzlichen Wegs ist.
10. Verfahren zur Steuerung eines Roboters nach einem der Ansprüche 7 bis 9, ferner umfassend folgende Schritte:
Abbrechen der Bildung des zusätzlichen Wegs nach Maßgabe eines Positionsbezeich­ nungsdaten enthaltenden Bewegungsbefehls, vorausgesetzt, daß die Positionsbezeichnungsdaten in dem Roboterkoordinatensystem angegeben sind; und
Bilden des Folgewegs, der aus dem direkten Weg in einer Richtung zu der von den Posi­ tionsbezeichnungsdaten bezeichneten Position besteht.
11. Verfahren zur Steuerung eines Roboters nach einem der Ansprüche 1 bis 10, bei dem für jedes einer Mehrzahl von Fördermitteln ein Fördermittelkoordinatensystem vorgesehen ist.
12. Verfahren zur Steuerung eines Roboters nach einem der Ansprüche 4 bis 10, bei dem für jeden einer Mehrzahl von Robotern das Fördermittelkoordinatensystem und der Folgebereich vorgesehen sind.
13. Verfahren zur Steuerung eines Roboters nach einem der Ansprüche 1 bis 12, bei dem das Fördermittel ein geradliniges Fördermittel umfaßt.
14. Verfahren zur Steuerung eines Roboters nach einem der Ansprüche 1 bis 12, bei dem das Fördermittel entweder ein bogenförmiges Fördermittel oder einen Drehtisch umfaßt und das Koordinatensystem des Fördermittels eine durch einen Drehwinkel repräsentierte x-Koordinate, eine durch die Drehachse des Fördermittels repräsentierte z-Koordinate und eine durch den Abstand von der Drehachse repräsentierte y-Koordinate umfaßt.
15. Robotersteuerung zum Steuern eines Roboters, der einem von einem Fördermittel be­ förderten, sich bewegenden Gegenstand folgt und eine vorbestimmte Handlung an dem sich bewegenden Gegenstand ausführt, umfassend:
einen Speicherteil für die aktuelle Position des sich bewegenden Gegenstands zum Spei­ chern der aktuellen Position des sich bewegenden Gegenstands;
einen Detektor zum Erfassen des sich bewegenden Gegenstands;
einen Aktualisierungsteil für die aktuelle Position des sich bewegenden Gegenstands zum Ermitteln einer Erfassungsposition des sich bewegenden Gegenstands in einem Fördermittelkoordi­ natensystem aus dem Ergebnis der Erfassung durch den Detektor, zum Berechnen der aktuellen Position des sich bewegenden Gegenstands auf der Basis der Erfassungsposition des sich bewegenden Gegenstands und des Ausmaßes an Bewegung des Fördermittels, und zum Aktualisie­ ren des Speicherteils für die aktuelle Position des sich bewegenden Gegenstands mit den berech­ neten Daten; und
einen Wegbildungsteil zum Transformieren der im Speicherteil für die aktuelle Position des sich bewegenden Gegenstands gespeicherten aktuellen Position des sich bewegenden Gegen­ stands in dem Fördermittelkoordinatensystem in diejenige in einem Roboterkoordinatensystem und zum Bilden eines Folgewegs für den Roboter auf der Basis der transformierten Position, damit er dem sich bewegenden Gegenstand folgen kann.
16. Robotersteuerung nach Anspruch 15, bei der das Fördermittelkoordinatensystem aus einer x-Achse in der Bewegungsrichtung des sich bewegenden Gegenstands, einer zusammen mit der x-Achse eine Tragefläche des Fördermittels bildende y-Achse und einer zur x-Achse sowie zur y- Achse senkrechten z-Achse besteht.
17. Robotersteuerung nach Anspruch 15 oder 16, ferner umfassend:
einen Benutzerprogrammausführteil, der ein mit einem Bewegungsbefehl beschriebenes Benutzerprogramm ausführt und ermittelt, ob in dem Bewegungsbefehl enthaltene Positionsbezeich­ nungsdaten in dem Fördermittelkoordinatensystem beschrieben sind oder nicht,
wobei der Wegbildungsteil einen Folgeweg für den Roboter bildet, damit er dem sich be­ wegenden Gegenstand an einer Position folgt, die durch die im Bewegungsbefehl enthaltenen Positionsbezeichnungsdaten bezeichnet ist, wenn der Benutzerprogrammausführteil ermittelt, daß die Positionsbezeichnungsdaten in dem Fördermittelkoordinatensystem beschrieben sind.
18. Robotersteuerung nach Anspruch 17, ferner umfassend:
einen Folgebereichspeicherteil zum Speichern eines durch Koordinaten im Fördermittelko­ ordinatensystem repräsentierten Folgebereichs; und
einen Ereigniserfassungsteil, der auf der Basis der im Speicherteil für die aktuelle Position des sich bewegenden Gegenstands gespeicherten aktuellen Position des sich bewegenden Gegenstands und dem im Folgebereichspeicherteil gespeicherten Folgebereich ermittelt, ob der sich bewegende Gegenstand in dem Folgebereich positioniert ist oder nicht, der ein Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt, wenn er ermittelt, daß der sich bewegende Gegenstand in dem Folgebereich positioniert ist, und der ein Folgebewegungsabbruchereignis erzeugt, wenn er ermittelt, daß der sich bewegende Gegenstand nicht in dem Folgebereich positioniert ist,
wobei der Wegbildungsteil einen Folgeweg bildet, damit der Roboter dem sich bewegenden Gegenstand an einer Position folgen kann, die durch die im Bewegungsbefehl enthaltenen Posi­ tionsbezeichnungsdaten bezeichnet ist, wenn das Ereignis der Ankunft des sich bewegenden Gegenstands erzeugt wird.
19. Robotersteuerung nach Anspruch 18, bei der der Ereigniserfassungsteil in gegebenen Intervallen ermittelt, ob der sich bewegende Gegenstand in dem Folgebereich positioniert ist oder nicht.
20. Robotersteuerung nach Anspruch 18 oder 19, bei der der Folgebereich durch zwei zur Bewegungsrichtung des sich bewegenden Gegenstands parallele erste Linien und zwei zu den ersten Linien senkrechte zweite Linien auf einer Tragefläche des Fördermittels begrenzt ist.
21. Robotersteuerung nach einem der Ansprüche 18 bis 20, bei der der Wegbildungsteil den Folgeweg für den Roboter zum Folgen des sich bewegenden Gegenstands durch Addieren eines zusätzlichen Wegs in der Bewegungsrichtung des sich bewegenden Gegenstands zu einem direkten Weg eines Werkzeugs des Roboters in einer Richtung zu einer Startposition hin bildet, wo der sich bewegende Gegenstand beim Start der Folgebewegung positioniert ist, wobei der zusätzli­ che Weg durch Transformieren der Änderung der Position des sich bewegenden Gegenstands im Fördermittelkoordinatensystem in diejenige im Roboterkoordinatensystem und außerdem in diejenige in einem Robotergelenkwinkelkoordinatensystem gewonnen wird und der direkte Weg durch Transformieren von Positionen des Werkzeugs des Roboters und des sich bewegenden Gegenstands beim Start der Folgebewegung im Roboterkoordinatensystem bzw. im Fördermittelko­ ordinatensystem in diejenigen im Robotergelenkwinkelkoordinatensystem gewonnen wird.
22. Robotersteuerung nach Anspruch 21, bei der der Benutzerprogrammausführteil das Ausführen eines Prozesses in Antwort auf das Folgebewegungsabbruchereignis startet, wenn der Ereigniserfassungsteil das Folgebewegungsabbruchereignis erzeugt.
23. Robotersteuerung nach Anspruch 22, bei der der Prozeß in Antwort auf das Folgebe­ wegungsabbruchereignis ein Prozeß zum Abbrechen der Bildung des zusätzlichen Wegs ist.
24. Robotersteuerung nach einem der Ansprüche 21 bis 23, bei der der Wegbildungsteil die Bildung des zusätzlichen Wegs abbricht und den aus dem direkten Weg in einer Richtung zu der durch die Positionsbezeichnungsdaten bezeichneten Position hin bestehenden Folgeweg bildet, wenn der Benutzerprogrammausführteil ermittelt, daß die im Bewegungsbefehl enthaltenen Positionsbezeichnungsdaten in dem Roboterkoordinatensystem angegeben sind.
25. Robotersteuerung nach einem der Ansprüche 15 bis 24, bei der für jedes einer Mehr­ zahl von Fördermitteln ein Fördermittelkoordinatensystem vorgesehen ist.
26. Robotersteuerung nach einem der Ansprüche 15 bis 24, bei der für jeden einer Mehr­ zahl von Robotern das Fördermittelkoordinatensystem und der Folgebereich vorgesehen sind.
27. Robotersteuerung nach einem der Ansprüche 15 bis 26, bei der das Fördermittel ein geradliniges Fördermittel umfaßt.
28. Robotersteuerung nach einem der Ansprüche 15 bis 26, bei der das Fördermittel ent­ weder ein bogenförmiges Fördermittel oder einen Drehtisch umfaßt und das Koordinatensystem des Fördermittels eine durch einen Drehwinkel repräsentierte x-Koordinate, eine durch die Drehachse des Fördermittels repräsentierte z-Koordinate und eine durch den Abstand von der Drehachse repräsentierte y-Koordinate umfaßt.
DE10162967A 2000-12-25 2001-12-20 Verfahren zur Steuerung eines Roboters und dieses Verfahren verwendende Robotersteuerung Expired - Fee Related DE10162967B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000392392A JP2002192486A (ja) 2000-12-25 2000-12-25 ロボット制御方法及び該方法を適用したロボットコントローラ
JP392392/2000 2000-12-25

Publications (2)

Publication Number Publication Date
DE10162967A1 true DE10162967A1 (de) 2002-07-25
DE10162967B4 DE10162967B4 (de) 2013-08-14

Family

ID=18858392

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10162967A Expired - Fee Related DE10162967B4 (de) 2000-12-25 2001-12-20 Verfahren zur Steuerung eines Roboters und dieses Verfahren verwendende Robotersteuerung

Country Status (3)

Country Link
US (1) US6646404B2 (de)
JP (1) JP2002192486A (de)
DE (1) DE10162967B4 (de)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2149831A1 (de) * 2008-07-31 2010-02-03 Siemens Aktiengesellschaft Steuerungsverfahren für einen Verbund aus mehreren, hintereinander und/oder nebeneinander angeordneten, mehrachsigen Handlingsgeräten sowie Datenspeichermedium, Steuerungssystem und Verbund
DE102009060062A1 (de) * 2009-12-22 2011-06-30 Weber Maschinenbau GmbH Breidenbach, 35236 Verfahren zur Geschwindigkeitsoptimierung eines Roboters
DE102011082800A1 (de) * 2011-09-15 2013-03-21 Convergent Information Technologies Gmbh System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
DE10300606B4 (de) * 2003-01-10 2015-11-26 Bosch Rexroth Ag Verfahren und Steuereinrichtung zum Anfahren einer Greifvorrichtung an ein sich bewegendes Stückgut
US9701019B2 (en) 2011-09-15 2017-07-11 Convergent Information Technologies Gmbh System and method for the automatic generation of robot programs
DE102016224037A1 (de) * 2016-12-02 2018-06-07 Weeke Bohrsysteme Gmbh Bearbeitungsvorrichtung zur Durchlaufbearbeitung, Steuereinrichtung und Verfahren
WO2019110243A1 (de) * 2017-12-08 2019-06-13 Kuka Deutschland Gmbh Betreiben eines roboters
DE102017124423B4 (de) * 2016-10-26 2021-05-12 Fanuc Corporation Simulationsvorrichtung und simulationsverfahren zum simulieren einer operation eines roboters
WO2022112325A1 (de) * 2020-11-26 2022-06-02 B&R Industrial Automation GmbH Bewegungssteuerung eines objekts
DE102022107995A1 (de) 2022-04-04 2022-06-09 Audi Aktiengesellschaft Verteiltes Montagesystem und Verfahren zum Montieren eines Werkstücks
DE102011009379B4 (de) 2010-01-28 2022-10-20 Fanuc Corporation Punktschweisssystem und Positionserkennungsverfahren für ein zu schweißendes Werkstück
US11511435B2 (en) * 2017-05-22 2022-11-29 Abb Schweiz Ag Robot-conveyor calibration method, robot system and control system

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7040196B2 (en) * 2003-01-24 2006-05-09 Automated Solutions Assembly machine with spatial positioning control
US6822412B1 (en) * 2003-06-11 2004-11-23 Zhongxue Gan Method for calibrating and programming of a robot application
SE0301910L (sv) 2003-06-26 2004-12-27 Abb Ab Datorstyrd arbetsplats med robotar
US7184635B2 (en) * 2004-06-04 2007-02-27 Commscope Solutions Properties, Llc Optical fiber array connectivity system utilizing angle polished ferrules and aligned-key adapters and cable for same
DE102004047018B4 (de) * 2004-09-28 2017-09-14 Grenzebach Onero Gmbh Einrichtung zur positionsgenauen Übergabe von Gegenständen von einem Transportband auf ein mobiles Transportorgan
US8078338B2 (en) * 2004-10-22 2011-12-13 Irobot Corporation System and method for behavior based control of an autonomous vehicle
US7416347B2 (en) * 2005-05-31 2008-08-26 Commscope Solutions Properties, Llc Optical fiber array connectivity system with indicia to facilitate connectivity in four orientations for dual functionality
JP4210270B2 (ja) * 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
US7627394B2 (en) * 2005-12-20 2009-12-01 Kuka Roboter Gmbh Robot trajectory control including emergency evacuation path system and method
JP2008084131A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 目標軌道生成装置及び目標軌道生成方法
JP4877520B2 (ja) * 2007-06-26 2012-02-15 株式会社Ihi 搬送ロボットとその動作制御方法並びに協調搬送システム及び方法
US8931240B2 (en) * 2008-10-27 2015-01-13 Formax, Inc. Shuttle system and method for moving food products into packaging
JP4621789B2 (ja) * 2009-06-02 2011-01-26 ファナック株式会社 物品搬送ロボットシステム
US9447532B2 (en) * 2014-01-23 2016-09-20 Nike, Inc. Automated assembly and stitching of shoe parts
WO2013088499A1 (ja) * 2011-12-12 2013-06-20 三菱電機株式会社 位置決め装置、及びplcシステム
US9417625B2 (en) * 2012-11-29 2016-08-16 Fanuc America Corporation Robot system calibration method
US9901142B2 (en) 2014-01-23 2018-02-27 Nike, Inc. Adjustable surface for use in manufacturing shoe parts
EP2902862A1 (de) 2014-01-30 2015-08-05 Omron Corporation Steuerungsvorrichtung und Verfahren zur Steuerung der Bewegung einer Maschine, Bewegungsprogramm und Aufzeichnungsmedium zur Speicherung davon
JP6264967B2 (ja) * 2014-03-14 2018-01-24 オムロン株式会社 ロボット制御装置
JP6042860B2 (ja) * 2014-12-02 2016-12-14 ファナック株式会社 ロボットを用いて物品を移送する物品移送装置及び物品移送方法
US9919421B2 (en) * 2015-04-15 2018-03-20 Abb Schweiz Ag Method and apparatus for robot path teaching
JP6643921B2 (ja) * 2015-07-02 2020-02-12 オークラ輸送機株式会社 仕分装置および物品取出方法
JP6407826B2 (ja) 2015-09-03 2018-10-17 ファナック株式会社 座標系設定方法、座標系設定装置、及び座標系設定装置を備えたロボットシステム
DE102015014485A1 (de) 2015-11-10 2017-05-24 Kuka Roboter Gmbh Kalibrieren eines Systems mit einem Fördermittel und wenigstens einem Roboter
JP2019135179A (ja) * 2016-06-09 2019-08-15 三菱電機株式会社 部品供給装置
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
JP7314475B2 (ja) * 2016-11-11 2023-07-26 セイコーエプソン株式会社 ロボット制御装置、及び、ロボット制御方法
GB2558247A (en) * 2016-12-23 2018-07-11 De Beers Uk Ltd Gemstone sorting
JP6490132B2 (ja) 2017-03-31 2019-03-27 ファナック株式会社 ロボットの制御装置、機械学習装置及び機械学習方法
JP6478234B2 (ja) 2017-06-26 2019-03-06 ファナック株式会社 ロボットシステム
JP6568165B2 (ja) 2017-08-14 2019-08-28 ファナック株式会社 ロボットシステム及びロボット制御装置
JP6962229B2 (ja) 2018-02-15 2021-11-05 オムロン株式会社 中央制御装置、制御方法およびプログラム
JP6965785B2 (ja) 2018-02-15 2021-11-10 オムロン株式会社 制御システム、スレーブ装置制御部、制御方法およびプログラム
US10261491B1 (en) * 2018-03-05 2019-04-16 Rockwell Automation Technologies, Inc. Method and apparatus for coordinating external device motion with motion of independent movers in a linear drive system
JP6954193B2 (ja) * 2018-03-12 2021-10-27 オムロン株式会社 制御装置、制御方法、およびプログラム
JP6954192B2 (ja) * 2018-03-12 2021-10-27 オムロン株式会社 制御装置、制御方法、およびプログラム
JP6856583B2 (ja) 2018-07-25 2021-04-07 ファナック株式会社 センシングシステム、作業システム、拡張現実画像の表示方法、拡張現実画像の記憶方法、およびプログラム
JP6856590B2 (ja) 2018-08-31 2021-04-07 ファナック株式会社 センシングシステム、作業システム、拡張現実画像の表示方法、およびプログラム
JP7363098B2 (ja) * 2019-05-24 2023-10-18 セイコーエプソン株式会社 ロボットの制御方法
JP7368156B2 (ja) 2019-09-26 2023-10-24 ファナック株式会社 ロボット制御システム
US10654166B1 (en) 2020-02-18 2020-05-19 UiPath, Inc. Automation windows for robotic process automation
US11233861B2 (en) * 2020-02-18 2022-01-25 UiPath, Inc. Inter-session automation for robotic process automation (RPA) robots
US11392477B2 (en) 2020-07-09 2022-07-19 UiPath, Inc. Automation of a process running in a first session via a robotic process automation robot running in a second session
US11157339B1 (en) 2020-07-09 2021-10-26 UiPath, Inc. Automation of a process running in a first session via a robotic process automation robot running in a second session
CN111805547B (zh) * 2020-07-20 2022-03-22 广东拓斯达科技股份有限公司 一种轨迹动态跟踪实现方法
CN112247984B (zh) * 2020-09-17 2021-11-23 江苏大学 一种变刚度关节轨迹跟踪控制方法
CN112589793B (zh) * 2020-11-16 2022-04-29 北京配天技术有限公司 工件的跟踪方法、机器人、工件的跟踪***及存储装置
DE102021200600A1 (de) * 2021-01-22 2022-07-28 Kuka Deutschland Gmbh Planen eines Pfads eines fahrerlosen mobilen Roboters
CN113232022B (zh) * 2021-05-22 2022-05-13 深圳市华成工业控制股份有限公司 一种圆盘传送跟踪控制方法、***、装置及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4458321A (en) * 1981-08-19 1984-07-03 The Charles Stark Draper Laboratory, Inc. Self-teaching robot feedback system
JPS60221805A (ja) * 1984-04-19 1985-11-06 Fanuc Ltd ロボツトのトラツキング制御方式
JPS6156880A (ja) 1984-08-24 1986-03-22 ファナック株式会社 ライントラツキング制御方式
US4876728A (en) 1985-06-04 1989-10-24 Adept Technology, Inc. Vision system for distinguishing touching parts
JP2786225B2 (ja) * 1989-02-01 1998-08-13 株式会社日立製作所 工業用ロボットの制御方法及び装置
US5243690A (en) * 1989-11-14 1993-09-07 General Electric Company Robot targeting using transit time control
WO1991011885A1 (en) * 1990-01-29 1991-08-08 Technistar Corporation Automated assembly and packaging system
US5237801A (en) 1991-09-26 1993-08-24 Technistar Corporation Automated utensil packaging system
US5568593A (en) * 1994-01-13 1996-10-22 Ethicon, Inc. Robotic control system for a needle sorting and feeding apparatus
JP3002097B2 (ja) * 1994-08-25 2000-01-24 ファナック株式会社 ビジュアルトラッキング方法
DE19512575A1 (de) * 1995-04-04 1996-10-10 Bodenseewerk Geraetetech Verfahren und Vorrichtung zum Erkennen von Gegenständen
JP3077563B2 (ja) 1995-06-09 2000-08-14 澁谷工業株式会社 物品処理装置
JP3077564B2 (ja) 1995-06-09 2000-08-14 澁谷工業株式会社 物品処理装置
JP3834088B2 (ja) * 1995-11-10 2006-10-18 ファナック株式会社 複数のロボットにトラッキング動作を行なわせるための視覚センサ・ロボットシステム
US5969339A (en) 1996-02-26 1999-10-19 Georgia Tech Research Corporation Office Of Technology Licensing Conveyor tracking system for part detection using an array of photoelectric sensors
JPH1083207A (ja) 1996-09-06 1998-03-31 Sony Corp 被搬送物体への接近及び/又は追従に係る装置及びロボット装置
US5807449A (en) * 1997-01-08 1998-09-15 Hooker; Jeffrey A. Workpiece treating apparatus and method of treating same

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10300606B4 (de) * 2003-01-10 2015-11-26 Bosch Rexroth Ag Verfahren und Steuereinrichtung zum Anfahren einer Greifvorrichtung an ein sich bewegendes Stückgut
EP2149831A1 (de) * 2008-07-31 2010-02-03 Siemens Aktiengesellschaft Steuerungsverfahren für einen Verbund aus mehreren, hintereinander und/oder nebeneinander angeordneten, mehrachsigen Handlingsgeräten sowie Datenspeichermedium, Steuerungssystem und Verbund
US8843232B2 (en) 2008-07-31 2014-09-23 Siemens Aktiengesellschaft Control method for a complex consisting of a plurality of multiaxial handling devices arranged in succession and/or side by side, and also data storage medium, control system and complex
DE102009060062A1 (de) * 2009-12-22 2011-06-30 Weber Maschinenbau GmbH Breidenbach, 35236 Verfahren zur Geschwindigkeitsoptimierung eines Roboters
DE102011009379B4 (de) 2010-01-28 2022-10-20 Fanuc Corporation Punktschweisssystem und Positionserkennungsverfahren für ein zu schweißendes Werkstück
US9701019B2 (en) 2011-09-15 2017-07-11 Convergent Information Technologies Gmbh System and method for the automatic generation of robot programs
DE102011082800B4 (de) * 2011-09-15 2016-04-14 Convergent Information Technologies Gmbh System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
DE102011082800A1 (de) * 2011-09-15 2013-03-21 Convergent Information Technologies Gmbh System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
DE102017124423B4 (de) * 2016-10-26 2021-05-12 Fanuc Corporation Simulationsvorrichtung und simulationsverfahren zum simulieren einer operation eines roboters
US11135722B2 (en) 2016-10-26 2021-10-05 Fanuc Corporation Simulation device and simulation method for simulating operation of robot
DE102016224037A1 (de) * 2016-12-02 2018-06-07 Weeke Bohrsysteme Gmbh Bearbeitungsvorrichtung zur Durchlaufbearbeitung, Steuereinrichtung und Verfahren
US11511435B2 (en) * 2017-05-22 2022-11-29 Abb Schweiz Ag Robot-conveyor calibration method, robot system and control system
WO2019110243A1 (de) * 2017-12-08 2019-06-13 Kuka Deutschland Gmbh Betreiben eines roboters
WO2022112325A1 (de) * 2020-11-26 2022-06-02 B&R Industrial Automation GmbH Bewegungssteuerung eines objekts
DE102022107995A1 (de) 2022-04-04 2022-06-09 Audi Aktiengesellschaft Verteiltes Montagesystem und Verfahren zum Montieren eines Werkstücks

Also Published As

Publication number Publication date
US6646404B2 (en) 2003-11-11
US20020105296A1 (en) 2002-08-08
DE10162967B4 (de) 2013-08-14
JP2002192486A (ja) 2002-07-10

Similar Documents

Publication Publication Date Title
DE10162967A1 (de) Verfahren zur Steuerung eines Roboters und dieses Verfahren verwendende Robotersteuerung
DE69331787T2 (de) Robotische Bewegung eines Gegenstanden über einer Werkstücksfläche
EP2539116B1 (de) Prozessmodulbibliothek und programmierumgebung zur programmierung eines manipulatorprozesses
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE2526504C3 (de) Verfahren zur Erstellung eines Programms für die rechnergeführte Steuerung der Arbeitsfunktionen und der Bewegung eines Roboterarmes und Vorrichtung zur Durchführung des Verfahrens
EP2879842B1 (de) Verfahren und programmiermittel zur modifikation einer roboterbahn
DE2636148C2 (de) Verfahren zur Bahnsteuerung eines Elementes mittels linearer oder zirkularer Interpolation
DE2735632A1 (de) Verfahren und anordnung zum steuern eines industrie-roboters
DE102016100808B4 (de) Numerische Steuervorrichtung und Steuerverfahren
EP3623116A1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
DE112009001414T5 (de) Bearbeitungssystem, Steuerungseinrichtung, Steuerungsverfahren und Programm
WO2005087427A1 (de) Verfahren zum laserbearbeiten und lasereinrichtung mit in abhängigkeit von der laserbewegung gesteuerter laserleistung
DE3534183A1 (de) Verfahren zur steuerung eines selbstfahrenden mobilen roboters
EP1604789A2 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
EP2418555A2 (de) Verfahren zur Offline-Programmierung eines NC-gesteuerten Manipulators
DE102019003286A1 (de) Numerische Steuerung
DE102019125335A1 (de) Robotersteuervorrichtung zur Steuerung der Kreisbogenbewegung eines Roboters
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
WO2005039836A2 (de) Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung
DE69207018T2 (de) Verfahren zur Führung eines Roboterarmes durch definieren von Ersatzstrecken
DE4106384A1 (de) Vorrichtung und verfahren zum steuern eines schweissroboters
EP0184075A1 (de) Einrichtung und Verfahren zum Regeln eines Industrieroboters
DE102019000890A1 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren
DE69804764T2 (de) Werkstückerkennungssystem für pulversprühbeschichtungssystem
DE102022131537A1 (de) Automatische online-verriegelungsstrategie

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: SEIKO EPSON CORP., TOKYO, JP

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20131115

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee