DE10162967A1 - Verfahren zur Steuerung eines Roboters und dieses Verfahren verwendende Robotersteuerung - Google Patents
Verfahren zur Steuerung eines Roboters und dieses Verfahren verwendende RobotersteuerungInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39401—Machine tool coordinates to manipulator coordinates
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40554—Object recognition to track object on conveyor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45054—Handling, conveyor
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
- Specific Conveyance Elements (AREA)
- Image Processing (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
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP392392/2000 | 2000-12-25 | ||
JP2000392392A JP2002192486A (ja) | 2000-12-25 | 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)
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)
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 |
JP6954192B2 (ja) * | 2018-03-12 | 2021-10-27 | オムロン株式会社 | 制御装置、制御方法、およびプログラム |
JP6954193B2 (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 | ファナック株式会社 | ロボット制御システム |
US11233861B2 (en) * | 2020-02-18 | 2022-01-25 | UiPath, Inc. | Inter-session automation for robotic process automation (RPA) robots |
US10654166B1 (en) | 2020-02-18 | 2020-05-19 | UiPath, Inc. | Automation windows for robotic process automation |
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 |
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 |
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)
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 |
AU7251591A (en) * | 1990-01-29 | 1991-08-21 | 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 |
-
2000
- 2000-12-25 JP JP2000392392A patent/JP2002192486A/ja active Pending
-
2001
- 2001-12-20 DE DE10162967A patent/DE10162967B4/de not_active Expired - Fee Related
- 2001-12-21 US US10/026,057 patent/US6646404B2/en not_active Expired - Lifetime
Cited By (15)
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 |
---|---|
JP2002192486A (ja) | 2002-07-10 |
US6646404B2 (en) | 2003-11-11 |
US20020105296A1 (en) | 2002-08-08 |
DE10162967B4 (de) | 2013-08-14 |
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 | |
DE3851020T2 (de) | Produktionssystem mit unbemannten, automatisch geführten Fahrzeugen. | |
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 | |
EP3623116A1 (de) | Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators | |
DE102016100808B4 (de) | Numerische Steuervorrichtung und Steuerverfahren | |
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 | |
EP2418555A2 (de) | Verfahren zur Offline-Programmierung eines NC-gesteuerten Manipulators | |
DE102019003286A1 (de) | Numerische Steuerung | |
DE10393527T5 (de) | Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung | |
DE102019125335A1 (de) | Robotersteuervorrichtung zur Steuerung der Kreisbogenbewegung eines Roboters | |
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 | |
DE102005032336B4 (de) | Verfahren zur Beeinflussung einer Steuerung oder zur Steuerung einer Bewegungseinrichtung und Steuerung oder Steuerungskomponente einer Bewegungseinrichtung |
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 |