DE10161470A1 - Roboter-Programmierung - Google Patents

Roboter-Programmierung

Info

Publication number
DE10161470A1
DE10161470A1 DE2001161470 DE10161470A DE10161470A1 DE 10161470 A1 DE10161470 A1 DE 10161470A1 DE 2001161470 DE2001161470 DE 2001161470 DE 10161470 A DE10161470 A DE 10161470A DE 10161470 A1 DE10161470 A1 DE 10161470A1
Authority
DE
Germany
Prior art keywords
robot
trajectory
points
interpolation
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE2001161470
Other languages
English (en)
Inventor
Reinhardt Mielke
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.)
Volkswagen AG
Original Assignee
Volkswagen AG
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 Volkswagen AG filed Critical Volkswagen AG
Priority to DE2001161470 priority Critical patent/DE10161470A1/de
Publication of DE10161470A1 publication Critical patent/DE10161470A1/de
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40416Planning for variable length tool, laser beam as tool
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42201Deriving speed from commanded position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45138Laser welding

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Programmierung zumindest eines Roboters in roboterbasierten Laseranwendungen, insbesondere Laserschweißen und Laserschneiden. Eine kostengünstige, komfortable, benutzerfreundliche und zeitsparende Möglichkeit zur Koordination eines Roboters ergibt sich durch: Programmieren von Wegpunkten P¶x¶ eines Arbeitsweges des Roboters, getaktetes Erfassen von Interpolationspunkten P¶n¶, P¶n+1¶ entlang des programmierten Arbeitsweges des Roboters, Ermitteln einer Bahnkurve B durch Interpolation zwischen den Interpolationspunkten P¶n¶, P¶n+1¶, Verschieben der programmierten Wegpunkte P¶x¶ auf die Bahnkurve B, Erstellen eines Geschwindigkeitsprofils G anhand der Bahnkurve B, wobei die Geschwindigkeiten der programmierten Wegpunkte P¶x¶ errechnet werden, Editieren des Geschwindigkeitsprofils G mit Hilfe der programmierten Wegpunkte P¶x¶ und Erzeugen von Referenzpunkten R¶n¶, R¶n+1¶ auf der Bahnkurve B in Abhängigkeit vom editierten Geschwindigkeitsprofil G.

Description

  • Die Erfindung betrifft ein Verfahren zur Programmierung zumindest eines Roboters in roboterbasierten Laseranwendungen, insbesondere Laserschweißen und Laserschneiden, bei dem Wegpunkte eines Arbeitsweges des Roboters programmiert werden. Des weiteren betrifft die Erfindung die Verwendung eines solchen Verfahrens in der Kraftfahrzeugproduktion.
  • Heutzutage werden zunehmend Roboter in Laseranwendungen eingesetzt. Dazu gehört vor allem das Schweißen von Stepnähten zur Verbindung von Blechteilen. Für den Einsatz eines Roboters muss dieser zunächst programmiert werden. Dabei werden Wegpunkte einer Bahngeometrie mit Hilfe des Roboters direkt am Bauteil oder auch mit Unterstützung von computergesteuerten Steuereinheiten aufgezeichnet. Über ein Programmierhandpult werden numerisch, das heißt durch die Eingabe der jeweiligen Werte, die Roboterpositionen in allen Freiheitsgraden, Geschwindigkeiten, Beschleunigungen sowie das Setzen und Rücksetzen von digitalen und analogen Signalen eingegeben. Neben der Bahngeometrie sind somit eine Vielzahl von Zusatzinformationen einzugeben, was einen erheblichen Programmieraufwand bedeutet.
  • Ein Umschalten von Laserquellen wird heutzutage ebenfalls vorgesehen, um Hochleistungslaser effizient einsetzen zu können. Aus der WO 98/48975 ist beispielsweise ein Verfahren bekannt, mit dessen Hilfe ein Umschalten eines Lasers auf verschiedene programmierbare Maschinen möglich ist. Mit Hilfe des beschriebenen Verfahrens ist es möglich, programmierte Maschinen zu den programmierten Zeitpunkten mit einer ausgewählten Laserquelle über flexible Strahlführungssystem zu verbinden. Die Robotersteuerung der einzelnen Maschinen erfolgt hierbei manuell.
  • Bei einer geringfügigen Änderung eines Wegpunktes in der Bahngeometrie muss unter Umständen die gesamte Robotersteuerung manuell umprogrammiert werden. Auswirkungen von Veränderungen auf das zeitliche Verhalten der Robotersteuerung sind durch den Programmierer nicht direkt erkennbar und lassen sich heutzutage ausschließlich durch Ausprobieren überprüfen. Dies ist vor allem dann von Nachteil, wenn mehrere Roboter zusammen arbeiten müssen und eine Koordination dieser Roboter notwendig ist. Dann lässt sich mit einer manuellen Programmierung kaum ein hinreichend gutes Ergebnis erzielen.
  • Nachteilig an dem beschriebenen Verfahren ist daher die geringe Flexibilität sowie der hohe zeitliche Aufwand für eine exakte Programmierung des Roboters.
  • Somit liegt der Erfindung die Aufgabe zugrunde, ein Verfahren anzugeben, mit dessen Hilfe eine benutzerfreundliche, zeitsparende und übersichtliche Roboterprogrammierung möglich ist. Eine weitere Aufgabe der Erfindung besteht darin, eine zeitliche Koordination des Roboters entlang seines Arbeitsweges zu ermöglichen.
  • Die zuvor hergeleitete und aus dem Stand der Technik bekannte Aufgabe wird erfindungsgemäß durch folgende Schritte gelöst:
    Programmieren von Wegpunkten eines Arbeitsweges des Roboters, getaktetes Erfassen von Interpolationspunkten entlang des programmierten Arbeitsweges des Roboters, Ermitteln einer Bahnkurve durch Interpolation zwischen den Interpolationspunkten, Verschieben der programmierten Wegpunkte auf die Bahnkurve, Erstellen eines Geschwindigkeitsprofils anhand der Bahnkurve, wobei die Geschwindigkeiten der programmierten Wegpunkte errechnet werden, Editieren des Geschwindigkeitsprofils mit Hilfe der programmierten Wegpunkte und Erzeugen von Referenzpunkten auf der Bahnkurve in Abhängigkeit vom editierten Geschwindigkeitsprofil.
  • Nachdem ein günstiger Arbeitsweg einprogrammiert worden ist, wird der einprogrammierte Arbeitsweg abgefahren und eine Datenaufzeichnung durchgeführt. Bei dieser Datenaufzeichnung werden zu definierten Zeitpunkten Positionen des Roboters als Interpolationspunkte erfasst. Der Erfassungstakt kann dabei variiert werden. Im Anschluss daran wird zwischen den Interpolationspunkten eine neue Bahnkurve errechnet, wobei ein Polygonzug durch die Interpolationspunkte gebildet wird.
  • Das kann dazu führen, dass die programmierten Punkte nicht mehr auf dem Polygonzug liegen. In diesem Fall wird ein programmierter Punkt im nächsten Schritt auf kürzestem Weg auf die Bahnkurve verschoben. Dabei gilt für die Verschiebung λ eines programmierten Punktes Px auf einen Punkt Px' entlang der Bahnkurve zwischen zwei Interpolationspunkten Pn, Pn+1, wenn der Abstand zwischen Interpolationspunkt Pn und programmiertem Punkt Px gleich I1 ist und der Abstand zwischen Interpolationspunkt Pn+1, und programmiertem Punkt Px gleich I2 ist sowie der Abstand zwischen den Interpolationspunkten Pn, Pn+1, gleich s ist:


  • Durch die Verschiebung der programmierten Punkte auf die errechnete Bahnkurve lässt sich in einem nächsten Schritt ein Geschwindigkeitsprofil für die programmierten Wegpunkte anhand der Bahnkurve berechnen, wobei zunächst der Abstand zwischen zwei benachbarten Punkten berechnet wird. Die Geschwindigkeit des Roboters in den programmierten Wegpunkten ergibt sich näherungsweise durch Division des Abstandes der Interpolationspunkte, zwischen denen der programmierte Wegpunkt eingefügt wurde und dem durch den Interpolationstakt konstant vorgegebenen zeitlichen Abstand der Interpolationspunkte. Nachdem das Geschwindigkeitsprofil errechnet wurde, lässt sich dieses editieren.
  • Beim Editieren des Geschwindigkeitsprofils kann automatisch entlang bestimmter Streckenabschnitte eine Geschwindigkeit eingestellt werden. Solche Streckenabschnitte können beispielsweise die Abschnitte sein, in denen der Laser aktiv ist.
  • Neben dem Geschwindigkeitsprofil lassen sich auch die Flanken von digitalen sowie die Verläufe von analogen Steuersignalen editieren, um entsprechend der Aufgabenstellung eine bestmögliche räumliche und zeitliche Zuordnung zu den Roboterbahnen zu erreichen.
  • Im Anschluss daran werden in Abhängigkeit des editierten Geschwindigkeitsprofils Referenzpunkte auf der Bahnkurve erzeugt. Die ursprüngliche Bahnkurve bleibt erhalten und das editierte Geschwindigkeitsprofil wird auf diese Bahnkurve übertragen. Dabei wird gewährleistet, dass zwischen den Referenzpunkten gleiche Zeitabschnitte verstreichen. Das bedeutet, dass zu den einzelnen Referenzpunkten bekannt ist, zu welchen Zeiten diese erreicht werden. Die erzeugten Referenzpunkte sind entkoppelt von den ursprünglich programmierten Wegpunkten.
  • Das Positionsdaten und digitale sowie analoge Steuersignale im Interpolationstakt der Robotersteuerung bei Ablauf eines beliebigen Roboterprogrammes aufgezeichnet und in geeigneter Form in einer Datei abspeichert werden, sowie eine Datei gleichen Formates bestehend aus Positionsdaten und digitalen sowie analogen Steuersignalen im Interpolationstakt abgefahren und die Steuersignale ausgeben werden, ist ebenfalls vorgesehen. Voraussetzung dafür ist, dass die Positionsdaten im Interpolationstakt einen Bahnverlauf ergeben, der die physikalischen Eigenschaften des eingesetzten Roboters berücksichtigt.
  • Es ist häufig notwendig, dass zumindest zwei Roboter koordiniert zueinander arbeiten. Daher wird vorgeschlagen, dass für zumindest zwei Roboter Bahnkurven ermittelt werden und dass zeitlich korrespondierende Referenzpunkte auf den jeweiligen Bahnkurven erzeugt werden. Hierbei werden Wegpunkte für jeden Roboter einzeln einprogrammiert. Mit Hilfe des erfindungsgemäßen Verfahrens werden die Geschwindigkeitsprofile der erzeugten Bahnkurven editiert und zeitlich korrespondierende Referenzpunkte auf den Bahnkurven erzeugt. Das hat zur Folge, dass zu bestimmten Zeitpunkten die Roboterpositionen klar bestimmbar sind. Dies ist besonders vorteilhaft bei Laseranwendungen, bei denen zwei oder mehr Roboter abwechselnd durch Umschaltung der Lichtwege mit einer Laserquelle versorgt werden. Beispielsweise muss bei einer angenommenen Roboterbahngeschwindigkeit von ca. 100 mm/s und Lasersteps in der Größenordnung von 20 mm Länge und Abständen von 40 mm zwischen den Lasersteps eine Umschaltung der Laserquelle alle 300 ms erfolgen. Aufgrund dieser hohen Schaltfrequenz müssen die zumindest zwei Roboter exakt zeitlich und örtlich koordiniert werden. Diese Koordination lässt sich mit Hilfe des Verfahrens nach Anspruch 2 durchführen.
  • Eine Laserquelle lässt sich besonders effizient dann einsetzen, wenn diese zwischen den zumindest zwei Robotern hin- und hergeschaltet wird, wobei die Schaltpunkte abhängig von den Roboterpositionen sind. Durch die Erzeugung der zeitlich korrespondierenden Referenzpunkte ist eine Umschaltung der Laserquelle auch bei hohen Schaltfrequenzen möglich.
  • Insbesondere für den Fall, dass eine automatische Synchronisation der Referenzpunke auf den jeweiligen Bahnkurven durchgeführt wird, kann das Umschalten der Laserquelle optimiert werden. In diesem Fall werden die Referenzpunkte auf den jeweiligen Bahnkurven zu den gleichen Zeiten gesetzt.
  • Da bei der Robotersteuerung neben dem eigentlichen Arbeitsweg eine Vielzahl weiterer Daten eingegeben werden können, wird vorgeschlagen, dass bei der Programmierung des Arbeitsweges und/oder Erfassung der Interpolationspunkte die Position und Lage des Roboters, der Zustand von Eingangs-/Ausgangssignalen, die Bahngeschwindigkeiten und/oder Beschleunigungen aufgezeichnet werden. Bei der Aufzeichnung der Position und Lage des Roboters können alle Freiheitsgrade des Roboters erfasst werden. Für die Erfassung kann festgelegt werden, welche Eingänge bzw. Ausgänge sowohl analoge, als auch digitale erfasst werden. Bezüglich der programmierten Punkte kann sowohl die Bahngeschwindigkeit, als auch die Beschleunigung aufgezeichnet werden.
  • Vorteilhaft lässt sich das Geschwindigkeitsprofil und/oder die Bahnkurve editieren, wenn die Bahnkurve und/oder das Geschwindigkeitsprofil an eine grafische Benutzeroberfläche übermittelt wird, wenn mit Hilfe der grafischen Benutzeroberfläche das Geschwindigkeitsprofil und/oder die Bahnkurve grafisch dargestellt wird und wenn das Geschwindigkeitsprofil grafisch editierbar ist. Dazu werden zunächst Datensätze in Tabellen angelegt, in denen die erfassten Interpolationspunkte bezüglich ihrer Koordinaten und Abstände sowie Geschwindigkeiten und Zeitverläufe gespeichert werden. Mit Hilfe der erstellten Tabellen lassen sich sowohl Geschwindigkeitsprofil, als auch Bahnkurve grafisch darstellen. In einem Geschwindigkeits-Zeitdiagramm, dem Geschwindigkeitsprofil, werden alle notwendigen Daten dargestellt. Es lassen sich Punkte im Geschwindigkeitsprofil entfernen, als auch hinzufügen. Die Geschwindigkeiten der Punkte können sowohl automatisch, als auch manuell verändert werden. Durch eine Variation der Geschwindigkeiten in den einzelnen Punkten kann Einfluss auf beispielsweise die Schweißqualität genommen werden. Die Editieroperationen lassen sich mit Hilfe von geeigneten Eingabegeräten durchführen. Auch lassen sich Abfolgen von Editieroperationen mit Hilfe von Editier-Makros abspeichern. Um das grafische Editieren zu vereinfachen, wird vorgeschlagen, dass einzelne Streckenabschnitte des Geschwindigkeitsprofils farblich hervorgehoben werden. Die Farbe zwischen zwei Punkten kann dabei beispielsweise frei gewählt werden. Auch ist es möglich, einzelne Punkte farblich zu kennzeichnen, wobei beispielsweise zwischen einem Nahtanfang, einem Nahtende und einem Nahthilfspunkt farblich unterschieden werden kann. Zu den einzelnen Punkten lassen sich Zusatzinformationen ablegen, die beispielsweise die Ansteuerung des Lasers beinhalten. Beispielsweise kann festgelegt werden, dass ein Laser bereits kurze Zeit vor Erreichen des jeweiligen Punktes angesteuert wird, so dass die volle Laserenergie bei Erreichen des jeweiligen Punktes durch den Roboter zur Verfügung steht. Diese Zusatzdaten lassen sich ebenfalls farblich im Geschwindigkeitsprofil darstellen.
  • Bei einer Variation der Geschwindigkeit ist darauf zu achten, dass der Roboter sich nur innerhalb vorgegebener Geschwindigkeits- und Beschleunigungsgrenzen bewegen kann. Diese Grenzen können auf der grafischen Benutzeroberfläche farblich hervorgehoben werden. Beim Überschreiten der Grenzwerte kann beispielsweise der entsprechende Punkt farblich hervorgehoben werden.
  • Ebenfalls vorteilhaft ist die Glättung des Geschwindigkeitsverlaufes mit Hilfe einer Überlagerung des durch die Wegpunkte gebildeten Polygonzuges des Geschwindigkeitsprofil mit einer Sinuswelle. Dadurch können Anforderungen an maximal mögliche Beschleunigungen der Roboter erfüllt werden.
  • Ein weiterer Gegenstand der Erfindung betrifft die Verwendung eines Verfahrens nach einem der vorherbeschriebenen Ansprüche in der Kraftfahrzeugproduktion.
  • Die Erfindung wird im folgenden anhand einer ein Ausführungsbeispiel zeigenden Zeichnung näher erläutert. In der Zeichnung zeigen:
  • Fig. 1 eine Bahnkurve;
  • Fig. 2 eine Verschiebung eines Wegpunktes auf eine Bahnkurve;
  • Fig. 3 ein Geschwindigkeitsprofil;
  • Fig. 4 eine Streckenlänge einer Bahnkurve über der Zeit In Fig. 1 ist eine Bahnkurve B dargestellt, die sich aus einem Polygonzug zusammensetzt, der zwischen Interpolationspunkten Pn aufgespannt ist. Die Bahnkurve erstreckt sich in drei Dimensionen x, y, z, wobei bei der Erfassung der Interpolationspunkte Pn neben den kartesischen Koordinaten des Roboters eine Vielzahl weiterer Parameter erfasst werden. Zur Aufzeichnung der Bahnkurve B durchläuft der Roboter den programmierten Arbeitsweg, und in getakteten Abständen werden die Koordinaten des Roboters erfasst und als Interpolationspunkte Pn abgespeichert. Die einzelnen Verfahrensschritte sind: Programmierung von Wegpunkten in der Robotersteuerung und Erfassen und Aufzeichnen von Interpolationspunkten Pn sowie digitalen und analogen Signalen entlang des programmierten Arbeitsweges der Roboterbahn im Interpolationstakt der Robotersteuerung. (Damit liegt die Roboterbahn fest und wird auch in den folgenden Schritten nicht geändert.). Dabei wird die mit den Interpolationspunkten Pn aufgezeichnete Bahnkurve B zwischen den Interpolationspunkten Pn als linear angenommen.
  • Bei der Erstellung der Bahnkurve kann es dazu kommen, dass einzelne Wegpunkte Px nicht auf dem interpolierten Polygonzug liegen. In einem solchen Fall muss ein Wegpunkt auf die Bahnkurve verschoben werden.
  • Eine solche Verschiebung eines Wegpunktes Px auf einen verschobenen Wegpunkt Px ' entlang der Bahnkurve B ist in Fig. 2 dargestellt. Der programmierte Wegpunkt Px liegt, wie dargestellt, nicht auf der Bahnkurve B zwischen den Interpolationspunkten Pn, Pn+1. Der Abstand zwischen Interpolationspunkt Pn und Wegpunkt Px beträgt I1, der Abstand zwischen Interpolationspunkt Pn+1, und Wegpunkt Px beträgt I2, und der Abstand zwischen Interpolationspunkt Pn und Interpolationspunkt Pn+1, beträgt s. Zur Verschiebung des Wegpunktes Px auf den Wegpunkt Px' muss ein Verschiebungsvektor λ berechnet werden, der sich ergibt zu


    wodurch sich der verschobene Wegpunkt Px' ergibt zu Px' = Pn + λ(Pn+1 - Pn). Aus der ermittelten Bahnkurve wird mit Hilfe der programmierten und/oder verschobenen Wegpunkte ein Geschwindigkeitsprofil errechnet.
  • Die Geschwindigkeit in einem Wegpunkt Px ergibt sich aus dem Abstand zwischen den benachbarten Interpolationspunkten Pn, Pn+1 und der Zeit, die zum Durchlaufen des Abstandes zwischen den Interpolationspunkten benötigt wird. Diese Zeit ist der Interpolationstakt T. Es wird angenommen, dass ein linearer Geschwindigkeitsverlauf zwischen zwei Interpolationspunkten Pn vorliegt. Die so ermittelten Geschwindigkeiten der einzelnen Wegpunkte Px ist in Fig. 3 dargestellt.
  • Der Geschwindigkeitsverlauf lässt sich nunmehr so editieren, dass die Geschwindigkeit der einzelnen Punkte Px variiert werden kann oder auch automatisch angepasst wird. Zur weiteren Bearbeitung im Editor werden nur noch die auf den Polygonzug geschobenen Wegpunkte Px betrachtet. Der Abstand zwischen zwei Wegpunkten Px wird durch Aufsummierung der einzelnen Abschnitte der Bahnkurve B ermittelt und ist im Geschwindigkeits-Zeitdiagramm die Fläche unter dem Geschwindigkeitsverlauf G. Im Editor können die Geschwindigkeiten in den Wegpunkten Px grafisch editiert werden. Es können Wegpunkte Px eingefügt und gelöscht werden. Ihre Lage auf dem Polygonzug wird nur über den Abstand zum vorherigen und nächsten Punkt definiert.
  • Im dargestellten Geschwindigkeitsprofil G werden einzelne Streckenabschnitte zwischen zwei Punkten grafisch bzw. farblich unterschiedlich dargestellt. Beispielsweise lässt sich eine Schweißnaht in einer anderen Farbe darstellen als eine Fahrstrecke des Roboters. Es lassen sich einzelne Punkte Px hinzufügen oder entfernen. Auch lassen sich die einzelnen Wegpunkte Px unterschiedlich kennzeichnen, so wird beispielsweise ein Nahtanfang rot, eine Naht-Hilfspunkt gelb und ein Nahtendpunkt blau dargestellt. Durch die Variation des Geschwindigkeitsprofils lässt sich genau festlegen, zu welchem Zeitpunkt sich welcher Roboter an exakt welchem Ort befindet. Dabei wird die Bahnkurve B nicht verändert. Nachdem der Geschwindigkeitsverlauf G editiert worden ist, muss dieser auf die Bahnkurve übertragen werden, wobei neue Referenzpunkte Rn auf der Bahnkurve B bestimmt werden müssen.
  • Der Geschwindigkeitsverlauf im Editor ist aus Gründen der Einfachheit zunächst durch lineare Verläufe gekennzeichnet (Rampenprofile). Das bedeutet, dass in jedem Wegpunkt ein Knick im Geschwindigkeitsprofil G auftreten kann. Physikalisch bedeutet das einen Sprung im Beschleunigungsverlauf. Bei der Ansteuerung von Roboterachsen mit Rampenprofilen kommt es zur ungewollten Anregung der Robotermechanik. Als Abhilfe ist es deshalb möglich, die Geschwindigkeit mit Kurven höheren Grades zu planen um letztlich auch bei der Beschleunigung glatte Kurven zu erhalten. Es ist deshalb ebenfalls möglich, die Rampenprofile im grafischen Editor vor Rückwandlung in neue Abfolge von Referenzpunkt Rn zu glätten.
  • Eine Geschwindigkeitsänderung von v1 vor Punkt P1 auf v2 im Punkt P2 im Zeitabschnitt von t1 bis t2 kann durch Überlagerung einer Sinuswelle die gewünschte Eigenschaft der stetigen Differenzierbarkeit in den Geschwindigkeitsübergängen erhalten. Es gilt somit allgemein folgender Ansatz:

    v(t) = v1 + a1(t - t1) + b1sin(2π(t - t1)/Δt); t1 ≤ t ≤ t2;

    mit: Δt = t2 - t1; a1 = Δv/Δt; Δv = v2 - v1
  • Der Wert b1 als Amplitude ist so zu wählen, dass die Beschleunigung in den Zeitpunkten t1 und t2 zu 0 wird.

    v'(t) = a1 - 2πb1/Δt.cos(2π(t - t1)/Δt;

    mit v'(t1) = 0 = a1 - 2πb1/Δt

    folgt b1 = Δv/2π
  • Durch die Überlagerung der Sinuswelle entsteht eine neue maximale Beschleunigung zum Zeitpunkt t1 + Δt/2.

    v'(t1 + Δt/2) = 2a1
  • Wenn diese Beschleunigung größer als eine erlaubte Beschleunigung amax ist, kann eine Parameterwahl folgendermaßen geschehen:

    wenn 2a1 > amax → b1 = (amax - a1)Δt/2π
  • Damit ist dann sichergestellt, dass die maximal zulässige Bahnbeschleunigung nicht überschritten wird. Allerdings tritt jetzt im Beschleunigungsverlauf wieder ein Sprung auf, jedoch entsprechend kleiner als ohne Glättung.
  • Dargestellt in Fig. 4 ist der Parameterwert s (Streckenlänge) der Bahnkurve B über der Zeit. Dabei ist der ursprüngliche Interpolationspunkt mit Pn dargestellt. Die Punkte Px bezeichnen die neuen Interpolationspunkte, deren Lage auf dem ursprünglichen Polygonzug über den Streckenparameter s aus dem neuen Geschwindigkeitsprofil G definiert ist. Diese Punkte Px ergeben dann die zeitlich äquidistanten Referenzpunkte Rn für die Bahnkurve B mit dem neuen Geschwindigkeitsprofil G.
  • Auf der Bahnkurve B befinden sich sowohl editierte Wegpunkte Px als auch Interpolationspunkte Pn. Nach dem grafischen Editieren müssen entsprechend dem neuen Geschwindigkeitsprofil G wieder Referenzpunkte Rn erzeugt werden. Diese Referenzpunkte Rn müssen zeitlich äquidistant entsprechend dem Geschwindigkeitsprofil auf dem Polygonzug B liegen. Damit liegt also der Zeitpunkt für jeden neuen Referenzpunkt Rn und über die Flächenberechnung im Geschwindigkeitsdiagramm G auch die Position als Streckenparameter auf dem Polygonzug B vor. Die dazugehörigen Positionskoordinaten können dann mit Hilfe der ursprünglichen Interpolationspunkte Px und der Festlegung des linearen Verlaufes zwischen den Interpolationspunkten Px exakt ermittelt werden. Das bedeutet, dass die Wegpunkte Px zu exakt definierten Zeitpunkten erreicht werden, ohne dass die Bahngeometrie der Bahnkurve B verändert werden muss.
  • Bei der Erstellung der Bahnkurve B gemäß Fig. 4 wird einem bestimmten Punkt Px der Bahn, parametrisiert durch den Laufparameter s, ein neuer Zeitpunkt zugewiesen wird (Verschiebung auf t-Achse bei gleichbleibendem Parameter s).
  • Erfindungsgemäß lässt sich damit der Arbeitsweg eines Roboters zeitlich koordinieren, was dazu führt, dass beispielsweise mehrere Roboter untereinander gut koordiniert werden können. Dies ist insbesondere im Fall von Laseranwendungen notwendig, bei denen der Laser zwischen den zumindest zwei Robotern hin- und hergeschaltet werden muss. BEZUGSZEICHENLISTE Pn Interpolationspunkte
    Px Wegpunkt
    Px' verschobener Wegpunkt
    P1-12 Wegpunkt
    B Bahnkurve
    G Geschwindigkeitsprofil
    Rn Referenzpunkte
    T Interpolationstakt
    λ Verschiebung
    s Abstand zwischen Pn, Pn+1

Claims (10)

1. Verfahren zur Programmierung zumindest eines Roboters in roboterbasierten Laseranwendungen, insbesondere Laserschweißen und Laserschneiden, mit den Schritten:
- Programmieren von Wegpunkten (Px) eines Arbeitsweges des Roboters,
- getaktetes Erfassen von Interpolationspunkten (Pn, Pn+1) entlang des programmierten Arbeitsweges des Roboters,
- Ermitteln einer Bahnkurve (B) durch Interpolation zwischen den Interpolationspunkten (Pn, Pn+1),
- Verschieben der programmierten Wegpunkte (Px) auf die Bahnkurve (B),
- Erstellen eines Geschwindigkeitsprofils (G) anhand der Bahnkurve (B), wobei die Geschwindigkeiten der programmierten Wegpunkte (Px, Px') errechnet werden,
- Editieren des Geschwindigkeitsprofils (G) mit Hilfe der programmierten Wegpunkte (Px, Px'), und
- Erzeugen von Referenzpunkten (Rn, Rn+1) auf der Bahnkurve (B) in Abhängigkeit vom editierten Geschwindigkeitsprofil (G).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für zumindest zwei Roboter Bahnkurven (B) ermittelt werden, und dass zeitlich korrespondierende Referenzpunkte (Rn, Rn+1) auf den jeweiligen Bahnkurven erzeugt werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass zumindest eine Laserquelle zwischen den zumindest zwei Robotern hin- und hergeschaltet wird, wobei die Schaltpunkte abhängig von der Roboterposition sind.
4. Verfahren nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass eine automatische Synchronisation der Referenzpunkte (Rn, Rn+1) auf den jeweiligen Bahnkurven (B) durchgeführt wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass bei der Programmierung des Arbeitsweges und/oder Erfassung der Interpolationspunkte (Pn, Pn+1) die Position und Lage des Roboters, der Zustand von Eingangs-/Ausgangssignalen, die Bahngeschwindigkeiten und/oder Beschleunigungen aufgezeichnet werden.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Bahnkurve (B) und/oder das Geschwindigkeitsprofil (G) an eine graphische Benutzeroberfläche übermittelt wird und dass mit Hilfe der graphischen Benutzeroberfläche das Geschwindigkeitsprofil (G) und/oder die Bahnkurve (B) graphisch dargestellt wird, wobei das Geschwindigkeitsprofil graphisch editierbar ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass einzelne Streckenabschnitte des Geschwindigkeitsprofils (G) farblich hervorgehoben werden.
8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass Geschwindigkeitsgrenzwerte graphisch dargestellt werden.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass in Geschwindigkeitsübergängen zwischen zwei Wegpunkten (Px, Px') eine stetige Differenzierbarkeit erhalten wird.
10. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 9 in der Kraftfahrzeugproduktion.
DE2001161470 2001-12-13 2001-12-13 Roboter-Programmierung Ceased DE10161470A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001161470 DE10161470A1 (de) 2001-12-13 2001-12-13 Roboter-Programmierung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001161470 DE10161470A1 (de) 2001-12-13 2001-12-13 Roboter-Programmierung

Publications (1)

Publication Number Publication Date
DE10161470A1 true DE10161470A1 (de) 2003-06-26

Family

ID=7709200

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001161470 Ceased DE10161470A1 (de) 2001-12-13 2001-12-13 Roboter-Programmierung

Country Status (1)

Country Link
DE (1) DE10161470A1 (de)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010040493A1 (de) * 2008-10-06 2010-04-15 Kuka Roboter Gmbh Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
EP1698438A3 (de) * 2005-03-01 2010-12-08 Kawasaki Jukogyo Kabushiki Kaisha Robotersteuerung und Verfahren zum Steuern eines Roboters
CN102566570A (zh) * 2010-10-29 2012-07-11 株式会社安川电机 机器人控制装置、机器人控制方法以及机器人系统
WO2014019706A1 (de) * 2012-08-02 2014-02-06 Kuka Roboter Gmbh Verfahren und programmiermittel zur modifikation einer roboterbahn
EP3037219A3 (de) * 2014-12-22 2016-09-28 KUKA Roboter GmbH Sicherer roboter mit bahnfortschrittsvariablen
CN108972554A (zh) * 2018-08-06 2018-12-11 中汽研汽车检验中心(武汉)有限公司 一种基于拟合曲线曲率特征的复杂曲面机器人路径点提取方法
US10684299B2 (en) 2016-02-25 2020-06-16 Roche Diabetes Care, Inc. Method and system for quality evaluation of a handheld analytical device
CN111923039A (zh) * 2020-07-14 2020-11-13 西北工业大学 一种基于强化学习的冗余机械臂路径规划方法
CN113867265A (zh) * 2021-09-28 2021-12-31 江南造船(集团)有限责任公司 激光束热源中心坐标的追踪方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1698438A3 (de) * 2005-03-01 2010-12-08 Kawasaki Jukogyo Kabushiki Kaisha Robotersteuerung und Verfahren zum Steuern eines Roboters
WO2010040493A1 (de) * 2008-10-06 2010-04-15 Kuka Roboter Gmbh Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
CN102566570A (zh) * 2010-10-29 2012-07-11 株式会社安川电机 机器人控制装置、机器人控制方法以及机器人系统
US9592607B2 (en) 2012-08-02 2017-03-14 Kuka Roboter Gmbh Method and programming means for modification of a robot path
CN104684695A (zh) * 2012-08-02 2015-06-03 库卡罗伯特有限公司 用于修改机器人轨迹的方法和编程装置
WO2014019706A1 (de) * 2012-08-02 2014-02-06 Kuka Roboter Gmbh Verfahren und programmiermittel zur modifikation einer roboterbahn
CN104684695B (zh) * 2012-08-02 2017-07-04 库卡罗伯特有限公司 用于修改机器人轨迹的方法和编程装置
EP3037219A3 (de) * 2014-12-22 2016-09-28 KUKA Roboter GmbH Sicherer roboter mit bahnfortschrittsvariablen
US9815200B2 (en) 2014-12-22 2017-11-14 Kuka Roboter Gmbh Safe robot with trajectory progress variables
US10684299B2 (en) 2016-02-25 2020-06-16 Roche Diabetes Care, Inc. Method and system for quality evaluation of a handheld analytical device
US11346852B2 (en) 2016-02-25 2022-05-31 Roche Diabetes Care, Inc. Method and system for quality evaluation of a handheld analytical device
CN108972554A (zh) * 2018-08-06 2018-12-11 中汽研汽车检验中心(武汉)有限公司 一种基于拟合曲线曲率特征的复杂曲面机器人路径点提取方法
CN111923039A (zh) * 2020-07-14 2020-11-13 西北工业大学 一种基于强化学习的冗余机械臂路径规划方法
CN111923039B (zh) * 2020-07-14 2022-07-05 西北工业大学 一种基于强化学习的冗余机械臂路径规划方法
CN113867265A (zh) * 2021-09-28 2021-12-31 江南造船(集团)有限责任公司 激光束热源中心坐标的追踪方法

Similar Documents

Publication Publication Date Title
EP3202611B1 (de) Verfahren zum steuern der bewegung einer transporteinheit
EP2255931B2 (de) Verfahren und Vorrichtung zur Steuerung eines Manipulators
DE102009048252B4 (de) In eine numerisch gesteuerte Maschine eingebaute Kollisionsverhinderungsvorrichtung
EP0254884B1 (de) Verfahren zum Bestimmen von die Steuerung eines Roboters leitenden Raumpunkten
EP1424613A1 (de) Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks
EP1956452B1 (de) Verfahren zum Betreiben von gesteuerten Maschinen
DE102015116086A1 (de) Robotersteuerung
DE102009023648A1 (de) Steuerungssystem
DE112009002602T5 (de) Planung von Strecken mit mehreren Anfahrpunkten von Schweissrobotern mit automatischer Ablaufsteuerung
WO2001076799A1 (de) Verfahren zum fortlaufenden regeln bzw. nachführen einer position eines schweissbrenners bzw. eines schweisskopfes
DE10161470A1 (de) Roboter-Programmierung
WO2019166229A1 (de) Verfahren zum automatischen erzeugen einer bewegungstrajektorie und zugehöriges computerprogrammprodukt
DE4336863C2 (de) Verfahren zur Steuerung von Koordinatenmeßgeräten
WO2020053065A1 (de) Zeitoptimierte bewegungsführung zwischen bahnabschnitten
EP0706103B1 (de) Verfahren und Vorrichtung zur numerischen Bahnsteuerung von Werkzeugmaschinen oder Robotern
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
EP1758781B1 (de) Verfahren zur planung von fahrstrassen für stellwerke
EP0368088B1 (de) Verfahren zum Betrieb eines Industrieroboters
DE1563594C3 (de) Numerisch arbeitende Programmsteuerungsanordnung zur Stetigbahnsteuerung von Arbeitsmaschinen, insbesondere Werkzeugmaschinen
EP2932339B1 (de) Verfahren zum computergestützten nachbilden einer produktionsanlage, verfahren zur inbetriebnahme einer produktionsanlage, konfigurationseinrichtung und produktionsanlage
DE19532540A1 (de) Verfahren zur Steuerung einer Modellautoanlage sowie Vorrichtung zur Durchführung dieses Verfahrens
EP1468341B1 (de) Verfahren und anordnung sowie computerprogramm mit programmcode-mitteln und computerprogramm-produkt zur planung von jeweils aus teilbahnen zusammengesetzten bahnen für eine mobile einheit in einer gesamtfläche
DE3144155C2 (de)
EP3468752B1 (de) Verfahren zum steuern eines manipulatorsystems
DE19614130C2 (de) Verfahren und Vorrichtung zur Steuerung einer Werkzeugmaschine, insbesondere einer Funkenerosionsmaschine

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8120 Willingness to grant licenses paragraph 23
R082 Change of representative
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20140425