DE69028041T2 - Profilsteuerungssystem für Roboter - Google Patents
Profilsteuerungssystem für RoboterInfo
- Publication number
- DE69028041T2 DE69028041T2 DE69028041T DE69028041T DE69028041T2 DE 69028041 T2 DE69028041 T2 DE 69028041T2 DE 69028041 T DE69028041 T DE 69028041T DE 69028041 T DE69028041 T DE 69028041T DE 69028041 T2 DE69028041 T2 DE 69028041T2
- Authority
- DE
- Germany
- Prior art keywords
- robot
- profile
- force
- coordinate system
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000013598 vector Substances 0.000 claims description 319
- 239000011159 matrix material Substances 0.000 claims description 96
- 230000033001 locomotion Effects 0.000 claims description 89
- 230000009466 transformation Effects 0.000 claims description 70
- 238000000034 method Methods 0.000 claims description 52
- 238000003825 pressing Methods 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 claims description 33
- 238000001514 detection method Methods 0.000 claims description 26
- 230000001131 transforming effect Effects 0.000 claims description 12
- 230000001154 acute effect Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 42
- 238000005070 sampling Methods 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000001447 compensatory effect Effects 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Classifications
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1684—Tracking a line or surface by means of sensors
-
- 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/39322—Force and position control
-
- 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/49—Nc machine tool, till multiple
- G05B2219/49164—Corner, making corner
-
- 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/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50354—If tool looses contact, change angle of tool with 90-degrees
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Robotersteuersystem und spezifischer auf ein Profilsteuersystem für einen Roboter, welches es dem Roboter ermöglicht, eine Profilieroperation entlang einer Oberfläche eines Werkstücks mit gekrümmten Flächen unbekannter Konturen auf der Basis der Kraft durchzuführen, die zwischen dem Ende des Roboters und dem Werkstück wirkt, und die beispielsweise durch einen inneren Kraftsensor abgefühlt wird, wobei das Koordinatensystem für die Profilieroperation zurückgesetzt wird.
- Für die Durchführung einer Profilieroperation mit einem Kraftregelungs-Robotersystem, um das Ende eines Roboters von einem Arbeitsstartpunkt zu einem Endpunkt zu bewegen, während es an eine Oberfläche eines Werkstücks gepreßt wird, müssen die Richtung n, in der das Ende des Roboters angepreßt wird, und die mit der Richtung der Normalen des Werkstücks an einem Kontaktpunkt zwischen dem Ende des Roboters und dem Werkstück komzidiert, und ein Profil-Koordinatensystem Ow -Xw, Yw, Zw, das durch die Richtung o definiert wird, in der sich der Roboter bewegt, während er die Profilieroperation durchführt, in einen Roboterkontroller eingegeben werden.
- Fig.1 ist eine Darstellung, die das Profil-Koordinatensystem veranschaulicht. Wie gezeigt, werden Referenz-Koordinatenachsen Xo, Yo und Zo beispielsweise mit dem Zentrum O der Bodenfläche des Roboterkörpers am Ursprung 1 eines Referenz-Koordinatensystems herangezogen. Gelenke 2 und 3 auf der Koordinatenachse Zo, ein Manipulator 5 mit einem Arm zwischen den Gelenken 3 und 4, und ein innerer Kraftsensor 8 zwischen einem Gelenk 6 vor einem Gelenk 4 und einer Hand 7 sind vorgesehen. Die Hand 7 ist in Kontakt mit einem Werkstück 9 dargestellt. Der Kontaktpunkt zwischen der Hand 7 und dem Werkstück 9, die Richtung der Einwärtsnormalen des Werkstücks am Kontaktpunkt zwischen der Hand und dem Werkstück und die Bewegungsrichtung der Hand werden als Ursprung Ow und Koordinatenachsen Xw bzw. Yw des Profil-Koordinatensystems verwendet. Die Richtung normal zu den Koordinatenachsen Xw und Yw wird als Koordinatenachse Zw verwendet. Einheitsvektoren in den Richtungen der Koordinatenachsen Xw, Yw und Zw sind mit , bzw. angegeben.
- Wie oben beschrieben, wird das Profil-Koordinatensystem durch die Position und Lage der Spitze (der Hand) des Roboters relativ zum Werkstück bestimmt. Der Einheitsvektor repräsentiert die Richtung, in welcher der Roboter auf das Werkstück unter Ausübung einer Kraft darauf gepreßt wird, und die Einheitsvektoren und , welche die Bewegungsrichtungen der Roboterspitze repräsentieren, sind normal zueinander. Der andere Einheitsvektor ist als äußeres Produkt von und wie folgt gegeben:
- = x
- Hier können die drei Einheitsvektoren , und im Referenz-Koordinatensystem O -Xo, Yo, Zo dargestellt werden und sind allgemein gegeben durch:
- worin T eine transponierte Matrix darstellt.
- Fig.2 veranschaulicht eine Beziehung zwischen einem Werkstück mit gekrümmten Oberflächen und das Profil-Koordinatensystem. Es wird angenommen, daß der Roboter eine Profilieroperation an einer Seitenfläche eines Werkstücks 9 durchführt, und der Ursprung des Profil-Koordinatensystems wird zuerst am Punkt P1 festgelegt. Zu dieser Zeit ist der Vektor normal zur Seitenfläche des Werkstücks 9, und die Vektoren und sind auf der Tangentialebene. Wenn der Roboter eine Profilieroperation durchführt, um sich in der Richtung des Vektors zu bewegen, koinzidiert die Richtung der Normalen an der Oberfläche nicht mit der Richtung, in welcher der Roboter an das Werkstück gepreßt wird. Dann weicht die vom Roboter auf das Werkstück ausgeübte Kraft von einem voreingestellten Wert ab. Um die Profilieroperation mit einer genauen Kraft durchzuführen, ist es daher erforderlich, das Profil-Koordinatensystem am Punkt P1 in ein Profil-Koordinatensystem für einen Punkt P2 zu ändern.
- Wie oben beschrieben ist es zur Durchführung der Profilsteuerung durch einen Kraftregelungsroboter erforderlich, Profil-Koordinatensysteme in einen Roboterkontroller einzugeben. In bekannten Systemen wurden die Profil-Koordinatensysteme üblicherweise eingestellt, indem der Roboter von einem Operator programmiert wurde. Wenn in einem derartigen Fall ein Werkstück gekrümmte Oberflächen aufweist, wie in Fig.2 gezeigt, wird die Programmierung des Roboters mit den Profil-Koordinatensystemen unweigerlich mühevoll.
- Ein weiteres Verfahren zum Eingeben von Arbeits-Koordinatensystemen in den Roboterkontroller involviert die Voraussage der Bewegungsrichtung des Roboters unter Verwendung von Informationen über die aktuelle Position des Roboters. Da in diesem Fall die Vektoren in der Bewegungsrichtung des Roboters durch Schätzwerte angegeben werden, wird eine Abweichung zwischen der geschätzten Position und der Position, zu welcher der Roboter tatsächlich bewegt wird, erzeugt.
- In IEEE Procs., Industrial Electronics, Control of Instrumentation, Bd. 1, USA, S. 416-420; Miyazaki, Maruyama, ist ein Steuerverfahren beschrieben, das sich insbesondere auf eine in einer Ebene rotierende Handkurbel bezieht. Es ist ein Verfahren zur Bestimmung einer Richtung geoffenbart, in der eine Kraft auf die Kurbel auf der Basis der vorherigen Richtung, des Kraftvektors und der letzten Bewegungsrichtung auszuüben ist. Es ist jedoch kein Verfahren geoffenbart, das bei einer Profilieroperation einer Oberfläche verwendet werden könnte.
- Gemäß einem Aspekt der vorliegenden Erfindung ist ein Profilsteuersystem für einen Kraftregelungsroboter zum Durchführen einer Profilieroperation an einer unbekannten Oberfläche eines Werkstücks vorgesehen, mit:
- einem Kraftdetektierteil zum Detektieren einer Kraft, die zwischen einer Spitze des Roboters und dem Werkstück wirkt;
- einem Positionsdetektierteil zum Detektieren der Position der Spitze des Roboters;
- einem Steuerbefehl-Erzeugungsteil zum Erzeugen eines Steuerbefehls für den Roboter gemäß den Ausgängen des Kraftdetektierteils und des Positionsdetektierteils;
- einem Kraftsteuerteil zum Steuern der Kraft, mit der die Spitze des Roboters gegen das Werkstück gedrückt wird, in Übereinstimmung mit den Ausgängen des Kraftdetektierteils und des Steuerbefehl-Erzeugungsteils;
- einem Positionssteuerteil zum Steuern der Position der Spitze des Roboters gemäß den Ausgängen des Positionsdetektierteils und des Steuerbefehl-Erzeugungsteils;
- einem Normalenvektor-Berechnungsteil zum Berechnen des Normalenvektors am Kontaktpunkt zwischen der Spitze des Roboters und dem Werkstück;
- dadurch gekennzeichnet, daß es ferner enthält: eine Bewegungsrichtungsvektor-Berechnungseinrichtung zum Erhalten eines Einheitsvektors in der Richtung des äußeren Produkts x eines Normalenvektors , der aus dem Normalenvektor- Berechnungsteil ausgegeben wird, und eines Einheitsvektors in der Richtung eines Endpunkts der Profilieroperation, der durch einen Operator vorgesehen werden kann, aus der aktuellen Position der Spitze des Roboters, die vom Positionsdetektierteil ausgegeben wird, und zum anschließenden Erhalten eines Einheitsvektors für die Bewegungsrichtung der Spitze des Roboters als äußeres Produkt des Vektors und des Normalenvektors , wobei
- dem Steuerbefehl-Erzeugungsteil die Ausgänge der Bewegungsrichtungsvektor-Berechnungseinrichtung und des Normalenvektor-Berechnungsteils zugeführt werden, so daß die Profilieroperation durchgeführt werden kann, wobei das Profil- Koordinatensystem, das vom Normalenvektor und dem Vektor in der Bewegungsrichtung der Spitze des Roboters bestimmt wird, zurückgesetzt wird.
- Daher sehen Ausführungsformen der vorliegenden Erfindung ein Roboter-Profilsteuersystem vor, welches es einem Roboter ermöglicht, eine Profilieroperation durchzuführen, wobei eine vorherbestimmte konstante Kraft auf ein Werkstück mit gekrümmten Oberflächen unbekannter Konturen ausgeübt wird, und automatisch Profil-Koordinatensysteme unter Verwendung der Kraft erzeugt werden, die von einem inneren Kraftsensor, der beispielsweise zwischen einem Handgelenk und einer Hand eines Roboters montiert ist, abgefühlt wird.
- Ausführungsformen können auch ein Roboter-Profilsteuersystem vorsehen, welches es einem Roboter ermglicht, rasch zu seiner ursprünglichen Bewegungsbahn zurückzukehren, und erneut eine Profilieroperation an einer Oberfläche eines Werkstücks mit diskontinuierlichen Oberflächen einer beliebigen Form durchzuführen, wenn sich seine Hand von der Oberfläche des Werkstücks trennt.
- Ausführungsformen können ferner ein Roboter-Profilsteuersystem vorsehen, welches eine Positionsfehlerkorrektur ermöglicht, um die auf ein Werkstück ausgeübte Kraft konstant zu halten, indem ein Kraftgeschwindigkeitsbefehl, welcher aus einem geschätzten Positionsfehler einer Roboterhand an einem Kontaktpunkt zwischen dem Roboter und dem Werkstück zur Zeit der Einstellung des nächsten Profil-Koordinatensystems erzeugt wird, das aus der schätzung der Krümmung einer Oberfläche des Werkstücks erhalten wird, wenn der Roboter eine Profilieroperation am Werkstück mit Oberflächen unbekannter Konturen durchführt.
- Vorteilhaft ist ein Profilsteuersystem fur einen Kraftregelungsroboter zum Durchführen einer Profilieroperation an einer unbekannten Oberfläche eines Werkstücks mit rechteckigem Profil oder polygonalem Profil mit einem spitzen Winkel vorgesehen, welches auch eine Positionsspeichereinrichtung zum Speichern der Position der Spitze des Roboters gemäß dem Ausgang des Positionsdetektierteils enthält, und die Steuerbefehl-Erzeugungseinrichtung spricht auf die Ausgänge der Positionsspeichereinrichtung und des Kraftdetektierteils an, um Steuerbefehle an den Roboter auszugeben, und um ein Profil-Koordinatensystem zur Veränderung der Lage des Roboters zu ändern, wenn der Kraftdetektierteil Null detektiert.
- Daher kann ein Roboter-Profilsteuersystem vorgesehen werden, welches es dem Roboter ermöglicht, eine Profilieroperation durchzuführen, wobei eine konstante Kraft auf eine Seitenfläche eines unbekannten Werkstücks, das eine rechteckige Form aufweist, ohne Programmierung durch einen Operator ausgeübt wird. Ähnlich kann auch ein Roboter-Profilsteuersystem vorgesehen werden, welches es dem Roboter ermöglicht, eine Profilieroperation durchzuführen, wobei eine konstante Kraft auf ein Werkstück mit einer Oberfläche, die sich im Prozeß der Profilierung befindet, und einer Oberfläche für die nächste Profilieroperation, die mit der ersten einen spitzen Winkel bildet, ausgeübt wird. Derartige Systeme finden unabhängige Anwendung und sind Gegenstand einer Teilungsanmeldung.
- Ein Merkmal der vorliegenden Erfindung liegt in einem Profilsteuersystem für ein Kraftregelungs-Robotersystem, welches einen Roboter, einen Kraftdetektierteil zum Detektieren der Kraft, die zwischen dem Ende des Roboters und einem Werkstück wirkt, und einen Positionsdetektierteil enthält, um die Position des Endes des Roboters zu detektieren, und es dem Roboter zu ermöglichen, eine Profilieroperation an einer Oberfläche des Werkstücks durchzuführen, mit: einer Normalenvektor-Berechnungseinrichtung, die auf einen Ausgang des genannten Kraftdetektierteils anspricht, zum Berechnen eines Normalenvektors an einem Kontaktpunkt zwischen dem Ende des genannten Roboters und dem genannten Werkstück, einer Bewegungsrichtungsvektor-Berechnungseinrichtung, die auf die Ausgänge der genannten Normalenvektor-Berechnungseinrichtung und einen Vektor in der Bewegungsrichtung des Endes des genannten Roboters an einem Endpunkt oder einem Startpunkt einer Profilieroperation anspricht, der von einem Operator vorgesehen wird, zum Berechnen eines Vektors in der Bewegungsrichtung des Endes des genannten Roboters, einer Steuerbefehl-Erzeugungseinrichtung, die auf Ausgänge der genannte Bewegungsrichtungsvektor-Berechnungseinrichtung und der genannten Normalenvektor-Berechnungseinrichtung anspricht, zum Erzeugen von Steuerbefehlen für den genannten Roboter, und Kraft- und Positionssteuereinrichtungen, die auf Ausgänge des genannten Steuerbefehl-Erzeugungsteils, des genannten Kraftdetektierteils und des genannten Positionsdetektierteils ansprechen, zum Steuern der Kraft des genannten Roboters und der Position des Endes des genannten Roboters, wodurch es dem genannten Roboter ermöglicht wird, eine Profilieroperation an einer Oberfläche des genannten Werkstücks mit unbekannter Kontur durchzuführen, wobei ein durch den genannten Normalenvektor und den genannten Vektor in der Bewegungsrichtung definiertes Profil-Koordinatensystem zurückgesetzt wird.
- Fig.1 ist eine Darstellung zur Verwendung bei der Erläuterung eines Profil-Koordinatensystems;
- Fig.2 ist eine Darstellung, die eine Beziehung zwischen einem Werkstück mit gekrümmten Oberflächen und einem Profil- Koordinatensystem veranschaulicht;
- Fig.3 ist ein grundlegendes Blockbild eines Roboter- Profilsteuersystems;
- Fig.4 ist ein funktionelles Blockbild, das ein Roboter- Profilsteuerverfahren zeigt;
- Fig.5 ist ein grundlegendes Blockbild einer ersten Ausführungsform der vorliegenden Erfindung;
- Fig.6 ist eine Darstellung, die ein Verfahren zum Einstellen eines Profil-Koordinatensystems in der ersten Ausführungsform veranschaulicht;
- Fig.7A und 7B sind Darstellungen, die ein Verfahren zum Berechnen der Reaktionskraft und Einstellkraft Fr an einem Kontaktpunkt zwischen dem Roboter und dem Werkstück zeigen;
- Fig.8 ist eine Darstellung, die ein Verfahren zum Einstellen eines Vektors veranschaulicht, wenn die Vektoren und miteinander koinzidieren;
- Fig.9 ist ein Blockbild einer Roboter-Profilsteuervorrichtung gemäß der ersten Ausführungsform;
- Fig.10 ist ein detailliertes Blockbild des Positionskontrollers und des Kraftkontrollers in Fig.9;
- Fig.11 ist ein Blockbild, das eine Systemkonfiguration der Profilsteuervorrichtung gemäß der ersten Ausführungsform veranschaulicht;
- Fig.12A bis 12C sind Flußdiagramme der Profiloperation in der ersten Ausführungsform;
- Fig.13 ist eine Darstellung zur Verwendung bei der Erläuterung eines Verfahrens zum Einstellen eines Profil-Koordinatensystems, wenn ein Vektor op in der Bewegungsrichtung von einem Operator vorgesehen wird;
- Fig.14A bis 14C sind Flußdiagramme der Profiloperation in der ersten Ausführungsform, wenn der Vektor in der Bewegungsrichtung von einem Operator vorgesehen wird;
- Fig.15 ist ein grundlegendes Blockbild einer zweiten Ausführungsform der vorliegenden Erfindung;
- Fig.16 ist eine Darstellung zur Verwendung bei der Erläuterung eines Verfahrens zum Einstellen eines Profil-Koordinatensystems, wenn eine Profiloperation an einem Werkstück mit Flächen, die diskontinuierlich sind, durchgeführt wird;
- Fig.17A und 17B sind Darstellungen, die eine Suche nach der Bewegungsbahn eines Roboters veranschaulichen;
- Fig.18A und 18B veranschaulichen das Zeitverhalten der Preßkraft F zur Zeit der Suche nach der Bewegungsbahn;
- Fig.19A bis 19C sind Flußdiagramme eines Prozesses, wenn das Ende des Roboters mit dem Werkstück in Kontakt kommt, in der zweiten Ausführungsform;
- Fig.20A und 20B sind Flußdiagramme eines Prozesses, wenn sich das Ende des Roboters vom Werkstück trennt, in der zweiten Ausführungsform;
- Fig.21 ist ein grundlegendes Blockbild einer dritten Ausführungsform der vorliegenden Erfindung;
- Fig.22 ist eine Darstellung zur Verwendung bei der Erläuterung einer Abweichung der Kontaktkraft von einer Einstellkraft;
- Fig.23 ist eine Darstellung zur Verwendung bei der Erläuterung eines Verfahrens zum Berechnen der Krümmung einer Oberfläche eines Werkstücks;
- Fig.24 ist eine Darstellung zur Verwendung bei der Erläuterung eines Verfahrens zum Berechnen eines Kraftgeschwindigkeitsbefehls;
- Fig.25A bis 25C sind Flußdiagramme einer Profilieroperation in der dritten Ausführungsform;
- Fig.26 ist ein grundlegendes Blockbild einer vierten Ausführungsform der vorliegenden Erfindung;
- Fig.27 ist eine Darstellung, die eine Beziehung zwischen einem Werkstück und einem Manipulator in der vierten Ausführungsform veranschaulicht;
- Fig.28 ist eine Darstellung zur Verwendung bei der Erläuterung einer Profiloperation in der vierten Ausführungsform;
- Fig.29A bis 29C veranschaulichen das Zeitverhalten der Kraft und Position in der Profiloperation in der vierten Ausführungsform;
- Fig.30 ist ein Blockbild der Roboter-Profilsteuervorrichtung in der vierten Ausführungsform;
- Fig.31 veranschaulicht eine Systemkonfiguration der Profilsteuervorrichtung in der vierten Ausführungsform;
- Fig.32A bis 32C sind Flußdiagramme der Profilieroperation in der vierten Ausführungsform;
- Fig.33 ist ein grundlegendes Blockbild einer fünften Ausführungsform der vorliegenden Erfindung;
- Fig.34 ist eine Darstellung, die eine Positionsbeziehung zwischen einem Werkstück und einem Manipulator in der fünften Ausführungsform veranschaulicht;
- Fig.35 ist eine Darstellung zur Verwendung bei der Erläuterung einer Profiloperation in der fünften Ausführungsform;
- Fig.36A bis 36C veranschaulichen das Zeitverhalten der Kraft und Position in der Profiloperation in der fünften Ausführungsform;
- Fig.37 veranschaulicht eine Beziehung zwischen dem Profil-Koordinatensystem in Position P1 und dem Profil-Koordinatensystem in Position P3;
- Fig.38A bis 38E veranschaulichen Profilieroperationen in der fünften Ausführungsform; und
- Fig.39A bis 39E veranschaulichen die industrielle Anwendbarkeit der vorliegenden Erfindung.
- Fig.3 ist ein grundlegendes Blockbild eines Profilsteuersystems für einen Kraftregelungsroboter, welches einen Kraftdetektor 11, z.B. einen inneren Kraftsensor, zum Detektieren der Kraft, die auf ein Werkstück von einem Roboter 10 ausgeübt wird, und einen Positionsdetektor 12 zum Detektieren der Position des Roboters, z.B. der Position seiner Hand, unter Verwendung eines Codierers, der an einem Motor zum Antreiben eines Manipulators des Roboters montiert ist, enthält.
- In Fig.3 berechnet eine Normalenvektor-Berechnungseinrichtung 13 einen Normalenvektor an einem Kontaktpunkt zwischen dem Ende (der Hand) des Roboters und dem Werkstück aus einem Ausgang des Kraftdetektors 11. Eine Bewegungsrichtungsvektor-Berechnungseinrichtung 14 berechnet einen Vektor in der Bewegungsrichtung des Roboters 10 aus einem Ausgang der Normalenvektor-Berechnungseinrichtung 13, der aktuellen Position des Roboterendes, die aus dem Positionsdetektor 12 ausgegeben wird, und beispielsweise der Endposition einer Profilarbeit, die im voraus von einem Operator eingegeben wurde.
- Eine Steuerbefehl-Erzeugungseinrichtung 15 spricht auf die Ausgänge der Normalenvektor-Berechnungseinrichtung 13 und Bewegungsrichtungsvektor-Berechnungseinrichtung 14 an, um gewünschte Werte der Kraft und Position des Roboters 10 und eine Rückkopplungsverstärkung, die als Steuerparameter dient, vorzusehen Die Normalenvektor-Berechnungseinrichtung 13, Bewegungsrichtungsvektor-Berechnungseinrichtung 14 und Steuerbefehl-Erzeugungseinrichtung 15 können in einem Computer implementiert sein.
- Eine Kraft- und Positionssteuereinrichtung 16 spricht an auf eine Abweichung eines Kraftdetektierausgangs des Kraftdetektors 11 von einem gewünschten Kraftwert, der von der Steuerbefehl-Erzeugungseinrichtung 15 ausgegeben wird, und eine Abweichung der Endposition des Roboters vom Positionsdetektor 12 von einem gewünschten Positionswert, der von der Steuerbefehl-Erzeugungseinrichtung 15 ausgegeben wird, um die Kraft und Position des Roboters 10 zu steuern.
- Fig.4 ist ein funktionelles Blockbild, das ein Profilsteuerverfahren eines Kraftregelungsroboters veranschaulicht. Aus der Kraft, die zwischen dem Roboter und dem Werkstück detektiert wird, wird zuerst ein Einheitsvektor in der zur Kraft entgegengesetzten Richtung in Block 20 erhalten. Der Einheitsvektor mit der Gegenrichtung wird von einem Profil-Koordinatensystem in ein Referenz-Koordinatensystem transformiert, um einen Normalenvektor n am Kontaktpunkt zwischen dem Roboter und dem Werkstück in Block 21 zu erhalten.
- In Block 22 wird ein Einheitsvektor erhalten, der in die Richtung der Endposition einer Profiloperation von der aktuellen Position des Roboterendes zeigt. Aus dem äußeren Produkt des Normalenvektors und des Einheitsvektors in der Richtung der Endposition wird ein Einheitsvektor auf der Tangentialebene in Block 23 als Einheitsvektor in derselben Richtung wie das äußere Produkt erhalten. Aus dem äußeren Produkt von und wird ein Einheitsvektor , der in die Richtung des äußeren Produkts zeigt, d.h. in die Richtung, in der sich das Roboterende bewegt, in Block 24 erhalten. Unter der Annahme, daß das Werkstück für die Profiloperation Oberflächen mit unbekannten Konturen hat, werden in Block 25 der Normalenvektor und der Einheitsvektor , der in die Richtung zeigt, in der sich das Roboterende bewegt, in regelmäßigen Intervallen zurückgesetzt, um die Profilieroperation fortzusetzen, bis ihre Endposition erreicht ist.
- In der vorliegenden Erfindung wird der Normalenvektor nämlich durch die Normalenvektor-Berechnungseinrichtung 13 berechnet, indem der Einheitsvektor, der in die Richtung zeigt, die zu der zwischen dem Roboter 10 und dem Werkstück wirkenden und vom Kraftdetektor 11 detektierten Kraft entgegengesetzt ist, in das Referenz-Koordinatensystem transformiert wird. Als nächstes wird der Einheitsvektor auf der Tangentialebene zwischen dem Roboterende und dem Werkstück durch die Bewegungsrichtungsvektor-Berechnungseinrichtung 14 aus dem Normalenvektor und dem Einheitsvektor , der in die Richtung der Endposition zeigt, erhalten. Der Einheitsvektor , der in die Richtung zeigt, in der sich das Roboterende bewegt, wird auch aus und erhalten. Unter Verwendung dieser Vektoren und werden die Kraft- und Positionssteuerbefehle in die Kraft- und Positionssteuereinrichtung 16 durch die Steuerbefehl-Erzeugungseinrichtung 15 als gewünschte Werte zum Steuern der Kraft und Position des Roboters 10 eingegeben. Unter der Annahme, daß die Oberfläche des Werkstücks unbekannt ist, werden der Normalenvektor und der Einheitsvektor , der in die Richtung zeigt, in der sich das Roboterende bewegt, in regelmäßigen Intervallen zurückgesetzt, um dadurch die Profilieroperation durchzuführen.
- Wie ersichtlich ist, kann gemäß der vorliegenden Erfindung eine Profilieroperation für ein Werkstück mit gekrümmten Oberflächen automatisch durchgeführt werden.
- Zuerst wird eine erste Ausführungsform der vorliegenden Erfindung beschrieben, die einer ersten Aufgabe der vorliegenden Erfindung entspricht, d.h. ein Roboter-Profilsteuersystem, welches es einem Roboter ermöglicht, eine Profilieroperation an einem Werkstück mit gekrümmten Oberflächen un bekannter Konturen durchzuführen, wobei automatisch Profil- Koordinatensysteme unter Verwendung der durch einen inneren Kraftsensor detektierten Kraft erzeugt werden.
- Fig.5 ist ein grundlegendes Blockbild der ersten Ausführungsform der vorliegenden Erfindung. Im Vergleich mit Fig.3 ist Fig.5 gleich, ausgenommen daß der Normalenvektor- Berechnungsteil 13a, der Bewegungsrichtungsvektor-Berechnungsteil 14a und der Steuerbefehl-Erzeugungsteil 15a der Normalenvektor-Berechnungseinrichtung 13, der Bewegungsrichtungsvektor-Berechnungseinrichtung 14 bzw. der Steuerbefehl- Erzeugungseinrichtung 15 entsprechen, und die Kraft- und Positionssteuereinrichtung 16 in einen Operationsteil 17, einen Positionssteuerteil 18 und einen Kraftsteuerteil 19 geteilt ist.
- Fig.6 veranschaulicht ein Verfahren zum Einstellen von Profil-Koordinatensystemen gemäß der vorliegenden Erfindung. Es wird angenommen, daß eine Profilieroperation von einem Startpunkt PB zu einem Endpunkt PE an einer Oberfläche eines Werkstücks durchgeführt wird, wie gezeigt. Zuerst erfolgt eine Beschreibung des Verfahrens zum Berechnen des Profil- Koordinatensystems an der Startposition der Profiloperation, d.h. am Startpunkt PB. Wenn in der vorliegenden Erfindung der Start- und Endpunkt einer Profilieroperation gegeben sind, wird eine Steuerung derart durchgeführt, daß eine konstante Kraft auf das Werkstück ausgeübt wird, und ein Vektor in der Bewegungsrichtung des Roboterendes immer auf der Ebene liegt, welche durch eine Gerade, die einen Kontaktpunkt zwischen dem Roboter und dem Werkstück mit dem Endpunkt der Profiloperation verbindet, und einen Normalenvektor am Kontaktpunkt gebildet wird.
- Der Normalenvektor B am Startpunkt wird aus der Reaktionskraft ermittelt, welche die Roboterhand vom Werkstück am Startpunkt empfängt.
- Fig.7A und 7B veranschaulichen eine Beziehung zwischen der Reaktionskraft F, welche die Roboterhand vom Werkstück am Startpunkt empfängt, und einem inneren Kraftsensor-Koordinatensystem Os -Xs, Ys, Zs. Der innere Kraftsensor detektiert Komponenten fx, fy und fz in den Richtungen der Sensor-Koordinatenachsen Xs, Ys und Zs. Daher ist die Reaktionskraft in der Vektordarstellung wie folgt angegeben.
- Hier bedeutet s, daß die Reaktionskraft F im inneren Kraftsensor-Koordinatensystem Os -Xs, Ys und Zs beschrieben ist. Eine Beschreibung der vom inneren Kraftsensor detektierten Drehmomentkomponenten wird hier weggelassen.
- Der im inneren Kraftsensor-Koordinatensystem dargestellte Normalenvektor B ist ein Vektor in einer entgegengesetzten Richtung und wird in der Komponentendarstellung wie folgt angegeben.
- Die Größe des Vektors F ist gegeben durch:
- Die Darstellung des Normalenvektors B, der im inneren Kraft-Koordinatensystem dargestellt ist, in einem Referenz-Koordinatensystem erfordert eine Koordinatentransformationsmatrix für die Transformation vom inneren Kraftsensor-Koordinatensystem in das Referenz-Koordinatensystem. Es wird angenommen, daß die Komponentendarstellung im Referenz-Koordinatensystem von Einheitsvektoren in den Richtungen der Koordinatenachsen Xs, Ys und Zs im Sensor-Koordinatensystem gegeben ist durch:
- Es ist zu beachten, daß das hochgestellte Zeichen o des Einheitsvektors B in der Richtung der Koordinatenachse Xs im Sensor-Koordinatensystem angibt, daß der Einheitsvektor im Referenz-Koordinatensystem beschrieben ist. Die Transformationsmatrix oAs für die Transformation vom Sensor-Koordinatensystem in das Referenz-Koordinatensystem ist gegeben durch:
- Unter Verwendung der Transformationsmatrix ist der Normalenvektor B in der Referenz-Koordinatensystem-Darstellung gegeben durch:
- Als nächstes wird die Berechnung eines Vektors in der Bewegungsrichtung der Roboterhand am Startpunkt PB unter Verwendung des obigen Normalenvektors B beschrieben. Der Vektor in der Bewegungsrichtung B ist ein Vektor, der normal zum Normalenvektor B verläuft und auf der Ebene liegt, welche durch eine Gerade, die den Startpunkt PB mit dem Endpunkt PE verbindet, und den Normalenvektor B gebildet wird. Ein Einheitsvektor B in der Richtung der Geraden, die den Startpunkt PB mit dem Endpunkt PE verbindet, ist unter Verwendung der Positionsvektoren B und E des Start- und Endpunkts im Referenz-Koordinatensystem gegeben durch:
- Zu dieser Zeit ist , der auf der Tangentialebene liegt, die mit einer Oberfläche des Werkstücks am Startpunkt PB und einem der Einheitsvektoren in den Richtungen der Koordinatenachsen des Profil-Koordinatensystems in Kontakt steht, unter Verwendung von B und B gegeben durch:
- Außerdem ist auch B, der Vektor in der Bewegungsrichtung des Roboterarms, als Vektor auf der Tangentialebene gegeben durch:
- In der Profilieroperation des Kraftregelungsroboters werden Steuerbefehle für Kraft und Position, nämlich eine gewünschte Kraft und eine gewünschte Position, die vom Steuerbefehl-Erzeugungsteil 15a in Fig.5 ausgegeben werden, dem Kraftsteuerteil 19 und dem Positionssteuerteil 18 zugeführt. Zuerst wird die Erzeugung der gewünschten Kraft r beschrieben. Zur Erzeugung einer Kraft Fr (skalare Größe), die für das Werkstück am Startpunkt Ps der Profilieroperation eingestellt ist, muß nur eine Kraft erzeugt werden, die eine Größe Fr und eine Richtung nB aufweist, wie in Fig.7B gezeigt. Daher ist der eingestellte Kraftvektor r unter Verwendung von Gleichung (8) gegeben durch:
- r = Fr B
- Als nächstes wird eine gewünschte Position, zu welcher der Roboter zu bewegen ist, und die als Startpunkt PB angegeben ist, als Befehl für eine Position relativ zum Startpunkt PB erteilt. Die Bewegungsrichtung vom Startpunkt PB ist durch den Vektor B in der Bewegungsrichtung in Gleichung (9) gegeben. Der relative Positionsbefehl unter Verwendung von Gleichung (8) ist gegeben durch:
- r = α B
- worin α eine geeignete Konstante ist, die einer im Profil- Koordinatensystem zu korrigierenden Distanz entspricht, wie im Zusammenhang mit Fig.2 beschrieben. Die Korrektur des Profil-Koordinatensystems kann vorgenommen werden:
- (1) wenn eine festgelegte Zeit verstreicht;
- (2) wenn die Reaktionskraft des Werkstücks von der eingestellten Kraft in einem gewissen Ausmaß oder mehr abweicht; oder
- (3) wenn sich der Roboter über eine festgelegte Distanz bewegt.
- In der vorliegenden Ausführungsform wird angenommen, daß die Korrektur des Profil-Koordinatensystems unter der Bedingung (1) vorgenommen wird, nämlich wenn eine festgelegte Zeit verstreicht. Auch unter den Bedingungen (2) und (3) bleibt das Prinzip der vorliegenden Erfindung unverändert, wie unter der Bedingung (1).
- In Fig.6 wird die Einstellung eines Normalenvektors , eines Vektors in der Bewegungsrichtung, einer gewünschten Kraft r und einer gewünschten Position am Mittelpunkt, z.B. Punkt Pi, in der Profilieroperation auf genau die gleiche Weise vorgenommen wie am Startpunkt PB. Das heißt, der Normalenvektor i und der Vektor i in der Bewegungsrichtung werden unter Verwendung der Gleichungen (1) bis (9) ermittelt, und der eingestellte Kraftvektor und der relative Positionsbefehl werden unter Verwendung der Gleichungen (10) und (11) ermittelt.
- Die Berechnung des Normalenvektors wird unter Verwendung von i als Reaktionskraft am Punkt Pi und der Koordinatentransformationsmatrix oAsi für die Transformation vom Sensor-Koordinatensystem zum Referenz-Koordinatensystem derart vorgenommen, daß:
- In der vorliegenden Ausführungsform wird, wie oben beschrieben, der Vektor auf der Tangentialebene aus dem Normalenvektor am Kontaktpunkt zwischen der Roboterhand und dem Werkstück und dem Einheitsvektor in der Richtung des Endpunkts der Profilarbeit, gesehen vom Kontaktpunkt, ermittelt. In einem speziellen Fall können die Vektoren und einander entsprechen. Fig.8 zeigt einen derartigen Fall. Im Fall von Fig.8 entsprechen einander der Normalenvektor 2 am Kontaktpunkt P2 und der Einheitsvektor 2 in der Richtung des Endpunkts PE. In einem derartigen Fall kann das äußere Produkt der Vektoren 2 und 2 nicht gebildet werden. Daher kann der Vektor 2 auf der Tangentialebene unter Verwendung von Gleichung (8) nicht ermittelt werden. Deshalb wird entschieden, den Vektor 2 auf der Tangentialebene unter Verwendung des Vektors 1 in der Bewegungsrichtung der Roboterhand am vorherigen Kontaktpunkt P1 nahe beim Kontaktpunkt P2 wie folgt zu ermitteln:
- Hier wird angenommen, daß der Punkt P1 ein eingestellter Punkt eines Profil-Koordinatensystems unmittelbar vor der Korrektur des Profil-Koordinatensystems am Punkt P2 ist. Der Vektor 2 in der Bewegungsrichtung ist als äußeres Produkt der beiden Einheitsvektoren 2 und 2 gegeben durch:
- Wenn 2 = 1, kann ein Vektor auf der Tangentialebene unter Verwendung von Gleichung (14) nicht ermittelt werden. Ein derartiger Fall, der aus einer Kollision des Roboters mit dem Werkstück entsteht, wird in der vorliegenden Erfindung nicht berücksichtigt.
- Fig.9 ist ein Blockbild einer Roboter-Profilsteuervorrichtung in der ersten Ausführungsform der vorliegenden Erfindung. Die Steuervorrichtung umfaßt einen Manipulator 26 des Roboters, einen Operationsteil 27 des Manipulators, einen Positionsdetektierteil 28 des Manipulators, einen Kraftdetektierteil 29 des Manipulators, einen Koordinatentransformationsteil 30 für die Transformation eines Winkels θs eines Antriebsmotors des Manipulators 26, der ein Ausgang des Positionsdetektierteils 28 ist, in die Position Xo des Endes der Roboterhand, einen Abweichungsteil 31 zum Erhalten der Differenz zwischen einer gewünschten Position, die von einem Host-Computer 37 zugeführt wird, und einem Ausgang des Koordinatentransformationsteils 30, einen Positionssteuerteil 32 zum Vorsehen eines Geschwindigkeitsbefehlssignals Vp, das eine Geschwindigkeit in der Richtung der Positionssteuerung unter Verwendung eines Ausgangs des Abweichungsteils 31 und eines Positionssteuerparameters vom Host-Computer 37 spezifiziert, einen Abweichungsteil 33 zum Erhalten einer Differenz zwischen einem vom Host-Computer 37 zugeführten Kraftbefehl und einem Ausgang Fo des Kraftdetektors 29, einen Kraftsteuerteil 34 zum Vorsehen eines Geschwindigkeitsbefehls Vf, der eine Geschwindigkeit in der Richtung der Kraftsteuerung unter Verwendung eines Ausgangs des Abweichungsteils 33 und eines Kraftsteuerparameters vom Host- Computer 37 spezifiziert, und einen Addiererteil 35 zum Berechnen der Summe eines Ausgangs Vp des Positionssteuerteils 32, eines Ausgangs Vf des Kraftsteuerteils 34 und eines Geschwindigkeitsbefehls Vo vom Host-Computer 37, und einen invertierten Jacobischen Transformationsteil 36 für die Transformation eines Ausgangs Vk des Addiererteils 35 in eine Drehgeschwindigkeit jedes Gelenks des Manipulators. Die invertierte Jacobische Matrix J-1 betrifft eine invertierte Matrix einer Jacobischen Matrix J, die durch die Struktur jedes Gelenks in einer Gleichung in bezug auf eine kleine Verschiebung (Geschwindigkeit V) der Roboterhand und eine Kleinwinkelverschiebung (Winkelgeschwindigkeit ) in bezug auf eine kurze Zeit definiert wird, gegeben durch:
- V =
- (16)
- Der Abweichungsteil 26a an der Ausgangsseite des Manipulators 26 ist geeignet, eine Verschiebung an den inneren Kraftsensor 29a, beispielsweise einen Dehnungsmeßfühler, anzulegen. Das heißt, in dem Moment, in dem das Ende der Roboterhand des Manipulators 26 mit dem Werkstück in Kontakt kommt, wird keine Verschiebung an den Sensor 29a angelegt, so daß sein Ausgang 0 ist. Wenn das Ende der Roboterhand weiter gegen das Werkstück gepreßt wird, wird eine Differenz ΔXE =Xα - XE zwischen der Position Xα des Endes der Hand (keine Verformung des Sensors ist involviert), die im Kontroller gehalten wird, und der Position XE des Werkstücks erzeugt. Demgemäß wird eine Reaktionskraft Fh proportional zur Differenz aus dem Sensor 29a ausgegeben.
- In Fig.9 umfaßt ein Operationsteil 27 einen Servomotor zum Antreiben des Manipulators 26, einen Energieverstärker 27b, einen D/A-Wandler 27c und einen Kompensator 27d. Der Positionsdetektierteil 28 umfaßt einen Codierer und Zähler 28a und einen Tachometer 28b. Außerdem umfaßt der Kraftdetektierteil 29 einen inneren Kraftsensor 29a und einen Koordinatentransformationsteil 29b für die Transformation eines Ausgangs des Sensors 29a, der im Sensor-Koordinatensystem dargestellt ist, in die Referenz-Koordinatendarstellung. Der Codierer und Zähler 28a und Tachometer 28b im Positionsdetektierteil 28 liefern Signale zur kompensatorischen Berechnung an den Kompensator 27 im Operationsteil 27. Der Ausgang des Codierers und Zählers 28a, d.h. ein Drehwinkel θ jedes Gelenks, wird in den Koordinatentransformationsteil 29b des Kraftdetektierteils 29 und invertierten Jacobischen Transformationsteil 36 eingegeben.
- Der Host-Computer 37 umfaßt einen Normalenvektor-Berechnungsteil 38, einen Bewegungsrichtungsvektor-Berechnungsteil 39 und einen Steuerbefehl-Erzeugungsteil 40. Der Normalenvektor-Berechnungsteil 38 berechnet den Normalenvektor am Kontaktpunkt zwischen dem Manipulator und dem Werkstück aus einem Ausgang des Kraftdetektierteils 29, d.h. einer detektierten Kraft Fo, die einer Transformation in das Referenz-Koordinatensystem unterworfen wurde, wobei der erhaltene Normalenvektor dem Bewegungsrichtungsvektor-Berechnungsteil 39 und Steuerbefehl-Erzeugungsteil 40 zugeführt wird.
- Der Bewegungsrichtungsvektor-Berechnungsteil 39 berechnet den Vektor in der Bewegungsrichtung unter Verwendung der aktuellen Position Xo der Roboterhand vom Koordinatentransformationsteil 30 und des Normalenvektors vom Normalenvektor-Berechnungsteil 38 und führt ihn dem Steuerbefehl-Erzeugungsteil 40 zu.
- Der Steuerbefehl-Erzeugungsteil 40 sendet eine gewünschte Position Xr, einen Kraftbefehl Fr und Positionsund Kraftsteuerparameter, die beim Umschalten zwischen Profil-Koordinatensystemen verwendet werden, an den Roboterkontroller unter Verwendung der Ausgänge des Normalenvektor-Berechnungsteils 38 und des Bewegungsrichtungsvektor-Berechnungsteils 39, der detektierten Kraft Fo, die aus dem Kraftdetektierteil 29 ausgegeben wird, und der aktuellen Handposition Xo, die vom Koordinatentransformationsteil 30 ausgegeben wird. Außerdem erzeugt der Steuerbefehl-Erzeugungsteil 40 Statussteuersignale für die Vektorberechnungsteile 38 und 39.
- Der Start- und Endpunkt B und E einer Profilieroperation werden von einem Operator im Bewegungsrichtungsvektor-Berechnungsteil 39 spezifiziert. B und E können über den Steuerbefehl-Erzeugungsteil 40 spezifiziert werden.
- Die Steuersignale, die vom Steuerbefehl-Erzeugungsteil 40 dem Roboterkontroller zugeführt werden, enthalten die gewünschte Position Xr, die dem Abweichungsteil 31 zugeführt wird, Einheitsvektoren im Profil-Koordinatensystem und eine nachstehend zu beschreibende Positionsrückkopplungsverstärkung Cp, die dem Positionssteuerteil 32 als Positionssteuerparameter zugeführt werden, einen Kraftbefehl Fr, der dem Abweichungsteil 33 zugeführt wird, Einheitsvektoren im Profil-Koordinatensystem und eine nachstehend zu beschreibende Kraftrückkopplungsverstärkung Cr, die dem Kraftsteuerteil 34 als Kraftsteuerparameter zugeführt werden, und einen Geschwindigkeitsbefehl Vo, der dem Addiererteil 35 zugeführt wird, um das Handende mit hoher Geschwindigkeit zu bewegen. Hier kann der Wert von Vo direkt vom Operator vorgesehen werden, oder kann durch Vo = l/t unter Verwendung der zurückzulegenden Distanz l und einer zum Zurücklegen der Distanz erforderlichen Zeit t, die vom Operator eingestellt werden, gegeben sein.
- Das Ziel des Eingebens der detektierten Kraft Fo, die vom Kraftdetektierteil 29 40 ausgegeben wird, in den Steuerbefehl-Erzeugungsteil ist die Detektion der Reaktionskraft des Werkstücks, um zu entscheiden, ob das Pressen des Roboters gegen das Werkstück erfolgreich war oder nicht. Das Ziel des Eingebens der aktuellen Handposition Xo, die vom Koordinatentransformationsteil 30 ausgegeben wird, in den Steuerbefehl-Erzeugungsteil 40 ist auch die Entscheidung, ob der Endpunkt der Profilarbeit erreicht ist oder nicht.
- Fig.10 ist ein detailliertes Blockbild des Positionssteuerteils 32 und Kraftsteuerteils 34 in Fig.9. Der Positionssteuerteil 32 umfaßt einen Teil 32a zum Berechnen einer transponierten orthogonalen Transformationsmatrix (RT) zur Transformation eines Ausgangs des Abweichungsteils 31, d.h. einer im Referenz-Koordinatensystem dargestellten Positionsabweichung, in das Profil-Koordinatensystem, einen Selektionsmatrix (I - Sf)-Berechnungsteil 32b, einen Orthogonalmatrix (R)-Berechnungsteil 32c und einen Positionsrückkopplungsverstärkung (Cp)-Berechnungsteil 32d. Der Kraftsteuerteil 34 umfaßt einen Teil 34d zum Berechnen einer transponierten orthogonalen Matrix (RT) zur Transformation einer im Referenz-Koordinatensystem dargestellten Kraftabweichung, die vom Abweichungsteil 33 ausgegeben wird, in das Profil- Koordinatensystem, einen Selektionsmatrix (Sf) -Berechnungsteil 34c, einen Orthogonalmatrix (R)-Berechnungsteil 34b und einen Kraftrückkopplungsverstärkung (Cp)-Berechnungsteil 34a.
- Die orthogonale Koordinatentransformationsmatrix R, die für die Koordinatentransformation vom Profil-Koordinatensystem (Xw, Yw, Zw) in das Roboterreferenz-Koordinatensystem (Xo, Yo, Zo) verwendet wird, ist unter Verwendung der Vektoren , und gegeben durch:
- Die Matrix R ist eine Matrix mit 6 Reihen und 6 Spalten. Die Elemente in der ersten bis dritten Spalte und der ersten bis dritten Reihe der Matrix entsprechen der Transformation der Koordinaten x, y und z auf der X-, Y- und Z- Achse, und die Elemente in der vierten bis sechsten Spalte und der vierten bis sechsten Reihe der Matrix entsprechen der Transformation der Drehwinkel α, β und γ um die X-, Y- und Z-Achse. Die anderen Elemente der Matrix sind alle 0.
- Wenn im Profil-Koordinatensystem die Kraft in der Richtung Xw gesteuert wird, und die Position in den Richtungen Yw und Zw gesteuert wird, wie in Fig.1 gezeigt, ist die Selektionsmatrix Sf des Selektionsmatrix-Berechnungsteils 34c gegeben durch:
- Wenn in diesem Fall ein Drehmoment auf eine Achse in der Preßrichtung ausgeübt wird, wie bei einer Gewindebefestigung, ist das Element S in der vierten Reihe und der vierten Spalte 1, ansonsten S = 0. Die Selektionsmatrix I - Sf, die im Selektionsmatrix-Berechnungsteil 32b des Positionssteuerteils 32 verwendet wird, wird durch das Subtrahieren von Sf in der Gleichung (18) von einer Einheitsmatrix I sechster Ordnung erhalten.
- Die Positionsrückkopplungsverstärkung Cp, die im Positionsrückkopplungsverstärkung-Berechnungsteil 32d des Positionssteuerteils 32 verwendet wird, ist allgemein, bezogen auf das Referenz-Koordinatensystem, gegeben durch:
- Die Kraftrückkopplungsverstärkung Cf, die im Kraftrückkopplungsverstärkung-Berechnungsteil 34a des Kraftsteuerteils 34 verwendet wird, ist, bezogen auf das Referenz-Koordinatensystem, auch gegeben durch:
- Wie oben beschrieben, wird im Positionssteuerteil 32 eine Positionsabweichung, die ein Ausgang des Abweichungsteils 31 ist, einer Koordinatentransformation vom Referenz- Koordinatensystem in das Profil-Koordinatensystem durch den Teil 32a zum Berechnen einer transponierten orthogonalen Matrix unterworfen, und dann mit der Selektionsmatrix I - Sf multipliziert, um nur eine Komponente in der Richtung der Positionssteuerung zu extrahieren. Die Komponente wird durch den Orthogonalmatrix-Berechnungsteil 32c erneut transformiert, und dann mit der Positionsrückkopplungsverstärkung Cp multipliziert, um zum Addierer 35 als Geschwindigkeitsbefehl Vp in der Richtung der Positionssteuerung gesendet zu werden.
- Fig.11 veranschaulicht eine Systemkonfiguration der Profilsteuervorrichtung in der ersten Ausführungsform. Ein Host-Computer 37 hat einen Normalenvektor-Berechnungsteil 38, Bewegungsrichtungsvektor-Berechnungsteil 39, Steuerbefehl-Erzeugungsteil 40 und Kommunikationssteuerteil 41. Der Roboterkontroller 42 hat einen Speicher 42a, einen Kommunikationssteuerteil 42b und Kraftsteuer-, Positionssteuer-, Koordinatentransformations- und Abweichungsteile 42c. Der Roboterkontroller steuert den Manipulator 26 durch den Operationsteil 27, Positionsdetektierteil 28 und inneren Kraftsensor 29a. Der Host-Computer 37 und der Roboterkontroller 42 sind durch eine Kommunikationsschnittstelle, wie einen Bus, miteinander verbunden. Daten werden zwischen dem Speicher 42a, Normalenvektor-Berechnungsteil 38 und Bewegungsrichtungsvektor-Berechnungsteil 39 unter der Steuerung der Kommunikationssteuerteile 41 und 42 zum Steuern der Zeiteinstellung des Sendens und Empfangens von Signalen transferiert.
- Fig.12A bis 12C sind Flußdiagramme der Profilieroperation in der ersten Ausführungsform. Die Figur ist ein Flußdiagramm der Profilieroperation insbesondere für ein Werkstück mit gekrümmten Oberflächen unbekannter Konturen, und veranschaulicht den Prozeßfluß, der vom Steuerbefehl-Erzeugungsteil 40, Normalenvektor-Berechnungsteil 38, Bewegungsrichtungsvektor-Berechnungsteil 39 im Host-Computer 37 und Roboterkontroller durchgeführt wird. Hier wird angenommen, daß der Start- und Endpunkt der Profiloperation, wie in Fig.6 gezeigt, bereits festgelegt wurden. Die Beschreibung eines Verfahrens zum Bewegen des Manipulators zum Endpunkt der Profiloperation wird weggelassen. In der Figur entspricht das tiefgestellte Zeichen B einem Prozeß am Startpunkt, und das tiefgestellte Zeichen i entspricht einem Prozeß zur Zeit der Einstellung des i.ten Profil-Koordinatensystems.
- In Schritt S43 setzt der Operator einen Startpunkt PB, einen Endpunkt PE, eine Einstellkraft Fr, eine Schaltzeit τ von Profil-Koordinatensystemen und einen Koeffizienten α zum Spezifizieren einer gewünschten Position. Der Operator stellt ferner einen Kraftvektor B zum Berechnen eines Normalenvektor am Startpunkt in Schritt S44 ein. Der Steuerbefehl-Erzeugungsteil erzeugt einen Kraftbefehl B und Kraftsteuerparameter zum Erzeugen einer Kraft B am Startpunkt, und transferiert sie zum Roboterkontroller in Schritt S45. Der Roboterkontroller spricht auf den Befehl an, um eine Kraft B zu erzeugen, und preßt den Manipulator gegen das Werkstück in Schritt S46. Wenn vom Steuerbefehl-Erzeugungsteil in Schritt S48 ermittelt wird, daß eine in Schritt S47 zu detektierende Reaktionskraft 0 ist, kehrt die Opera tion zu Schritt S44 zurück, so daß der Kraftvektor B erneut gesetzt wird. Es ist zu beachten, daß eine Reaktionskraft von 0 bedeutet, daß der Roboter vom Werkstück getrennt ist.
- Wenn die Reaktionskraft in Schritt S48 nicht 0 ist, berechnet der Normalenvektor-Berechnungsteil einen Normalenvektor B im Sensor-Koordinatensystem in Schritt S49, berechnet eine Koordinatentransformationsmatrix oAs in Schritt S50, und berechnet einen im Referenz-Koordinatensystem dargestellten Normalenvektor B in Schritt S51. Der Normalenvektor B wird zum Steuerbefehl-Erzeugungsteil und Bewegungsrichtungsvektor-Berechnungsteil transferiert.
- Der Bewegungsrichtungsvektor-Berechnungsteil berechnet einen Einheitsvektor, der in die Richtung des Endpunkts zeigt, unter Verwendung der Gleichung (7), und der durch Positionsvektoren am Start- und Endpunkt der Profilierarbeit dargestellt wird, in Schritt S52, berechnet einen Vektor B auf der Tangentialebene unter Verwendung der Gleichung (8) in Schritt S53, und berechnet einen Vektor B, der in die Bewegungsrichtung zeigt, in Schritt S54. Der Vektor B wird zum Steuerbefehl-Erzeugungsteil transferiert.
- Der Steuerbefehl-Erzeugungsteil erzeugt einen gewünschten Kraftvektor r unter Verwendung der Gleichung (10), und transferiert ihn zum Roboterkontroller in Schritt S55. Außerdem erzeugt der Steuerbefehl-Erzeugungsteil in Schritt S56 einen gewünschten relativen Positionsvektor r unter Verwendung der Gleichung (11), und transferiert ihn zum Roboterkontroller. Der Steuerbefehl-Erzeugungsteil erteilt dem Roboterkontroller in Schritt S57 einen Geschwindigkeitsbefehl Vo zum Bewegen der Roboterhand mit hoher Geschwindigkeit, so daß der Kontroller die Profilieroperation in Schritt S58 startet. Der Steuerbefehl-Erzeugungsteil überwacht in Schritt S59, ob eine festgelegte Zeit (τ) nach dem Start der Profilieroperation verstrichen ist oder nicht. Die Profilieroperation wird in Schritt S58 fortgesetzt, bis die Zeit verstreicht. Wenn in Schritt S59 entschieden wird, daß die festgelegte Zeit verstrichen ist, wird die Position X des Roboterendes vom Steuerbefehl-Erzeugungsteil 40 in Schritt S60 detektiert, und in Schritt S61 wird eine Entscheidung getroffen, ob der Endpunkt der Profilieroperation erreicht ist oder nicht, das heißt, ob X = PE oder nicht. Wenn der Endpunkt erreicht ist, kommt die Profilieroperation zu einem Ende, und nachfolgende Operationen werden durchgeführt.
- Wenn der Endpunkt in Schritt S61 nicht erreicht wird, werden die Einstellung eines neuen Profil-Koordinatensystems und eine Profilieroperation unter Verwendung des neuen Koordinatensystems in den Schritt S61 folgenden Schritten wiederholt. Das heißt, zuerst wird eine Reaktionskraft in Schritt S62 detektiert, und dann wird in Schritt S62 vom Steuerbefehl-Erzeugungsteil eine Entscheidung getroffen, ob = 0 oder nicht. Im Fall von = 0, wird die Operation gestoppt, da der Roboter aus irgendeinem Grund vom Werkstück getrennt wurde.
- Wenn ≠ 0 in Schritt 863, wird ein Normalenvektor vom Normalenvektor-Berechnungsteil in den Schritten S64 bis S66 wie in den Schritten S49 bis S51 berechnet, und ein in die Bewegungsrichtung zeigender Vektor wird vom Bewegungsrichtungsvektor-Berechnungsteil in den Schritten beginnend mit Schritt S67 berechnet. In diesem Fall wird jedoch die aktuelle Position des Roboterendes in Schritt S67 detektiert, bevor die gleichen Prozesse wie in den Schritten S52 bis S54 durchgeführt werden, und der Vektor in der Bewegungsrichtung wird auf der Basis der Detektion der aktuellen Roboterposition berechnet. Anschließend erzeugt der Steuerbefehl-Erzeugungsteil einen gewünschten Kraftvektor, einen gewünschten relativen Positionsvektor und einen Geschwindigkeitsbefehl in den Schritten S71 bis S73 wie in den Schritten S55 bis S57. Eine Profilieroperation wird vom Roboterkontroller in Schritt S74 durchgeführt.
- Der Steuerbefehl-Erzeugungsteil überwacht in Schritt S75, ob die festgelegte Zeit τ nach dem Start der Profilieroperation verstrichen ist oder nicht. Wenn die Zeit nicht verstrichen ist, wird die Profilieroperation in Schritt S74 fortgesetzt. Wenn in Schritt S75 entschieden wird, daß die festgelegte Zeit verstrichen ist, wird die Position des Roboterendes in Schritt S76 detektiert, und in Schritt S77 wird eine Entscheidung getroffen, ob die detektierte Position dem Endpunkt PE entspricht oder nicht. Wenn die detektierte Position dem Endpunkt PE entspricht, wird die Profilieroperation gestoppt, und nachfolgende Operationen werden durchgeführt. Wenn der Endpunkt in Schritt S77 nicht erreicht wird, wird wiederum ein neues Profil-Koordinatensystern eingestellt, und die Profilieroperation wird unter dem neuen Profil-Koordinatensystem ab Schritt S62 fortgesetzt. Die obigen Operationen werden wiederholt, bis in Schritt S77 entschieden wird, daß der Roboter am Endpunkt der Profilieroperation angekommen ist.
- In der detailliert beschriebenen, ersten Ausführungsform wird der Vektor in der Bewegungsrichtung i der Roboterhand auf der Basis des Einheitsvektors i erhalten, der vom aktuellen Kontaktpunkt Pi am Werkstück in die Richtung des Endpunkts PE der Profiloperation zeigt, wie in Fig.4 und 6 dargestellt. In einem Fall, wo der Endpunkt PE der Profiloperation nicht definitiv als Koordinaten gegeben ist, kann der Operator eine grobe Bewegungsrichtung der Roboterhand vom Startpunkt PB als Vektor in der Bewegungsrichtung op vorsehen.
- Fig.13 veranschaulicht ein Verfahren zum Einstellen eines Profil-Koordinatensystems, wenn ein Vektor in der Bewegungsrichtung op am Startpunkt PB der Profilieroperation vom Operator eingestellt wird. Um den Vektor in der Bewegungsrichtung op am Startpunkt PB zu erhalten, wird ermittelt, daß B, der einer der Einheitsvektoren ist, welche die Koordinatenachsen des Profil-Koordinatensystems darstellen, unter Verwendung von B und op ist:
- Der Vektor in der Bewegungsrichtung B kann auf genau die gleiche Weise erhalten werden wie Gleichung (9).
- Wenn der Vektor in der Bewegungsrichtung vom Operator zur Zeit des Starts der Profilieroperation vorgesehen wird, werden Vektoren in der Bewegungsrichtung an Punkten der Profilieroperation derart gesteuert, daß sie immer auf der Ebene liegen, die vom Normalenvektor am Startpunkt PB der Profiloperation und dem vom Operator vorgesehenen Vektor in der Bewegungsrichtung gebildet wird.
- In Fig.13 bildet ein Ort, den das Roboterende auf eine Oberfläche eines Werkstücks zeichnet, eine gekrümmte Linie auf der Ebene, die vom Normalenvektor B und dem Vektor in der Bewegungsrichtung B am Startpunkt gebildet wird. Daher ist ein Vektor in der Bewegungsrichtung i an jedem Punkt Pi der Profilieroperation normal zu einem dritten Einheitsvektor B, der am Startpunkt ermittelt wird. Der Vektor in der Bewegungsrichtung i ist auch normal zum Normalenvektor i, der durch die Gleichung (13) erhalten wird, und ist gegeben durch:
- i der einer der Einheitsvektoren ist, welche die Koordinatenachsen des Profil-Koordinatensystems darstellen, ist unter Verwendung von Gleichung (22) gegeben durch:
- Wenn B = i oder B = - i, gilt die Gleichung (22) nicht. In diesem Fall kann die Bewegungsrichtung der Roboterhand unter Verwendung des vom Operator vorgesehenen Vektors in der Bewegungsrichtung op am Startpunkt als Vektor in der Bewegungsrichtung am Punkt Pi aufrechterhalten werden.
- Wenn der Vektor in der Bewegungsrichtung op am Startpunkt der Profilieroperation vom Operator vorgesehen wird, kann die Profilsteuervorrichtung gleich sein wie jene in Fig.9, außer daß der Vektor in der Bewegungsrichtung op dem Bewegungsrichtungsvektor-Berechnungsteil 39 oder Steuerbefehl-Erzeugungsteil 40 anstelle des Endpunkts PE der Profilieroperation zugeführt wird.
- Fig.14A bis 14C sind Flußdiagramme der Profiloperation in der ersten Ausführungsform, wo ein Vektor in der Bewegungsrichtung am Startpunkt vom Operator vorgesehen wird. Das Flußdiagramm in Fig.14 ist im wesentlichen gleich wie jenes in Fig.12. Grundlegende Unterschiede zwischen dem Flußdiagramm in Fig.14 und dem Flußdiagramm in Fig.12 sind, daß: ein Vektor in der Bewegungsrichtung op in Schritt S78 anstelle der Positionsvektoren B und E am Start- und Endpunkt in Schritt S43 in Fig.12 gegeben ist; eine Entscheidung getroffen wird, ob ein Normalenvektor B und ein Vektor in der Bewegungsrichtung ± op miteinander in Schritt S87 nach Schritt S86, der Schritt S51 entspricht, koinzidieren oder nicht, und, wenn eine Koinzidenz auftritt, die Schritte beginnend mit Schritt S78 wiederholt werden; ein Vektor B in Schritt S88 ohne Berechnung von B in Schritt S52 in Fig.12 berechnet wird; und in Schritt S96 eine Entscheidung getroffen wird, ob die Endposition X des Roboters in einem Operationsbereich angeordnet ist oder nicht, anstelle der Entscheidung in Schritt S61 in Fig.12, ob die Endposition X am Endpunkt PE angekommen ist oder nicht.
- Es ist zu beachten, daß, wenn in Schritt S98 die Reaktionskraft viel größer ist als 1, die Operation gestoppt wird. Dies dient zum Anhalten der Operation, beispielsweise wenn der Roboter mit einer Wand kollidiert, und die Reaktionskraft daher groß wird. Es besteht auch ein geringfügiger Unterschied zwischen den Flußdiagrammen in Fig.12 und 14 in den Schritten nach Schritt S99 aufgrund einer Differenz der Verfahren zum Berechnen des Vektors in der Bewegungsrichtung i. Ferner besteht auch insofern ein Unterschied zwischen den Flußdiagrammen, als die Einstellung eines Koordinatensystems ansprechend auf die Entscheidung wiederholt wird, daß die Roboter-Endposition X nicht am Endpunkt in Schritt S77 in Fig.12 angekommen ist, wohingegen diese ansprechend auf das Fehlen einer Beendigungsinstruktion vom Operator in Schritt S112 wiederholt wird.
- Eine zweite Aufgabe der vorliegenden Erfindung, das heißt ein Roboter-Bahnsuchsystem zum raschen Zurückführen eines Roboters zu seiner ursprünglichen Bewegungsbahn, wenn das Roboterende von einer Oberfläche eines Werkstücks getrennt wird, und um zu ermöglichen, daß der Roboter erneut eine Profilieroperation durchführt, wird als zweite Ausführungsform der vorliegenden Erfindung beschrieben.
- Fig.15 ist ein grundlegendes Blockbild der zweiten Ausführungsform. Im Unterschied zum grundlegenden Blockbild der ersten Ausführungsform, wie in Fig.5 gezeigt, ist die zweite Ausführungsform versehen mit: einem Bewegungsbahn-Suchteil 120, der auf Ausgänge des Kraftdetektierteils 11 anspricht, einem Positionsdetektierteil 12, einem Normalenvektor-Berechnungsteil 13a und einem Bewegungsrichtungsvektor-Berechnungsteil 14a zum Suchen einer Bewegungsbahn, wenn die Roboterhand vom Werkstück getrennt wird, wobei der Ausgang des Bewegungsbahn-Suchteils 120 dem Steuerbefehl-Erzeugungsteil 15a zugeführt wird.
- Fig.16 veranschaulicht ein Verfahren zum Einstellen eines Profil-Koordinatensystems in einer Profiloperation an einem Werkstück mit diskontinuierlichen Oberflächen. Die Figur entspricht dem Fall, wo die Bewegungsrichtung am Startpunkt PB vom Operator als Vektor in der Bewegungsrichtung op in der ersten Ausführungsform vorgesehen wird.
- Allgemein treten in einer Profilieroperation an einem Werkstück mit diskontinuierlichen Oberflächen der Fall, wo das Roboterende weiterhin mit einer Oberfläche des Werkstücks in Kontakt steht, nachdem er einen diskontinuierlichen Punkt passiert hat, und ein Fall auf, wo es sich vom Werkstück trennt. Wenn der Roboter weiterhin mit dem Werkstück in Kontakt steht, kann die Profilieroperation auf genau die gleiche Weise wie in der ersten Ausführungsform fortgesetzt werden.
- Obwohl Fig.16 den Fall veranschaulicht, wo der Vektor in der Bewegungsrichtung op am Startpunkt PB der Profilieroperation vom Operator vorgesehen wird, ist auch in dem Fall, wo der Endpunkt PE vorgesehen wird, die gleiche Steuerung wie in der ersten Ausführungsform möglich, wie in Fig.6.
- Wenn sich der Roboter hingegen vom Werkstück trennt, wird eine Suche nach einer Bewegungsbahn vom Bewegungsbahn- Suchteil 120 in Fig.15 durchgeführt.
- Fig.17A und 17B sind Darstellungen, die eine Bewegungsbahnsuche veranschaulichen, wobei ein Schnitt eines Werkstücks von oben gesehen, und die Operation des Roboters in der Nähe eines diskontinuierlichen Punkts dargestellt sind. Wie aus Fig.17A, B hervorgeht, variiert das Verfahren zum Suchen nach einer Bewegungsbahn mit der Form eines Werkstücks.
- Fig.18A und 18B veranschaulichen das Zeitverhalten einer Preßkraft zur Zeit des Suchens nach einer Bewegungsbahn. Fig.18A und 18B entsprechen Fig.17A bzw. 17B. t0, t1, t2, t3, t4, t5, t6 sind Ankunftszeiten des Roboters an den Positionen Pi0, Pi1, Pi2, Pi3, Pi4, Pi5 bzw. Pi6. Die Position der Hand selbst ist durch die Position am linken äußersten Ende ausgedrückt, wie gezeigt. Das Bewegungsbahn- Suchverfahren wird in Verbindung mit Fig.17, 18 und 15 beschrieben.
- Es wird angenommen, daß die Profilieroperation in Übereinstimmung mit dem in der ersten Ausführungsform beschriebenen Steuerverfahren am i.ten Profil-Koordinatensystem-Einstellpunkt Pi (= Pio) durchgeführt wird. Ferner wird angenommen, daß der Roboter die Profilieroperation von Pio zu pi1 durchführt, und in Position Pi1 zur Zeit t1 ankommt, wie in Fig.17A gezeigt. Auf der rechten Seite der Position Pi1 ist kein Werkstück. Zur Zeit t1 wird ein Steuerbefehl nicht geändert. Daher bewegt sich der Roboter in der Richtung von i, um eine Preßkraft in der Richtung von i zu erzeugen. Da es auch eine Bewegungskomponente in der Richtung von i gibt, bewegt sich der Roboter schließlich von Pi1 nach Pi2. Auf diese Weise kann sich der Roboter in Abhängigkeit von einer Beziehung zwischen der Form des Werkstücks und der Geschwindigkeit, mit der sich der Roboter bewegt, vom Werkstück trennen. In diesem Fall zeigt die Preßkraft ni in der Richtung von i, die vom Kraftdetektierteil 11 in Fig.15 detektiert wird, ein Zeitverhalten, wie das in Fig.18A gezeigte. Obwohl nämlich weiterhin eine festgelegte Preßkraft während eines Zeitintervalls (t0 - t1) erzeugt wird, wenn der Roboter mit dem Werkstück in Kontakt kommt, wird die Preßkraft am diskontinuierlichen Punkt Pi1 auf 0 reduziert, wo aufgrund des Fehlens des Werkstücks keine Reaktionskraft wirkt. Bei der Detektion einer derartigen Kraftvariation, wie in Fig.18A gezeigt, speichert der Steuerbefehl-Erzeugungsteil in Fig.15 die Koordinaten der Hand in Position Pi1 (diskontinuierlicher Punkt) und weist den Roboter an zu stoppen. Beim Empfang des Stoppbefehls vom Steuerbefehl-Erzeugungsteil stoppt der Kraftsteuerteil 19 des Positionssteuerteils 18 in Fig.15 den Roboter. An diesem Punkt ist die Position des Roboters Pi2.
- Als nächstes wird die Hand um einen Winkel von 90º gedreht, so daß sich die Hand zu einer Position Pi3 bewegt, in der ihr linkes äußerstes Ende auf einer Verlängerung des Vektors i angeordnet ist. Um die Änderung der Lage des Roboters von Pi2 zu Pi3 zu ändern, ist es erforderlich, daß die Hand im Gegenuhrzeigersinn um -π/2 um die ZH-Achse des aktuellen Hand-Koordinatensystems OH -XH, YH, ZH gedreht wird. Die Achse ZH zeigt vom Zeichnungsblatt nach unten. Das Hand-Koordinatensystem ist ein Koordinatensystem, das von der Position und Lage der Hand relativ zum Manipulator bestimmt wird. Einheitsvektoren H, H und H sind für die Koordinatenachsen XH, YH bzw. ZH vorgesehen. Eine Transformationsmatrix zum Transformieren des Hand-Koordinatensystems H2, H2, H2 am Punkt Pi2 in das Hand-Koordinatensystem H3, H3, H3 am Punkt Pi3 ist unter Verwendung einer Drehkoordinatenmatrix Ek(-π/2) ausgedrückt durch:
- Unter der Annahme, daß il, i2, i3 Positionsvektoren an den Punkten Pi1, Pi2, Pi3 sind, das Pi3 ein Punkt auf dem Vektor i ist, ist der Punkt Pi3 gegeben durch:
- Nachdem die Position und Lage der Hand zu Pi3 geändert wurden, wird der Roboter in die zum Vektor i entgegengesetzte Richtung gepreßt. Der Roboter wird gegen das Werkstück gepreßt, bis die eingestellte Kraft erreicht ist. Der Roboter kommt mit dem Werkstück in der Position Pi4 in Kontakt. Zur Zeit t4 wird die eingestellte Kraft erzeugt, wie in Fig.18A gezeigt. Wenn der Kontakt mit dem Werkstück wiederhergestellt ist, wird die Profilieroperation gemäß dem oben beschriebenen Steuerverfahren möglich. Daher wird die gleiche Steuerung wie in der ersten Ausführungsform erneut durchgeführt.
- In dem Fall, wo das Werkstück eine wie in Fig.17B gezeigte Form aufweist, kommt die Hand, wenn eine Preßkraft nur in der zum Vektor i entgegengesetzten Richtung erzeugt wird, nachdem die Position und Lage der Hand zu Pi5 geändert wurden, wie im Fall (1) durchgeführt, nicht mit einer Oberfläche B in Kontakt. Daher kann keine Profilieroperation an der Oberfläche B vorgenommen werden. Aus diesem Grund wird zur Durchführung der Profiloperation an der Oberfläche B die folgende Steuerung vorgenommen, nachdem die Preßoperation von Position Pi5 durchgeführt wird.
- Wenn, wie aus Fig.17B ersichtlich ist, die Oberfläche B im Quadranten IV eines Koordinatensystems mit einem diskontinuierlichen Punkt als seinen Ursprung, i als seine X- Achse und i als seine Y-Achse liegt, hat eine gegen die Oberfläche B gepreßte Kraft eine Komponente in der zum Vektor i entgegengesetzten Richtung. Wenn das Roboterende eine i- i-Ebene passiert, tritt es in den Quadranten IV während der Profilieroperation von Pi5 zu Pi6 ein. Wenn daher keine Preßkraft abgefühlt wird, nachdem das Roboterende die i- i-Ebene passiert hat, kann angenommen werden, daß die Oberfläche B im Quadranten IV liegt.
- Für einen Neustart der Profilieroperation vom diskontinuierlichen Punkt wird in dem Moment, in dem das Roboterende die i- i-Ebene passiert, die Preßoperation, die von Pi5 durchgeführt wurde, gestoppt. Die Position des Roboterendes an diesem Punkt ist Pi5. Der Punkt Pi5 komzidiert mit dem Punkt Pi1. Die Hand wird angepreßt, während sie in der Richtung einer Linksschraube des Vektors i (im Gegenuhrzeigersinn in Fig.17) gedreht wird, wobei das Roboterende an Pi5 fixiert ist. Der Roboter wird gegen das Werkstück gepreßt, bis die eingestellte Kraft erreicht wird. Der Roboter kommt mit dem Werkstück in der Position Pi6 (= Pi+1) in Kontakt. Wie in Fig.18B gezeigt, wird die Einstellkraft zur Zeit t6 erzeugt. Wenn der Kontakt mit dem Werkstück wiederhergestellt ist, kann die Profilieroperation in Übereinstimmung mit dem oben beschriebenen Steuerverfahren wie im Fall (1) ermöglicht werden.
- Die Profilsteuervorrichtung gemäß der zweiten Ausführungsform ist im wesentlichen gleich wie jene in Fig.9, einschließlich der detaillierten Anordnungen des Positionssteuerteils und des Kraftsteuerteils in Fig.10, ausgenommen daß der Host-Computer 37 einen Bewegungsbahn-Suchteil 120 enthält, der auf die Koordinatentransformationsteile 29b, 30, den Normalenvektor-Berechnungsteil 38, den Bewegungsrichtungsvektor-Berechnungsteil 39 und den Steuerbefehl-Erzeugungsteil 40 anspricht, um die Suche nach einer Bewegungsbahn durchzuführen, und er gibt sein Ergebnis an den Steuerbefehl-Erzeugungsteil 40 aus.
- Die Systemkonfiguration der Profilsteuervorrichtung ist auch gleich wie jene in Fig.11 gemäß der ersten Ausführungsform, ausgenommen daß der Host-Computer 37 einen Bewegungsbahn-Suchteil 120, der dem Steuerbefehl-Erzeugungsteil 40 Daten übermittelt, und die Kommunikationsschnittstelle enthält, und mit dem Kommunikationssteuerteil 41, dem Bewegungsrichtungsvektor-Berechnungsteil 39 usw. verbunden ist.
- Fig.19A bis 20B sind Flußdiagramme der Profilieroperation gemäß der zweiten Ausführungsform Spezifischer sind Fig.19A bis 19C Flußdiagramme der Profilieroperation, wenn sich der Roboter weiterhin mit dem Werkstück in Kontakt befindet, und Fig.20A und 20B sind Flußdiagramme, wenn sich der Roboter vom Werkstück trennt. Das Flußdiagramm in Fig.19 ist im wesentlichen gleich wie jenes in Fig.14 der ersten Ausführungsform, in dem der Vektor op in der Bewegungsrichtung des Roboterendes am Startpunkt der Profilieroperation vom Operator vorgesehen wird, und daher sind entsprechende Teile mit ähnlichen Bezugszahlen bezeichnet. Ein Unterschied zwischen den Flußdiagrammen in Fig.19 und 14 ist, daß der Roboter gestoppt wird, wenn die Reaktionskraft F in Schritt S98 in Fig.14 gleich 0 ist, während in Fig.19, wenn = 0 in Schritt S98a, entschieden wird, daß die Roboterhand einen diskontinuierlichen Punkt des Werkstücks passiert hat und vom Werkstück getrennt ist, und dann werden die Prozesse in Fig.20A und 20B (gleich wie in S111a) durchgeführt.
- Ein Flußdiagramm, in dem der Endpunkt PE der Profilier- Operation vom Operator vorgesehen wird, wie in Fig.6, kann gleich sein wie jenes in Fig.12, ausgenommen daß, wenn die Reaktionskraft F in Schritt S63 0 ist, die Prozesse in Fig.20A und 20B durchgeführt werden.
- Wenn der Roboter den diskontinuierlichen Punkt passiert, und die Reaktionskraft F als 0 detektiert wird, wird in Fig.20A und 20B in Schritt S122 die Position Pi1 des Roboterendes detektiert und vom Bewegungsbahn-Suchteil in Schritt S121 gespeichert, wird ein Roboter-Stoppbefehl vom Steuerbefehl-Erzeugungsteil erteilt, und wird der Roboter vom Roboterkontroller in Schritt S123 angehalten. Die Stopp- Position Pi2 des Roboterendes wird in Schritt S124 detektiert und zum Bewegungsbahn-Suchteil transferiert.
- Das Hand-Koordinatensystem an der Stopp-Endposition Pi2 wird in das Hand-Koordinatensystem am Punkt Pi3 unter Verwendung der Gleichung (24) vom Bewegungsbahn-Suchteil in Schritt S125 transformiert. Unter Verwendung der Gleichung (25) wird die Position Pi3 in Schritt S125 berechnet. Daten über die Position und Lage an Pi3 werden zum Steuerbefehl- Erzeugungsteil in Schritt S127 transferiert. Der Steuerbefehl-Erzeugungsteil erteilt in Schritt S128 dem Roboterkontroller einen Befehl zum Bewegen zur Position Pi3, so daß das Roboterende in Schritt S129 zur Position Pi3 bewegt wird. In Schritt S130 erzeugt der Steuerbefehl-Erzeugungsteil einen Kraftbefehl in der zum Vektor i entgegengesetzten Richtung und Kraftsteuerparameter, die ihrerseits zum Roboterkontroller transferiert werden.
- Beim Empfang des Befehls preßt der Roboterkontroller den Roboter in die zum Vektor i entgegengesetzte Richtung. Die Roboter-Endposition wird in Schritt S132 vom Steuerbefehl-Erzeugungsteil detektiert. In Schritt S133 wird vom Bewegungsbahn-Suchteil eine Entscheidung getroffen, ob das Roboterende die i- i-Ebene passiert hat oder nicht. Wenn die Ebene vom Roboterende nicht erreicht wird, wird eine Reaktionskraft F vom Steuerbefehl-Erzeugungsteil in Schritt S134 detektiert. In Schritt S135 entscheidet der Bewegungsbahn-Suchteil, ob ihr Absolutwert positiv ist oder nicht. Wenn er nicht positiv ist, ist das Roboterende noch nicht mit dem Werkstück in Kontakt gelangt. Aus diesem Grund werden die Prozesse ab Schritt S131 wiederholt. Wenn er positiv ist, wurde das Roboterende gegen das Werkstück gepreßt. Daher kehrt die Operation zu Schritt S112 zurück, in dem eine Entscheidung getroffen wird, ob der Operator den Roboter angewiesen hat zu stoppen oder nicht. Wenn eine der artige Instruktion noch nicht erteilt wurde, werden die Prozesse ab Schritt S99 wiederholt.
- Wenn hingegen in Schritt S133 entschieden wird, daß das Roboterende die i- i-Ebene passiert hat, wurde die Situation in Fig.17B erzeugt. Folglich wird ein Roboter-Stopp- Befehl vom Steuerbefehl-Erzeugungsteil in Schritt S136 erteilt, so daß der Roboter vom Roboterkontroller in Schritt S137 gestoppt wird. In Schritt S138 werden ein Befehl für ein Drehmoment in der Richtung einer Linksschraube des Vektors i und Kraftsteuerbefehle vom Steuerbefehl-Erzeugungsteil für eine Transmission zum Roboterkontroller erzeugt.
- Beim Empfang des Befehls dreht der Roboterkontroller das Roboterende in Schritt S139. Die Reaktionskraft wird vom Steuerbefehl-Erzeugungsteil in Schritt S140 detektiert, und in Schritt S141 wird vom Bewegungsbahn-Suchteil eine Entscheidung getroffen, ob der Absolutwert der Reaktionskraft positiv ist oder nicht. Wenn er nicht positiv ist, werden die Prozesse ab Schritt S139 wiederholt. Wenn er hingegen positiv ist, kehrt die Operation zum Prozeß in Schritt S112 zurück.
- Es ist selbstverständlich möglich, die Profilieroperation zu beenden, wenn der Endpunkt erreicht ist, um die nächste Operation durchzuführen, anstelle einer Beendigungs instruktion vom Operator in Schritt S112 in Fig.19.
- Eine dritte Aufgabe der vorliegenden Erfindung, d.h. ein Positionsabweichung-Kompensationssystem zum Schätzen, an einem Profil-Koordinatensystem-Einstellpunkt, einer Positionsabweichung des Roboterendes, die am nächsten Koordinatensystem-Einstellpunkt durch die Krümmung eines Werkstücks auftreten kann, um eine auf das Werkstück ausgeübte Kraft konstant zu halten, wird als dritte Ausführungsform der vorliegenden Erfindung beschrieben.
- Fig.21 ist ein grundlegendes Blockbild der dritten Ausführungsform der vorliegenden Erfindung. Im Vergleich mit dem grundlegenden Blockbild der ersten Ausführungsform, wie in Fig.5 gezeigt, ist die dritte Ausführungsform im wesentlichen gleich wie die erste Ausführungsform, ausgenommen daß der Steuerbefehl-Erzeugungsteil 15a einen Krümmungsberechnungsteil 150 zum Berechnen der Krümmung eines Werkstücks, um eine Positionsabweichung des Roboterendes aus der Krümmung zu schätzen, und einen Positionsabweichung-Kompensationsteil 151 enthält, um einen Kraftgeschwindigkeitsbefehl zu erzeugen, welcher der aus der Krümmung geschätzten Positionsabweichung entspricht.
- In der dritten Ausführungsform werden die Einstellung eines Profil-Koordinatensystems und die Steuerung einer Profiloperation auf die gleiche Weise wie in der ersten Ausführungsform durchgeführt. In der ersten und zweiten Ausführungsform werden jedoch der Positionsbefehl und der Kraftbefehl nur aus einem Profil-Koordinatensystem am aktuellen Punkt erzeugt, um die Profilieroperation zu steuern. Daher ist ein Problem bei der ersten und zweiten Ausführungsform, daß, wenn eine Oberfläche mit einer starken Krümmung mit einem Profil versehen wird, der Roboter einer Variation in der Oberfläche nicht folgt, und eine eingestellte Kraft von der Zeit der Einstellung des Profil-Koordinatensystems am aktuellen Punkt bis zur Zeit der Einstellung des nächsten Profil-Koordinatensystems nicht gehalten wird.
- Fig.22 veranschaulicht Situationen beim Profilieren der Oberfläche A mit einer starken Krümmung und einer Oberfläche B mit einer schwachen Krümmung bei einer konstanten Bewegungsgeschwindigkeit.
- Es wird angenommen, daß, wie in Fig.22, ein Profil-Koordinatensystem , am Punkt Pi auf einem Werkstück eingestellt wird, und eine Kraft F auf den Punkt Pi ausgeübt wird. Das Roboterende bewegt sich in der Richtung des Vektors bis zu voτ bei einer konstanten Geschwindigkeit vo und wird in der Richtung des Vektors bis zu einer Position verschoben&sub1; welche das Gleichgewicht eines Federsystems erfüllt, das von dem Roboter und dem Werkstück bis zur nächsten Abtastzeit τ gebildet wird. Zu dieser Zeit bewegt sich das Roboterende bis zum Punkt PA,i+1 an der Oberfläche A und bis zum Punkt PB,i+1 an der Oberfläche B. Die Verschiebungsbeträge zu den Punkten PA,i+1 und PB,i+1 in der Richtung des Vektors werden als δA bzw. δB angenommen. Da jedoch ein Kraftgeschwindigkeitsbefehl v zum Kompensieren der Differenz zwischen der gewünschten Kraft und der Kontaktkraft am Punkt Pi in der Richtung des Vektors erzeugt wird, betragen die effektiven Verschiebungsbeträge δA-vr und δB-vr. Unter der Annahme, daß eine Federkonstante des vom Roboter und Werkstück gebildeten Federsystems k ist, sind Kräfte, die an den Punkten PA,i+1 und PB,i+1 in der Richtung des Vektors auf das Werkstück wirken, F-k(δA-vrτ) bzw. F-k(δB-vrτ). Da δA > δB, wenn die Krümmung einer Oberfläche stark ist, wird auch die Abweichung einer Preßkraft auf das Werkstück von einer eingestellten Kraft groß. Wenn daher ein Werkstück mit einer Krümmung profiliert wird, ohne eine Positionsabweichung am nächsten Kontaktpunkt zu berücksichtigen, wird in Abhängigkeit von der Größe der Krümmung eine Differenz zwischen der Preßkraft auf das Werkstück und einer eingestellten Kraft erzeugt.
- Das heißt, wenn ein Profil-Koordinatensystem an einem Punkt eingestellt wird, an dem der Roboter mit dem Werkstück in Abtastintervallen in Kontakt kommt, um eine korrekte Richtung der Steuerung anzuweisen, wird es möglich, eine mechanische Kraft zwischen dem Roboter und dem Werkstück an jedem Abtastpunkt konstant zu halten. Wenn jedoch eine Arbeitsoberfläche in einem großen Ausmaß zwischen Abtastpunkten variiert, wie in Fig.22 gezeigt, weicht die Kontakt kraft zwischen dem Roboter und dem Werkstück von einer eingestellten Kraft ab. In der dritten Ausführungsform wird daher eine Positionsabweichung am nächsten Abtastpunkt aus der Krümmung einer Arbeitsoberfläche geschätzt, und ein Kraftgeschwindigkeitsbefehl wird erzeugt, der die geschätzte Positionsabweichung berücksichtigt, um dadurch eine mechanische Kraft zu steuern, so daß ihre Abweichung von der eingestellten Kraft klein sein kann.
- Fig.23 veranschaulicht ein Verfahren zur Berechnung der Krümmung am Punkt Pi. Fig.24 veranschaulicht ein Verfahren zum Einstellen eines Kraftgeschwindigkeitsbefehls. Im nachstehenden wird eine Positionsabweichung-Kompensationsvorrichtung mit Bezugnahme auf Fig.21, 23 und 24 beschrieben, um eine Kontaktkraft zwischen einem Roboter und einem Werkstück konstant zu halten.
- Für ein Werkstück mit unbekannter Kontur wird die Krümmung bis zu einem Punkt, an dem die nächste Abtastung erfolgt, unter Verwendung von Informationen über den aktuellen Punkt Pi und den Punkt Pi-1 eines Abtastschritts davor geschätzt. Hier wird angenommen, daß die Kontur des Werkstücks in der Nähe der Punkte Pi und Pi-1 durch eine Kugel angenähert werden kann. Unter der Annahme, daß der Radius der Kugel r ist, ist die Krümmung K durch 1/r gegeben.
- Wenn die Positionsvektoren an den Punkten Pi und Pi-1 i und i-1 sind, und der Normalenvektor am Punkt Pi i ist, wie in Fig.23 gezeigt, wird die Krümmung am Punkt Pi ermittelt. Da angenommen wird, daß die Kontur in der Nähe des Punkts Pi durch eine Kugel ausgedrückt werden kann, ist der Mittelpunkt eines Krümmungskreises der Schnittpunkt des Vektors i und der normalen Mittellinie eines Liniensegments PiPi-1. Der vom Punkt Pi zum Mittelpunkt R des Krümmungskreises zeigende Vektor wird unter Verwendung des Normalenvektors i als ri, i dargestellt (ri ist der Radius des Krümmungskreises am Punkt Pi). Aus Fig.23 geht hervor, daß die folgende Beziehung gilt:
- Daher wird ermittelt, daß der Radius ri des Krümmungskreises ist:
- worin ( i - i-1) das innere Vektorprodukt ist.
- Aus der Gleichung (27) wird ermittelt, daß die Krümmung κ ist:
- Wie in Fig.22 angegeben, ist, wenn die Kontaktkraft am aktuellen Punkt mit der gewünschten Kraft übereinstimmt, ein Kraftgeschwindigkeitsbefehl, der durch eine Differenz zwischen der Kontaktkraft und der gewünschten Kraft erzeugt wird, Null. Daher hängt eine Abweichung der Kontaktkraft in der Richtung des Vektors von der eingestellten Kraft am nächsten Abtastpunkt nur von einer Verschiebung δ in der Richtung des Vektors ab, und die Kontaktkraft variiert von der eingestellten Kraft um kδ. (k ist eine Federkonstante des vom Roboter und Werkstück gebildeten Federsystems). Daher ist es erforderlich, einen derartigen Kraftgeschwindigkeitsbefehl in der Richtung der Normalen zu erzeugen, daß der geschätzte Wert δ einer Kraftverschiebung aufgehoben wird, die nach der Abtastzeit τ auftritt, wobei unter der Annahme vorgegangen wurde, daß die Kontur des Werkstücks in der Nähe der Punkte Pi, Pi-1 durch eine Kugel angenähert werden kann.
- Unter der Annahme, daß vn ein zu erzeugender Kraftge schwindigkeitsbefehl ist, τ eine Abtastzeit ist, und δ eine Verschiebung in der Richtung des Vektors nach der Abtastzeit ist, muß
- vn τ = δ
- (29)
- erfüllt sein.
- Unter Verwendung von Fig.24 wird ein Verfahren zur Berechnung eines Kraftgeschwindigkeitsbefehls beschrieben, um die obige Bedingung zu erfüllen. In der Figur ist die aktuelle Position des Roboterendes der Punkt Pi. Wenn sich der Roboter vom Punkt Pi in der Richtung des Vektors mit einer Befehlsgeschwindigkeit Vo bewegt, kommt das Roboterende am Punkt Pi+1' auf dem Krümmungskreis (an der geschätzten Position zur Zeit der nächsten Abtastung) nach der näch sten Abtastzeit τ an. Eine Verschiebung δ in der Richtung des Vektors , die auftritt, wenn der Roboter bei Pi+1' ankommt, wird unter Verwendung des in Gleichung (27) erhaltenen ri ermittelt als:
- δ = ri - ri² - (Vo τ)²
- (30)
- Gemäß den Gleichungen (29) und (30) ist der Kraftgeschwindigkeitsbefehl gegeben durch:
- vn = (ri - ri² - (Vo τ)²)/τ
- (31)
- Der Kraftgeschwindigkeitsbefehl v wird in Vektorform dargestellt durch:
- n = vn i
- (32)
- Wenn eine Profilieroperation unter Verwendung der durch Gleichung (32) ermittelten Befehlsgeschwindigkeit n durchgeführt wird, kann sie derart gesteuert werden, daß eine Abweichung einer zwischen dem Roboter und dem Werkstück wirkenden Kontaktkraft von einer eingestellten Kraft auch während eines Zeitintervalls zwischen Abtastzeiten nicht groß wird.
- Die obige Berechnung wird vom Krümmungsberechnungsteil 150 und dem Positionsabweichung-Kompensationsteil 15 durchgeführt, unter Verwendung der Position des Roboterendes, die vom Positionsdetektierteil 12 in Fig.21 detektiert wird, des Normalenvektors, der vom Normalenvektor-Berechnungsteil 13a berechnet wird, und des Vektors in der Bewegungsrichtung, der vom Bewegungsrichtungsvektor-Berechnungsteil 14a berechnet wird.
- Die Profilsteuervorrichtung gemäß der dritten Ausführungsform ist gleich wie die in Fig.9 gezeigte gemäß der ersten Ausführungsform, einschließlich des Positionssteuerteils und des Kraftsteuerteils in Fig.10, ausgenommen daß der Steuerbefehl-Erzeugungsteil 40 einen Krümmungsberechnungsteil 150 zum Berechnen der Krümmung an der aktuellen Roboter-Endposition und einen Positionsabweichung-Kompensationsteil 151 zum Berechnen eines Kraftgeschwindigkeitsbefehls enthält, der zum Kompensieren einer aus der Krümmung geschätzten Positionsabweichung verwendet wird. Die Systemkonfiguration der Profilsteuervorrichtung ist auch gleich wie jene in Fig.11, ausgenommen daß der Steuerbefehl-Erzeugungsteil 40 im Host-Computer 37 den Krümmungsberechnungsteil und den Positionsabweichung-Kompensationsteil enthält.
- Fig.25A bis 25C sind Flußdiagramme einer Profiloperation gemäß der dritten Ausführungsform der vorliegenden Erfindung. Das Flußdiagramm ist ähnlich dem der ersten Ausführungsform, wie in Fig.14 gezeigt, und daher werden hauptsächlich die Unterschiede beschrieben. In Fig.25A bis 25C werden zuerst Parameter in Schritt S152 eingestellt, wie in Schritt S78 in Fig.14, und dann werden die gleichen Prozesse bis Schritt S157 wie jene bis S78 in Fig.14 durchgeführt. In Fig.25 wird zur Berechnung der Krümmung vor Schritt S159, der Schritt S84 in Fig.14 entspricht, die Roboter-Endposition PB vom Steuerbefehl-Erzeugungsteil in einem Speicher gespeichert. In Schritt S174 wird auch vor dem Schritt, der Schritt S99 in Fig.14 entspricht, die Roboter-Endposition i im Speicher gespeichert. In Schritt S177, der Schritt S101 in Fig.14 entspricht, wird der Normalenvektor i zusätzlich dazu, daß er berechnet und zum Steuerbefehl-Erzeugungsteil transferiert wird, im Speicher gespeichert.
- In Fig.25A bis 25C wird die Kompensation für die Positionsabweichung durch den Krümmungsberechnungsteil und den Positionsabweichung-Kompensationsteil nach Schritt S180 durchgeführt, der Schritt S104 in Fig.14 entspricht. Das heißt, in Schritt S181 wird der Radius eines Krümmungskreises in Übereinstimmung mit Gleichung (27) unter Verwendung des Normalenvektors i, der Roboter-Endposition eines Abtastschritts davor und der aktuellen Roboter-Endposition berechnet. In Schritt S183 wird eine Positionsabweichung vom Positionsabweichung-Berechnungsteil unter Verwendung von Gleichung (30) berechnet. In Schritt S183 wird ein Kraftgeschwindigkeitsbefehl oVn unter Verwendung von Gleichung (32) eingestellt, und in Schritt S184 wird oVn vom Steuerbefehl- Erzeugungsteil zusätzlich zu Vo in Schritt S105 in Fig.14 erteilt. Die folgenden Prozesses sind gleich wie jene in Fig.14. Die Prozesse werden ab Schritt S174 wiederholt, bis eine Beendigungsinstruktion durch den Operator in Schritt S191 detektiert wird.
- Es ist selbstverständlich möglich zu entscheiden, ob der Endpunkt der Profiloperation erreicht ist oder nicht, anstelle der Entscheidung der Beendigungsinstruktion vom Operator in Schritt S191.
- Eine vierte Aufgabe der vorliegenden Erfindung, das heißt ein Profilsteuersystem zum Durchführen einer Profilieroperation, wobei eine festgelegte Kraft auf eine Seitenfläche eines Werkstücks mit unbekannter rechteckiger Form ausgeübt wird, wird als vierte Ausführungsform beschrieben.
- Fig.26 ist ein grundlegendes Blockbild der vierten Ausführungsform der vorliegenden Erfindung. Im Vergleich mit der ersten Ausführungsform in Fig.5 ist die vierte Ausführungsform mit einem Positionsspeicherteil 200 versehen, der auf einen vom Steuerbefehl-Erzeugungsteil 15a erzeugten Befehl anspricht, wenn die vom Kraftdetektierteil 11 detektierte Kraft ungefähr 0 wird, um eine vom Positionsdetektierteil 12 detektierte Roboter-Endposition zu speichern, anstelle des Normalenvektor-Berechnungsteils 13a und Bewegungsrichtungsvektor-Berechnungsteils 14a.
- Fig.27 veranschaulicht eine Positionsbeziehung zwischen einem Werkstück und einem Roboter-Manipulator. In der Figur bezeichnen P1, P2 und P3 jeweilige Positionen des Roboter endes. Bei der Durchführung einer Profiloperation an einer Seitenfläche A eines rechteckigen Objekts in Fig.27 wird ein Profil-Koordinatensystem durch einen Vektor rechtwinkelig zur Seitenfläche und Vektoren und parallel zur Seitenfläche definiert.
- Das in der Position P1 eingestellte Profil-Koordinatensystem in Fig.27 muß nicht geändert werden, solange die Profiloperation an der Seitenfläche A durchgeführt wird. Da jedoch die profilierte Oberfläche von der Seitenfläche A zur Seitenfläche B geändert wird, wenn sich der Roboter von der Position P1 zur Position P2 bewegt, muß auch das Profil-Koordinatensystem zu einem Koordinatensystem für die Position P3 geändert werden.
- Fig.28 veranschaulicht eine Profiloperation. In der Figur zeigt in der Richtung rechtwinkelig zum Zeichnungsblatt nach unten. Die Figur ist eine von oben gesehene Ansicht des Werkstücks (von der Richtung rechtwinkelig zu den Flächen A und B) und veranschaulicht, wie der Roboter in der Nähe der Position P2 arbeitet.
- Fig.29A bis 29C veranschaulichen das Zeitverhalten der Kraft und Position zur Zeit einer Profiloperation. In der Figur bezeichnen t(P1), t(P2) und t(P4) Zeiten, zu denen der Roboter an den Positionen P1, P2 und P4 ankommt. Im Gegensatz zu Fig.17 der zweiten Ausführungsform wird die Position des Roboterendes in Fig.28 durch das Zentrum des Handgriffs definiert.
- Fig.29A bis 29C veranschaulichen die Zeithysterese einer Preßkraft n in der Richtung von und der Roboter- Endpositionen (Xow, Yow) zur Zeit der Profiloperation an der Oberfläche A. (Die Koordinaten auf der Zw-Achse sind weggelassen).
- Fig.26 ist ein Blockbild eines Steuersystems eines Kraftregelungsroboters zur Änderung des in Position P1 beschriebenen Profil-Koordinatensystems zum in Position P3 beschriebenen Profil-Koordinatensystem und zur Änderüng der Lage des Roboters von P2 zu P3. Ein Steuerverfahren, um es dem Roboter zu ermöglichen, eine Profilieroperation an einem rechteckigen Werkstück durchzuführen, wird nachstehend in Verbindung mit Fig.26, 28 und 29 beschrieben.
- Wie in Fig.28 gezeigt, wird angenommen, daß der Roboter an der Position P2 zur Zeit t(P2) ankommt, wobei er eine Profilieroperation an der Oberfläche A von P1 zu P2 durchführt. An der rechten Seite der Position P2 ist kein Werkstück. An diesem Punkt wird der Steuerbefehl nicht geändert. Daher wird sich der Roboter in der Richtung von bewegen, um die Preßkraft in der Richtung von zu erzeugen. Da es auch eine Bewegungskomponente in der Richtung von gibt, bewegt sich der Roboter schließlich von der Position P2 zur Position P4. An diesem Punkt zeigt die Preßkraft n in der Richtung von , die vom Kraftdetektierteil 11 in Fig.26 detektiert wird, ein Zeitverhalten, wie in Fig.29A gezeigt. Das heißt, die Preßkraft hat eine festgelegte Größe während eines Zeitraums, wenn der Roboter die Oberfläche A mit einem Profil versieht, während er sich von P1 nach P2 bewegt, und sie wird 0 aufgrund des Fehlens der Reaktionskraft, wenn der Roboter in Position P2 ankommt, wo kein Werkstück ist. Das Zeitverhalten der Roboter-Endposition Ow (Xow, Yow), die vom Positionsdetektierteil 12 in Fig.26 detektiert wird, ist in Fig.29A, B gezeigt. Wie ersichtlich ist, bewegt sich der Roboter auch in der Richtung Xw bei der Ankunft in Position P2. Es ist zu beachten, daß angenommen wird, daß sich der Roboter bei einer konstanten Geschwindigkeit in den Richtungen Xw und Yw bewegt.
- Der Steuerbefehl-Erzeugungsteil 15a in Fig.26 speichert die Koordinaten der Position P2 (Xow, Yow, in Fig.29B, C mit strichlierten Linien angegeben), und erteilt einen Befehl, den Roboter bei der Detektion einer derartigen Kraftvariation sofort zu stoppen, wie in Fig.29A gezeigt. Beim Empfang des Stopp-Befehls stoppen der Positionssteuerteil 18 und der Kraftsteuerteil 19 den Roboter. An diesem Punkt ist die Position des Roboters P4.
- Um das Profil-Koordinatensystem von jenem an P1 zu jenem an P3 zu ändern, und die Lage des Roboters von P2 zu P5 zu ändern, muß der Roboter nur im Uhrzeigersinn um -90º um den Vektor gedreht werden. Daher wird durch die Multiplikation des Profil-Koordinatensystems [ p1, p1, p1] mit einem Drehkoordinatensystem E für das Profil-Koordinatensystem Xw, Yw und Zw das Profil-Koordinatensystem [ p3, p3, p3] an P3 ermittelt als:
- Die Änderung der Lage des Roboters von P2 zu P5 kann auch erhalten werden, indem die gleiche Operation am das Roboterende beschreibenden Hand-Koordinatensystem durchgeführt wird.
- Wenn das Profil-Koordinatensystem an P3 und die Lage des Roboters an P5 erhalten werden, setzt der Steuerbefehl- Erzeugungsteil 15a in Fig.26 die erforderlichen Parameter im Positiongsteuerteil 18 und Kraftsteuerteil 19. Als nächstes wird die Lage des Roboters geändert, um dem neu eingestellten Koordinatensystem zu entsprechen, und der Roboter wird bewegt, bis seine Position in der Richtung Xw Xow am Punkt in Fig.29B entspricht, der im Positionssteuerteil 200 gespeichert ist (Position P6). Dann wird der Roboter in die Richtung von -Yw gepreßt, und, wenn die eingestellte Kraft erreicht ist (Position P5), wird die Profiloperation an der Oberfläche B wiederaufgenommen.
- Durch das Vornehmen der obigen Operation an den anderen Ecken können die vier Oberflächen des Werkstücks mit einem Profil versehen werden. Der Einfachheit halber erfolgte die obige Beschreibung auf der Basis des Profil-Koordinatensystems Ow -Xw, Yw, Zw. Wenn das Profil-Koordinatensystem jedoch in das Referenz-Koordinatensystem transformiert wird, wie oben beschrieben, kann die Beschreibung ähnlich auf der Basis des Referenz-Koordinatensystems erfolgen.
- Fig.30 ist ein Blockbild einer Steuervorrichtung gemäß der vierten Ausführungsform der vorliegenden Erfindung. Im Vergleich mit der in Fig.9 gezeigten Steuervorrichtung gemäß der ersten Ausführungsform ist in der vierten Ausführungsform der Host-Computer 37 mit einem Positionsspeicherteil 200 zum Speichern der Roboter-Endposition unter Verwendung des Ausgangs der Koordinatentransformationsteils 30 anstelle des Normalenvektor-Berechnungsteils 38 und des Bewegungsrichtungsvektor-Berechnungsteils 39 versehen. Der Positionssteuerteil 32 und der Kraftsteuerteil 34 in Fig.30 sind auch gleich wie jene in Fig.10 in der ersten Ausführungsform
- Fig.31 veranschaulicht eine Systemkonfiguration der Profilsteuervorrichtung gemäß der vierten Ausführungsform Im Vergleich mit Fig.11 der ersten Ausführungsform ist der Host-Cornputer der vierten Ausführungsform mit einem Speicher 201 mit dem Positionsspeicherteil 200 anstelle des Normalenvektor-Berechnungsteils 38 und des Bewegungsrichtungsvektor- Berechnungsteils 39 versehen.
- Fig.32A bis 32C veranschaulichen in Form eines Flußdiagramms den Prozeßfluß, der vom Steuerbefehl-Erzeugungsteil 40, Positionsspeicherteil 200 und Roboterkontroller 42 im Host-Computer 37 der vierten Ausführungsform durchgeführt wird. In der folgenden Beschreibung wird das Verfahren zum Ändern des Roboters von Position P2 zur Position P5 in Fig.28 detailliert erläutert. Die Beschreibung, wie das Roboterende zu Position P1 für die Profilieroperation an der Oberfläche A zu bewegen ist, entfällt.
- Wenn die am Manipulator angebrachte Hand eine Profiloperation an der Oberfläche A in Position P1 vornimmt, wie in Fig.28 gezeigt, wurde der Prozeß in Schritt S202 bereits beendet, und die Schritte S203 und S204 werden vom Roboterkontroller verarbeitet.
- Der Steuerbefehl-Erzeugungsteil 40 überwacht in Schritt S205 die Preßkraft Fo der Hand, die vom Roboterkontroller in Schritt S204 übertragen wird, und entscheidet in Schritt S206, ob die Reaktionskraft Null ist oder nicht, nämlich ob die Hand in Position P2 angekommen ist oder nicht, wo es keine Reaktionskraft vom Werkstück gibt. Angesichts eines Fehlers kann diese Entscheidung in Abhängigkeit davon getroffen werden, ob der Absolutwert Fo von Fo kleiner ist als Fset (< 1) oder nicht. Wenn aufgrund der fehlenden Reaktionskraft (Fo = 0) entschieden wird, daß der Roboter in Position P2 angekommen ist, transferiert der Steuerbefehl-Erzeugungs teil 40 die Koordinaten der Position P2, die vom Positionssteuerteil 28 und Koordinatentransformationsteil 30 im Roboterkontroller detektiert werden, zum Positionsspeicherteil 200 in Schritt S207. Der Positionsspeicherteil 200 empfängt und speichert die Koordinaten der Position P2 in Schritt S209. Als nächstes erteilt der Steuerbefehl-Erzeugungsteil einen Kraftbefehl Fr = 0, einen Geschwindigkeitsbefehl VO = 0, und einen gewünschten Positionsbefehl Xr = die aktuelle Position in Schritt S210, und der Manipulator wird vom Roboterkontroller 42 in Schritt S211 gestoppt. Nach dem Anhalten des Manipulators ändert der Steuerbefehl-Erzeugungsteil 40 die Koordinatentransformationsmatrix R in Übereinstimmung mit Gleichung (33), und sendet diese an den Roboterkontroller 42 in Schritt S212. Der Roboterkontroller 42 ändert R, RT im Positionssteuerteil 32 und Kraftsteuerteil 34 in Schritt S213. Der Steuerbefehl-Erzeugungsteil berechnet die Lage der Hand gemäß dem neu eingestellten Profil-Koordinatensystem, und sendet eine gewünschte Position Xr und einen Geschwindigkeitsbefehl Vo an den Roboterkontroller in Schritt S214. Ansprechend auf die gewünschte Position Xr und den Geschwindigkeitsbefehl Vo ändert der Roboterkontroller 42 die Lage der Hand und des Manipulators in Schritt S215. Als nächstes empfängt der Steuerbefehl-Erzeugungsteil 40 in Schritt S216 die Koordinaten (Xow, Yow, Zow) der Position P2, die in Schritt S209 im Positionsspeicherteil 200 gespeichert wurden, und erteilt dem Roboterkontroller 42 in Schritt S217 einen Befehl, sich zu Position P6 zu bewegen. Nach dem Anhalten der Bewegung in Schritt S218 erteilt der Steuerbefehl-Erzeugungsteil 40 in Schritt S219 dem Roboterkontroller 42 einen Kraftbefehl Fr und einen Geschwindigkeitsbefehl Vo, um auf die Oberfläche B mit der eingestellten Kraft Fr zu pressen. Nachdem die Befehle erteilt wurden, überwacht der Steuerbefehl-Erzeugungsteil 40 in Schritt S222 eine vom Roboterkontroller 42 in Schritt S221 nach dem Pressen in Schritt S220 zugeführte Kraft. Wenn in Schritt S223 entschieden wird, daß die Preßkraft Fo die eingestellte Kraft Fr erreicht hat, wird der Profilieroperationsbefehl in Schritt S224 erneut erteilt. Demgemäß wird in Schritt S225 eine Profilieroperation vom Roboterkontroller 42 an der Oberfläche B durchgeführt.
- Durch das Wiederholen der obigen Operation kann die Profilieroperation an anderen Oberflächen durchgeführt werden.
- Eine fünfte Aufgabe der vorliegenden Erfindung, das heißt ein Profilieroperation-Steuersystem für ein Werkstück, bei dem eine Oberfläche für die nächste Profilieroperation einen spitzen Winkel mit einer anderen Oberfläche bildet, wird als fünfte Ausführungsform der vorliegenden Erfindung beschrieben.
- Fig.33 ist ein grundlegendes Blockbild der fünften Ausführungsform. Im Vergleich mit der vierten Ausführungsform in Fig.26 ist die fünfte Ausführungsform mit einem Koordinatentransformationsmatrix-Erzeugungsteil 230 im Steuerbefehl- Erzeugungsteil 15a versehen.
- Fig.34 veranschaulicht eine Positionsbeziehung zwischen einem Werkstück mit einem spitzen Winkel und dem Manipulator. In der Figur ist der durch die Oberfläche A und Oberfläche B gebildete Winkel ein spitzer Winkel, und P1, P2 und P3 bedeuten Roboter-Endpositionen.
- Das Profil-Koordinatensystem, wenn der Roboter eine Profilieroperation an einer Oberfläche (beispielsweise Oberfläche A) durchführt, ist wie in Position P1 in Fig.34 gezeigt eingestellt. Wie dargestellt, ist der Vektor rechtwinkelig zur Oberfläche, während die Vektoren und parallel zur Oberfläche verlaufen.
- Das in Position P1 in Fig.34 eingestellte Profil-Koordinatensystem muß nicht geändert werden, solange die Oberfläche A mit einem Profil versehen wird. Wenn sich der Roboter jedoch von der Position P1 zur Position P2 bewegt, muß das Profil-Koordinatensystem zu dem in Position P2 eingestellten geändert werden, da die Profilieroberfläche von der Oberfläche A zur Oberfläche B gewechselt wird.
- Fig.35 veranschaulicht die Profilieroperation. Fig.35 ist eine von oben gesehene Ansicht des Werkstücks (aus der Richtung normal zu den Oberflächen A und B), und veranschaulicht, wie der Roboter in der Nähe der Position P2 arbeitet. Fig.36 veranschaulicht das Zeitverhalten der Kraft und Position zur Zeit der Profilieroperation. Fig.36 veranschaulicht die Zeithysterese der Preßkraft n in der Richtung von n und die Roboter-Handposition (Xh, Yh) zur Zeit der Profilieroperation an der Oberfläche A. t(P1), t(P2), t(P4), t(P5) und t(P6) sind Ankunftszeiten des Roboters in den Positionen P1, P2, P4, P5 und P6. Die Handposition entspricht jener in Fig.17 in der zweiten Ausführungsform Fig.33 ist ein Blockbild eines Kraftregelungsroboter- Steuersystems zur Änderung des in Position P1 beschriebenen Profil-Koordinatensystem zum Profil-Koordinatensystem in Position P3 und zur Änderung der Lage des Roboters von P2 über P7 zu P3. Ein Steuerverfahren zur Durchführung einer Profilieroperation an einem Werkstück mit einem spitzen Winkel wird nachstehend in Verbindung mit Fig.33, 35 und 36 beschrieben.
- Zuerst wird die Position (Xh, Yh) der Hand am Startpunkt P1 der Profilieroperation im Positionsspeicherteil 200 in Fig.33 gespeichert. Es wird angenommen, daß der Roboter als Folge der Profilieroperation von P1 zu P2 in Position P2 zur Zeit t(P2) angekommen ist, wie in Fig.35 gezeigt. An der rechten Seite von Position P2 befindet sich kein Werkstück. Zu dieser Zeit wird der Steuerbefehl nicht geändert, so daß sich der Roboter in der Richtung von weiterbewegt, um eine Preßkraft in der Richtung von zu erzeugen. Da es auch eine Bewegungskomponente in der Richtung von gibt, bewegt sich der Roboter schließlich von Position P2 zu Position P4. An diesem Punkt zeigt die Preßkraft n in der Richtung von , die vom Kraftdetektierteil 11 detektiert wird, in Fig.33 ein wie in Fig.36A gezeigtes Zeitverhalten. Das heißt, die Preßkraft hat eine festgelegte Größe während eines Zeitraums (t(P1) - t(P2)), wenn der Roboter die Oberfläche A mit einem Profil versieht, während er sich von P1 nach P2 bewegt, und sie wird 0 aufgrund des Fehlens der Reaktionskraft, wenn der Roboter in Position P2 ankommt, wo kein Werkstück ist. Das Zeitverhalten der Roboter-Handposition (Xh, Yh), die vom Positionsdetektierteil 12 in Fig.33 detektiert wird, ist in Fig.36A, B gezeigt. Wie ersichtlich ist, bewegt sich der Roboter auch in der Richtung Xh bei der Ankunft in Position P2. Es ist zu beachten, daß angenommen wird, daß sich der Roboter bei einer konstanten Geschwindigkeit in den Richtungen Xh und Yh bewegt. Der Steuerbefehl-Erzeugungsteil 15a in Fig.33 speichert die Koordinaten der Handposition P2 (Xh, Yh, in Fig.36B, C mit strichlierten Linien angegeben), und erteilt einen Befehl, den Roboter bei der Detektion einer derartigen Kraftvariation ( n = 0) sofort zu stoppen, wie in Fig.36A gezeigt. Beim Empfang des Stopp-Befehls stoppen der Positionssteuerteil 18 und der Kraftsteuerteil 19 den Roboter. An diesem Punkt ist die Position des Roboters P4.
- Zur Änderung der Lage des Roboters von P2 zu P5, muß die Hand nur im Uhrzeigersinn um -π/2 um die Zh-Achse des hand-Koordinatensystems OH -Xh, Yh, Zh gedreht werden. Das Hand-Koordinatensystem wird durch die Position und Lage der Hand relativ zum Manipulator definiert, und Einheitsvektoren H, H, H werden für die Koordinatenachsen XH, YH, ZH definiert. In Fig.35 ist das Hand-Koordinatensystem in Position P4 durch HP4, HP4, HP4 dargestellt, und das Hand- Koordinatensystem in Position P3 ist durch HP3, HP3, HP3 dargestellt. Es ist zu beachten, daß die Vektoren HP4 und HP5 in der Richtung normal zum Zeichnungsblatt nach unten zeigen.
- Eine Transformationsgleichung zur Änderung der Lage der Hand von P4 zu P5 wird unter Verwendung einer Drehkoordinaten-Transformationsmatrix Ek(-π/2) für das Hand-Koordinatensystem OH -XH, YH, ZH ausgedrückt durch:
- Nachdem das Hand-Koordinatensystem zu P5 geändert wurde, wird der Roboter in die Richtung von -Yh gepreßt, bis die eingestellte Kraft erreicht ist. Die eingestellte Kraft wird in Position P6 erreicht. Das Ansprechen der Kraft in der Richtung von H wird wie in Fig.36A gezeigt, und die Kraft n wird nach der Zeit t(P6) konstant gehalten.
- Bei der Detektion, daß die eingestellte Kraft zur Zeit t(P6) erreicht ist, erteilt der Steuerbefehl-Erzeugungsteil in Fig.33 einen Befehl, die Hand-Koordinaten (Xh, Yh, in Fig.35, 36B, C mit schwarzen Dreiecken angegeben) der Position P6 im Positionsspeicherteil 200 in Fig.33 zu speichern, und daher speichert der Positionsspeicherteil 200 die Position P6.
- Ein Verfahren zur Ermittlung des Profil-Koordinatensystems für eine Oberfläche B aus den Koordinaten der Positionen P1, P2 und P6, die im Positionsspeicherteil 200 in Fig.33 gespeichert sind, wird auf diese Weise beschrieben. Es wird angenommen, daß der Positionsvektor und die Koordinaten der Handposition sind:
- P&sub1; (P1x, P1y, P1z),
- P&sub2; (P2x, P2y, P1z),
- P&sub6; (P6x, P6y, P6z)
- In Fig.35 und 36 sind keine Z-Koordinaten angegeben, da nur die Xh-Yh-Ebene berücksichtigt wird. Allgemein sind die Z- Koordinaten in der folgenden Beschreibung enthalten.
- Um das Profil-Koordinatensystem in Position P1 zu dem in Position P3 in Fig.35 zu ändern, muß ein von der Oberfläche A und der Oberfläche B gebildeter Winkel φ ermittelt werden.
- Der Winkel φ wird unter Verwendung der Positionsvektoren P1, P2 und P6 dargestellt durch:
- worin das innere Produkt angibt, und den Absolutwert angibt.
- Zur Änderung des Profil-Koordinatensystems [ P1, P1, P1] bei P1 zum Koordinatensystem [ P3, P3, P] an P3 muß [ P1, P1, P1] nur um π - φ um die Achse P1 gedreht werden, wie aus der Beziehung zwischen den Koordinatensystemen an P1 und P3 in Fig.37 ersichtlich ist. Aus dem Profil-Koordinatensystem an P1 wird das Profil-Koordinatensystem unter Verwendung einer Drehkoordinaten-Transformationsmatrix Ek(π-φ) für das Profil-Koordinatensystem an P1 ermittelt als:
- Zur Änderung der Lage der Roboterhand vom Status in Po sition P2 zum Status in Position P7 kann das Hand-Koordinatensystem ( MP2, MP2, MP2] mit der in Gleichung (36) verwendeten Drehkoordinaten-Transformationsmatrix Ek(π-φ) multipliziert werden, um das Hand-Koordinatensystem an P7 zu erhalten. Zur Zeit der Bewegung der Roboterhand von P6 nach P7, wird die Hand, um l verschoben, in der Richtung der Verlängerung der Oberfläche B angesichts der Größe der Hand (in Fig.35 mit l angegeben) bewegt. An diesem Punkt werden die Koordinaten und die Lage der Hand ausgedrückt durch:
- P&sub7; = P&sub2; + l ( P&sub2; - P&sub6;) / P&sub2; - P&sub6;
- (37)
- Die Berechnung der Koordinatentransformationsmatrix und der Vektoren, die in den Gleichungen (34) bis (38) verwendet werden, wird vom Koordinatentransformationsmatrix-Erzeugungsteil 230 in Fig.33 durchgeführt.
- Die Berechnung der Koordinatentransformationsmatrix und der Vektoren, die in den Gleichungen (34) bis (38) verwendet werden, wird vom Koordinatentransformationsmatrix-Erzeugungsteil 230 in Fig.33 durchgeführt.
- Wenn das Profil-Koordinatensystem an P3, die Position des Roboters und das Hand-Koordinatensystem an P7 erhalten werden, werden vom Steuerbefehl-Erzeugungsteil in Fig.33 Steuerbefehlparameter im Positionssteuerteil 18 und Kraftsteuerteil 19 gesetzt. Der Roboter bewegt sich von P4 zu P7, während er seine Lage ändert, um eine Preßoperation an der Oberfläche B vorzunehmen. Die Richtung der Preßoperation an diesem Punkt folgt dem in Position P3 angegebenen Profil-Koordinatensystem. Wenn die eingestellte Kraft in Position P7 erreicht ist, wird die Profilieroperation an der Oberfläche B wiederaufgenommen.
- Der Einfachheit halber erfolgt die obige Beschreibung bezüglich der Xh-Yh-Ebene. Unter Verwendung der allgemeinen Gleichungen (34) bis (38) und der oben beschriebenen Koordinatentransformation des Profil-Koordinatensystems in das Referenz-Koordinatensystem kann die Beschreibung ihnlich in bezug auf das Referenz-Koordinatensystem erfolgen.
- Die Steuervorrichtung gemäß der fünften Ausführungsform ist gleich wie jene in Fig.30 gemäß der vierten Ausführungsform, einschließlich des Positionssteuerteils 32 und Kraftsteuerteils 34, ausgenommen daß der Steuerbefehl-Erzeugungsteil 40 einen Koordinatentransformationsmatrix-Erzeugungsteil 230 enthält. Die Systemkonfiguration ist auch gleich wie jene in Fig.31 gemäß der vierten Ausführungsform.
- Fig.38A bis 38E sind Flußdiagramme der Profilieroperation gemäß der fünften Ausführungsform, die den Prozeßfluß veranschaulichen, der vom Steuerbefehl-Erzeugungsteil 40, Positionsspeicherteil 200 und Koordinatentransformationsmatrix-Erzeugungsteil 230 im Host-Computer 37 und Roboterkontroller 42 durchgeführt wird. In der folgenden Beschreibung wird ein Verfahren zum Wechseln von Position P2 zu Position P7 in Fig.35 detailliert erläutert, die Beschreibung, wie die Hand zu Position P1 zur Durchführung der Profilieroperation an der Oberfläche A zu bewegen ist, entfällt jedoch.
- In Fig.38A bis 38E erteilt der Steuerbefehl-Erzeugungsteil 40 dem Roboterkontroller 42 einen Positionsspeicherbefehl in Schritt S231, wenn die Hand mit der Oberfläche A des Werkstücks in Kontakt kommt. Der Roboterkontroller 42 detektiert die Koordinaten der Position P1 in Schritt S232, und der Positionsspeicherteil 200 speichert die Position in Schritt S233. Der Steuerbefehl-Erzeugungsteil 40 erteilt einen Befehl für eine Profilieroperation an der Oberfläche A in Schritt S234, und der Roboterkontroller 42 führt die Profilieroperation an der Oberfläche A in Schritt S235 durch. Die detaillierte Beschreibung der Profilieroperation an der Oberfläche A entfällt.
- In Schritt S237 überwacht der Steuerbefehl-Erzeugungs teil 40 die Handpreßkraft F, die vom Roboterkontroller 42 in Schritt 236 gesendet wird, während die Hand die Oberfläche A mit einem Profil versieht. In Schritt 238 wird eine Entscheidung getroffen, ob Fn Null ist oder nicht, das heißt, ob die Reaktionskraft als Folge der Ankunft der Hand in Position P2 verlorengeht oder nicht. Diese Entscheidung kann in Abhängigkeit davon getroffen werden, ob der Absolutwert n von n kleiner ist als Fset (≤ 1) angesichts eines Fehlers oder nicht. Wenn entschieden wird, daß die Hand in Position P2 angekommen ist ( n = 0), transferiert der Steuerbefehl-Erzeugungsteil 40 die Koordinaten (Xh, Yh) der Position P2, die vom Positionsdetektierteil 28 und Koordinatentransformationsteil 30 im Roboterkontroller detektiert werden, zum Positionsspeicherteil 200. In Schritt S241 empfängt und speichert der Positionsspeicherteil 200 die Koordinaten der Position P2, die vom Roboterkontroller 42 in Schritt S240 übertragen werden. Als nächstes erteilt der Steuerbefehl-Erzeugungsteil 40 einen Kraftbefehl F = 0, einen Geschwindigkeitsbefehl Vo = 0 und einen gewünschten Positionsbefehl Xr (= aktuelle Position) in Schritt S242, und der Roboterkontroller 42 stoppt den Manipulator in Schritt S243. Nachdem der Manipulator gestoppt wurde, berechnet der Steuerbefehl-Erzeugungsteil 40 die Lage der Hand, nachdem sie um -π/2 um die Z-Achse des Hand-Koordinatensystems gedreht wurde, unter Verwendung der Gleichung (34), und sendet einen gewünschten Positionsbefehl Xr und einen Geschwindigkeitsbefehl Vo zum Roboterkontroller 42 in Schritt S244. Beim Empfang von Xr und Vo ändert der Roboterkontroller 42 die Lage des Manipulators und der Hand in Schritt S245. Nachdem die Lage geändert wurde, erzeugt der Steuerbefehl-Erzeugungsteil 40 einen Preßbefehl in der negativen Richtung der in Fig.35 gezeigten Yh-Achse in Schritt S246, und sendet einen Kraftbefehl Fr und einen Geschwindigkeitsbefehl Vo an den Roboterkontroller 42, der seinerseits eine Preßoperation in der -Yh-Richtung in Schritt S247 durchführt. Zur Überwachung einer Kraft empfängt der Steuerbefehl-Erzeugungsteil 40 in Schritt S249 die Kraft, die vom Roboterkontroller 42 in Schritt S248 detektiert wird. Wenn in Schritt S250 entschieden wird, daß die Preßkraft yh die eingestellte Kraft r erreicht hat, erteilt der Steuerbefehl-Erzeugungsteil 40 in Schritt S251 dem Roboterkontroller 42 einen Befehl, die Position P6 zu speichern, in der die Hand mit der Oberfläche B in Kontakt kommt. Der Roboterkontroller 42 detektiert die Koordinaten von P6 und sendet sie an den Positionsspeicherteil 200 in Schritt S252. Der Positionsspeicherteil 200 empfängt und speichert die Koordinaten von P6 in Schritt S253. Der Steuerbefehl-Erzeugungsteil 40 erteilt dem Koordinatentransformationsmatrix-Erzeugungsteil 230 in Schritt S254 einen Befehl zur Erzeugung einer Matrix für die Koordinatentransformation des Profil-Koordinatensystems, und einen Befehl für die Transmission der Koordinaten der Positionen P1, P2 und P6, die im Positionsspeicherteil 200 gespeichert sind. Der Koordinatentransformationsmatrix- Erzeugungsteil 230 berechnet einen von der Oberfläche A und Oberfläche B gebildeten Winkel φ in Übereinstimmung mit Gleichung (35) auf der Basis der Koordinaten der Positionen P1, P2 und P6, die vom Positionsspeicherteil 200 gesendet werden. Der Koordinatentransformationsmatrix-Erzeugungsteil 230 berechnet auch das Profil-Koordinatensystem an Position P5 in Schritt S257, die Koordinaten der Position P7 im Hand- Koordinatensystem und die Lage in Position P7 in Schritt S260. In den Schritten S257 und S260 werden die Berechnungsergebnisse und eine Berechnung-Ende-Flagge bei jeder Berechnung zum Steuerbefehl-Erzeugungsteil 40 gesendet. Beim Empfang der Ende-Flagge führt der Steuerbefehl-Erzeugungsteil die nachfolgenden Schritte S258, S259, S261 und S262 durch. Für einen Kontakt mit der Oberfläche B in der richtigen Lage erteilt als nächstes der Steuerbefehl-Erzeugungsteil 40 dem Roboterkontroller einen Befehl für eine Bewegung zur Position P7 in Schritt S263. Der Roboterkontroller 42 bewegt den Roboter von P6 zu P7 und ändert seine Lage in Übereinstimmung mit der empfangenen gewünschten Position, der Lage Xr und dem Geschwindigkeitsbefehl Vo in Schritt 264. Nach der Bewegung wird das Profil-Koordinatensystem zum in Schritt S257 erhaltenen Koordinatensystem umgeschaltet (Schritte S265, S266), und das Pressen wird in der Richtung von n im neuen Koordinatensystem durchgeführt (Schritte S267, S268). Der Steuerbefehl-Erzeugungsteil 40 entscheidet in Schritt S269, ob die vom Roboterkontroller gesendete Kraft die eingestellte Kraft erreicht hat (Schritte S270, S271). Wenn die eingestellte Kraft erreicht ist, sendet der Steuerbefehl-Erzeugungsteil 40 erneut einen Profilieroperationsbefehl an den Roboterkontroller 42 in Schritt S272. Der Roboterkontroller 42 ermöglicht es dem Roboter, die Oberfläche B mit einem Profil zu versehen, wobei eine konstante Kraft Fr unter Verwendung des neuen Koordinatensystems in Schritt S273 erzeugt wird.
- Die vorliegende Erfindung, die oben detailliert erläutert wurde, kann bei verschiedenen Arbeiten unter Verwendung von Robotern eingesetzt werden. Die Arbeiten, bei denen die vorliegende Erfindung verwendet werden kann, werden in Verbindung mit Fig.39A bis 39C beschrieben. Fig.39A veranschaulicht Arbeiten, die von Systemen des Standes der Technik verrichtet werden können, und die das Zusammenbauen und Schneiden eines Werkstücks enthalten, dessen Kontur erkannt wird. Fig.39B veranschaulicht Arbeiten, die von Systemen des Standes der Technik verrichtet werden können, wenn ein Werkstück eine im voraus bekannte Kontur aufweist, und die Trimmen, Beschichten, Polieren und Reiben enthalten. Wenn die Kontur eines Werkstücks jedoch unbekannt ist, sind die Arbeiten in Fig.39A unmöglich. Unter Verwendung der vorliegenden Erfindung können die Arbeiten in Fig.39B an einem Werkstück mit unbekannter Kontur durchgeführt werden. Ferner veranschaulicht Fig.39C Arbeiten, die von keinem bekannten System durchgeführt werden können. Die Arbeiten enthalten das Erkennen der Kontur eines Werkstücks, die Montage und das Schreiben auf einer gekrümmten Oberfläche. Derartige Arbeiten können bis zur Verwendung der vorliegenden Erfindung nicht verrichtet werden.
Claims (35)
1. Profilsteuersystem für einen Kraftregelungsroboter zum
Durchführen einer Profilieroperation an einer unbekannten
Oberfläche eines Werkstücks, mit:
einem Kraftdetektierteil (11:29) zum Detektieren einer
Kraft, die zwischen einer Spitze (7) des Roboters (10) und
dem Werkstück wirkt;
einem Positionsdetektierteil (12:28) zum Detektieren
der Position der Spitze des Roboters (10);
einem Steuerbefehl-Erzeugungsteil (15; 15a:40) zum
Erzeugen eines Steuerbefehls für den Roboter (10) gemäß den
Ausgängen des Kraftdetektierteils (11:29) und des
Positionsdetektierteils (12:28);
einem Kraftsteuerteil (19:34) zum Steuern der Kraft,
mit der die Spitze des Roboters (10) gegen das Werkstück
gedrückt wird, in Übereinstimmung mit den Ausgängen des
Kraftdetektierteils (11:29) und des Steuerbefehl-Erzeugungsteils
(15; 15a:40);
einem Positionssteuerteil (18:32) zum Steuern der
Position der Spitze des Roboters (10) gemäß den Ausgängen des
Positionsdetektierteils (12:28) und des
Steuerbefehl-Erzeugungsteils (15; 15a:40);
einem Normalenvektor-Berechnungsteil (13; 13a) zum
Berechnen des Normalenvektors am Kontaktpunkt zwischen der
Spitze des Roboters (10) und dem Werkstück;
dadurch gekennzeichnet, daß es ferner enthält: eine
Bewegungsrichtungsvektor-Berechnungseinrichtung (14; 14a)
zum Erhalten eines Einheitsvektors in der Richtung des
äußeren Produkts x eines Normalenvektors , der aus dem
Normalenvektor-Berechnungsteil (13; 13a) ausgegeben wird,
und eines Einheitsvektors in der Richtung eines Endpunkts
der Profilieroperation, der durch einen Operator vorgesehen
werden kann, aus der aktuellen Position der Spitze des
Roboters (10),
die vom Positionsdetektierteil (12) ausgegeben
wird, und zum anschließenden Erhalten eines Einheitsvektors
für die Bewegungsrichtung der Spitze des Roboters (10) als
äußeres Produkt des Vektors a und des Normalenvektors ,
wobei
dem Steuerbefehl-Erzeugungsteil (15; 15a:40) die
Ausgänge der Bewegungsrichtungsvektor-Berechnungseinrichtung
(14; 14a) und der Normalenvektor-Berechnungseinrichtung (13;
13a) zugeführt werden, so daß die Profilieroperation
durchgeführt werden kann, wobei das Profil-Koordinatensystem, das
vom Normalenvektor und dem Vektor in der
Bewegungsrichtung der Spitze des Roboters (10) bestimmt wird,
zurückgesetzt wird
2. Profilsteuersystem nach Anspruch 1, bei welchem die
Reaktionskraft , die auf die Spitze des Roboters (10) vom
Werkstück am Kontaktpunkt wirkt, durch einen Kraftsensor
(8), der als Kraftdetektierteil (11) dient, abgefühlt wird,
und der Normalenvektor-Berechnungsteil (13; 13a) einen
Einheitsvektor mit einer Richtung entgegengesetzt zu jener der
Reaktionskraft von einer
Profil-Koordinatensystemdarstellung in eine Roboterreferenz-Koordinatensystemdarstellung
transformiert.
3. Profilsteuersystem nach Anspruch 1 oder 2, bei welchem
das Profil-Koordinatensystem definiert wird durch den
Einheitsvektor in der Richtung, in der die Spitze des
Roboters (10) gegen das Werkstück gedrückt wird, und die mit der
Richtung einer Einwärtsnormalen an der Oberfläche des
Werkstücks am Kontaktpunkt koinzidiert, den Einheitsvektor in
der Bewegungsrichtung der Spitze des Roboters (10) und einen
Einheitsvektor , der das äußere Produkt der
Einheitsvektoren und ist.
4. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der Steuerbefehl-Erzeugungsteil (15;
15a) einen Kraftbefehl, der durch das Multiplizieren des
Normalenvektors mit der Größe einer vorgewählten Kraft
erhalten wird, um auf das Werkstück in einer
Profilieroperation zu wirken, und einen relativen Positionsbefehl erzeugt,
der durch das Multiplizieren des Vektors in der
Bewegungsrichtung der Spitze des Roboters (10) mit einer Konstante α
erhalten wird, die der Distanz zu einem Punkt, an dem ein
Rücksetzen des Profil-Koordinatensystems zu erfolgen hat,
entspricht.
5. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem das Rücksetzen des
Profil-Koordinatensystems durchgeführt wird, wenn eine festgelegte Zeit seit
dem vorherigen Einstellen des Profil-Koordinatensystems
verstrichen ist.
6. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem, wenn zu einer Zeit des Rücksetzens des
Profil-Koordinatensystems der Einheitsvektor und der
Normalenvektor koinzidieren, die Bewegungsrichtungsvektor-
Berechnungseinrichtung (14; 14a) den Einheitsvektor als
äußeres Produkt des Normalenvektors und eines Vektors in
der Bewegungsrichtung der Spitze des Roboters (10) am
Kontaktpunkt zwischen dem Roboter (10) und dem Werkstück
unmittelbar vor dem aktuellen Kontaktpunkt bestimmt, und den
Vektor in der Bewegungsrichtung der Spitze des Roboters (10)
am aktuellen Kontaktpunkt als äußeres Produkt des genannten
Vektors und des Normalenvektors bestimmt.
7. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der Kraftsteuerteil (19; 34) und der
Positionssteuerteil (18) in einem Roboterkontroller
enthalten sind, und der Normalenvektor-Berechnungsteil (13; 13a),
der Bewegungsrichtungsvektor-Berechnungsteil (14; 14a) und
der Steuerbefehl-Erzeugungsteil (15; 15a) in einem
Host-Computer implementiert sind.
8. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, wobei der Kraftsteuerteil (19; 34) enthält:
einen Teil (34d) zum Berechnen einer transponierten
orthogonalen Transformationsmatrix, um eine transponierte
orthogonale Transformationsmatrix (RT) zu berechnen, welche
die transponierte Matrix einer orthogonalen
Transformationsmatrix R ist, zur Transformation von einem durch die
Einheitsvektoren , und definierten
Profil-Koordinatensystem in ein Roboterreferenz-Koordinatensystem, um die
Differenz zwischen dem Ausgang Fo des Kraftdetektierteils (29),
der im Roboterreferenz-Koordinatensystem dargestellt ist,
und dem Kraftbefehl Fr, der aus dem
Steuerbefehl-Erzeugungsteil (40) ausgegeben wird, zu transformieren,
einen Selektionsmatrix-Berechnungsteil (34c) zum
Multiplizieren des Ausgangs des Teils (34d) zum Berechnen einer
transponierten orthogonalen Transformationsmatrix mit einer
Selektionsmatrix Sf, um zu bestimmen, in welcher der
Richtungen der drei Koordinatenachsen des
Profil-Koordinatensystems die Kraft zu steuern ist,
einen Orthogonalmatrix-Berechnungsteil (34b) zum
Multiplizieren des Ausgangs des Selektionsmatrix-Berechnungsteils
(34c) mit der orthogonalen Transformationsmatrix zur
Transformation vom Profil-Koordinatensystem in das
Referenz-Koordinatensystem, und
einen Kraftrückkopplungsverstärkung-Berechnungsteil
(34a) zum Multiplizieren des Ausgangs des Orthogonalmatrix-
Berechnungsteils (34b) mit einer
Kraftrückkopplungsverstärkung Cf in der Richtung jeder der Koordinatenachsen des
Referenz-Koordinatensystems,
und wobei der Positionssteuerteil (32) umfaßt:
einen Teil (32a) zum Berechnen einer transponierten
orthogonalen Transformationsmatrix (RT), um die Differenz
zwischen einem Positionsbefehl, der im
Referenz-Koordinatensystem
dargestellt ist, und vom Steuerbefehl-Erzeugungsteil
(40) ausgegeben wird, und einem Ausgang des
Positionsdetektierteils (32) in ein Profil-Koordinatensystem zu
transformieren,
einen Selektionsmatrix-Berechnungsteil (32b) zum
Multiplizieren des Ausgangs des Teils (32a) zum Berechnen einer
transponierten orthogonalen Transformationsmatrix mit einer
Differenz I-Sf zwischen einer Einheitsmatrix I und der
Selektionsmatrix Sf,
einen Orthogonalmatrix-Berechnungsteil (32c) zum
Multiplizieren des Ausgangs des Selektionsmatrix-Berechnungsteils
(32b) mit der orthogonalen Transformationsmatrix R, um den
Ausgang des genannten Selektionsmatrix-Berechnungsteils
(32b) in das Referenz-Koordinatensystem zu transformieren,
und
einen Positionsrückkopplungsverstärkung-Berechnungsteil
(32d) zum Multiplizieren des Ausgangs des Orthogonalmatrix-
Berechnungsteils (32c) mit einer
Positionsrückkopplungsverstärkung Cp in der Richtung jeder der Koordinatenachsen des
Referenz-Koordinatensystems,
und wobei die Ausgänge des
Kraftrückkopplungsverstärkung-Berechnungsteils (34a) und des
Positionsrückkopplungsverstärkung-Berechnungsteils (32d) und ein
Geschwindigkeitsbefehl, der vom Steuerbefehl-Erzeugungsteil (40)
ausgegeben wird, miteinander addiert werden, und das Ergebnis
dieser Addition in einen Drehwinkel eines Motors, der in
einem Operationsteil (27) installiert ist und für diesen
Operationsteil (27) verwendet wird, umgewandelt wird.
9. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der
Bewegungsrichtungsvektor-Berechnungsteil (14; 14a) einen Einheitsvektor o B im
Profil-Koordinatensystem am Startpunkt der Profilieroperation als
Einheitsvektor ermittelt, der in dieselbe Richtung zeigt wie
das äußere Produkt B x OP des Normalenvektors B, der aus
dem Normalenvektor-Berechnungsteil (13; 13a) ausgegeben
wird, und eines Bewegungsrichtungsvektors OP der Spitze des
Roboters (10) am Startpunkt der Profiloperation, der vom
Operator vorgesehen wird, und einen Einheitsvektor in der
Bewegungsrichtung B am Startpunkt als äußeres Produkt des
Einheitsvektors B und des Normalenvektors B am Startpunkt
bestimmt.
10. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der
Bewegungsrichtungsvektor-Berechnungsteil (14; 14a) einen Einheitsvektor in der
Bewegungsrichtung der Spitze des Roboters (10) an einem Punkt
bestimmt, an dem das Profil-Koordinatensystem als äußeres
Produkt des Einheitsvektors B am Startpunkt der
Profilieroperation und des Normalenvektors , der aus dem
Normalenvektor-Berechnungsteil (13; 13a) ausgegeben wird, zurückgesetzt
wird.
11. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der Steuerbefehl-Erzeugungsteil (15;
15a) den Normalenvektor-Berechnungsteil (13; 13a) veranlaßt,
den Normalenvektor am Startpunkt der Profilieroperation und
an einem Punkt des Rücksetzens des Profil-Koordinatensystems
zu berechnen, wenn die Größe der Reaktionskraft, die auf die
Spitze des Roboters (10) wirkt, vom Werkstück an diesen
Punkten nicht Null ist.
12. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der Steuerbefehl-Erzeugungsteil (15;
isa) die Profiloperation stoppt, wenn der Endpunkt der
Profiloperation, der vom Operator spezifiziert wird, von der
Spitze des Roboters (10) erreicht wird.
13. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der Steuerbefehl-Erzeugungsteil (15;
isa) die Profilieroperation stoppt, wenn eine
Beendigungsinstruktion
vom Operator erteilt wird.
14. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der Steuerbefehl-Erzeugungsteil (15;
15a) die Profilieroperation stoppt, wenn die Spitze des
Roboters (10) ihren Operationsbereich verläßt.
15. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, bei welchem der Steuerbefehl-Erzeugungsteil (15;
15a) die Profilieroperation stoppt, wenn die vom
Kraftdetektierteil (11) detektierte Reaktionskraft an einem Punkt,
an dem das Profil-Koordinatensystem zurückgesetzt wird, Null
oder zu groß wird.
16. Profilsteuersystem nach einem der Ansprüche 1 bis 14
zum Durchführen einer Profilieroperation an einem Werkstück
mit unbekannten und diskontinuierlichen Oberflächen, ferner
mit einer Bewegungsbahn-Sucheinrichtung (120) zum Suchen der
ursprünglichen Bewegungsbahn der Spitze des Roboters (10),
wenn sie sich vom Werkstück löst, an der Grenze zwischen den
diskontinuierlichen Oberflächen ansprechend auf die Ausgänge
des Kraftdetektierteils (11), des Positionsdetektierteils
(12), des Normalenvektor-Berechnungsteils (13; 13a) und des
Bewegungsrichtungsvektor-Berechnungsteils (14; 14a), und
Ausgeben eines Suchergebnisses an den
Steuerbefehl-Erzeugungsteil (15; 15a).
17. Profilsteuersystem nach Anspruch 16, wenn auf Anspruch
7 rückbezogen, bei welchem die Bewegungsbahn-Sucheinrichtung
(120) im Host-Computer implementiert ist.
18. Profilsteuersystem nach Anspruch 16 oder 17, bei
welchem der Steuerbefehl-Erzeugungsteil (15; 15a) die
Profilieroperation stoppt, wenn eine vom Kraftdetektierteil (11)
detektierte Reaktionskraft an einem Punkt, an dem das
Profil-Koordinatensystem zurückgesetzt wird, zu groß wird.
19. Profilsteuersystem nach einem der Ansprüche 16 bis 18,
bei welchem in einer Profilieroperation an einer Oberfläche
A des Werkstücks mit diskontinuierlichen Oberflächen der
Steuerbefehl-Erzeugungsteil (15; 15a) im
Bewegungsbahn-Suchteil (120) eine Position P1 speichert, die vom
Positionsdetektierteil (12) detektiert wird, wenn die vom
Kraftdetektierteil (11) detektierte Kraft Null wird, einen Befehl
erteilt, den Roboter (10) zu stoppen, und im Bewegungsbahn-
Suchteil (120) die Position F2 der Spitze des Roboters (10)
speichert, nachdem der Roboter (10) gestoppt ist, und der
Bewegungsbahn-Suchteil (120) ein neues
Profil-Koordinatensystem bestimmt, das durch Drehen des
Profil-Koordinatensystems an der Position P2 im Gegenuhrzeigersinn um 90º um den
Einheitsvektor K erhalten wird, und eine Position P3
bestimmt, welche den Fußpunkt der Normalen bildet, die von der
Position P2 zu einer Geraden gefällt wird, die in die
Bewegungsrichtung der Spitze des Roboters (10) auf der
Oberfläche A von der Position P1 zeigt, und der
Steuerbefehl-Erzeugungsteil (15; 15a) einen Befehl zum Bewegen der Spitze des
Roboters (10) zur Position P3 erteilt, einen Befehl erteilt,
um den Roboter (10) auf eine Oberfläche B benachbart der
Oberfläche A des Werkstücks zu drücken, entscheidet, ob die
Spitze des Roboters (10) die Position P1 passiert hat, und
es dem Roboter (10) ermöglicht, eine Profilieroperation an
der Oberfläche B zu starten, wenn die vom Kraftdetektierteil
(11) detektierte Kraft positiv wird, bevor die Spitze des
Roboters (10) die Position P1 passiert.
20. Profilsteuersystem nach Anspruch 19, bei welchem der
Steuerbefehl-Erzeugungsteil (15; 15a) einen Befehl erteilt,
den Roboter (10) zu stoppen, wenn er entscheidet, daß die
Spitze des Roboters (10) die Position P1 passiert hat, die
Drehung des Einheitsvektors im neuen
Profil-Koordinatensystem in der Drehrichtung einer Linksschraube anweist, und um
die Spitze des Roboters (10) auf das Werkstück zu drücken,
und entscheidet, daß die Spitze des Roboters (10) am
Endpunkt
der Oberfläche A angekommen ist, wenn die vom
Kraftdetektierteil (11) detektierte Kraft positiv wird.
21. Profilsteuersystem nach einem der vorhergehenden
Ansprüche, ferner mit:
einer Krümmungsberechnungseinrichtung (150) zum
Berechnen der Krümmung einer unbekannten gekrümmten Oberfläche des
Werkstücks am Kontaktpunkt zwischen der Spitze des Roboters
(10) und dem Werkstück;
einer Positionseinstelleinrichtung (151) zum Ausgeben
eines Einstellfaktors für eine Neustart-Position der Spitze
des Roboters (10) an den Steuerbefehl-Berechnungsteil (15;
15a) in Abhängigkeit vom Ausgang der
Krümmungsberechnungseinrichtung (150), wenn das nächste Profil-Koordinatensystem
bestimmt wird.
22. Profilsteuersystem nach Anspruch 21, bei welchem der
Steuerbefehl-Berechnungsteil (15; 15a) die Positionen der
Spitze des Roboters (10) am Startpunkt der
Profilieroperation und an einem Punkt speichert, an dem das
Profil-Koordinatensystem zurückgesetzt wird, und die Krümmungsberech
nungseinrichtung (150) am nächsten Punkt, an dem das Profil-
Koordinatensystem zurückgesetzt wird, den Mittelpunkt eines
Krümmungskreises als Schnittpunkt der normalen Mittellinie
zwischen dem gespeicherten Punkt und der aktuellen Position
der Spitze des Roboters (10) und einer Verlängerung des
Normalenvektors bestimmt, die an der aktuellen Position vom
Normalenvektor-Berechnungsteil (13; 13a) berechnet wird, und
die Krümmung am nächsten Punkt, an dem das
Profil-Koordinatensystem zurückgesetzt wird, als inverser Wert des Radius
des genannten Krümmungskreises ermittelt.
23. Profilsteuersystem nach Anspruch 22, bei welchem die
Positionseinstelleinrichtung (151) die Größe eines
Kraftgeschwindigkeitsbefehls V des Norrnalenvektors bestimmt, die
zum Kompensieren einer Positionsabweichung notwendig ist,
gemäß der folgenden Gleichung
Vn = (r - [r² - (V&sub0; τ)²]) /τ
worin r der Radius eines Krümmungskreises ist, der von der
Krümmungsberechnungseinrichtung (150) berechnet wird, τ ein
Zeitintervall ist, in dem das Profil-Koordinatensystem
zurückgesetzt wird, und Vo die Größe des
Kraftgeschwindigkeitsbefehls Vn für die Kompensation der Positionsabweichung
in der Richtung des Normalenvektors ist.
24. Profilsteuersystem nach einem der Ansprüche 21 bis 23,
wenn auf Anspruch 7 rückbezogen, bei welchem der
Krümmungsberechnungsteil (150) in einem Host-Computer implementiert
ist.
25. Profilsteuersystem nach einem der vorhergehenden
Ansprüche zur Durchführung einer Profilieroperation an einer
unbekannten Oberfläche eines Werkstücks mit rechteckigem
Profil oder polygonalem Profil mit einem spitzen Winkel,
mit:
einer Positionsspeichereinrichtung (200) zum Speichern
der Position der Spitze des Roboters (10) gemäß dem Ausgang
des Positionsdetektierteils (28); wobei die
Steuerbefehl-Erzeugungseinrichtung (40) auf die Ausgänge der
Positionsspeichereinrichtung (200) und des Kraftdetektierteils (29)
anspricht, um Steuerbefehle an den Roboter (10) auszugeben,
und um ein Profil-Koordinatensystem zur Veränderung der Lage
des Roboters (10) zu ändern, wenn der Kraftdetektierteil
(29) Null detektiert.
26. Profilsteuersystem nach Anspruch 25, bei welchem die
Profilieroperation unter Verwendung eines
Profil-Koordinatensystems gesteuert wird, das definiert wird durch einen
Einheitsvektor in der Richtung, in der die Spitze des
Roboters (10) am Kontaktpunkt zwischen der Spitze des Roboters
(10) und dem Werkstück gegen das Werkstück gedrückt wird,
einen Einheitsvektor in der Bewegungsrichtung der Spitze
des Roboters (10) und das äußere Produkt x der beiden
Einheitsvektoren und .
27. Profilsteuersystem nach Anspruch 25 oder 26, bei
welchem der Kraftsteuerteil (34) und der Positionssteuerteil
(32) in einem Roboterkontroller enthalten sind, und die
Positionsspeichereinrichtung (200) und der
Steuerbefehl-Erzeugungsteil (40) in einem Host-Computer implementiert sind.
28. Profilsteuersystem nach einem der Ansprüche 25 bis 27,
wobei der Kraftsteuerteil (34) enthält:
einen Teil (34d) zum Berechnen einer transponierten
orthogonalen Transformationsmatrix, um eine transponierte
Matrix RT einer orthogonalen Transformationsmatrix R zu
berechnen, zur Transformation vom durch die Einheitsvektoren
, und definierten Profil-Koordinatensystem in ein
Roboterreferenz-Koordinatensystem, um die Differenz zwischen
dem Ausgang des Kraftdetektierteils (11), der im
Roboterreferenz-Koordinatensystem dargestellt ist, und dem
Kraftbefehl, der aus dem Steuerbefehl-Erzeugungsteil (40)
ausgegeben wird, zu transformieren,
einen Selektionsmatrix-Berechnungsteil (34c) zum
Multiplizieren des Ausgangs des Teils (34d) zum Berechnen einer
transponierten orthogonalen Transformationsmatrix mit einer
Selektionsmatrix Sf, um zu bestimmen, in welcher der
Richtungen der drei Koordinatenachsen des
Profil-Koordinatensysterns die Kraft zu steuern ist,
einen Orthogonalmatrix-Berechnungsteil (34b) zum
Multiplizieren des Ausgangs des Selektionsmatrix-Berechnungsteils
(34c) mit der orthogonalen Transformationsmatrix R zur
Transformation vom Profil-Koordinatensystem in das Referenz-
Koordinatensystem, und
einem Kraftrückkopplungsverstärkung-Berechnungsteil
(34a) zum Multiplizieren des Ausgangs des Orthogonalmatrix-
Berechnungsteils (34b) mit einer
Kraftrückkopplungsverstärkung in der Richtung jeder der Koordinatenachsen des
Referenz -Koordinatensystems;
und wobei der Positionssteuerteil (32) umfaßt:
einen Teil (32a) zum Berechnen einer transponierten
orthogonalen Transformationsmatrix (RT), um die Differenz
zwischen einem Positionsbefehl, der im
Referenz-Koordinatensystem dargestellt ist, und vom Steuerbefehl-Erzeugungsteil
(40) ausgegeben wird, und dem Ausgang des
Positionsdetektierteils (32) in ein Profil-Koordinatensystem zu
transformieren,
einen Selektionsmatrix-Berechnungsteil (32b) zum
Multiplizieren des Ausgangs des Teils (32a) zum Berechnen einer
transponierten orthogonalen Transformationsmatrix mit der
Differenz I-Sf zwischen der Einheitsmatrix I und der
Selektionsmatrix Sf,
einen Orthogonalmatrix-Berechnungsteil (32c) zum
Multiplizieren des Ausgangs des Selektionsmatrix-Berechnungsteils
(32b) mit der orthogonalen Transformationsmatrix R, um den
Ausgang des Selektionsmatrix-Berechnungsteils (32b) in das
Referenz-Koordinatensystem zu transformieren, und
einen Positionsrückkopplungsverstärkung-Berechnungsteil
(32d) zum Multiplizieren des Ausgangs des Orthogonalmatrix-
Berechnungsteils (32c)mit einer
Positionsrückkopplungsverstärkung in der Richtung jeder der Koordinatenachsen des
Referenz-Koordinatensystems,
und wobei die Ausgänge des
Kraftrückkopplungsverstärkung-Berechnungsteils (34a) und des Positionsrückkopplungs
verstärkung-Berechnungsteils (32d) und ein
Geschwindigkeitsbefehl, der vom Steuerbefehl-Erzeugungsteil (40)
ausgegeben wird, miteinander addiert werden, und das Ergebnis der
Addition in einen Drehwinkel eines Motors, der in einem
Operationsteil
(27) installiert ist und für den Operationsteil
(27) verwendet wird, umgewandelt wird.
29. Profilsteuersystem nach einem der Ansprüche 25 bis 28,
bei welchem, wenn sich der Roboter (10) im Prozeß der
Durchführung einer Profilieroperation befindet, wobei eine
konstante Kraft auf eine Seitenfläche des Werkstücks ausgeübt
wird, das eine rechteckige Form hat, der
Steuerbefehl-Erzeugungsteil (40) in der Positionsspeichereinrichtung (200) die
Position der Spitze des Roboters (10) speichert, die vom
Positionsdetektierteil (28) detektiert wird, wenn entschieden
wird, daß die Spitze des Roboters (10) an einem Endpunkt der
Seitenfläche A angekommen ist, einen Befehl zum Stoppen des
Roboters (10) erteilt, ein neues Profil-Koordinatensystem
durch Drehen des Profil-Koordinatensystems an der
Seitenfläche A im Gegenuhrzeigersinn um 90º um den Einheitsvektor
bestimmt, eine Transformationsmatrix zur Transformation
vom Roboterreferenz-Koordinatensystem in das
Profil-Koordinatensystem und eine transponierte Matrix RT der
Transforrnationsrnatrix R als Parameter auf der Basis des neuen
Profil-Koordinatensystems setzt, einen Befehl erteilt, um die
Lage des Roboters (10) entsprechend dem neuen
Profil-Koordinatensystem auszurichten, einen Befehl zum Bewegen des
Roboters (10) zur in der Positionsspeichereinrichtung (200)
gespeicherten Position erteilt, und einen Profiloperations
befehl erteilt, um es dem Roboter (10) zu ermöglichen, eine
Profiloperation an einer Seitenfläche B benachbart der
Seitenfläche A durchzuführen, wenn die vom Kraftdetektierteil
(29) detektierte Kraft die eingestellte Kraft erreicht.
30. Profilsteuersystem nach einem der Ansprüche 25 bis 28
zum Durchführen einer Profilieroperation an einem Werkstück
mit einer polygonalen Form mit einem spitzen Winkel, mit:
einer
Koordinatentransformationsmatrix-Erzeugungseinrichtung (230) zum Berechnen eines Profil-Koordinatensystems
gemäß den Ausgängen des Steuerbefehl-Erzeugungsteils (40)
und der Positionsspeichereinrichtung (200).
31. Profilsteuersystem nach Anspruch 30, bei welchem der
Kraftsteuerteil (34) und der Positionssteuerteil (32) in
einem Roboterkontroller enthalten sind, und die
Positionsspeichereinrichtung (200), der Steuerbefehl-Erzeugungsteil
(40) und die
Koordinatentransformationsmatrix-Erzeugungseinrichtung (230) in einem Host-Computer implementiert sind.
32. Profilsteuersystem nach Anspruch 30 oder 31, bei
welchem der Steuerbefehl-Erzeugungsteil (40) die Position P1
speichert, die vom Positionsdetektierteil (28) detektiert
wird, wenn die Spitze des Roboters (10) mit einer
Seitenfläche A des Werkstücks in Kontakt kommt, den Roboter (10)
anweist, eine Profilieroperation an der Seitenfläche A
durchzuführen, nachdem die Position P1 in der
Positionsspeichereinrichtung (200) gespeichert wurde, überwacht, ob die
Spitze des Roboters (10) an einem Endpunkt der Seitenfläche
A angekommen ist oder nicht, in der
Positionsspeichereinrichtung (200) die Position P2 speichert, die vom
Positionsdetektierteil (28) detektiert wird, wenn die Spitze des
Roboters (10) am Endpunkt der Seitenfläche A ankommt, einen
Befehl erteilt, den Roboter (10) zu stoppen, einen Befehl
erteilt, die Spitze des Roboters (10) um 90º im
Gegenuhrzeigersinn um den Einheitsvektor a zu drehen, einen Befehl
erteilt, den Roboter (10) gegen das Werkstück zu drücken,
überwacht, ob die Druckkraft der Spitze des Roboters (10),
die vom Kraftdetektierteil (29) detektiert wird, gleich
einem Einstellwert ist oder nicht, im Positionsspeicherteil
(200) eine Position P6 speichert, die vom
Positionsdetektierteil (28) detektiert wird, wenn der Roboter (10) mit
einer Seitenfläche B des Werkstücks in Kontakt kommt, die an
der Seitenfläche A anliegt, und einen spitzen Winkel damit
bildet, und die Druckkraft gleich wird einem
vorherbestimmten
Wert, einen Befehl erteilt, eine Matrix zur
Koordinatentransformation des Profil-Koordinatensystems zu erzeugen,
und die Koordinaten der Positionen P1, P2 und P6, die in der
Positionsspeichereinrichtung (200) gespeichert sind, zum
Koordinatentransformationsmatrix-Erzeugungsteil sendet, den
Koordinatentransformationsmatrix-Erzeugungsteil veranlaßt,
ein Profil-Koordinatensystem für die Seitenfläche B und
einen Startpunkt P7 einer Profilieroperation an der
Seitenfläche B auf der Basis der Positionen P1, P2 und P6 zu
ermitteln, und die Spitze des Roboters (10) anweist, sich zur
Position P7 auf der Oberfläche B zu bewegen, das
Profil-Koordinatensystem zum Profil-Koordinatensystem für die
Seitenfläche B umschaltet, und die Profilieroperation an der
Oberfläche B startet, wenn die vom Kraftdetektierteil (29) de
tektierte Kraft gleich dem vorherbestimmten Wert wird.
33. Profilsteuersystem nach Anspruch 32, bei welchem der
Koordinatentransformationsmatrix-Erzeugungsteil den Winkel φ
bestimmt, der durch eine die Positionen P1 und P2
verbindende Linie und eine die Positionen P2 und P6 verbindende Linie
gebildet wird, das Profil-Koordinatensystem für die
Seitenfläche B durch Drehen des für die Seitenfläche A
eingestellten Profil-Koordinatensystems im Gegenuhrzeigersinn um π - φ
um den Einheitsvektor ermittelt, und die Summe des
Produkts der Breite l der Spitze des Roboters (10) in der
Bewegungsrichtung der Spitze des Roboters (10) und eines von P6
nach P2 zeigenden Einheitsvektors, und des Positionsvektors
in Position P2 berechnet, um die Position P7 zu erhalten.
34. Profilsteuersystem nach Anspruch 29, 32 oder 33, bei
welchem der Steuerbefehl-Erzeugungsteil (40) entscheidet,
daß die Spitze des Roboters (10) am Endpunkt der
Seitenfläche A angekommen ist, wenn die vom Kraftdetektierteil (11)
detektierte Kraft Null oder kleiner als ein kleiner
voreingestellter Wert wird.
35. Roboter (10), welcher ein Profilsteuersystem nach einem
der vorhergehenden Ansprüche enthält, und einen
Operationsteil (17) zum Versehendes Roboters (10) mit den Parametern
einer Profilieroperation enthält.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12327589A JPH02303780A (ja) | 1989-05-17 | 1989-05-17 | 倣い制御方式 |
JP18207189A JPH0349885A (ja) | 1989-07-14 | 1989-07-14 | 力制御ロボットの倣い制御方式 |
JP1241897A JP2751967B2 (ja) | 1989-09-20 | 1989-09-20 | 倣い制御装置 |
JP32265289A JP2737325B2 (ja) | 1989-12-14 | 1989-12-14 | ロボットの軌道生成方式 |
JP32265489A JP2737326B2 (ja) | 1989-12-14 | 1989-12-14 | ロボットの軌道探索方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69028041D1 DE69028041D1 (de) | 1996-09-19 |
DE69028041T2 true DE69028041T2 (de) | 1997-01-09 |
Family
ID=27526988
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69028041T Expired - Fee Related DE69028041T2 (de) | 1989-05-17 | 1990-05-17 | Profilsteuerungssystem für Roboter |
DE69033605T Expired - Fee Related DE69033605T2 (de) | 1989-05-17 | 1990-05-17 | Profilsteuerungssystem für Roboter |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69033605T Expired - Fee Related DE69033605T2 (de) | 1989-05-17 | 1990-05-17 | Profilsteuerungssystem für Roboter |
Country Status (3)
Country | Link |
---|---|
US (2) | US5590244A (de) |
EP (2) | EP0701187B1 (de) |
DE (2) | DE69028041T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104608113A (zh) * | 2013-11-01 | 2015-05-13 | 精工爱普生株式会社 | 机器人、机器人系统以及机器人控制装置 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1060715C (zh) * | 1995-09-14 | 2001-01-17 | 株式会社安川电机 | 机器人的示教装置 |
JPH09269808A (ja) * | 1996-03-29 | 1997-10-14 | Fanuc Ltd | Cncデータ補正方法 |
DE19636102A1 (de) * | 1996-09-05 | 1998-03-12 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zur Steuerung der Bewegung eines Trägers |
JP3439331B2 (ja) * | 1997-09-12 | 2003-08-25 | 株式会社ミツトヨ | プローブ座標系駆動装置 |
DE19821306C2 (de) * | 1998-05-13 | 2000-12-14 | Gmd Gmbh | Autonom navigierendes System mit Hinderniserkennung |
US6940252B2 (en) * | 2001-01-31 | 2005-09-06 | Canon Kabushiki Kaisha | DC motor control method and apparatus |
US9207668B2 (en) * | 2005-02-25 | 2015-12-08 | Abb Research Ltd. | Method of and apparatus for automated path learning |
DE102005010089B4 (de) | 2005-03-04 | 2007-08-30 | Siemens Ag | Verfahren und Einrichtung zum Positionieren eines Elements einer Maschine |
JP4297123B2 (ja) * | 2006-03-14 | 2009-07-15 | トヨタ自動車株式会社 | 移動体の軌道追従制御システム及び軌道追従制御方法 |
EP2064603B1 (de) * | 2006-09-22 | 2013-01-09 | Agop Jean Georges Apkarian | Vorrichtung, system und computerprogramm zur steuerung eines werkzeugs |
CN101952087B (zh) * | 2008-02-06 | 2013-01-16 | 松下电器产业株式会社 | 机器人、机器人的控制装置及控制方法 |
JP4595017B2 (ja) * | 2009-02-16 | 2010-12-08 | ファナック株式会社 | サーボダイクッションの制御装置 |
DE102009058607A1 (de) * | 2009-12-17 | 2011-06-22 | KUKA Laboratories GmbH, 86165 | Verfahren und Vorrichtung zum Steuern eines Manipulators |
KR101876380B1 (ko) * | 2011-07-06 | 2018-07-11 | 삼성전자주식회사 | 매니퓰레이터 및 그 경로 생성 방법 |
JP5890488B1 (ja) * | 2014-08-05 | 2016-03-22 | ファナック株式会社 | ツールをワークに押付けて作業を行うロボットの制御装置 |
US10133276B1 (en) * | 2015-06-19 | 2018-11-20 | Amazon Technologies, Inc. | Object avoidance with object detection and classification |
US10272568B2 (en) * | 2015-09-17 | 2019-04-30 | Canon Kabushiki Kaisha | Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method |
WO2018109828A1 (ja) * | 2016-12-13 | 2018-06-21 | 株式会社Fuji | 作業ロボットの目的位置補正方法 |
US11312015B2 (en) * | 2018-09-10 | 2022-04-26 | Reliabotics LLC | System and method for controlling the contact pressure applied by an articulated robotic arm to a working surface |
JP7415447B2 (ja) * | 2019-10-31 | 2024-01-17 | セイコーエプソン株式会社 | ロボットシステム |
CN110703783B (zh) * | 2019-11-11 | 2021-07-27 | 上海交通大学 | 一种无人驾驶轨迹跟踪中实时判别当前参考轨迹点的算法 |
JP7309592B2 (ja) * | 2019-12-16 | 2023-07-18 | 川崎重工業株式会社 | ロボット曲面倣い制御方法 |
US11691283B2 (en) * | 2020-05-27 | 2023-07-04 | Intrinsic Innovation Llc | Robot control parameter interpolation |
CN113791581B (zh) * | 2021-08-03 | 2023-08-08 | 天津中德应用技术大学 | 一种基于等弦分割采样的球形灌木球面插补算法 |
CN116000942B (zh) * | 2023-03-22 | 2023-06-27 | 深圳市大族机器人有限公司 | 一种基于多轴协作机器人的半导体制造系统 |
CN116533237B (zh) * | 2023-05-09 | 2024-08-27 | 浙江钧控智能科技有限公司 | 融合姿态测量与一维力传感器信息的模糊变阻抗控制方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4485453A (en) * | 1982-03-29 | 1984-11-27 | International Business Machines Corporation | Device and method for determining the location and orientation of a drillhole |
JPS5988279A (ja) * | 1982-10-15 | 1984-05-22 | 新明和工業株式会社 | 多関節ロボットの座標変換方法およびそのための装置 |
JPS59106007A (ja) * | 1982-12-10 | 1984-06-19 | Toyota Central Res & Dev Lab Inc | 多関節型ロボツトの軌跡制御装置 |
US4621332A (en) * | 1983-06-20 | 1986-11-04 | Hitachi, Ltd. | Method and apparatus for controlling a robot utilizing force, position, velocity, spring constant, mass coefficient, and viscosity coefficient |
CA1233222A (en) * | 1984-03-09 | 1988-02-23 | Nobuhiko Onda | Movable apparatus driving system |
US4672564A (en) * | 1984-11-15 | 1987-06-09 | Honeywell Inc. | Method and apparatus for determining location and orientation of objects |
US4672562A (en) * | 1984-12-11 | 1987-06-09 | Honeywell Inc. | Method and apparatus for determining location and orientation of objects |
US4895788A (en) * | 1985-08-02 | 1990-01-23 | Hoechst Celanese Corporation | Water developable lithographic composition |
US4719578A (en) * | 1985-12-09 | 1988-01-12 | Mitsubishi Jukogyo Kabushiki Kaisha | Profiling control apparatus and control method thereof |
JPH074765B2 (ja) * | 1986-03-03 | 1995-01-25 | 長尾 高明 | 曲面加工装置 |
US4826392A (en) * | 1986-03-31 | 1989-05-02 | California Institute Of Technology | Method and apparatus for hybrid position/force control of multi-arm cooperating robots |
EP0262600B1 (de) * | 1986-09-29 | 1992-11-25 | Asea Ab | Verfahren und Vorrichtung zur optimalen Parameterregelung von Reglern, die rotierende und/oder lineare Bewegungen eines Industrieroboters steuern |
US4868474A (en) * | 1986-11-20 | 1989-09-19 | Westinghouse Electric Corp. | Multiprocessor position/velocity servo control for multiaxis digital robot control system |
JP2728399B2 (ja) * | 1987-03-19 | 1998-03-18 | 川崎重工業株式会社 | ロボツトの制御方法 |
US4860215A (en) * | 1987-04-06 | 1989-08-22 | California Institute Of Technology | Method and apparatus for adaptive force and position control of manipulators |
US5023808A (en) * | 1987-04-06 | 1991-06-11 | California Institute Of Technology | Dual-arm manipulators with adaptive control |
EP0289836B1 (de) * | 1987-05-04 | 1991-11-06 | Siemens Aktiengesellschaft | Verfahren zur Positionierung eines Werkzeugs eines mehrgelenkigen Roboters |
US4835710A (en) * | 1987-07-17 | 1989-05-30 | Cincinnati Milacron Inc. | Method of moving and orienting a tool along a curved path |
US4808063A (en) * | 1987-11-03 | 1989-02-28 | Westinghouse Electric Corp. | Robot system employing force/position control |
DE68923889T2 (de) * | 1988-03-01 | 1996-01-18 | Hitachi Construction Machinery | Positions-/Kraft-Steuerungsgerät für Werkzeugmaschinen mit mehreren Freiheitsgraden. |
US5019968A (en) * | 1988-03-29 | 1991-05-28 | Yulan Wang | Three-dimensional vector processor |
JP2708458B2 (ja) * | 1988-04-01 | 1998-02-04 | 株式会社豊田中央研究所 | 倣い制御ロボット |
JP2676793B2 (ja) * | 1988-06-30 | 1997-11-17 | トヨタ自動車株式会社 | 倣い制御ロボット |
DE68922684T2 (de) * | 1988-10-14 | 1995-10-19 | Hitachi Construction Machinery | Profilsteuersystem für eine gegebene gekrümmte Fläche. |
JPH0790483B2 (ja) * | 1989-02-10 | 1995-10-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンプライアンス制御方法及びシステム |
US4974210A (en) * | 1989-05-01 | 1990-11-27 | General Electric Company | Multiple arm robot with force control and inter-arm position accommodation |
JP2770982B2 (ja) * | 1989-05-25 | 1998-07-02 | 株式会社豊田中央研究所 | マニピユレータの位置と力の協調制御装置 |
-
1990
- 1990-05-17 DE DE69028041T patent/DE69028041T2/de not_active Expired - Fee Related
- 1990-05-17 EP EP95115879A patent/EP0701187B1/de not_active Expired - Lifetime
- 1990-05-17 EP EP90305322A patent/EP0398704B1/de not_active Expired - Lifetime
- 1990-05-17 DE DE69033605T patent/DE69033605T2/de not_active Expired - Fee Related
-
1995
- 1995-01-18 US US08/374,997 patent/US5590244A/en not_active Expired - Fee Related
-
1996
- 1996-08-07 US US08/693,960 patent/US5732195A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104608113A (zh) * | 2013-11-01 | 2015-05-13 | 精工爱普生株式会社 | 机器人、机器人系统以及机器人控制装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0398704B1 (de) | 1996-08-14 |
DE69033605T2 (de) | 2001-08-16 |
EP0701187A3 (de) | 1996-08-07 |
DE69028041D1 (de) | 1996-09-19 |
DE69033605D1 (de) | 2000-09-14 |
US5732195A (en) | 1998-03-24 |
EP0701187B1 (de) | 2000-08-09 |
US5590244A (en) | 1996-12-31 |
EP0398704A2 (de) | 1990-11-22 |
EP0398704A3 (de) | 1991-01-02 |
EP0701187A2 (de) | 1996-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69028041T2 (de) | Profilsteuerungssystem für Roboter | |
DE102018116053B4 (de) | Robotersystem und Roboterlernverfahren | |
DE102015004475B4 (de) | Robotersteuervorrichtung zum Steuern eines Roboters, der gemäß einer aufgebrachten Kraft bewegt wird | |
DE102017128652B4 (de) | Robotersystem mit einer mehrzahl von robotern, robotersteuerung und robotersteuerverfahren | |
DE102011011660B4 (de) | Montagevorrichtung und Montageverfahren mit einem Roboter zum Zusammensetzen zweier Werkstücke | |
DE69315137T2 (de) | Verfahren zum steuern von mehreren robotern | |
DE102011011681B4 (de) | Roboter mit einer Lernsteuerfunktion | |
DE102016013731B4 (de) | Robotersystem mit Funktionen zum Vereinfachen von Lehrvorgängen und Verbessern der Betriebsleistung durch Lernen | |
DE102010051025B4 (de) | Rollenfalzvorrichtung | |
DE602005005306T2 (de) | Steuerung der Bahn eines Greifers | |
DE102020100316A1 (de) | Bestimmungsgerät | |
DE102017000063B4 (de) | Robotereinrichtung mit Lernfunktion | |
DE102009003003B4 (de) | Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase | |
DE102018004330B4 (de) | Steuerung und maschinelle Lernvorrichtung | |
DE112016002431T5 (de) | Verfahren und System zur robotischen adaptiven Produktion | |
DE102018214272B4 (de) | Robotersystem | |
DE112016004725T5 (de) | Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung | |
DE112010000794T5 (de) | Verfahren zum Steuern eines Roboterwerkzeugs | |
DE102014103370B4 (de) | Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators | |
DE102018210864B3 (de) | Verfahren und System zum Regeln eines Roboters | |
DE69213121T2 (de) | Auf die schweissgebietvision gegründetes Verfahren und System zum rechnergestützten Schweissen | |
EP2218556A2 (de) | Steuerung und Steuerungsverfahren für einen Manipulator | |
DE102012022190B4 (de) | Inverse Kinematik | |
DE3885437T2 (de) | Feingesteuerter Folgeroboter. | |
DE3883682T2 (de) | Verfahren und Gerät zum Erzeugen und Verwenden gemeinsamer Daten von Robotern. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |