SEDLMAYER, Andreas (Kaiser-Ludwig-Strasse 4, Fürstenfeldbruck, 82256, DE)
| Patentansprüche 1. Verfahren zum Programmieren eines Industrieroboters, aufweisend folgende Verfahrensschritte: - manuelles Bewegen eines Antriebe (11-16) aufweisenden Industrieroboters (R) insbesondere entlang einer Raumkurve, - Ermitteln eines Abstands zwischen dem Industrieroboter (R) und einem Objekt (W) , - Ansteuern der Antriebe (11-16) des Industrieroboters (R) derart, so dass sich der Industrieroboter (R) nur mit einer vom ermittelten Abstand (a) zum Objekt (W) abhängigen Maxi- malgeschwindigkeit manuell bewegen lässt. 2. Verfahren nach Anspruch 1, aufweisend Bewegen des Industrieroboters (R) mittels eines an einem Flansch (F) des Industrieroboters (R) befestigten Teachwerkzeugs (18) . 3. Verfahren nach Anspruch 2, aufweisend Ermitteln des Abstands (a) zwischen dem Objekt (W) und dem Industrieroboters (R) mittels einer am Teachwerkzeug (18) angeordneten Abstands- messvorrichtung (20) . 4. Verfahren nach Anspruch 2 oder 3, bei dem der Abstand (a) zwischen dem Industrieroboter (R) und dem Objekt (W) der Abstand (a) zwischen dem Teachwerkzeug (18) und dem Objekt (W), insbesondere zwischen einer Tastspitze (19) des Teachwerk- zeugs (18) und dem Objekt (W) ist. 5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die Raumkurve entlang und/oder in der Nähe einer Oberfläche des Objekts (W) verläuft. 6. Verfahren nach einem der Ansprüche 1 bis 5, aufweisend - Ansteuern der Antriebe (11-16) des Industrieroboters (R) derart, so dass sich der Industrieroboter (R) in Richtung zum Objekt (W) nur mit der vom ermittelten Abstand (a) zum Objekt (W) abhängigen Maximalgeschwindigkeit manuell bewe- gen lässt, - Ansteuern der Antriebe (11-16) des Industrieroboters (R) derart, so dass sich der Industrieroboter (R) in Richtung zum Objekt (W) nicht mehr manuell bewegen lässt, wenn der Abstand (a) gleich null ist, - Erzeugen einer Kraft und/oder eines Drehmoments mittels der Antriebe (11-16) aufgrund des Ansteuern der Antriebe (11- 16) , so dass sich der Industrieroboter (R) nur mit der vom ermittelten Abstand (a) zum Objekt (W) abhängigen Maximalgeschwindigkeit manuell bewegen lässt, - Ansteuern der Antriebe (11-16) des Industrieroboters (R) derart, so dass diese die Bewegung des Industrieroboters ' (R) auf die Maximalgeschwindigkeit abbremsen, - Ansteuern der Antriebe (11-16) des Industrieroboters (R) derart, so dass diese die Bewegung des Industrieroboters (R) vollständig abbremsen, wenn der Abstand (a) im Wesent- liehen gleich null ist. - manuelles Führen des Industrieroboters (R) als das manuelle Bewegen und/oder - manuelles Bewegen des Industrieroboters (R) mittels eines manuell bedienbaren Eingabegerätes (22, 23) . 7. Verfahren nach Anspruch 6, aufweisend haptische Veränderung des manuell bedienbaren Eingabegerätes (22, 23) abhängig vom Abstand (a) zwischen dem Objekt (W) und dem Industrieroboter (R) . 8. Industrieroboter, aufweisend - eine Mehrzahl von Antrieben (11-16) , - eine Mehrzahl von von den Antrieben (11-16) bewegbarer Achsen (1-6) , - eine Abstandsmessvorrichtung (20) , die eingerichtet ist, einen Abstand (a) zwischen dem Industrieroboter (R) und ei- nem Objekt (W) zu ermitteln, und - eine zum Steuern der Antriebe (11-16) vorgesehene Steuerungsvorrichtung (17), die automatisch die Antriebe (11-16) derart ansteuert, so dass sich der Industrieroboter (R) nur mit einer vom Abstand (a) abhängigen Maximalgeschwindigkeit manuell bewegen lässt. 9. Industrieroboter nach Anspruch 8, aufweisend ein am Flansch (F) des Industrieroboters (R) befestigtes Teachwerkzeug (18), mittels dem sich der Industrieroboter (R) manuell führen lässt. 10. Industrieroboter nach Anspruch 9, dessen Abstandsmessvorrichtung (20) eingerichtet ist, den Abstand (a) zwischen dem Teachwerkzeug (18) und dem Objekt (W), insbesondere zwischen einer Tastspitze (19) des Teachwerkzeugs (18) und dem Objekt (W) als den Abstand (a) zwischen dem Industrieroboter (R) und dem Objekt (W) zu ermitteln. 11. Industrieroboter nach einem der Ansprüche 8 bis 10, dessen Steuerungsvorrichtung (17) eingerichtet ist, - die Antriebe (11-16) derart anzusteuern, so dass sich der Industrieroboter (R) in Richtung zum Objekt (W) nur mit der vom ermittelten Abstand (a) zum Objekt (W) abhängigen Maximalgeschwindigkeit manuell bewegen lässt, - die Antriebe (11-16) derart anzusteuern, so dass der Industrieroboter (R) eine manuelle Bewegung in Richtung zum Objekt (W) verhindert, wenn der ermittelte Abstand (a) zum Objekt (W) gleich null ist, - die Antriebe (11-16) derart anzusteuern, dass dies eine Kraft und/oder ein Drehmoment erzeugen, so dass sich der Industrieroboter (R) nur mit der vom ermittelten Abstand (a) zum Objekt (W) abhängigen Maximalgeschwindigkeit manu- eil bewegen lässt, - die Antriebe (11-16) derart anzusteuern, so dass diese die Bewegung des Industrieroboters (R) auf die Maximalgeschwindigkeit abbremsen, und/oder - die Antriebe (11-16) derart anzusteuern, so dass diese die Bewegung des Industrieroboters (R) vollständig abbremsen, wenn der Abstand (a) im Wesentlichen gleich null ist. 12. Industrieroboter nach einem der Ansprüche 8 bis 11, aufweisend ein manuell bedienbares Eingabegerät (22, 23), das eingerichtet ist, den Industrieroboter (R) manuell zu bewegen. 13. Industrieroboter nach Anspruch 12, dessen manuell bedienbares Eingabegerät (22, 23) eingerichtet ist, seine Haptik abhängig vom Abstand (a) zwischen dem Objekt (W) und dem Industrieroboter (R) zu verändern. |
Die Erfindung betrifft ein Verfahren zum Programmieren eines In- dustrieroboters und einen Industrieroboter.
Industrieroboter sind Handhabungsmaschinen, die zur selbsttätigen Handhabung von Objekten mit zweckdienlichen Werkzeugen ausgerüstet und in mehreren Bewegungsachsen insbesondere hinsicht- lieh Orientierung, Position und Arbeitsablauf programmierbar sind.
Unter Verfahren zum Programmieren des Roboters (Programmierverfahren) , versteht man das planmäßige Vorgehen zur Erzeugung von Anwenderprogrammen.
Ein allgemein bekanntes Programmierverfahren ist die sogenannte Teach-In-Programmierung, bei der eine Bewegungsinformation für den Roboter durch Anfahren gewünschter Raumpunkte mit Hilfe ei- ner geeigneten Vorrichtung, beispielsweise eines Programmierhandgerätes oder eines Bedienfeldes, und Übernahme dieser Raumpunkte in die Robotersteuerung erstellt wird.
" Eine weitere Art der Programmierung ist das sogenannte Play-Back Verfahren, bei dem die Programmierung eines Arbeitsvorgangs durch manuelles Fuhren des Roboters entlang einer gewünschten Raumkurve erfolgt. Dabei werden die Lage-Ist Werte, d.h. die Achsstellungen oder die TCP-Position (Tool Center Point Position) des Roboters in einem definierten Zeit- oder Wegraster in das Anwenderprogramm übernommen.
Wird jedoch der Roboter programmiert, indem dieser z.B. in der Nahe eines Werkstucks oder an der Oberflache des Werkstucks gefuhrt wird, dann kann der Roboter wahrend des Programmierens das Werkstuck beschädigen, wenn er beispielsweise das Werkstuck berührt und auf dieses eine relativ große Kraft ausübt. Aufgabe der Erfindung ist es, ein Verfahren zum Programmieren eines Industrieroboters anzugeben, das eine Gefahr eines Zusammenstoßes des Industrieroboters mit einem Objekt während des manuellen Bewegens des Industrieroboters zumindest verringert.
Eine weitere Aufgabe der Erfindung ist es, einen Industrieroboter anzugeben, der derart eingerichtet ist, eine Gefahr eines Zusammenstoßes des Industrieroboters mit einem Objekt während eines manuellen Bewegens des Industrieroboters zumindest zu ver- ringern.
Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zum Programmieren eines Industrieroboters, aufweisend folgende Verfahrensschritte :
- manuelles Bewegen eines Antriebe aufweisenden Industrieroboters insbesondere entlang einer Raumkurve,
- Ermitteln eines Abstands zwischen dem Industrieroboter und ei- nem Objekt,
- Ansteuern der Antriebe des Industrieroboters derart, so dass sich der Industrieroboter nur mit einer vom ermittelten Abstand zum Objekt abhängigen Maximalgeschwindigkeit manuell bewegen lässt.
Die Aufgabe der Erfindung wird auch gelöst durch einen Industrieroboter, aufweisend
- eine Mehrzahl von Antrieben,
- eine Mehrzahl von von den Antrieben bewegbarer Achsen,
- eine Abstandsmessvorrichtung, die eingerichtet ist, einen Ab- stand zwischen dem Industrieroboter und einem Objekt zu ermitteln, und - eine zum Steuern der Antriebe vorgesehene Steuerungsvorrichtung, die automatisch die Antriebe derart ansteuert, so dass sich der Industrieroboter nur mit einer vom Abstand abhängigen Maximalgeschwindigkeit manuell bewegen lässt.
Industrieroboter können kraftgeregelt ausgeführt sein. Es sind jedoch keine Kraftreglerregler bekannt, die einen insbesondere relativ schweren Industrieroboter mit Kraftmomentensensor am Flansch mit beliebig hoher, beim Handführen mit ca. 30 cm/s Ge- schwindigkeit mit einer Werkzeugspitze (Tool Center Point, TCP) eines am Flansch des Industrieroboters befestigten Werkstücks an ein Objekt, beispielsweise an ein Werkstück bewegen lassen, ohne bei einer Kollision mit dem Objekt das Objekt oder den Industrieroboter zu beschädigen und relativ hohe Kräfte bei der Fahrt in den Kontaktpunkt auszulösen. Abhängig ist dies von der effek ¬ tiven bewegten Masse des Manipulators bzw. Roboterarms des Industrieroboters .
Physikalisch wird im Zeitpunkt des Kontaktes zwischen Industrie- roboter und dem Objekt die kinetische Energie des gegebenenfalls relativ schweren Roboterarmes am feststehenden Werkstück bzw. Objekt abgebaut. Die Energie wird größtenteils in plastische und elastische Deformationsenergie umgewandelt. Dabei muss sich der ■ Roboterarm und/oder das Werkstück innerhalb weniger Millisekun- den verformen, denn die Deformationsenergie wird impulsartig umgewandelt. Beispielsweise dauert der Impuls eines Faustschlages auf einen Tisch ca. 3ms. Wenn ein relativ steifer Roboterarm oder ein an einem Roboter montiertes steifes Werkzeug an ein metallenes Werkstück prallt, hat dies einen noch kürzeren Impuls. Ursache dafür ist die relativ hohe Steifigkeit des Manipulators aus den Robotergelenken in Verbindung mit dem eingespannten Werkstück.
Wenn unmittelbar nach dem Impuls noch Kontakt besteht, wird üb- rige elastische Deformationsenergie durch eine Rückbewegung des Manipulators abgebaut, bis keine Kontaktkräfte mehr vorhanden sind. Dieser Abbau der elastischen Deformationsenergie wird je- doch beim Industrieroboter gehindert wegen des relativ geringen rucktreibenden Getriebewirkungsgrads der Getriebe des Roboterarms, entsprechend einer relativ hohen Reibung, Selbsthemmung, Trägheit. Die Trägheit einer Antriebswelle wird um den Faktor der Getriebeubersetzung (z.B. 1:185) auf die Abtriebsseite multipliziert. Es dauert aus diesem Grund mehrere Millisekunden (wesentlich langer als der Impuls), bis der Antrieb bzw. dessen Motor die übrige elastische Deformationsenergie abfuhren kann.
Der Abbau der übrigen elastischen Deformationsenergie kann durch eine aktive Reglerkomponente unterstutzt werden. Jedoch sind keine Regler bekannt, die sogar über einen Getriebeabtriebseitig erfassenden Sensor (Kraftsensor, Drehmomentensensor) in so kurzer Zeit einen derartigen Impuls über den Antriebsstrang eines Industrieroboters ausregeln können. Grund dafür ist die elektro- mechanische Zeitkonstante des Antriebs (Motor-Getriebe-Strecke) . Eine schnelle Abtastrate z.B. 0,5ms eines gegebenenfalls diskret bzw. digital arbeitenden Kraftsensors hilft hier nicht weiter.
Um die relativ hohen Kräfte beim Anprall (englisch: Impact) zu reduzieren, gibt es so genannte nachgiebige Kraftmomentensenso- ren . Diese Sensoren weisen beispielsweise eine Nachgiebigkeit von 1,4 mm bei 300N Kraft auf und sind begrenzt auf 1,4 mm Federweg. Diese Nachgiebigkeit ist jedoch viel zu gering für die zum Handfuhren eines Industrieroboters normalerweise geforderten Geschwindigkeiten.
Im manchen Anwendungen wird zwar angestrebt, den Roboterarm so leicht wie möglich zu konstruieren, um die aus der Masse des Ro- boterarms resultierende kinetische Energie zu verringern oder gar zu minimieren. Eine weitere Maßnahme ist, gegebenenfalls Getriebe des Industrieroboters durch Direktantriebe zu ersetzen. Dadurch ist der rucktreibende Wirkungsgrad großer und der Antriebsstrang kann schneller und mehr Energie abfuhren.
Erfindungsgemaß wird, um die Gefahr eines Kollidierens des Industrieroboters mit dem Objekt zumindest zu verringern, der Ab- stand zwischen dem Industrieroboter und dem Objekt ermittelt. Dies kann durch wenigstens eine beispielsweise an einer geeigneten Stelle am Industrieroboter angeordnete Abstandsmessvorrich- tung erreicht werden. Geeignete Abstandsmessvorrichtungen (Nähe- rungssensoren) sind u. A. folgende Sensoren: Ultraschallsensor, gegebenenfalls mit Analogausgang, induktiver Naherungssensor, kapazitiver Naherungssensor, magnetischer Naherungssensor, La- serabstandssensor, konfokal-chromatische Wegsensor und Tastprobe.
Ultraschallsensoren weisen beispielsweise eine Tastweite von 13 mm bis 600 mm auf.
Ein induktiver Naherungssensor ist ein Sensor, der relativ si- eher und beruhrungslos metallische Objekte erfasst. Rechweiten von induktiven Naherungssensoren liegen im Bereich von 4mm bis 40mm und können auch Analogausgange aufweisen
Kapazitive Naherungssensoren messen Abstande z.B. im Bereich von 8mm bis 25mm.
Ein Laserabstandssensor konnte alternativ als Naherungssensor für die Teachaufgabe eingesetzt werden. Sensoren mit dem Messprinzip Laser-Linientriangulation haben eine rechteckige Bau- form, die bei bestimmten Teachwerkzeugen störend sein kann. Außerdem wurde dieser Sensor nur einen Abstandsmesswert (Freiheitsgrad) in Stoßrichtung der Teachspitze liefern. Kontakt seitlich zur Teachspitze, wie er z.B. beim Teachen in Werkstuckecken unvermeidbar ist, kann nicht gemessen werden.
Tastproben z.B. mit Dehnungsmessstreifen werden z.B. für Messaufgaben am TCP von CNC Maschinen eingesetzt, die Tastprobe kann die Auslenkung des Taststiftes in drei Freiheitsgraden mit Dehnungsmessstreifen messen. Der Sensor hat gegebenenfalls eine Schnittstelle, um die Sensorinformation zyklisch einem Regler zu übertragen. Die maximale Auslenkung betragt etwa 12 bis 22mm am Tastkopf. Ferner werden erfindungsgemäß die Antriebe des Industrieroboters derart angesteuert, so dass sich der Industrieroboter nur mit einer vom ermittelten Abstand zum Objekt abhängigen Maximalge- schwindigkeit manuell bewegen lässt.
Die Raumkurve kann z.B. entlang und/oder in der Nähe einer Oberfläche des Objekts verlaufen.
Für das Programmieren des erfindungsgemäßen Industrieroboters werden gegebenenfalls die Lage-Ist-Werten des Industrieroboters während seines Bewegens entlang der Raumkurve gespeichert.
Um zu erreichen, dass sich der erfindungsgemäße Industrieroboter gegebenenfalls nur mit höchstens der abstandsabhängigen Maximal- geschwindigkeit insbesondere in Richtung des Objekts bewegen lässt, kann es vorzugsweise vorgesehen sein, eine Kraft und/oder ein Drehmoment mittels der Antriebe aufgrund des Ansteuern der Antriebe zu erzeugen, so dass sich der Industrieroboter nur mit einer vom ermittelten Abstand zum Objekt abhängigen Maximalge- schwindigkeit manuell bewegen lässt. Die erzeugte Kraft bzw. das erzeugte Drehmoment wirkt gegen die Bewegungsrichtung, mit der der Industrieroboter manuell bewegt wird.
Nach einer Variante des erfindungsgemäßen Verfahrens werden die Antriebe des Industrieroboters derart angesteuert, so dass sich der Industrieroboter nur mit einer vom ermittelten Abstand zum Objekt abhängigen Maximalgeschwindigkeit in Richtung zum Objekt manuell bewegen lässt. Somit ist es möglich, dass sich der In- dustrieroboter mit einer höheren als der Maximalgeschwindigkeit entlang der Oberfläche des Objekts, jedoch nur maximal mit der Maximalgeschwindigkeit in Richtung der Oberfläche des Objekts bewegen lässt.
Gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens werden die Antriebe des Industrieroboters derart angesteuert, so dass diese die Bewegung des Industrieroboters auf die Maximalge- schwindigkeit abbremsen. Diese Variante ist z.B. dann vorteilhaft, wenn sich der erfindungsgemäße Industrieroboter bis zu einem Mindestabstand zum Objekt mit im Wesentlichen beliebiger Geschwindigkeit bewegen lässt und nur beim Unterschreiten des Min- destabstands derart betrieben wird, so dass er sich nur mit der abstandsabhängigen Maximalgeschwindigkeit bewegen lässt.
Nach einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens werden die Antriebe des Industrieroboters derart ange- steuert, so dass diese die Bewegung des Industrieroboters vollständig abbremsen, wenn der Abstand im Wesentlichen gleich null ist. Somit wird die Gefahr einer Kollision des Industrieroboters mit dem Objekt wenn nicht gar verhindert, so jedoch zumindest vermindert .
Gemäß einer Variante des erfindungsgemäßen Verfahrens werden die Antriebe des Industrieroboters bei einem Abstand gleich null derart angesteuert, so dass sich der Industrieroboter nicht mehr in Richtung Objekt manuell bewegen lässt. Somit verhindert der erfindungsgemäße Industrieroboter eine manuelle Bewegung in
Richtung Objekt, wenn der Industrieroboter das Objekt berührt. Diese Variante vermindert oder verhindert sogar ebenfalls eine Gefahr einer Kollision des Industrieroboters mit dem Objekt.
Nach Varianten des erfindungsgemäßen Verfahrens wird der Industrieroboter mittels manuellen Führens und/oder mittels eines manuell bedienbaren Eingabegerätes manuell bewegt. Ein manuelles Eingabegerät ist z.B. ein Programmierhandgerät.
Nach einer weiteren Variante des erfindungsgemäßen Verfahrens wird der Industrieroboter mittels eines insbesondere an einem Flansch des Industrieroboters befestigten Teachwerkzeugs manuell bewegt. Dann kann es vorgesehen sein, dass der Abstand zwischen dem Objekt und dem Industrieroboter mittels einer am Teachwerk- zeug angeordneten Abstandsmessvorrichtung ermittelt wird. Außerdem kann es vorgesehen sein, das der Abstand zwischen dem Industrieroboter und dem Objekt der Abstand zwischen dem Teach- Werkzeug und dem Objekt, insbesondere zwischen einer Tastspitze des Teachwerkzeugs und dem Objekt ist. Dann ergeben sich gute Vorraussetzungen dafür, dass wahrend des Programmierens des Industrieroboters im Rahmen des manuellen Bewegens das Teachwerk- zeug nicht versehentlich mit dem Objekt zusammen stoßt.
Nach einer Variante des erfindungsgemaßen Verfahrens ändert sich die Haptik des manuell bedienbaren Eingabegerätes abhangig vom Abstand zwischen dem Objekt und dem Industrieroboter. Dies kann z.B. derart erreicht werden, so dass auf das Eingabegerat eine Abstandsabhangige Kraft wirkt, die insbesondere mit abnehmendem Abstand zum Objekt wachst. Dadurch erhalt die das Eingabegerat bedienende Bedienperson eine Information über den Abstand zwischen Industrieroboter und Objekt über das Eingabegerat, wodurch ebenfalls die Gefahr einer Kollision mit dem Objekt verringert wird.
Je nach Ausfuhrungsform des erfindungsgemaßen Industrieroboters ist es möglich, dass eine Kontaktfahrt mit der Teachspitze mit dem Werkstuck (Objekt) mit Handfuhrgeschwindigkeit durch Senso- rik (Abstandsmessvorrichtung) schadenfrei erfolgen kann. Dazu wird gegebenenfalls der Naherungssensor (Abstandsmessvorrichtung) an der Teachspitze angebracht. Der Naherungssensor detek- tiert beispielsweise etwa im Abstand von 10mm bis 30mm das Werk- stuck. Bei diesem Abstand bleibt genügend Zeit, um den Roboterarm des Industrieroboters gegebenenfalls sanft zu bremsen. Die Entfernungsmessgroße wird zur Bremsung und Begrenzung der Geschwindigkeit z.B. in einen Kraftregler des Industrieroboters eingezogen .
Außerdem kann gegebenenfalls je nach Entfernung zum Werkstuck eine Kraft entgegen der Bewegungsrichtung durch einen Steifig- keitsregler generiert werden. Der Kraftverlauf kann z.B. einer simulierten Feder entsprechen, die der Bedienperson das Gefühl gibt, (Haptik über den Handgriff) vom Werkstuck „weggedruckt" zu werden Ausführungsbeispiele der Erfindung sind exemplarisch in den bei ¬ gefügten schematischen Zeichnungen dargestellt. Es zeigen:
Fig. 1 einen Industrieroboter und
Fig. 2 ein das Programmieren des Industrieroboters der Fig. 1 veranschaulichendes Flussdiagramm.
Die Figur 1 zeigt einen Roboter R mit mehreren Achsen 1-6, meh- reren Hebeln 7-10 und einem Flansch F.
Jede der Achsen 1-6 kann im Falle des vorliegenden Ausführungsbeispiels mit einem elektrischen Antrieb 11-16 bewegt werden, wobei die Antriebe 11-16 in nicht dargestellter Weise mit einem Steuerrechner 17 elektrisch verbunden sind, so dass der Steuerrechner 17 bzw. ein auf dem Steuerrechner 17 laufendes Rechnerprogramm die Antriebe 11-16 derart ansteuern kann, so dass diese eine Kraft bzw. ein Drehmoment auf die relevanten Achsen 1-6 ausüben können. Die Antriebe 11-16 weisen beispielsweise elekt- rische Motoren, eine Leistungselektronik und gegebenenfalls Getriebe auf.
Im Falle des vorliegenden Ausführungsbeispiels ist am Flansch F ein Teachwerkzeug 18 befestigt. Das Teachwerkzeug 18 ist bei- spielsweise ein Schweißbrenner und weist eine Tastspitze 19 auf. Das Teachwerkzeug 18 ist vorgesehen, den Roboter R manuell zu führen, um ihn zu programmieren. An oder in der Nähe der Tastspitze 19 ist ein Abstandssensor 20 befestigt. Es ist aber auch möglich, dass der Abstandssensor 20 in die Tastspitze 19 integ- riert ist. Der Abstandssensor 20 kann u. A. auf folgende Messprinzipien beruhen bzw. einer der folgenden Abstandssensoren sein: Ultraschallsensor, induktiver Näherungssensor, kapazitiver Näherungssensor, magnetischer Näherungssensor, Laserabstandssen- sor, konfokal-chromatischer Wegsensor oder Tastprobe. Der Ab- Standssensor 20 ist vorgesehen, den Abstand a zwischen einem Objekt bzw. dessen Oberfläche, im Falle des vorliegenden Ausfüh- rungsbeispiels eines auf einem Tisch T liegenden Werkstucks W, und der Tastspitze 19 zu ermitteln.
Im Falle des vorliegenden Ausfuhrungsbeispiels ist zwischen dem Flansch F und dem Teachwerkzeug 18 am Industrieroboter 1 noch ein Kraft-Momenten Sensor K angeordnet, der Kräfte und Drehmomente in sechs Freiheitsgrade erfasst, die durch Kontakt des Teachwerkzeugs 18 mit der Umgebung auf den Flansch F wirken. Diese Kräfte und Momente fuhren zu einer tanslatorischen und ro- tatorischen Bewegung des Flansches F bzw. des sogenannten Tool Center Points (TCP) .
Im Falle des vorliegenden Ausfuhrungsbeispiels ist der Roboter R dafür vorgesehen, ein Werkstuck ahnlich dem Werkstuck W mit ei- nem nicht naher dargestellten Werkzeug, das im Betrieb des Roboters R anstelle des Teachwerkzeugs 18 am Flansch F befestigt ist, zu bearbeiten.
Damit der Roboter R mittels des Werkzeugs das Werkstuck in ge- wunschter Weise bearbeiten kann, muss der Roboter R zunächst derart programmiert werden, dass der Steuerrechner 17 im Betreib des Roboters R die Antriebe 11-16 derart ansteuern kann, um den Flansch F bzw. den Tool Center Point (TCP) des Roboters R in gewünschter Weise zu bewegen.
Die Programmierung des Steuerrechners 17 erfolgt im Falle des vorliegenden Ausfuhrungsbeispiels wie nachstehend beschrieben und ist mit einem in der Figur 2 gezeigten Flussdiagramm veranschaulicht :
Zunächst wird der Roboter R derart durch manuelles Fuhren manuell bewegt, dass sich die Tastspitze 19 des Teachwerkzeugs 18 in Richtung der Oberflache des bereits bearbeiteten Werkstucks W bewegt, bis die Tastspitze 19 die Oberflache des Werkstucks W berührt oder fast berührt. Dies wird z.B. realisiert, indem eine nicht naher dargestellte Bedienperson am Teachwerzeug 18 zieht oder druckt. Wahrend des manuellen Fuhrens ermittelt der Ab- Standssensor 20 den Abstand a zwischen der Oberfläche des Werkstücks W und der Tastspitze 19, Schritt Sl des Flussdiagramms .
Der Abstandssensor 20 ist in nicht dargestellter Weise mit dem Steuerrechner 17 verbunden und übermittelt diesem dem Abstand a zugeordnete elektrische Signale. Auf dem Steuerrechner 17 läuft ein Rechenprogramm, mittels dem der Steuerrechner 17 den Abstand a auswertet und in Abhängigkeit vom Abstand a die Antriebe 11-16 derart ansteuert, so dass diese vom Abstand a abhängige Kräfte bzw. Drehmomente ausüben, die im Falle des vorliegenden Ausführungsbeispiels der manuellen Bewegungsrichtung der Tastspitze 20 entgegen gerichtet sind, Schritt S2 des Flussdiagramms.
Im Falle des vorliegenden Ausführungsbeispiels sind die von den Antrieben 11-16 aufgebrachten Kräfte bzw. Drehmomente derart vom Steuerrechner 17 geregelt, so dass sich der Roboter R nur mit einer vom Abstand a abhängigen Maximalkraft in Richtung der Oberfläche des Werkstücks W manuell bewegen lässt, Schritt S3 des Flussdiagramms.
Im Falle des vorliegenden Ausführungsbeispiels ist es ferner vorgesehen, dass sich der Roboter R im Wesentlichen mit beliebiger Geschwindigkeit bewegen lässt, so lange der Abstand a zwischen der Tastspitze 19 und der Oberfläche des Werkstücks W kei- nen Mindestabstand unterschreitet. Wird der Mindestabstand unterschritten, dann steuert der Steuerrechner 17 die Antriebe 11- 16 derart an, so dass diese die Gegenkräfte bzw. Gegendrehmomente ausüben, so dass der Roboter R nur mit einer vorgegebenen Maximalgeschwindigkeit weiter in Richtung des Werkstücks W manuell geführt werden kann. Gegebenenfalls werden die Antriebe 11-16 derart angesteuert, so dass sie die aktuelle Geschwindigkeit der manuellen Bewegung abbremsen.
Im Falle des vorliegenden Ausführungsbeispiels kann es auch vor- gesehen sein, dass die maximal erlaubte Geschwindigkeit, mit der die Tastspitze 19 in Richtung des Werkstücks W bewegt werden kann, mit kleinerem Abstand a abnimmt. Insbesondere ist es im Falle des vorliegenden Ausführungsbeispiels vorgesehen, dass der Steuerrechner 17 automatisch die manuelle Bewegung abbremst, so dass der Roboter R seine Bewegung vollständig abgebremst hat, wenn die Tastspitze 19 die Oberfläche des Werkstücks W berührt.
Für das Programmieren des Roboters R wird dieser mittels des Teachwerkszeugs 18 derart manuell geführt, dass sich die Tastspitze 19 auf einer Raumkurve bewegt, auf der sich im Betrieb des Roboters R das Werkzeug bzw. der TCP nach der Programmierung bewegen soll.
Im Falle des vorliegenden Ausführungsbeispiels verläuft diese Raumkurve auf der Oberfläche des bearbeiteten Werkstücks W. Des Weiteren ermittelt während des manuellen Bewegens des Roboters R ständig der Abstandssensor 20 den Abstand a zwischen der Tastspitze 19 und der Oberfläche des Werkstücks W, damit der Steuerrechner 17 gegebenenfalls die Antriebe 11-16 derart ansteuern kann, dass der Roboter R nur mit der vom Abstand a abhängigen Maximalgeschwindigkeit bewegt werden kann, Schritt S4 des Fluss- diagramms.
Um einzelne Ist-Lage-Werte während des manuellen Führens des Roboters R zu speichern, weist im Falle des vorliegenden Ausfüh- rungsbeispiels das Teachwerkzeug 18 eine Eingabetaste 21 auf, die in nicht dargestellter Weise mit dem Steuerrechner 17 verbunden ist, um bei Betätigung die aktuelle Ist-Lage des Roboters R, d.h. die Ist-Lage dessen TCP bzw. dessen Flansch F zu speichern, Schritt S5 des Flussdiagramms. Aufgrund der gespeicherten Ist-Lage-Werte kann der Steuerrechner 17 das obenstehend genann- te Rechenprogramm in allgemein bekannter Weise erstellen, aufgrund dessen später der Steuerrechner 17 die Antriebe 11-16 ansteuern kann, damit das Werkzeug die gewünschte Bewegung automatisch durchführt. Alternativ kann es auch vorgesehen sein, dass die Ist-Lage-Werte automatisch in vorbestimmten Zeitabständen, z.B. alle 10 ms gespeichert werden. Alternativ kann es auch vorgesehen sein, dass der Roboter R ma ¬ nuell z.B. mittels eines mit dem Steuerrechner 17 verbundenen Programmierhandgerätes 22 bewegt wird.
Das Programmierhandgerät 22 weist im Falle des vorliegenden Ausführungsbeispiels einen Joystick 23 und eine Eingabetaste 24 auf. Mittels des Joysticks 23 kann der Roboter R im Handbetrieb manuell bewegt werden, um z.B. das Teachwerkzeug 18 zu bewegen. Während des manuellen Bewegens ermittelt der Abstandssensor 20 den Abstand a zwischen der Tastspitze 19 und der Oberfläche des Werkstücks W wie obenstehend beschrieben, damit der Steuerrechner 17 die Antriebe 11-16 wie obenstehend beschrieben derart ansteuert, so dass sich der Roboter R nur mit der vom Abstand a abhängigen Maximalgeschwindigkeit bewegen lässt und gegebenen- falls eine Bewegung des Roboters R abbremst.
Im Falle des vorliegenden Ausführungsbeispiels ist es noch vorgesehen, dass der Steuerrechner 17 die Haptik des Programmierhandgerätes 22 abhängig vom Abstand a ändert. Um dies zu errei- chen, ist das Programmierhandgerät 22 derart eingerichtet, eine Kraft oder ein Drehmoment auf den Joystick 23 auszuüben, die sich mit änderndem Abstand a ändert. Insbesondere ist es vorgesehen, dass diese Kraft bzw. dieses Drehmoment mit kleiner werdendem Abstand a größer wird.
Um die einzelne Ist-Lage-Werte während des manuellen Bewegens des Roboters R zu speichern, kann die Bedienperson die Eingabetaste 24 betätigen.
