DE102006061752A1 - Roboter und Verfahren zum Programmieren eines Roboters - Google Patents

Roboter und Verfahren zum Programmieren eines Roboters Download PDF

Info

Publication number
DE102006061752A1
DE102006061752A1 DE102006061752A DE102006061752A DE102006061752A1 DE 102006061752 A1 DE102006061752 A1 DE 102006061752A1 DE 102006061752 A DE102006061752 A DE 102006061752A DE 102006061752 A DE102006061752 A DE 102006061752A DE 102006061752 A1 DE102006061752 A1 DE 102006061752A1
Authority
DE
Germany
Prior art keywords
robot
force
torque
point
forces
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.)
Ceased
Application number
DE102006061752A
Other languages
English (en)
Inventor
Martin Weiss
Rainer Bischoff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Priority to DE102006061752A priority Critical patent/DE102006061752A1/de
Priority to EP20070150146 priority patent/EP1950010B1/de
Publication of DE102006061752A1 publication Critical patent/DE102006061752A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36432By putting some constraints on some DOF, move within limited volumes, areas, planes, limits motion in x, y or z planes, virtual reality constraints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36489Position and force
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37319Derive acceleration, force, torque from current
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39529Force, torque sensor in wrist, end effector

Abstract

Die Erfindung betrifft einen Roboter (R) und ein Verfahren zum Programmieren eines Roboters (R). Im Rahmen des Verfahrens wird wenigstens ein Raumpunkt (P0-P4) mit dem Roboter (R) manuell angefahren, Kräfte oder Drehmomente, die der Roboter (R) im wenigstens einen Raumpunkt (P0-P4) ausübt, ermittelt und die ausgeübten Kräfte oder Drehmomente gespeichert.

Description

  • Die Erfindung betrifft ein Verfahren zum Programmieren eines Roboters und einen Roboter.
  • Roboter sind Handhabungsmaschinen, die zur selbsttätigen Handhabung von Objekten mit zweckdienlichen Werkzeugen ausgerüstet und in mehreren Bewegungsachsen insbesondere hinsichtlich 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 einer 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 Führen 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.
  • Die EP 1 508 396 A1 offenbart ein Verfahren zum Steuern der Andruckskraft einer mittels eines Roboters geführten Schweißzange. Die auf die Schweißzange wirkende Kraft wird während des Schweißens gemessen und der Roboter derart ver stellt, dass die auf die Schweißzange wirkende Kraft gleich. einer vorgegebenen Soll-Kraft ist.
  • Die Aufgabe der Erfindung ist es, ein Verfahren zum Programmieren eines Roboters anzugeben, welches es einer Bedienperson des Roboters erlaubt, in relativ einfacher Weise den Roboter derart zu programmieren, dass dieser beim Ausführen des entsprechenden Anwenderprogramms ein vorbestimmtes Kraft- und/oder Momentenverhalten aufweist.
  • Eine weitere Aufgabe der Erfindung ist es, einen entsprechenden Roboter anzugeben.
  • Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zum Programmieren eines Roboters, aufweisend folgende Verfahrensschritte:
    • – manuelles Anfahren von wenigstens einem Raumpunkt mit einem Roboter,
    • – Ermitteln der Kräfte oder Drehmomente, die der Roboter im angefahrenen Raumpunkt ausübt, und
    • – Speichern der ausgeübten Kräfte oder Drehmomente.
  • Erfindungsgemäß wird demnach für die Programmierung des Roboters, insbesondere für die Programmierung eines Bahnverlaufs eines Flansches des Roboters, der Roboter manuell derart betätigt, dass der Roboter wenigstens einen Raumpunkt, also genau einen Raumpunkt oder eine Mehrzahl von Raumpunkten, anfährt. Das manuelle Anfahren des wenigstens einen Raumpunktes kann insbesondere durch ein manuelles Führen des Roboters oder mit Hilfe eines manuell bedienbaren Eingabegerätes des Roboters durchgeführt werden.
  • Für das manuelle Führen des Roboters, z. B. durch Drücken oder Ziehen an Roboterachsen bzw. an einem am Flansch des Roboters angebrachten Kraft- oder Momentensensors, kann der Roboter gravitationskompensiert arbeitet. Dann reichen für die manuelle Führung des Roboters relativ kleine Kräfte aus, was wiederum eine relativ einfache Führung des Roboters bewirkt.
  • Das manuell bedienbare Eingabegerät ist beispielsweise ein Handbediengerät, das über Verfahrtasten und andere Interaktionselemente (z. B. Spacemouse oder Joystick) verfügen kann. Am Handbediengerät können verschiedene Betriebsmodi eingestellt werden, die es einer den Roboter manuell bewegenden Person erleichtern, den Roboter zielgerichtet zu verfahren. Beispielsweise kann die Person den Roboter wahlweise achsweise, in einem Werkzeug-(TOOL) oder werkstückzentrierten (BASE) Koordinatensystem verfahren. Dabei kann z. B. die Position bzw. Orientierung des Flansches oder eines am Flansch befestigten Werkzeuges entlang bzw. um eine Achse verändert werden. Das Speichern der Kräfte oder Drehmomente kann mit einem Interaktionslement, z. B. einer Taste, initiiert werden.
  • Aufgrund des manuellen Anfahrens von insbesondere mehreren Raumpunkten ergibt sich eine relativ einfache Art, einen gewünschten Bewegungsablauf des Roboters zu programmieren.
  • Hat der Roboter bzw. der Flansch oder ein am Flansch befestigtes Werkzeug einen der Raumpunkte erreicht, dann wird erfindungsgemäß die vom Roboter aufgebrachte Kraft oder das vom Roboter aufgebrachte Drehmoment gespeichert. Dabei kann es vorgesehen sein, die ausgeübte Kraft bzw. das ausgeübte Drehmoment durch das manuelle Führen auf gewünschte Sollwerte einzustellen, indem z. B. der Roboter bzw. dessen Flansch oder das am Flansch befestigte Werkzeug durch das manuelle Anfahren gegen einen am entsprechenden Raumpunkt befindlichen Gegenstand drückt.
  • Beim Drücken gegen einen Gegenstand können die Kraft am TCP bzw. die Momente in den Achsen nur dann ermittelt werden, wenn die Antriebe den Roboterarm so verspannen, dass die gewünschten Kräfte bzw. Momente auftreten. Diese Kräfte bzw. Momente können dem Bediener beispielsweise über eine Anzeige sichtbar gemacht, aber nicht vom ihm erfühlt oder durch Führen vorgegeben werden.
  • Wird der Roboter manuell geführt, dann wird die Kraft bzw. das Drehmoment mit einem am Flansch befestigten Kraft- oder Drehmomentsensor ermittelt.
  • Nach einer Variante des erfindungsgemäßen Verfahrens werden die Soll-Kräften und/oder Soll-Drehmomenten durch das manuelle Bewegen des Roboters ohne Kontakt zu einem Gegenstand bei gleichzeitiger Positions- bzw. Posenregelung des Roboters eingestellt.
  • Um jedoch die Aufgabenstellung zu lösen, eine Kraft am TCP bzw. Momente in den Achsen durch einen Bediener durch manuelles Führen vorgeben zu können, ist es für diese Ausführungsform vorgesehen, dass der Roboter keine geschlossene kinematische Kette mit der Umgebung bildet, sondern diese offen gehalten wird, d. h. kein Gegenstand berührt wird. Dazu wird der Roboter vom Bediener ungefähr in die Pose gebracht, die für die gewünschte Aufgabe, z. B. Polieren, erforderlich ist. Dazu kann der Roboter beispielsweise einen halben Zentimeter oberhalb des Punktes/der Bahn/der Fläche positioniert werden, an dem/an der ein Prozess auszuführen ist. Vorausgesetzt, die Struktur des Roboters ist relativ, theoretisch unendlich steif, dann kann der Bediener jetzt eine Verspannung des Robotersystems dadurch herbeiführen, dass er versucht, den Roboter durch Drücken und/oder Ziehen an Strukturteilen bzw. am Flansch des Roboters zu bewegen, während der Roboter über seine interne Achs- und/oder Positionsregelung dafür sorgt, die gegenwärtige Pose oder Position beizubehalten. Auch eine Positionsregelung auf Basis externer Sensorwerte ist denkbar. Die Posen/Positionsregelung lässt den Bediener eine virtuelle Gegenkraft spüren, vergleichbar mit der Kraft, die er spüren würde, wenn er auf das Werkzeug auf das zu bearbeitende Bauteil drücken würde (d. h. der Roboter steht dabei quasi still). So ist es ihm möglich, die Kraft bzw. die Momente zu teachen, die für den Prozess erforderlich sind.
  • Eine Variante des oben beschriebenen Verfahrens eignet sich für die Aufzeichnung des Kraft-/Momentenverlaufs während des manuellen Führens des Roboters (d. h. der Roboter steht dabei nicht still). Dabei vollführt der Roboter kleine, insbesondere vom Bediener kaum merkbare Testbewegungen, um herauszufinden, in welchen Freiheitsgraden sich der Roboter noch bewegen kann. So kann die Steifigkeit/Nachgiebigkeit während des Vormachens eines Bearbeitungsprozesses erfasst werden.
  • Somit ergibt sich ein Kräfte- oder Drehmomentprofil, das den einzelnen Raumpunkten zugeordnete ist.
  • Für das Ermitteln der Kräfte bzw. Drehmomente kann der Roboter mit wenigstens einem Kraft- oder Drehmoment-Sensor versehen sein, der die Kräfte bzw. Drehmomente misst. Der Kraft- oder Drehmomentsensor kann insbesondere am Flansch des Roboters befestigt sein. Dann können die vom Sensor abgegebenen Signale die aufgebrachten Kräfte oder Drehmomente in kartesische Koordinatenwerten angeben. Diese Werte können gegebenenfalls auch in achsweise Werte umgerechnet werden.
  • Nach einer Variante des erfindungsgemäßen Verfahrens weist der Roboter eine Mehrzahl von Achsen auf, so dass für wenigstens einen Raumpunkt die aufgebrachten Kräfte oder Drehmo mente der Achsen gespeichert werden. Die aufgebrachten Kräfte oder Drehmemoente in den Achsen können beispielsweise mit in den Achsen des Roboters befestigten Kraft- oder Drehmomentsensoren ermittelt werden. Von diesen Sensoren erzeugte Messwerte können dann gegebenenfalls in kartesische Werte am Flansch oder am sogenannten Tool Point Center des Roboters umgerechnet werden.
  • Umfasst der Roboter elektrische Motoren für die Bewegung des Roboters, dann können die vom Roboter ausgeübten Kräfte bzw. Drehmomente auch über die elektrischen Ströme der elektrischen Motoren ermittelt werden. Die elektrischen Ströme ergeben insbesondere die von den Achsen aufgebrachten Kräfte bzw. Drehmomente. Außerdem sind die elektrischen Ströme je nach verwendetem Motorentyp proportional zu den aufgebrachten Kräften bzw. Drehmomenten.
  • Die Sollwerte für Kräfte und Drehmomente können auch manuell eingetragen werden.
  • Nach einer Ausführungsform des erfindungsgemäßen Verfahrens ist die gespeicherte Kraft oder das gespeicherte Drehmoment eine vom Roboter auszuübende obere Grenzkraft oder ein vom Roboter auszuübendes oberes Grenzmoment.
  • Gemäß einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird für wenigstens einen Raumpunkt zusätzlich wenigstens die Stellung einer Achse gespeichert. Insbesondere können die Stellungen aller Achsen gespeichert werden. Somit sind für wenigstens einen Raumpunkt nicht nur die aufzubringenden Kräfte oder Drehmomente, sondern auch eine für die Ansteuerung der Raumpunkte mögliche Achsenstellung des Roboters abgespeichert.
  • Nach einer weiteren Variante des erfindungsgemäßen Verfahrens ist der Roboter bezüglich einer Mehrzahl von Freiheitsgraden beweglich, und es werden für den wenigstens einen Raumpunkt für einen ersten Teil der, Freiheitsgrade des Roboters die ausgeübte Kraft oder das ausgeübte Drehmoment und für einen vom ersten Teil der Freiheitsgrade verschiedenen zweiten Teil der Freiheitsgrade die Ortskoordinaten des Raumpunktes gespeichert, analog für die Achspositionen und Achs-Kräfte und -Drehmomente.
  • Auf der Steuervorrichtung läuft ein die Achsen des Roboters steuerndes Rechnerprogramm. Die Ortskoordinaten bzw. die zum Zeitpunkt der Speicherung augenblickliche Stellung der Antriebsachsen werden z. B. im Programmquelltext oder in einer dem Rechnerprogramm zugeordneten Datenliste gespeichert. Diese Stellung der Antriebsachsen kann in eine kartesische Position und Orientierung des im Raum angefahrenen Raumpunktes, ausgedrückt in der Lage des sogenannten Tool Center Point des Roboters bezogen auf ein Basiskoordinatensystem, umgerechnet werden. Diese kartesische Position (einschl. Zusatzinformationen zur Auflösung von in der Regel mehreren möglichen Achskonfigurationen, die alle dieselbe kartesische Position ergeben) kann anstelle oder in Kombination mit den Achswinkeln abgelegt werden. Dieser Tool Center Point kann sich beispielsweise am Flansch oder einem anderen ausgewiesenen Punkt des Roboters, seines Werkzeuges (z. B. Schweißspitze einer am Roboterflansch montierten Schweißzange) oder Raumes (Schweißspitze einer im Raum befestigten Schweißzange) befinden. Verschiedene Robotersteuerungen können sich beim Teachen beispielsweise neben den Achsstellungen auch das verwendete Koordinatensystem, das augenblicklich verwendete Werkzeug, die Position und die Orientierung (Pose) des Tool Center Points merken.
  • Programmiert die Person mit dem Handbedienungsgerät eine Folge von Raumpunkten, können diese je nach Robotersteuerung auf unterschiedlichen Bahnen erreicht werden. Bei PTP-Bahnen (Punkt-zu-Punkt Bahnen) bewegen sich alle Achsen des Roboters dergestalt, dass die gewünschte Pose auf einer Geraden im Achsraum erreicht wird. Bei allen übrigen Bahnen folgt der Tool Center Point in erster Linie einem gewünschten kartesischen Verlauf, also z. B. auf einer Geraden, Kreis- oder Splinebahn im Raum. Auf dieser kartesischen Bahn kann auch ein Geschwindigkeitsverlauf, z. B. zeitoptimal oder durch Angabe maximaler Geschwindigkeiten und Beschleunigungen, programmiert werden.
  • Auch können je nach verwendetem Werkzeug unterschiedliche Parameter für dieses Werkzeug Punkt- bzw. bahnbezogen beispielsweise zur Bearbeitung von Werkstücken gespeichert werden.
  • Nach einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens werden zusätzlich folgende Verfahrensschritte durchgeführt:
    • – Festlegen einer Bahn, auf der sich der Roboter nach seiner Programmierung bewegen soll, und
    • – Errechnen der vom Roboter auszuübenden Kraft oder des vom Roboter auszuübenden Drehmoments während der Bewegung entlang der Bahn aufgrund der für die Raumpunkte ermittelten Kräfte oder Drehmomente.
  • Die Aufgabe der Erfindung wird auch gelöst durch einen Roboter, aufweisend
    • – eine Mehrzahl von Antrieben,
    • – eine Mehrzahl von von den Antrieben bewegbaren Achsen,
    • – eine Vorrichtung zum Ermitteln einer vom Roboter ausgeübten Kraft oder eines vom Roboter ausgeübten Drehmoments und
    • – eine zum Steuern der Antriebe vorgesehene Steuervorrichtung, die aufgrund eines manuellen Anfahrens von wenigstens einem Raumpunkt mit dem Roboter mittels der Vorrichtung zum Ermitteln der vom Roboter ausgeübten Kraft oder des vom Roboter ausgeübten Drehmoments beim Erreichen des Raumpunktes ermittelte Kräfte oder Drehmomente speichert.
  • Der erfindungsgemäße Roboter kann beispielsweise für das Anfahren von wenigstens einem Raumpunkt manuell geführt werden oder kann ein mit der Steuervorrichtung verbundenes manuelles Eingabegerät aufweisen, mittels dessen der Roboter manuell bewegbar ist.
  • Die Vorrichtung zum Ermitteln der vom Roboter ausgeübten Kraft oder des vom Roboter ausgeübten Drehmoments ist beispielsweise wenigstens ein Kraft- oder Drehmoment-Sensor, der z. B. am Flansch oder in den Achsen des Roboters befestigt ist.
  • Weisen nach einer Ausführungsform die Antriebe des erfindungsgemäßen Roboters elektrische Motoren auf, kann die Vorrichtung zum Ermitteln der vom Roboter ausgeübten Kraft oder des vom Roboter ausgeübten Drehmoments derart eingerichtet sein, dass sie die Kraft oder das Drehmoment mittels gemessener elektrischer Ströme der elektrischen Motoren ermittelt.
  • Die gespeicherte Kraft oder das gespeicherte Drehmoment kann eine vom Roboter auszuübende obere Grenzkraft oder ein vom Roboter auszuübendes oberes Grenzmoment sein.
  • Nach einer Variante des erfindungsgemäßen Roboters ist dessen Steuervorrichtung derart eingerichtet, dass sie für wenigstens einen Raumpunkt zusätzlich die dazu gehörige Stellung wenigstens einer Achse speichert. Die Steuervorrichtung kann insbesondere derart eingerichtet sein, dass sie die Stellungen aller Achsen speichert.
  • Der erfindungsgemäße Roboter ist bezüglich einer Mehrzahl von Freiheitsgraden, insbesondere bezüglich von sechs Freiheitsgraden bewegbar und die Steuervorrichtung kann nach einer Ausführungsform derart eingerichtet sein, dass sie für den wenigstens einen Raumpunkt für einen ersten Teil der Freiheitsgrade des Roboter die ausgeübte Kraft oder das ausgeübte Drehmoment und für einen vom ersten Teil der Freiheitsgrade verschiedenen zweiten Teil der Freiheitsgrade die Ortskoordinaten des Raumpunktes speichert. Es ist auch möglich, dass für den wenigstens einen Raumpunkt für einige Freiheitsgrade die Position und die ausgeübte Kraft oder das ausgeübte Drehmoment gespeichert wird.
  • Nach einer weiteren Variante des erfindungsgemäßen Roboters ist dessen Steuervorrichtung derart eingerichtet, dass sie aufgrund einer festgelegten Bahn, auf der sich der Roboter nach dem Anfahren von mehreren Raumpunkten bewegen soll, d. h. im Programmbetrieb, vom Roboter auszuübende Kräfte oder Drehmomente während der Bewegung entlang der Bahn aufgrund der für die Raumpunkte ermittelten Kräfte oder Drehmomente errechnet.
  • Mit dem erfindungsgemäßen Verfahren bzw. dem erfindungsgemäßen Roboter ist es demnach möglich, neben oder anstelle von insbesondere posenbezogenen Bahnverläufen, d. h. einem Bahnverlauf des Tool Center Point des Roboters bezüglich dessen Position und Orientierung im Raum, auch Kraft- und Drehmoment bezogene Bahnverläufe in einem Roboterprogramm angeben zu können. Dabei können die vom erfindungsgemäßen Roboter im Programmbetrieb einzustellenden Kräfte und Momente gegebenenfalls in sechs kartesischen bzw. allen achsspezifischen Freiheitsgraden durch eine Person manuell in direkter Interaktion mit dem erfindungsgemäßen Roboter vorgegeben werden. Die einzustellenden Kräfte und Momente können auch durch Offline-Programmierung eingestellt werden.
  • Analog zur konventionellen reinen Posenvorgabe, d. h. einer Vorgabe der Orientierung und Position im Raum des Tool Center Point mit keiner weiteren Information, werden erfindungsgemäß für bestimmte Raumpunkte Kräfte oder Momente durch das Anfahren des Roboters vorgeben.
  • Die Kräfte bzw. Drehmomente werden in der Steuerungsvorrichtung des erfindungsgemäßen Roboters gespeichert. Die Steuerungsvorrichtung kann derart ausgeführt sein, dass sie für das Überführen des Roboters von einem Punkt-/Kraft-Momentenprofil zum nächsten sorgt.
  • Zusätzlich zum Kraft- oder Drehmomentprofil ist es weiterhin möglich, einen zeitlichen Verlauf von Posen in Kombination mit Kräften oder Momenten zu ermöglichen. Hierbei werden nicht nur die Pose und Kräfte bzw. Momente am Tool Center Point an den Achsen für die Raumpunkte einer Bewegung gespeichert, sondern insbesondere auch für jeden Interpolationstakt. Die Steuerungsvorrichtung sorgt dann für die Wiedergabe einer so aufgezeichneten oder berechneten Bewegung.
  • Werden die Kräfte bzw. Drehmomente achsenspezifisch gespeichert, kann ein in der Steuerungsvorrichtung bereits hinterlegtes Koordinatensystem, wie es bei einer lediglichen Speicherung der Koordinaten der Raumpunkte üblich ist, verwendet werden. Eine der Achse des Koordinatensystems kann insbeson dere mit der Drehachse zusammen fallen. Das Koordinatensystem liefert dann zusätzlich den Drehsinn.
  • Bei translatorischen Achsen kann die ausgeübte Kraft in Achsrichtung z. B. mit der Konvention gespeichert werden, dass eine positive Kraft die Achse in positive Richtung bewegt. Bei rotatorischen Achsen kann das Drehmoment um die Achse z. B. mit der Konvention gespeichert werden, dass ein positives Drehmoment eine Drehung der Achse im mathematisch positiven Sinn bewirkt. Umfasst der Roboter mehrere Achsen, können die Drehmomente der einzelnen Achsen mit τl, ..., τn bezeichnet werden.
  • In Gelenken des Roboters wirkende Kräfte orthogonal zur Bewegungsrichtung (bei translatorischen Achsen) bzw. Kippmomente (bei rotatorischen Achsen) brauchen nicht notwendigerweise gespeichert oder können auf Null gesetzt werden, weil die Übertragung von Kräften bzw. Momenten in diesen Richtungen in der Regel nicht durch die Achssteuerung beeinflusst werden kann.
  • Bei einer Speicherung der Drehmomente oder Kräfte in kartesischen Koordinaten kann ebenfalls ein Koordinatensystem definiert und die Kräfte bzw. Drehmomente mit der Konvention abgelegt werden, dass eine positive Kraft in Richtung der Achsen kartesischen Koordinatensystems bzw. ein positives Drehmoment um eine Achse des kartesischen Koordinatensystems eine Bewegung in positive Richtung bzw. eine Drehung in positiver Richtung um diese Achse bewirkt. Mögliche Bezeichnungen sind: fx, fy, fz, nx, ny, nz. Insbesondere können Drehmomente wie in der Physik üblich den Achsen zugeordnet sein. Dies vermeidet Singularitätsprobleme bei den in der Robotik gebräuchlichen Orientierungsbeschreibungen.
  • Es müssen nicht notwendigerweise alle Kraft- oder Drehmomentkomponenten für die einzelnen Raumpunkte ermittelt oder gespeichert werden. Es ist z. B. auch möglich, nur Kraft- oder Drehmomentkomponenten in wenigstens einer vorbestimmten Richtung zu speichern. Beim Anfahren eines solchen Raumpunktes kann dann für die Richtungen, für die keine Kraft bzw. kein Drehmoment gespeichert wird, die Position mit Standard-Lageregelung angefahren werden. Dies ist z. B. vorteilhaft für Anwendungen, bei denen z. B. kraftabhängige Bahnabweichungen in einigen Richtungen erforderlich sind, Abweichungen in den orthogonalen Richtungen aber einen Fehlerzustand darstellen.
  • Die Struktur zum Speichern der Kräfte oder Drehmomente kann um Elemente ergänzt werden, die angeben, wann die gewünschten Kräfte oder Drehmomente als erreicht gelten. Je nach Anwendung kann dies bedeuten, dass die Kraft bzw. das Moment erstmals (betraglich) überschritten wird, oder dass die Kraft bzw. das Moment mit einer einstellbaren Toleranz für eine gewisse Zeit vorliegt.
  • Weiterhin können Fehlerkorridore bzw. -bereiche bezogen auf die abgespeicherte Position und/oder den gespeicherten Kräften bzw. Drehmomenten angegeben werden. Dies kann beispielsweise dann erforderlich sein, wenn der Roboter nicht unbedingt einen Ruhezustand erreichen kann und beispielsweise versucht, an einem Punkt im Raum eine bestimmte Kraft aufzubringen. Solange am Roboter kein Gleichgewicht bezogen auf die Summe aller Kräfte und Momente herrscht, wird sich der Roboter bewegen. Die anzugebenden maximalen Fehlerwerte können als Schranke verwendet werden, um den Roboter daran zu hindern, einen vorgegeben Bereich zu verlassen. Dieser Bereich kann beispielsweise bezogen sein auf Position und/oder Orientierung des Tool Center Point im Raum, auf Kräfte oder Momente in der Roboterstruktur oder auf Richtung und Größe von extern auf den Tool Center Point wirkenden Kräften oder Momente.
  • Eine Möglichkeit, einen Fehlerkorridor oder -bereich vorzugeben, ist beispielsweise für die Kräfte oder Drehmomente eines bestimmten Raumpunktes nicht die genauen Ortskoordinaten dieses Raumpunktes abzuspeichern, sondern einen geometrischen (dreidimensionalen) Bereich z. B. in Form einer Kugel im dreidimensionalen Raum um den relevanten Raumpunkt zu definieren. Dies erfolgt z. B. analog im Orientierungsraum, im Raum der Kräfte in xyz-Richtung oder Momente um xyz-Achsen, mit einem vom Benutzer zu definierenden Fehlerradius. Gerät der Roboter beim Versuch, diesen Raumpunkt mit der gewünschten Kraft anzufahren, außerhalb des vorgegebenen Fehlerbereichs, dann kann der Roboter automatisch angehalten werden.
  • Weitere Möglichkeiten, Fehlerbereiche vorzugeben, ergeben sich aus der Beschreibung von werkzeugbezogenen Koordinatensystemen, um die herum oder in deren Relation Fehlerbereiche in Form von geometrischen Objekten, z. B. Linien, Flächen, wie Ebenen, Rechtecke, Trapeze, oder Volumina, wie Kugeln, Zylinder oder Quader, definiert werden.
  • Analog zum Vorgeben eines Fehlerbereiches, bei dessen Überschreitung der Roboter z. B. in einen Fehlerzustand wechselt, kann ein Aktionsbereich definiert werden, innerhalb dessen der Roboter seine augenblickliche Operation durchführt. Innerhalb dieses Aktionsbereiches können verschiedene Zustände bezogen auf Positionen, Orientierungen, Kräfte oder Momente definiert werden, deren Erreichen dafür sorgt, dass die augenblickliche Operation beendet und zur nächsten Programmzeile und damit zur nächsten Aktion gewechselt wird.
  • So ist es möglich, relativ komplexe Vorgänge zu teachen, bei denen der Roboter zwischen verschiedenen Aktionsbereichen und Zuständen wechselt.
  • Das erfindungsgemäße Verfahren kann besonders vorteilhaft genutzt werden, um haptische Eindrücke zu realisieren.
  • Um eventuell die gewünschte Bahn zu erhalten, auf der sich der Roboter im Programmbetrieb bewegen soll, können die den Raumpunkten zugeordneten Kräfte bzw. Drehmomente überschliffen werden. Dieses Überschleifen kann ähnlich einem Überschleifen von ermittelten Raumpunkten zu einer Bahnkurve erfolgen. So ist es möglich, die einzelnen Raumpunkte z. B. entsprechend einer Linear-, Zirkular-, Spline- oder Punkt-zu-Punkt-Bewegung zu verbinden und durch "Überschleifen" z. B. mit Polynomkurven zu einer glatten Kontur zu verbinden.
  • Ausführungsbeispiele der Erfindung sind exemplarisch in den beigefügten schematischen Zeichnungen dargestellt. Es zeigen:
  • 1A1F mehrere Stadien eines Roboters während einer Programmierung,
  • 2 ein Diagramm zur Veranschaulichung einer Berechnung eines Bewegungsablaufs aufgrund einer Programmierung,
  • 3 ein das erfindungsgemäße Verfahren erläuterndes Flussdiagramm und
  • 4A4C, 5 Szenarien zur Veranschaulichung eines nachgiebigen Regelungsverfahren.
  • Die 1A1F zeigen mehrere Stadien eines 6-Achs-Knickarm Industrieroboters R während einer Programmierung, während derer eine bestimmte Kraft und/oder Drehmoment-Charakteristik für den Industrieroboter R festgelegt wird, die dieser bei einer Anwendung aufweisen soll.
  • Der in den 1A1F dargestellte Roboter R weist mehreren Achsen 16, mehrere Hebeln 710 und einen Flansch F auf, an dem ein Greifer 18 befestigt ist. Jede der Achsen 16 wird im Falle des vorliegenden Ausführungsbeispiels mit einem elektrischen Motor 1116 bewegt, wobei die Motoren 1116 in nicht dargestellter Weise mit einem Steuerrechner 17 elektrisch verbunden sind, sodass der Steuerrechner 17 bzw. ein auf dem Steuerrechner 17 laufendes Rechnerprogramm die Motoren 1116 derart ansteuern kann, sodass die Position und Orientierung des Flansches F und somit des am Roboter R befestigten Greifers 18 im Wesentlichen frei im Raum ausgerichtet werden kann.
  • Im Falle des vorliegenden Ausführungsbeispiels ist der Roboter R dafür vorgesehen, einen Kolben 19 in einen Spalt 21 eines Metallblocks 20 zu fügen. Die Position des Metallblocks ist nicht in jedem Prozesszyklus identisch, so dass kein rein positionsbasiertes Teach-In erfolgen kann. Der Metallblock 20 kann beispielsweise während späterer Fertigungsschritte für die Fertigung eines Zylinders verwendet werden. Damit der im Betrieb befindliche Roboter R den Kolben 19 fügen kann, muss der Roboter R ein den Roboter R geeignetes steuerndes Steuerprogramm aufweisen, das auf dem Steuerrechner 17 läuft.
  • Dieses Steuerprogramm wird im Falle des vorliegenden Ausführungsbeispiels mittels Teach-In Programmierung erstellt.
  • Während der Teach-In Programmierung bewegt eine in den Figuren nicht näher dargestellte Person zunächst den Roboter R mittels eines mit dem Steuerrechner 17 verbundenen Eingabegeräts, z. B. einer 6D-Maus, eines Joysticks oder eines in den 1A1F dargestellten Handhabungsgerätes 22 derart, dass die Position und Orientierung des Greifers 18 mit gegriffenem Kolben 19 frei im Raum angefahren werden können. Dies wird erreicht, indem der Steuerrechner 17 bzw. ein auf dem Steuerrechner 17 laufendes Rechnerprogramm aufgrund von Eingaben in das Handhabungsgerät 22 die elektrischen Motoren 1116 derart ansteuert, so dass die Achsen 16 sich entsprechend der gewünschten Position und Orientierung des Greifers 18 bewegen.
  • Im Falle des vorliegenden Ausführungsbeispiels umfasst der Roboter R einen am Flansch F befestigten Kraftsensor 23, der auf den Flansch F bzw. Greifer 18 wirkende Kräfte misst. Der Kraftsensor 23 ist in nicht dargestellter Weise mit dem Steuerrechner 17 verbunden und überträgt den gemessenen Kräften zugeordnete Signale an den Steuerrechner 17. Im Falle des vorliegenden Ausführungsbeispiels misst der Kraftsensor 23 Kräfte in und quer zur Längsachse des Kolbens 19.
  • Im Falle des vorliegenden Ausführungsbeispiels bewegt die das Handhabungsgerät 22 bedienende Person während der Teach-In Programmierung den Greifer 18 in Richtung des Metallblocks 20, bis der Kolben 19 eine Oberfläche 24 des Metallblocks 20 berührt, wie dies in der 1B gezeigt ist. Beim Auftreffen des Kolbens 19 auf den Metallblock 20 wirkt auf den Kolben 19 und auf den Greifer 18 eine Kraft in Bewegungsrichtung des Roboters R. Diese Kraft bzw. der Kraftanstieg beim Auftreffen auf den Metallblock 20 wird mit dem Kraftsensor 23 gemessen und der Person mittels eines mit dem Steuerrechner 17 verbundenen Sichtgerät 25 angezeigt. Daraufhin stoppt die Person mittels des Handhabungsgerätes 22 die Bewegung des Roboters R und speichert die momentan auf den Kolben 18 bzw. Greifer 18 und somit auf den Roboter R wirkende Kraft im Steuerrechner 17 durch Betätigen einer in den Figuren nicht näher dargestellten Eingabetaste des Handhabungsgerätes 22.
  • Anschließend steuert die Person mittels des Handhabungsgerätes 22 den Roboter R derart, dass dieser den Kolben 19 mit im Wesentlichen konstanter Kraft in Richtung des Spalts 21 bewegt, wie dies in den 1B und 1C dargestellt ist. Trifft der Kolben 19 auf den Spalt 21, 1C, dann ändert sich die auf den Kolben 19 und somit auf den Roboter R wirkende Kraft bzw. Drehmoment, was wiederum mit dem Kraftmesser 23 detektiert wird. Die Person kann diesen Zustand eventuell auch an einem Nachgeben oder einer Orientierungsänderung des Kolbens 19 erkennen.
  • Die auf den Roboter R wirkende Kraft zum Zeitpunkt des in de 1C gezeigten Zustands, d. h. bei Erreichen des Spalts 21, wird optional der Person auf dem Sichtgerät 25 gezeigt. Daraufhin betätigt die Person die Eingabetaste des Handhabungsgerätes 22, wodurch die auf den Roboter R wirkende Kräfte bzw. Drehmomente für den in der 1C gezeigten Zustand im Steuerrechner 17 gespeichert werden.
  • Nach dem Abspeichern des Kraft bzw. Momentendzustands des in der 1C dargestellten Zustands steuert die Person den Roboter R mittels des Handhabungsgerätes 22 derart an, dass sich der Kolben 19 aufrichtet, bis er im Wesentlichen senkrecht zur Oberfläche 24 des Metallblocks 24 ausgerichtet ist und in den Spalt 21 gedrückt werden kann. Für diesen Zustand speichert die Person durch Drücken der Eingabetaste des Handhabungsgerätes 22 wieder die auf den Roboter R wirkenden Kräfte.
  • Anschließend steuert die Person mittels des Handhabungsgerätes 22 den Roboter R derart, dass dieser den Kolben 19 entlang eines Kraftkorridors in den Spalt 21 drückt, wie dies in der 1D gezeigt ist. Der Kraftkorridor ist im Falle des vorliegenden Ausführungsbeispiels dadurch gekennzeichnet, dass auf den Kolben 19 möglichst geringe Kräfte wirken. Dieser Zustand wird wiederum mit dem Steuerrechner 17 durch Drücken der Eingabetaste des Handhabungsgerätes 22 gespeichert.
  • Der Roboter R drückt den Kolben 19 solange in den Spalt 21, bis der Kolben 19 die untere Begrenzung des Spalts 21 erreicht, wie dies in de 1E veranschaulicht ist. Dadurch ist der Kolben 19 im Metallblock 20 gefügt.
  • Das Erreichen der unteren Begrenzung des Spalts 21 erkennt die Person aufgrund der zurückgelegten Strecke des Kolbens 19 beim Fügen oder durch einen Anstieg der auf den Roboter R wirkenden Kraft beim Auftreffen. Die für das Fügen im Endzustand notwendige Kraft wird wiederum im Steuerrechner 17 durch Drücken der Eingabetaste des Handhabungsgerätes 22 gespeichert.
  • Abschließend wird der Greifer 18 geöffnet und vom Kolben 19 entfernt, 1F, und die Teach-In Programmierung ist beendet. Bei einem späteren Fügen weiterer Kolben in die Spalte eines Metallblocks steuert das auf dem Steuerrechner 17 laufende Rechenprogramm den Roboter R derart an, dass der Roboter R diese Kolben in ihre Metallblöcke gemäß der während der eben beschriebenen Teach-In Programmierung festgelegten Kraft bzw. Momenten-Charakteristik bewegt.
  • Im vorab beschriebenen Ausführungsbeispiel werden bei der Teach-In Programmierung nur die Kräfte bzw. Momente abgespeichert. Zusätzlich können bei der Teach-In Programmierung auch die entsprechenden Stellungen des Roboters R abgespeichert werden, indem beispielsweise für jeden Zustand die Achsenstellungen der Achsen 16 ebenfalls abgespeichert werden. Des Weiteren können Fehlerbereiche bzw. Toleranzbereich bezüglich der Achsenstellungen festgelegt werden, wodurch insbesondere nachgiebige Regelverfahren für die Regelung des Roboters R verwendet werden können.
  • Im beschriebenen Ausführungsbeispiel werden die Kräfte und eventuell die kartesischen bzw. achsenspezifischen Positionen der Achsen 16 zu diskreten Zuständen abgespeichert.
  • 2 veranschaulicht ein Überschleifen eines während einer Teach-In Programmierung gespeicherten Kraft-Momentenverlaufs. Die 3 zeigt ein dazu entsprechendes Flussdiagramm.
  • Die zu einzelnen Zeitpunkten ermittelten Kräfte bzw. Momente während der Teach-In Programmierung könne durch ein Überschleifen mit beispielsweise Polynomkurven zu einer glatten Kontur verbunden werden.
  • Bei dem in der 2 veranschaulichten Ausführungsbeispiels soll ein Roboter, beispielsweise der in der 1 gezeigte Roboter R, ein Bauteil B mit einem anstelle des Greifers 18 am Roboter R befestigten Werkzeug bearbeiten. Im Falle des vorliegenden Ausführungsbeispiels soll der Roboter R derart angesteuert werden, dass sich das Werkzeug in den kartesischen Richtungen x, y eines raumfesten Systems, z. B. einem Weltkoordinatensystem mit den Koordinaten x und y, auf einer Kurve K, die durch Punkte P0, P1a, P1b, P2a, P2b, P3a, P3b und P4 definiert ist, bewegt. Die Bewegung beginnt am Punkt P0, an dem das Werkzeug auf das Bauteil B keine Kraft ausüben soll. Beim Erreichen des Punktes P1b soll das Werkzeug auf das Bauteil B in x-Richtung keine Kraft und in negativer y-Richtung eine konstante Kraft ausüben. Eine solche Bewegung ist z. B. geeignet beim Entgraten des Bauteils B mit dem Werkzeug.
  • Während der Bewegung vom Punkt P1b zum Punkt P2a soll das Werkzeug auf das Bauteil B in x-Richtung keine Kraft und in negativer y-Richtung die konstante Kraft ausüben.
  • Zwischen den Punkten P2a und P2b soll der Roboter R das Werkzeug auf einem Kreissegment bewegen, wobei das Werkzeug auf das Bauteil B die konstante Kraft in radialer Richtung ausüben soll. Die in radialer Richtung wirkende konstante Kraft soll Komponenten in negativer x- und negativer y-Richtung haben.
  • Zwischen den Punkten P2b und P3a soll das Werkzeug auf das Bauteil B die konstante Kraft in negativer x-Richtung und in y-Richtung keine Kraft ausüben. Wenn das Bauteil den Punkt P4 erreicht, soll auf das Bauteil keine Kraft mehr wirken.
  • Dieser Kraft-Verlauf wird im Falle des vorliegenden Ausführungsbeispiels mittels folgender Teach-In Programmierung im Steuerrechner 17 programmiert:
    Der Roboter R bzw. das mit dem Roboter R bewegte Werkzeug wird an den Punkt P0 mittels des Handhabungsgerätes 22 herangefahren, Schritt S1 des in der 3 gezeigten Flussdiagramms. Am Punkt P0 wirkt auf das Werkzeug keine Kraft. Dies wird im Steuerrechner 17 gespeichert, Schritte S2 und S3 des in der 2 gezeigten Flussdiagramms.
  • Anschließend wird das Werkzeug mit dem Roboter R und mit Hilfe des Handhabungsgerätes 22 an einen Punkt P1 herangefahren, der horizontal mit den Punkten P1b und P2b verbunden ist, Schritt S1 des in der 3 gezeigten Flussdiagramms.
  • Am Punkt P1 drückt der Roboter R das Werkzeug auf eine Fläche derart, dass das Werkzeug die konstante Kraft in negativer y-Richtung und keine Kraft in x-Richtung ausübt. Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des in der 3 gezeigten Flussdiagramms.
  • Anschließend wird der Roboter R mit Hilfe des Handhabungsgerätes 22 derart bewegt, dass das Werkzeug einen Punkt P2 erreicht, Schritt S1 des in der 3 gezeigten Flussdiagramms. Der Punkt P2 befindet sich auf einer Verbindungslinie zwischen den Punkten P1, P1b und P2a und auf einer Verbindungslinie zwischen den Punkten P2b und P3a. Am Punkt P2 drückt der Roboter R das Werkzeug auf eine Fläche derart, dass das Werkzeug ebenfalls die konstante Kraft in negativer y-Richtung und keine Kraft in x-Richtung ausübt. Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des in der 3 gezeigten Flussdiagramms.
  • Danach wird der Roboter R mit Hilfe des Handhabungsgerätes 22 derart bewegt, dass das Werkzeug am Punkt P2 derart auf eine Fläche drückt, dass das Werkzeug die konstante Kraft in negativer x-Richtung und keine Kraft in y-Richtung ausübt. Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des in der 3 gezeigten Flussdiagramms.
  • Anschließend wird der Roboter R mit Hilfe des Handhabungsgerätes 22 derart bewegt, dass das Werkzeug einen Punkt P3 erreicht, Schritt S1 des in der 3 gezeigten Flussdiagramms. Der Punkt P3 befindet sich auf der Verbindungslinie zwischen den Punkten P2b und P3a und auf einer horizontal ausgerichteten Verbindungslinie, die die Punkte P3 und P4 verbindet. Am Punkt P3 drückt der Roboter R das Werkzeug auf eine Fläche derart, dass das Werkzeug die konstante Kraft in negativer x-Richtung und keine Kraft in y-Richtung ausübt.
  • Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des in der 3 gezeigten Flussdiagramms.
  • Danach wird der Roboter R mit Hilfe des Handhabungsgerätes 22 derart bewegt, dass das Werkzeug den Punkt P4 erreicht, Schritt S1 des in der 3 gezeigten Flussdiagramms. Am Punkt P4 übt das Werkzeug keine Kraft aus. Dies wird im Steuerrechner 17 gespeichert, Schritte S2 und S3 des in der 2 gezeigten Flussdiagramms.
  • Um aus den gespeicherten Kräften während der Teach-In Programmierung bei den Punkten P0–P4 den gewünschten Kräfte-Verlauf entlang der Kurve K zu erhalten, wird im Steuerrechner 17 die durch die Punkte P0, P1a, P1b, P2a, P2b, P1a, P3b und P4 definierte Kurve K festgelegt, P1a, P1b, P2a, P2b, P1a, P3b dabei durch Überschleifen, Schritt S4 des in der 3 gezeigten Flussdiagramms, und die auf das Bauteil B wirkenden Soll-Kräfte aufgrund der zu den Punkten P0–P4 gespeicherten Kräfte interpoliert bzw. überschliffen, Schritt S5 des in der 3 gezeigten Flussdiagramms.
  • Aufgrund dieses Überschleifens errechnet der Steuerrechner 17 bzw. ein auf dem Steuerrechner 17 laufendes Rechnerprogramm, dass das Werkzeug zwischen den Punkten P1b und P2a die konstante Kraft in negativer Y-Richtung und zwischen den Punkten P2b und P1a die konstante Kraft in negativer x-Richtung ausüben soll. Aufgrund des Verlaufs der Kurve K zwischen den Punkten P2a und P2b auf einem Kreissegment errechnet der Steuerrechner 17 das auf das Bauteil wirkende Kraftprofil derart, dass auf das Werkzeug die konstante Kraft radial zum Kreissegment ausübt, die negative Kraftkomponente in x- und y-Richtung aufweist.
  • Zwischen den Punkten P0, P1a und P1b errechnet das auf dem Steuerrechner 17 laufende Rechnerprogramm, dass sich die auf das Bauteil B wirkende Kraft langsam aufbauen soll, bis die Kraft am Punkt P1b derart aufgebaut ist, dass sie die konstante Kraft in negativer y-Richtung aufweist.
  • Zwischen den Punkten P3a und P4 errechnet das auf dem Steuerrechner 17 laufende Rechnerprogramm, dass die auf das Bauteil B wirkende Kraft langsam abnimmt, bis sie den Wert Null erreicht, wenn das Bauteil B am Punkt P4 angekommen ist.
  • Zusätzlich können noch die Achsenstellungen der Achsen 16 für die Punkte P0, P1, P2, P3 und P4 im Steuerrechner 17 gespeichert werden.
  • Im Falle des vorliegenden Ausführungsbeispiels berechnet ferner das auf dem Steuerrechner 17 laufende Rechnerprogramm die Achsenstellungen der Achsen 16 derart, dass das Werkzeug für die Kraftaufwendung geeigneten Orientierungen und Positionen im Raum aufweist.
  • Beim Überschleifen von Kräften in den kartesischen Richtungen des Weltkoordinatensystems kann derselbe Überschleifalgorithmus für die in x-, y- und z-Richtung wirkenden Kraftkomponenten verwendet werden, die Kräfte werden aber immer auf die aktuelle Position des Werkzeugkoordinatensystems bezogen.
  • Beim Überschleifen von Momenten um kartesischen Richtungen z. B. des Weltkoordinatensystems gibt der Überschleifalgorithmus der Steuerung für jeden Zeitpunkt die Orientierung des Werkzeugs vor. Die Momente in x-, y- und z-Richtung werden nach demselben Algorithmus überschliffen, der für die Kraft- oder Orientierungskomponenten verwendet wird. Diese Momentenverläufe werden dann im gewünschten Koordinatensystem aufgebracht.
  • Beim Überschleifen von achsspezifischen Kräften und Momenten können für ein Überschleifen von achsspezifischen Bewegungen bekannte Algorithmen als Grundlage verwendet werden.
  • Im Falle des anhand der 2 und 3 obenstehend beschriebenen Ausführungsbeispiels wird der Kraft-Verlauf bestimmt, indem der Roboter R das Werkzeug während der Teach-In Programmierung gegen eine Fläche drückt.
  • Gemäß einem ebenfalls anhand der 2 und 3 nachfolgend beschriebenen Ausführungsbeispiels wird der Kraft-Verlauf mittels folgender Teach-In Programmierung im Steuerrechner 17 programmiert:
    Der Roboter R bzw. das mit dem Roboter R bewegte Werkzeug wird an den Punkt P0 mittels des Handhabungsgerätes 22 oder durch manuelles Führen des Roboters R, wie z. B. manuelles Ziehen oder Drücken am Roboter R, herangefahren bzw. herangebracht, ohne eine Fläche oder einen Gegenstand zu berühren, Schritt S1 des in der 3 gezeigten Flussdiagramms. Am Punkt P0 wirkt auf das Werkzeug keine Kraft. Dies wird im Steuerrechner 17 gespeichert, Schritte S2 und S3 des in der 3 gezeigten Flussdiagramms.
  • Anschließend wird das Werkzeug mit dem Roboter R und mit Hilfe des Handhabungsgerätes 22 oder durch manuelles Führen an den Punkt P1 herangefahren bzw. herangebracht, ohne eine Fläche oder einen Gegenstand zu berühren, Schritt S1 des Flussdiagramms. Am Punkt P1 wird die gewünschte Pose des Roboters R festgelegt und anschließend am Roboter R derart manuell gezogen oder gedrückt, dass das Werkzeug bzw. der Roboter R die konstante Kraft in negativer y-Richtung und kei ne Kraft in x-Richtung ausübt. Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des Flussdiagramms.
  • Anschließend wird der Roboter R mit Hilfe des Handhabungsgerätes 22 oder durch manuelles Führen des Roboters R derart bewegt, dass das Werkzeug den Punkt P2 erreicht, ohne einen Gegenstand oder eine Fläche zu berühren, Schritt S1 des Flussdiagramms. Am Punkt P2 wird die gewünschte Pose des Roboters R eingestellt und manuell am Roboter R gedrückt oder gezogen, dass das Werkzeug bzw. der Roboter R ebenfalls die konstante Kraft in negativer y-Richtung und keine Kraft in x-Richtung ausübt. Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des Flussdiagramms.
  • Danach wird am Roboter manuell derart gezogen oder gedrückt, dass der Roboter R am Punkt P2 eine Kraft ausübt, dass das Werkzeug bzw. der Roboter R die konstante Kraft in negativer x-Richtung und keine Kraft in y-Richtung ausübt. Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des Flussdiagramms.
  • Anschließend wird der Roboter R mit Hilfe des Handhabungsgerätes 22 bzw. durch manuelles Führen derart bewegt, dass das Werkzeug den Punkt P3 erreicht, ohne einen Gegenstand zu berühren, Schritt S1 des Flussdiagramms. Am Punkt P3 wird manuell derart am Roboter R gezoden oder gedrückt, dass das Werkzeug bzw. der Roboter R die konstante Kraft in negativer x-Richtung und keine Kraft in y-Richtung ausübt. Diese Information wird im Steuerrechner 17 abgespeichert, Schritte S2 und S3 des Flussdiagramms.
  • Danach wird der Roboter R mit Hilfe des Handhabungsgerätes 22 bzw. durch manuelles Führen derart bewegt, dass das Werkzeug den Punkt P4 erreicht, Schritt S1 des Flussdiagramms.
  • Am Punkt P4 übt das Werkzeug keine Kraft aus. Dies wird im Steuerrechner 17 gespeichert, Schritte S2 und S3 des Flussdiagramms.
  • Um aus den gespeicherten Kräften während der Teach-In Programmierung bei den Punkten P0–P4 den gewünschten Kräfte-Verlauf entlang der Kurve K zu erhalten, wird im Steuerrechner 17 die durch die Punkte P0, P1a, P1b, P2a, P2b, P3a, P3b und P4 definierte Kurve K festgelegt, P1a, P1b, P2a, P2b, P3a, P3b dabei durch Überschleifen, Schritt S4 des Flussdiagramms, und die auf das Bauteil B wirkenden Soll-Kräfte aufgrund der zu den Punkten P0–P4 gespeicherten. Kräfte interpoliert bzw. überschliffen, Schritt S5 des Flussdiagramms.
  • Im Programmbetrieb, d. h. nach dem Abschluss der Programmierung des Roboters R kann dieser insbesondere mit sogenannten nachgiebigen Regelungsverfahren, wie z. B. Momentenbetrieb, Steifigkeitsregelung, Impedanzregelung oder Admittanzregelung, betrieben werden. Diesen Regelungsverfahren ist gemeinsam, dass im Gegensatz zu reinen Lageregelungen neben einer Positionsvorgabe Grenzen für Kräfte und Momente vorgegeben werden können, die zum Erreichen einer Positionsvorgabe nicht überschritten werden dürfen. Die 4A4C veranschaulichen einen solchen Betriebsmodus.
  • Die 4A4C zeigen jeweils ein am Flansch F des Roboters R befestigtes Werkzeug 41 mit einer Spitze 42 und ein Bauteil 43 mit einer dem Werkzeug 41 zugewandten Oberfläche 44.
  • Im Falle des vorliegenden Ausführungsbeispiels wurde während der Programmierung des Steuerrechners 17 der Roboter R derart manuell eingestellt, dass die Spitze 42 des Werkzeugs 41 einen vorbestimmten Raumpunkt mit einer bestimmten Kraft angefahren hat. Der Raumpunkt wird im Falle des vorliegenden Ausführungsbeispiels in kartesischen Kordnieten beschrieben und hat die Koordinaten x0, y0 und z0. Im Steuerrechner 17 wurden im Falle des vorliegenden Ausführungsbeispiels die vom Roboter R aufgebrachte Kraft und die Ortkoordinaten des angefahrenen Raumpunktes gespeichert, wobei jedoch für die x-Koordinate ein Toleranzband um die Soll-Koordinate x0 gelegt wurde.
  • Im Programmbetrieb, d. h. nach Beendigung der Programmierung des Roboters R, soll der Roboter R nacheinander mehrere Bauteile 43 mit dem Werkzeug 41 bearbeiten. Zu diesem Zweck sollen die Bauteile 43 jeweils derart positioniert werden, dass sie gemäß dem vorab festgelegten Raumpunkt ausgerichtet sind. Aufgrund von Toleranzen, bedingt z. B. durch unterschiedlichen Dicken der Bauteile 43 oder einer relativ ungenauen Positionierung, kann es sein, dass die Bauteile 43 nicht genau bezüglich ihrer x- Koordinate positioniert sind. So zeigen die 4A und 4B das Bauteil 43 leicht nach rechts versetzt bezüglich ihrer Sollposition und der Zeichenebene. Die 4C zeigt das Bauteil 43 exakt positioniert.
  • Wäre der Roboter R ein konventioneller Roboter, d. h. wären lediglich die Raumkoordinaten der anzufahrenden Sollposition in der Steuervorrichtung 17 programmiert, dann würde die Spitze 42 des Werkzeugs 41 das in der 4A gezeigte Bauteil 43 überhaupt nicht erreichen und die Oberfläche 44 des in der 4B gezeigten Bauteils 43 zwar erreichen, jedoch nicht die notwendige Kraft auf das Bauteil 43 ausüben. Nur das exakt positionierte und in der 4C gezeigte Bauteil 43 wird von der Spitze 42 des Werkzeugs 41 derart erreicht, dass das Werkzeug die erforderliche Kraft auf das Bauteil 43 ausübt. Dieser konventionelle Betriebsmodus entspricht einer konventionellen Lageregelung.
  • Im Falle des vorliegenden Ausführungsbeispiels ist jedoch die mit der Spitze 42 des Werkzeugs 41 anzufahrende Position in x-Richtung mit dem Toleranzband um die x0 Koordinate im Steuerrechner 17 abgelegt. Der Roboter R bewegt demnach im Falle des vorliegenden Ausführungsbeispiels das Werkzeug 41 in Richtung eines Pfeils 45 bis der Roboter R die während der Programmierung gespeicherte Kraft in x-Richtung aufbringt, da dann die Spitze 42 des Werkzeugs 41 die Oberfläche 44 mit der abgespeicherten Kraft erreicht hat. Demnach erreicht die Spitze 42 die Oberfläche 44 des Bauteils 43 und übt auf dieses die abgespeicherte Kraft aus, auch wenn das Bauteil 42 ungenau positioniert ist.
  • Erreicht die Spitze 42 des Werkzeugs 41 das Bauteil 43, dann übt das Werkzeug 41 die vorgegebene Kraft auf das Bauteil 43 aus, das sich, wie in der 5 dargestellt, leicht verformen kann.
  • Im Falle des vorliegenden Ausführungsbeispiels wird kein Verlauf der Sollkraft geplant, sondern der Roboter bewegt sich unter Berücksichtigung programmierter Grenzen solange, bis die gewünschte Kraft erreicht ist. Die Bewegung kann bevorzugt in Momentenbetrieb, Steifigkeitsregelung, Impedanzregelung oder Admittanzregelung erfolgen, alternativ in Lageregelung, bis der Kontakt mit dem Bauteil erkannt wird, und ab dann z. B. in Kraftregelung.
  • Bei den beschriebenen Ausführungsbeispielen werden die Kräfte oder Momente mit dem Kraftsensor 23 gemessen. Die auf den Roboter R wirkende bzw. ausgeübte Kräfte oder Momente können auch mit anderen Mitteln ermittelt werden. Eine Möglichkeit ist eine Herleitung über die elektrischen Ströme der Motoren 1116.
  • Der Roboter R kann auch an die Raumpunkte P0–P4 manuell z. B. durch Drücken und Ziehen an den Achsen 16 geführt werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - EP 1508396 A1 [0006]

Claims (24)

  1. Verfahren zum Programmieren eines Roboters, aufweisend folgende Verfahrensschritte: – manuelles Anfahren von wenigstens einem Raumpunkt (P0–P4) mit einem Roboter (R), – Ermitteln der Kräfte oder Drehmomente, die der Roboter (R) im angefahrenen Raumpunkt (P0–P4) ausübt, und – Speichern der ausgeübten Kräfte oder Drehmomente.
  2. Verfahren nach Anspruch 1, bei dem das manuelle Anfahren des wenigstens einen Raumpunkts (P0–P4) durch ein manuelles Führen des Roboters (R) oder mit Hilfe eines manuell bedienbaren Eingabegerätes (22) des Roboters (R) durchgeführt wird.
  3. Verfahren nach Anspruch 1 oder 2, aufweisend Ermitteln der Kräfte oder Drehmomente mittels wenigstens eines Kraft- oder Drehmoment-Sensors (23) des Roboters (R) und/oder über elektrische Ströme von für eine Bewegung des Roboters (R) vorgesehenen elektrischen Motoren (1116).
  4. Verfahren nach einem der Ansprüche 1 bis 3, aufweisend Einstellen von Soll-Kräften oder Soll-Drehmomenten durch das manuelle Anfahren.
  5. Verfahren nach einem der Ansprüche 1 bis 3, aufweisend Einstellen von Soll-Kräften und/oder Soll-Drehmomenten durch das manuelle Bewegen des Roboters (R) ohne Kontakt zu einem Gegenstand bei gleichzeitiger Positions- bzw. Posenregelung des Roboters (R).
  6. Verfahren nach einem der Ansprüche 1 bis 3, aufweisend Ermittlung von Soll-Kräften und/oder Soll-Drehmomenten beim manuellen Bewegen des Roboters (R) ohne Kontakt zu einem Gegenstand durch die gleichzeitige Vollführung von Testbewegungen des Roboters (R), die durch die vom Bediener während der Bewegung aufgebrachten Kräfte/Momente zu einem Einstellen von Soll-Kräften oder Soll-Drehmomenten führen.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem die gespeicherte Kraft oder das gespeicherte Drehmoment eine vom Roboter (R) auszuübende obere Grenzkraft oder ein vom Roboter (R) auszuübendes oberes Grenzmoment ist.
  8. Verfahren nach einem der Ansprüche 1 bis 7, bei dem der Roboter (R) eine Mehrzahl von Achsen (16) aufweist und für den wenigstens einen Raumpunkt (P0–P4) die aufgebrachten Kräfte oder Drehmomente aller Achsen (16) gespeichert werden.
  9. Verfahren nach einem der Anspruch 1 bis 8, bei dem der Roboter (R) eine Mehrzahl von Achsen (16) aufweist und für den wenigstens einen Raumpunkt (P0–P4) zusätzlich wenigstens eine der Stellungen der Achsen (16) oder wenigstens eine Komponente der TCP-Position gespeichert wird.
  10. Verfahren nach Anspruch 9, bei dem die Stellungen aller Achsen (16) für den wenigstens einen Raumpunkt (P0–P4) gespeichert wird.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei der Roboter (R) bezüglich einer Mehrzahl von Freiheitsgraden bewegbar ist und für den wenigstens einen Raumpunkt (P0– P4) für einen ersten Teil der Freiheitsgrade des Roboters (R) die ausgeübte Kraft oder das ausgeübte Drehmoment und für einen vom ersten Teil der Freiheitsgrade verschiedenen zweiten Teil der Freiheitsgrade die Ortskoordinaten des entsprechenden Raumpunktes (P0–P1) gespeichert werden.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei der Roboter (R) bezüglich einer Mehrzahl von Freiheitsgraden bewegbar ist und für den wenigstens einen Raumpunkt (P0–P4) für einen Teil der Freiheitsgrade des Roboters (R) die ausgeübte Kraft oder das ausgeübte Drehmoment und die Ortskoordinaten des entsprechenden Raumpunktes (P0–P1) gespeichert werden.
  13. Verfahren nach einem der Ansprüche 1 bis 12, bei dem eine Mehrzahl von Raumpunkten (P0–P4) manuell angefahren und die in den angefahrenen Raumpunkten (P0–P4) vom Roboter (R) ausgeübten Kräfte gespeichert werden.
  14. Verfahren nach Anspruch 13, zusätzlich aufweisend: – Festlegen einer Bahn (K), auf der sich der Roboter (R) nach seiner Programmierung bewegen soll, und – Errechnen der vom Roboter (R) auszuübenden Kraft oder des vom Roboter (R) auszuübenden Drehmoments während der Bewegung entlang der Bahn (K) aufgrund der für die Raumpunkte (P0–P4) ermittelten Kräfte oder Drehmomente.
  15. Verfahren nach Anspruch 14, zusätzlich aufweisend: – Festlegen einer Bahn (K), auf der sich der Roboter (R) nach seiner Programmierung bewegen soll, und – Festlegung der vom Roboter (R) auszuübenden Kraft oder des vom Roboter (R) auszuübenden Drehmoments im Zielpunkt der Bahn (K) aufgrund der für die Raumpunkte geteachten Kräfte oder Drehmomente.
  16. Roboter, insbesondere zum Ausführen des Verfahrenes nach einem der Ansprüche 1 bis 15, aufweisend – eine Mehrzahl von Antrieben (1116), – eine Mehrzahl von von den Antrieben (1116) bewegbaren Achsen (16), – eine Vorrichtung (23) zum Ermitteln einer vom Roboter (R) ausgeübten Kraft oder eines vom Roboter (R) ausgeübten Drehmoments und – eine zum Steuern der Antriebe (1116) vorgesehene Steuervorrichtung (17), die aufgrund eines manuellen Anfahren von wenigstens einem Raumpunkt (P0–P4) mit dem Roboter (R) mittels der Vorrichtung (23) zum Ermitteln der vom Roboter (R) ausgeübten Kraft oder des vom Roboter (R) ausgeübten Drehmoments beim Erreichen des Raumpunktes (P0–P4) ermittelte Kräfte oder Drehmomente speichert.
  17. Roboter nach Anspruch 16, aufweisend ein mit der Steuervorrichtung (17) verbundenes manuelles Eingabegerät (22), mittels dessen der Roboter (R) manuell bewegbar ist.
  18. Roboter nach Anspruch 16 oder 17, dessen Vorrichtung zum Ermitteln der vom Roboter (R) ausgeübten Kraft oder des vom Roboter (R) ausgeübten Drehmoments wenigstens ein Kraft- oder Drehmoment-Sensor (23) ist.
  19. Roboter nach einem der Ansprüche 16 bis 18, dessen Antriebe elektrische Motoren (1116) aufweisen und dessen Vorrichtung zum Ermitteln der vom Roboter (R) ausgeübten Kraft oder des vom Roboter (R) ausgeübten Drehmoments eingerichtet ist, die Kraft oder das Drehmoment mittels gemessener elektrischer Ströme der elektrischen Motoren (1116) zu ermitteln.
  20. Roboter nach einem der Ansprüche 16 bis 19, bei dem die gespeicherte Kraft oder das gespeicherte Drehmoment eine vom Roboter (R) auszuübende obere Grenzkraft oder ein vom Roboter (R) auszuübendes oberes Grenzmoment ist.
  21. Roboter nach einem der Anspruch 16 bis 20, dessen Steuervorrichtung (17) derart eingerichtet ist, dass sie für den wenigstens einen Raumpunkt (P0–P4) zusätzlich wenigstens eine der dem wenigstens einen Raumpunkt (P0–P4) zugeordneten Stellungen der Achsen (16) speichert.
  22. Roboter nach Anspruch 21, dessen Steuervorrichtung (17) die Stellungen aller Achsen speichert.
  23. Roboter nach einem der Ansprüche 16 bis 22, der bezüglich einer Mehrzahl von Freiheitsgraden bewegbar ist und dessen Steuervorrichtung (17) derart eingerichtet ist, für den wenigstens einen Raumpunkt (P0–P4) für einen ersten Teil der Freiheitsgrade des Roboter (R) die ausgeübte Kraft oder das ausgeübte Drehmoment und für einen vom ersten Teil der Freiheitsgrade verschiedenen zweiten Teil der Freiheitsgrade die Ortkoordinaten des wenigstens einen Raumpunktes (P0–P1) zu speichern.
  24. Roboter nach einem der Ansprüche 16 bis 23, dessen Steuervorrichtung (17) eingerichtet ist, aufgrund einer festgelegten Bahn (K), auf der sich der Roboter (R) nach dem Anfahren der Raumpunkte (P0–P4) bewegen soll, vom Roboter (R) auszuübende Kräfte oder Drehmomente während der Bewegung entlang der Bahn (K) aufgrund der für die Raumpunkte (P0–P4) ermittelten Kräfte oder Drehmomente zu errechnen.
DE102006061752A 2006-12-28 2006-12-28 Roboter und Verfahren zum Programmieren eines Roboters Ceased DE102006061752A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006061752A DE102006061752A1 (de) 2006-12-28 2006-12-28 Roboter und Verfahren zum Programmieren eines Roboters
EP20070150146 EP1950010B1 (de) 2006-12-28 2007-12-19 Roboter und Verfahren zum Programmieren eines Roboters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006061752A DE102006061752A1 (de) 2006-12-28 2006-12-28 Roboter und Verfahren zum Programmieren eines Roboters

Publications (1)

Publication Number Publication Date
DE102006061752A1 true DE102006061752A1 (de) 2008-07-03

Family

ID=39465705

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006061752A Ceased DE102006061752A1 (de) 2006-12-28 2006-12-28 Roboter und Verfahren zum Programmieren eines Roboters

Country Status (2)

Country Link
EP (1) EP1950010B1 (de)
DE (1) DE102006061752A1 (de)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008001664A1 (de) * 2008-05-08 2009-11-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Medizinischer Roboter und Verfahren zur Erfüllung der Performanceanforderung eines medizinischen Roboters
DE102008043262A1 (de) * 2008-10-29 2010-05-06 Ifm Electronic Gmbh Bedienelement zur Einstellung eines Messwertaufnehmers für die Automatisierungstechnik
DE102009034938A1 (de) * 2009-07-28 2011-02-17 Sensodrive Gmbh Verfahren zur Kommandierung eines Bewegungssystems mit einer Messeinrichtung
DE102012012316B4 (de) * 2012-06-20 2015-05-07 Fanuc Corporation Robotersteuerung, die eine Kraftsteuerung unter Verwendung eines dreiaxialen Kraftsensors durchführt
EP2641136B1 (de) 2010-11-16 2015-07-22 Universal Robots ApS Verfahren und vorrichtung zur steuerung eines roboters
DE102014108287A1 (de) * 2014-05-23 2015-11-26 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
US9833897B2 (en) 2011-09-28 2017-12-05 Universal Robots A/S Calibration and programming of robots
DE102016123909A1 (de) * 2016-12-09 2018-06-14 Abb Schweiz Ag Verfahren zur Minimierung von Belastungen der Gelenkverbindungen eines Manipulators
DE102017118985A1 (de) * 2017-04-23 2018-10-25 Franka Emika Gmbh Schraubvorrichtung
US10195746B2 (en) 2014-09-26 2019-02-05 Teradyne, Inc. Grasping gripper
US10399232B2 (en) 2014-03-04 2019-09-03 Universal Robots A/S Safety system for industrial robot
CN110730706A (zh) * 2017-06-13 2020-01-24 库卡德国有限公司 机器人的控制
US10850393B2 (en) 2015-07-08 2020-12-01 Universal Robots A/S Method for extending end user programming of an industrial robot with third party contributions
US11474510B2 (en) 2016-04-12 2022-10-18 Universal Robots A/S Programming a robot by demonstration

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008063680A1 (de) * 2008-10-10 2010-04-15 Abb Ag Verfahren zum Einlernen (Teachen) eines Industrieroboters sowie ein entsprechend ausgestatteter Industrieroboter
DE102009058607A1 (de) 2009-12-17 2011-06-22 KUKA Laboratories GmbH, 86165 Verfahren und Vorrichtung zum Steuern eines Manipulators
DE102014216514B3 (de) * 2014-08-20 2015-09-10 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
DK3277467T3 (da) 2015-03-31 2020-07-27 Abb Schweiz Ag Fremgangsmåde til at styre en industrirobot ved berøring
DE102018210819A1 (de) * 2018-07-02 2020-01-02 Audi Ag Verfahren zur Herstellung einer Fahrzeug-Traktionsbatterie

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05303422A (ja) * 1992-04-27 1993-11-16 Nippon Telegr & Teleph Corp <Ntt> 直接教示方式ロボット
WO1994020262A1 (en) * 1993-03-12 1994-09-15 Abb Stal Ab Automatic subsequent machining of blades for rotating machines
JPH07132435A (ja) * 1993-11-08 1995-05-23 Nippon Telegr & Teleph Corp <Ntt> ロボット作業算出教示方法
EP0573657B1 (de) * 1991-11-26 1997-08-27 Hitachi Construction Machinery Co., Ltd. Robotersteuerung
EP0584843B1 (de) * 1990-02-27 1998-10-21 Kabushiki Kaisha Toshiba Vorrichtung zum Steuern der Bearbeitungskraft eines Werkzeugs
US6285920B1 (en) * 2000-02-18 2001-09-04 Fanuc Robotics North America Method of robot teaching with motion constraints
EP1508396A1 (de) 2003-08-20 2005-02-23 KUKA Roboter GmbH Verfahren und Vorrichtung zum Steuern der Andruckkraft einer Schweisszange
DE102004020099A1 (de) * 2004-04-24 2005-11-17 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Beeinflussen eines mehrachsigen Handhabungsgeräts

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06278007A (ja) * 1993-03-31 1994-10-04 Tokico Ltd 研削ロボット
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
US6385508B1 (en) * 2000-10-31 2002-05-07 Fanuc Robotics North America, Inc. Lead-through teach handle assembly and method of teaching a robot assembly
JP3961408B2 (ja) * 2002-11-21 2007-08-22 ファナック株式会社 組立て方法及び装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0584843B1 (de) * 1990-02-27 1998-10-21 Kabushiki Kaisha Toshiba Vorrichtung zum Steuern der Bearbeitungskraft eines Werkzeugs
EP0573657B1 (de) * 1991-11-26 1997-08-27 Hitachi Construction Machinery Co., Ltd. Robotersteuerung
JPH05303422A (ja) * 1992-04-27 1993-11-16 Nippon Telegr & Teleph Corp <Ntt> 直接教示方式ロボット
WO1994020262A1 (en) * 1993-03-12 1994-09-15 Abb Stal Ab Automatic subsequent machining of blades for rotating machines
JPH07132435A (ja) * 1993-11-08 1995-05-23 Nippon Telegr & Teleph Corp <Ntt> ロボット作業算出教示方法
US6285920B1 (en) * 2000-02-18 2001-09-04 Fanuc Robotics North America Method of robot teaching with motion constraints
EP1508396A1 (de) 2003-08-20 2005-02-23 KUKA Roboter GmbH Verfahren und Vorrichtung zum Steuern der Andruckkraft einer Schweisszange
DE102004020099A1 (de) * 2004-04-24 2005-11-17 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Beeinflussen eines mehrachsigen Handhabungsgeräts

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP 05303422 A (Internet: http://aipn.ipdl.ncipi. go.jp/AI2/html/top.html) *
JP 07132435 A (Internet: http://aipn.ipdl.ncipi. go.jp/AI2/html/top.html) *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8831779B2 (en) 2008-05-08 2014-09-09 Kuka Laboratories Gmbh Medical robot and method for meeting the performance requirements of a medical robot
DE102008001664B4 (de) * 2008-05-08 2015-07-30 Deutsches Zentrum für Luft- und Raumfahrt e.V. Medizinischer Roboter und Verfahren zur Erfüllung der Performanceanforderung eines medizinischen Roboters
DE102008001664A1 (de) * 2008-05-08 2009-11-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Medizinischer Roboter und Verfahren zur Erfüllung der Performanceanforderung eines medizinischen Roboters
DE102008043262A1 (de) * 2008-10-29 2010-05-06 Ifm Electronic Gmbh Bedienelement zur Einstellung eines Messwertaufnehmers für die Automatisierungstechnik
DE102009034938A1 (de) * 2009-07-28 2011-02-17 Sensodrive Gmbh Verfahren zur Kommandierung eines Bewegungssystems mit einer Messeinrichtung
DE102009034938B4 (de) * 2009-07-28 2015-10-15 Sensodrive Gmbh Verfahren zur Kommandierung eines Bewegungssystems mit einer Messeinrichtung
EP3015932B1 (de) * 2010-11-16 2020-01-15 Universal Robots A/S Verfahren und vorrichtung zur steuerung eines roboters
EP2641136B1 (de) 2010-11-16 2015-07-22 Universal Robots ApS Verfahren und vorrichtung zur steuerung eines roboters
US11822355B2 (en) 2010-11-16 2023-11-21 Universal Robot A/S Programmable robot
US9833897B2 (en) 2011-09-28 2017-12-05 Universal Robots A/S Calibration and programming of robots
DE102012012316B4 (de) * 2012-06-20 2015-05-07 Fanuc Corporation Robotersteuerung, die eine Kraftsteuerung unter Verwendung eines dreiaxialen Kraftsensors durchführt
US10399232B2 (en) 2014-03-04 2019-09-03 Universal Robots A/S Safety system for industrial robot
US9403273B2 (en) 2014-05-23 2016-08-02 GM Global Technology Operations LLC Rapid robotic imitation learning of force-torque tasks
DE102014108287B4 (de) 2014-05-23 2019-08-14 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102014108287A1 (de) * 2014-05-23 2015-11-26 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
US10195746B2 (en) 2014-09-26 2019-02-05 Teradyne, Inc. Grasping gripper
US10850393B2 (en) 2015-07-08 2020-12-01 Universal Robots A/S Method for extending end user programming of an industrial robot with third party contributions
US11474510B2 (en) 2016-04-12 2022-10-18 Universal Robots A/S Programming a robot by demonstration
DE102016123909A1 (de) * 2016-12-09 2018-06-14 Abb Schweiz Ag Verfahren zur Minimierung von Belastungen der Gelenkverbindungen eines Manipulators
DE102017118985A1 (de) * 2017-04-23 2018-10-25 Franka Emika Gmbh Schraubvorrichtung
US11524405B2 (en) 2017-04-23 2022-12-13 Franka Emika Gmbh Screwing device
DE102017118985B4 (de) 2017-04-23 2019-10-02 Franka Emika Gmbh Schraubvorrichtung
CN110730706A (zh) * 2017-06-13 2020-01-24 库卡德国有限公司 机器人的控制
CN110730706B (zh) * 2017-06-13 2023-08-04 库卡德国有限公司 机器人的控制

Also Published As

Publication number Publication date
EP1950010A2 (de) 2008-07-30
EP1950010B1 (de) 2013-04-10
EP1950010A3 (de) 2009-05-13

Similar Documents

Publication Publication Date Title
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
EP2851162B1 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
EP2987592B1 (de) Verfahren zum programmieren eines industrieroboters und zugehöriger industrieroboter
EP2868445B1 (de) Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
DE102011079117B4 (de) Verfahren zum Programmieren eines Roboters
EP2212753B1 (de) Verfahren zum abfahren einer vorgegebenen bahn durch einen manipulator, sowie steuervorrichtung zur durchführung eines solchen verfahrens
EP2905111B1 (de) Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
DE112016004725B4 (de) Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
EP2223191B1 (de) Industrieroboter und verfahren zum programmieren eines industrieroboters
DE69936073T2 (de) Robotersteuerung
EP2000872B1 (de) Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
EP2303521B1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
EP1591209A2 (de) Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
EP2392435A2 (de) Werkzeug-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
DE102018007842B4 (de) Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
DE102008027008A1 (de) Verfahren und Vorrichtung zum Steuern eines Manipulators
DE102009007181A1 (de) Verfahren zum Abfahren einer vorgegebenen Bahn durch einen Manipulator, sowie Steuervorrichtung zur Durchführung eines solchen Verfahrens
EP3484672A1 (de) Redundanzauflösung für einen redundanten manipulator
DE102006036490A1 (de) Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts
WO2016146510A1 (de) Verfahren zur steuerung eines manipulators zur ausführung eines arbeitsprozesses

Legal Events

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

Owner name: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE

R081 Change of applicant/patentee

Owner name: KUKA ROBOTER GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

Effective date: 20110304

Owner name: KUKA LABORATORIES GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

Effective date: 20110304

R081 Change of applicant/patentee

Owner name: KUKA ROBOTER GMBH, DE

Free format text: FORMER OWNER: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE

R082 Change of representative

Representative=s name: FUNK & BOESS GBR, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final