DE102019001207A1 - Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks - Google Patents

Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks Download PDF

Info

Publication number
DE102019001207A1
DE102019001207A1 DE102019001207.0A DE102019001207A DE102019001207A1 DE 102019001207 A1 DE102019001207 A1 DE 102019001207A1 DE 102019001207 A DE102019001207 A DE 102019001207A DE 102019001207 A1 DE102019001207 A1 DE 102019001207A1
Authority
DE
Germany
Prior art keywords
robot
workpiece
collaborative robot
tool
collaborative
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.)
Pending
Application number
DE102019001207.0A
Other languages
English (en)
Inventor
Henry Arenbeck
Kai Helmstetter
André Peters
Carsten Krewet
Martin Boll
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.)
Boll Automation GmbH
Original Assignee
Boll Automation 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 Boll Automation GmbH filed Critical Boll Automation GmbH
Publication of DE102019001207A1 publication Critical patent/DE102019001207A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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
    • 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/39136Teach each manipulator independently or dependently from each other

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Ein kollaborativer Roboter (10; 110) zum Bearbeiten eines Werkstücks (300) weist ein Roboterwerkzeug (30; 130) zum Bearbeiten des Werkstücks (300) und eine Modusanwahlvorrichtung (51) zum Überführen des kollaborativen Roboters (10; 110) in einen Lernmodus und in einen Arbeitsmodus auf. Der kollaborative Roboter (10; 110) ist dazu konfiguriert, im Lernmodus eine Arbeitsbewegung des Roboterwerkzeugs (30; 130) zum Bearbeiten des Werkstücks (300) zu erlernen und im Arbeitsmodus die im Lernmodus erlernte Arbeitsbewegung durchzuführen. Der Lernmodus ist so konfiguriert, dass der kollaborative Roboter (10; 110) im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs (30; 130) an dem zu bearbeitenden Werkstück (300) erlernt.

Description

  • Die Erfindung betrifft einen kollaborativen Roboter und ein Verfahren zum Betreiben eines kollaborativen Roboters zum Bearbeiten eines Werkstücks.
  • Ein kollaborativer Roboter ist ein Industrieroboter, der mit Menschen gemeinsam arbeitet und im Produktionsprozess nicht durch Schutzeinrichtungen von diesen getrennt ist. Kollaborative Roboter können mit einem oder unterschiedlichen Roboterwerkzeugen bestückt werden, die zur Bearbeitung von Werkstücken dienen. Beispiele hierfür sind z.B. Roboterwerkzeuge zum Fräsen, Feilen, Schleifen, etc. Um eine Arbeitsbewegung durch den kollaborativen Roboter durchführen zu lassen, muss diesem die Arbeitsbewegung zunächst beigebracht werden. Das Beibringen der Arbeitsbewegung erfolgt grundsätzlich durch Roboterprogrammierung.
  • Die Roboterprogrammierung ist an sich sehr aufwändig, es bestehen jedoch Möglichkeiten, diese zu vereinfachen, bspw. durch Erzeugung von Roboterprogrammen aus einer Simulation des Prozesses. Der kollaborative Roboter führt diese programmierte Arbeitsbewegung durch und bearbeitet damit ein oder mehrere Werkstücke.
  • Da die genaue Berechnung der Arbeitsbewegung komplex ausgebildet sein kann, ist der Einsatz eines kollaborativen Roboters bislang hauptsächlich in der industriellen Fertigung rentabel, und zwar bei der Bearbeitung einer sehr hohen Anzahl von identischen Werkstücken durch dieselbe Arbeitsbewegung. Der hohe Aufwand bei der Berechnung der Arbeitsbewegung macht die Nutzung eines kollaborativen Roboters zur Bearbeitung einer kleinen bzw. mittleren Anzahl von Werkstücken oder gar eines einzelnen Werkstücks üblicherweise unrentabel.
  • Der Erfindung liegt die Aufgabe zugrunde, den Betrieb eines kollaborativen Roboters zu vereinfachen, insbesondere den Betrieb eines kollaborativen Roboters bei einer geringeren Stückzahl zu bearbeitender Werkstücke rentabler zu gestalten.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen sind die Gegenstände der anhängigen Ansprüche.
  • Ein Aspekt betrifft einen kollaborativen Roboter zum Bearbeiten eines Werkstücks mit einem Roboterwerkzeug zum Bearbeiten des Werkstücks und einer Modusanwahlvorrichtung zum Überführen des kollaborativen Roboters in einen Lernmodus und in einen Arbeitsmodus. Dabei ist der kollaborative Roboter dazu konfiguriert, im Lernmodus eine Arbeitsbewegung des Roboterwerkzeugs zum Bearbeiten des Werkstücks zu erlernen. Weiterhin ist der kollaborative Roboter dazu konfiguriert, im Arbeitsmodus die im Lernmodus erlernte Arbeitsbewegung durchzuführen. Der Lernmodus ist so konfiguriert, dass der kollaborative Roboter im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs an dem zu bearbeitenden Werkstück erlernt.
  • Der kollaborative Roboter kann zumindest einen beweglichen Roboterarm aufweisen, an dem das Roboterwerkzeug befestigt ist. Das Roboterwerkzeug kann auswechselbar sein und zum Beispiel als Fräse, Schleifwerkzeug, Polierwerkzeug, Schneidwerkzeug, o. Ä. ausgebildet sein. Das Roboterwerkzeug kann insbesondere zum physischen Bearbeiten des Werkstücks ausgebildet sein. Das Roboterwerkzeug kann insbesondere an einem Arbeitsende des Roboterarms befestigt sein. Der kollaborative Roboter ist so ausgebildet, dass er das Roboterwerkzeug bewegen kann, vorzugsweise in allen drei Raumrichtungen. Zudem kann der kollaborative Roboter dazu ausgebildet sein, mit dem Roboterwerkzeug Andruckkräfte auf das Werkstück zu realisieren und/oder auszuüben. Weiterhin kann der kollaborative Roboter dazu ausgebildet sein, Drehungen und/oder Rotationen des Roboterwerkzeugs um zumindest eine einstellbare und/oder verstellbare Raumachse durchzuführen. Hierbei kann die Raumachse beliebig im dreidimensionalen Raum verstellbar und/oder einstellbar sein.
  • Der kollaborative Roboter kann eine Steuerung und/oder Anlagensteuerung aufweisen, die den Roboter so ansteuert, dass er mit dem Roboterwerkzeug die Arbeitsbewegung ausführt. Die Arbeitsbewegung wird im Arbeitsmodus durchgeführt. Mit anderen Worten kann der Roboter im Arbeitsmodus das Werkstück wie zuvor im Lernmodus erlernt bearbeiten. Die Arbeitsbewegung kann in einem Speicher des kollaborativen Roboters und/oder der (Anlagen-)Steuerung abgespeichert werden. Deswegen kann die Arbeitsbewegung wiederholt werden an einem baugleichen und/oder ähnlichen Werkstück. Somit kann mit der erlernten Arbeitsbewegung eine Mehrzahl von ähnlichen und/oder baugleichen Werkstücken mit derselben, erlernten Arbeitsbewegung bearbeitet werden. Weiterhin kann die erlernte Arbeitsbewegung wiederholt am selben Werkstück durchgeführt werden, z.B. eine Polierbewegung mit einem Polierwerkzeug. Der Roboter kann zum Beispiel als ein Polierroboter für ein Spritzgusswerkzeug als Werkstück verwendet werden und/oder ausgebildet sein. Hierbei ist das Werkstück, das der Roboter bearbeitet, gleichzeitig ein Werkzeug im Spritzgussbereich, also z.B. die im Spritzguss verwendete Gussform.
  • Das Roboterwerkzeug kann als ein Polierwerkzeug ausgebildet sein zur Bearbeitung einer Spritzgussform als Werkstück, und/oder zur Bearbeitung eines mit einer Spritzgussform hergestellten Spritzgusswerkstücks.
  • Kollaborative Roboter ermöglichen es, die Programmierprozess durch Handführung (z.B. durch Verwendung einer „Teaching by Demonstration“ Funktion des kollaborativen Roboters) zu vereinfachen. Dabei kann der Roboter von Hand zu bestimmten Positionen geführt und die zugehörigen Roboterkoordinaten aufgezeichnet werden.
  • Die Handführfunktion kann die Tätigkeit des Anlagenbauers beschleunigen, konnte aber bislang nur in Ausnahmefällen für einen Endanwender (ein Industrieunternehmen, das den kollaborativen Roboter für seine Automation einsetzt, jedoch nicht über Expertise im Bereich des Roboteranlagenbaus verfügt) nutzbringend eingesetzt werden. Dies liegt vor allem daran, dass die Sicherheit einer kollaborativen Roboteranlage von der Roboterbewegung abhängig ist. Ändert sich die Roboterbewegung, muss die Sicherheit der Roboteranlage neu bewertet werden, was i.d.R. hohen Aufwand generiert.
  • Die Modusanwahlvorrichtung ist sowohl zum Überführen des kollaborativen Roboters in den Lernmodus als auch zum Überführen des kollaborativen Roboters in den Arbeitsmodus ausgebildet. Hierbei kann der kollaborative Roboter zu einem Zeitpunkt in genau einem Modus betrieben werden (also z.B. entweder im Lernmodus oder im Arbeitsmodus oder in einem anderen Modus). Die Modusanwahlvorrichtung kann zum Beispiel eine Schnittstelle wie eine Tastatur und/oder einen Touchscreen aufweisen und/oder einen Prozessor, auf dem eine entsprechende Ansteuerungssoftware installiert ist und ausgeführt wird.
  • Zum Erlernen der Arbeitsbewegung wird der kollaborative Roboter mittels der Modusanwahlvorrichtung in den Lernmodus überführt. Im Lernmodus ist der kollaborative Roboter, insbesondere dessen Roboterarm, zumindest teilweise beweglich, so dass der kollaborative Roboter durch Bewegung des Roboterarms und/oder des Roboterwerkzeugs die durchzuführende Arbeitsbewegung erlernt. Hierbei kann der Roboterarm und/oder das Roboterwerkzeug z.B. durch Handführung einer Bedienperson entlang der Arbeitsbewegung bewegt werden. Die erlernte Arbeitsbewegung kann in einem Speicher des kollaborativen Roboters abgespeichert werden, insbesondere in einem flüchtigen Speicher, z.B. einem RAM-Speicher, zum unmittelbar nachfolgenden Abrufen der erlernten Arbeitsbewegung.
  • Nach Erlernen der Arbeitsbewegung kann der kollaborative Roboter mit der Modusanwahlvorrichtung in den Arbeitsmodus überführt werden. Im Arbeitsmodus führt er die erlernte Arbeitsbewegung (insbesondere wiederholt) aus. Im Arbeitsmodus kann der kollaborative Roboter die Arbeitsbewegung zum Beispiel für eine vorbestimmbare Anzahl von Wiederholungen ausführen und/oder so lange, bis der Roboter aktiv gestoppt wird. Hierzu kann zum Beispiel an der Modusanwahlvorrichtung der Arbeitsmodus beendet werden und der kollaborative Roboter in einen Ruhemodus überführt werden, indem er keine Bewegung mehr durchführt (außer z. B. einer Anfahrt in eine Ruheposition).
  • Im Lernmodus wird die Arbeitsbewegung erlernt. Dies bedeutet, dass der kollaborative Roboter zumindest eine Werkzeugposition abspeichert. Bevorzugt speichert der kollaborative Roboter eine Mehrzahl von unterschiedlichen Werkzeugpositionen ab. Hierbei kann zusätzlich zu zumindest einer Werkzeugposition eine Andruckkraft, eine Ausrichtung, eine Werkzeugrotationsgeschwindigkeit und/oder eine Werkzeugtranslationsgeschwindigkeit abgespeichert werden. Zusätzlich kann der kollaborative Roboter auch so ausgebildet sein, dass er zu den einzelnen Werkzeugpositionen auch Zeitpunkte und/oder Zeitdauern abspeichert, die den einzelnen Werkzeugpositionen zugeordnet sind. Als (z.B. Teil der) Arbeitsbewegung kann zudem eine Bewegung des Roboterwerkzeugs abgespeichert werden, insbesondere ein Bewegungsweg und/oder eine Bewegungsgeschwindigkeit.
  • Zum Erlernen der Arbeitsbewegung wird der kollaborative Roboter (z.B. sein Roboterarm) so bewegt, dass das Roboterwerkzeug in die gewünschte Werkzeugposition bewegt wird. In der gewünschten Werkzeugposition kann eine Bedienperson zum Beispiel mittels eines Tasters bestätigen, dass der kollaborative Roboter korrekt angeordnet ist und die angewählte Position als Teil der Arbeitsbewegung die aktuelle Werkzeugposition abspeichern soll, insbesondere einschließlich einer oder mehrerer der oben aufgelisteten Zusatzinformationen.
  • Die Arbeitsbewegung kann der kollaborative Roboter in einem Speicher abspeichern.
  • Das Erlernen der Arbeitsbewegung erfolgt unmittelbar am zu bearbeitenden Werkstück. Die genaue Arbeitsbewegung des kollaborativen Roboters muss somit nicht aufwendig programmiert und/oder aus einer Softwaresimulation des Bearbeitungsszenarios abgeleitet werden, sondern wird dem kollaborativen Roboter unmittelbar am Werkstück beigebracht. Der Lernmodus kann auch als ein Teachingmodus des kollaborativen Roboters bezeichnet werden. Im Lernmodus wird dem kollaborativen Roboter zumindest eine Werkzeugposition erlernt, bei der das Roboterwerkzeug in unmittelbarem Berührkontakt mit dem Werkstück ist. Bevorzugt wird dem kollaborativen Roboter eine Mehrzahl solcher Werkzeugpositionen beigebracht, in denen das Roboterwerkzeug in unmittelbarem Berührkontakt mit dem Werkstück ist. Dazu wird der kollaborative Roboter so bewegt, dass das Roboterwerkzeug in der gewünschten Werkzeugposition angeordnet ist.
  • Zusätzlich zu den unmittelbar am Werkstück beigebrachten Werkzeugpositionen kann im Lernmodus eine Lernhilfe (die auch als Teachinghilfe bezeichnet werden kann) vorgesehen sein, insbesondere eine softwaregestützte Lernhilfe. Hierbei kann das Erlernen der Arbeitsbewegung durch eine Software zusätzlich unterstützt werden. Im Gegensatz zu herkömmlichen kollaborativen Robotern wird jedoch im Lernmodus nicht ausschließlich per Software gelehrt, sondern das Erlernen der Arbeitsbewegung durch Software lediglich unterstützt.
  • Zudem ist der Lernmodus so konfiguriert, dass die Arbeitsbewegung unmittelbar am zu bearbeitenden Werkstück eingelernt wird.
  • Dies hat einerseits den Vorteil, dass Fehler bei der Softwareberechnung des Arbeitsweges ausgeschlossen werden, da der kollaborative Roboter unmittelbar am Werkstück eingelernt wird. Der Roboter eignet sich insbesondere zum Durchführen repetitiver Arbeitsbewegungen, wie zum Beispiel zum Polieren. Andererseits kann das Einlernen unmittelbar vor dem Bearbeiten erfolgen, da nach dem Einlernen unmittelbar mit dem Arbeitsmodus weitergemacht werden kann. In Anschluss an das Einlernen während des Lernmodus führt der kollaborative Roboter die eingelernte Arbeitsbewegung eigenständig durch und wiederholt diese beliebig oft, bis die Bearbeitung abgeschlossen werden kann, zum Beispiel bis das gewünschte Polierergebnis erreicht ist.
  • Es ist auch möglich, dass der Roboter im Rahmen des Lernmodus eine automatisierte Identifikationsfahrt durchführt. So können aus der Identifikationsfahrt abgeleiteten Messdaten zur Erstellung einer mathematischen Repräsentation von Teilen der Werkstückoberfläche genutzt werden.
  • Zum Beispiel kann der Nutzer eine Grenze einer Fläche des Werkstücks durch wenige Stützpunkte definieren, d.h. dem kollaborativen Roboter einige wenige Werkzeugpositionen erlernen. Daraufhin wird von der (Anlagen-)Steuerung automatisiert eine Bahn über die gesamte Fläche erstellt. Die so erstellte Bahn entspricht der Arbeitsbewegung. Dabei werden die Bahnpunkte möglichst gleichmäßig über der Fläche verteilt. Die Bahnerstellung erfolgt auf Basis vordefinierter Templates (z.B. Zick-Zack-Muster). Der Roboter fährt die erstellte Bahn automatisiert ab. Dies erfolgt unter Andruckkraft in vorbestimmbarer Richtung, um Bauteilkontakt sicherzustellen. Die Werkzeugkoordinaten während der Roboterbewegung werden vom Roboter aufgezeichnet und als Stützpunkte für die Erstellung einer mehrdimensionalen Regressionsfunktion genutzt. Diese Regressionsfunktion kann nun insbesondere gekrümmte Bauteiloberflächen abbilden.
  • Die mathematische Flächenrepräsentation kann bspw. für eine flächenbezogene Bahnplanung genutzt werden. Dies kann bspw. bedeuten, dass eine definierte Bahn entsprechend des gekrümmten Oberflächenverlaufs verzerrt wird und/oder eine automatische Ausrichtung des Polierwerkzeugs entsprechend der Flächenorthogonalen an jedem Bahnpunkt erfolgt.
  • Der kollaborative Roboter entlastet zum Beispiel einen Facharbeiter von einem repetitiven Teil seiner Tätigkeit, d.h. eine häufige Wiederholung seiner Bewegung, zum Beispiel einer Polierbewegung. Dadurch kann Arbeitskapazität des Facharbeiters frei werden bzw. anders genutzt werden. Weiterhin kann die Arbeitszeit des Facharbeiters signifikant reduziert werden. Insbesondere muss der Facharbeiter weniger lang in unergonomischen Haltungen verbringen bzw. ist eine deutlich geringere Zeit Vibrationen des Roboterwerkzeugs o. Ä. ausgesetzt. Dies kann eine Gesundheitsbelastung des Facharbeiters reduzieren.
  • Es kann eine Aufteilung der Tätigkeiten von Facharbeiter und Roboter erfolgen, die angepasst an deren jeweilige Fähigkeiten ist: Der Facharbeiter übernimmt die Definition der Prozessbewegung, also der Arbeitsbewegung. Diese sollte flexibel an die komplexen Rahmenbedingungen des Prozesses angepasst werden können und erfordert hohe Qualifikation und Erfahrung des Facharbeiters. Der Roboter übernimmt das repetitive Wiederholen der Prozessbewegung, bis ein gewünschtes Polierergebnis erreicht ist. Somit ist der Facharbeiter von repetitiven Tätigkeiten entlastet und wird für weitere seiner Qualifikation entsprechende Tätigkeiten freigestellt. Aufsetzend auf dieser Aufgabenteilung zwischen Mensch und Roboter wird erstmalig eine Automation im Rahmen eines Polierprozesses erreicht, die wirtschaftlich ist und mit geringem Hard- und Softwareeinsatz auskommt. Somit wird das Robotersystem nicht zur Vollautomation des Polierprozesses eingesetzt, sondern als Assistenzsystem, das den Facharbeiter bei der Prozessausführung unterstützt. Durch den beschriebenen Lernmodus wird ermöglicht, dass der Facharbeiter seine hochkomplexen Prozessfähigkeiten auf den Roboter überträgt.
  • Gemäß einer Ausführungsform ist der kollaborative Roboter dazu ausgebildet, im Lernmodus eine Arbeitsbewegung zum Bearbeiten einer Spritzgussform als Werkstück zu erlernen. Die Spritzgussform kann metallisch ausgebildet sein. Im Arbeitsmodus bearbeitet der kollaborative Roboter die Spritzgussform mit der erlernten Arbeitsbewegung. Der Bearbeitungsvorgang kann ein Poliervorgang sein, wobei das Roboterwerkzeug als ein Polierwerkzeug ausgebildet sein kann. Beim Polieren einer Spritzgussform sind hohe Qualitätsansprüche zu erfüllen, die durch einen langwierigen Polierprozess erfüllt werden können. Der kollaborative Roboter führt dazu eine im Lernmodus erlernte Polierbewegung als Arbeitsbewegung wiederholt durch, bis das gewünschte Polierergebnis erzielt ist.
  • Gemäß einer Ausführungsform ist die Bewegungsgeschwindigkeit des Roboterwerkzeugs und/oder des kollaborativen Roboters im Lernmodus und/oder im Arbeitsmodus auf eine Maximalgeschwindigkeit von maximal 50 mm/s gedrosselt, bevorzugt auf eine Maximalgeschwindigkeit von maximal 30 mm/s, besonders bevorzugt auf eine Maximalgeschwindigkeit von maximal 20 mm/s. Die Drosselung der Bewegungsgeschwindigkeit erhöht die Sicherheit am Arbeitsplatz für die Bedienperson und kann zur CE-Zertifizierung des Bearbeitungsprozesses führen.
  • Gemäß einer Ausführungsform ist der kollaborative Roboter dazu konfiguriert, im Lernmodus eine Mehrzahl von Werkzeugpositionen auf einer Werkstückoberfläche des Werkstücks zu lernen, die Werkzeugpositionen auf eine Prozessfläche zu projizieren, um zu den Werkzeugpositionen korrespondierende Hilfspunkte auf der Prozessfläche zu erhalten, mittels Interpolation zwischen den Hilfspunkten innerhalb der Prozessfläche zusätzliche Arbeitspunkte in der Prozessfläche zu ermitteln und im Arbeitsmodus die Werkstückoberfläche auf Basis der Hilfspunkte und der ermittelten Arbeitspunkte zu bearbeiten. Hierbei können die Werkzeugpositionen sowohl eine Ortsinformation als auch eine Roboterorientierung enthalten. Die Werkzeugpositionen werden auf die Prozessfläche projiziert, z.B. auf eine (gerade oder gekrümmte) Prozessebene. Dabei können die Werkzeugpositionen insbesondere in Normalenrichtung auf die Prozessfläche projiziert werden, um die Hilfspunkte u erhalten. Die Hilfspunkte können Ortsinformationen auf der Prozessfläche sowie die Roboterorientierungen der jeweils zugehörigen Werkzeugpositionen enthalten. Weiterhin können die Hilfspunkte auch die Ortsinformationen der jeweils zugehörigen Werkzeugpositionen enthalten. Die Interpolation zwischen den Hilfspunkten zum Ermitteln der zusätzlichen Arbeitspunkte erfolgt innerhalb der Prozessfläche und kann als eine Flächeninterpolation erfolgen, also als eine 2D-Interpolation. Die Arbeitspunkte können Ortsinformationen auf der Prozessfläche sowie zwischen benachbarten Hilfspunkten interpolierte Roboterorientierungen enthalten.
  • Gemäß einer ersten Weiterbildung ist der kollaborative Roboter dazu konfiguriert, im Arbeitsmodus die Werkstückoberfläche zu bearbeiten auf Basis einer impliziten Projektion einer innerhalb der Prozessfläche geplanten Arbeitsbahn auf die Werkstückoberfläche. Dabei liegt ein Zielarbeitsbereich des Roboterwerkzeugs innerhalb der Prozessfläche, nicht auf der tatsächlichen Werkstückoberfläche. Die geplante Arbeitsbahn kann nur mit Kenntnis der eingelernten Beispielposen an den Werkzeugpositionen erstellt werden, d.h. ohne explizite und/oder weitere (z.B. modellierte) Informationen über die Flächenkontur der Werkstückoberfläche. Es erfolgt somit eine konturangepasste Flächenbearbeitung des Werkstücks.
  • Gemäß einer alternativen zweiten Weiterbildung ist der kollaborative Roboter dazu konfiguriert ist, im Arbeitsmodus die Werkstückoberfläche zu bearbeiten auf Basis einer expliziten Projektion einer projizierten Arbeitsbahn auf ein modelliertes Oberflächenmodell der Werkstückoberfläche. Hierbei erstellt der kollaborative Roboter das Oberflächenmodell der Werkstückoberfläche aus den eingelernten Werkzeugpositionen. Ein Zielarbeitsbereich des Roboterwerkzeugs liegt hierbei innerhalb des modellierten Oberflächenmodells, welches sich möglichst wenig von nicht der tatsächlichen Werkstückoberfläche unterscheidet.
  • Gemäß einer Ausführungsform ist der Lernmodus so konfiguriert, dass der kollaborative Roboter im Lernmodus die Arbeitsbewegung durch Handführung einer Bedienperson erlernt. Mit anderen Worten führt eine Bedienperson den kollaborativen Roboter, genauer das Roboterwerkzeug, das am kollaborativen Roboter befestigt ist, entlang zumindest eines Teilstücks der durchzuführenden Arbeitsbewegung. Dabei bewegt die Bedienperson den kollaborativen Roboter in die gewünschte Zielposition. Der Roboter lässt sich somit im Lernmodus von der Bedienperson durch unmittelbare Druckausübung per Hand bewegen. Die Bedienperson steht hierbei mit ihrer oder ihren Hand/Händen in unmittelbarem Berührkontakt mit dem kollaborativen Roboter, z.B. dem Roboterwerkzeug. Hierbei überträgt die Bedienperson, zum Beispiel ein Facharbeiter, durch Handführung seine Prozessfähigkeiten auf den kollaborativen Roboter. Bislang ist eine Einlernfunktion für Endanwender kaum nutzbar, da bei MRK, also der Mensch-Roboter-Kollaboration, eine CE-Zertifizierung von der Roboterbewegung abhängt. Als Folge entfällt beim Einlernen per Hand die Zertifizierung bei der Bearbeitung. Jedoch kann beim Einlernen per Hand die Erfahrung der Bedienperson auf die Arbeitsbewegung des kollaborativen Roboters übertragen werden.
  • Gemäß einer Ausführungsform weist der kollaborative Roboter weiterhin einen Zustimmtaster für den Lernmodus auf, wobei der Zustimmtaster mit dem Fuß betätigbar ist. Durch Betätigung des Zustimmtasters wird dem kollaborativen Roboter signalisiert, dass das Roboterwerkzeug zum Betätigungszeitpunkt in einer erwünschten Werkzeugposition angeordnet ist, welche der kollaborative Roboter im Laufe der Arbeitsbewegung anfahren soll. Mit anderen Worten wird beim Einlernen der kollaborative Roboter von der Bedienperson entlang der gewünschten Arbeitsbewegung geführt, wobei der Zustimmtaster betätigt ist. Hierbei kann ein dreistufiger Zustimmtaster verwendet werden. Die drei Stufen unterscheiden sich jeweils voneinander darin, inwieweit der Zustimmtaster von der Person, die das Einlernen durchführt, heruntergedrückt wird. Hierbei ist der Zustimmtaster in einer ersten Position unbetätigt und der kollaborative Roboter lässt sich nicht bewegen. In einer zweiten Position des Zustimmtasters an einem Druckpunkt wird der kollaborative Roboter bewegbar, d.h. er kann entlang der Arbeitsbewegung bewegt werden. Hierbei kann dem kollaborativen Roboter insbesondere die zu erlernede Bewegung beigebracht werden. Zusätzlich gibt es eine Panikfunktion als dritte Position des Zustimmtasters, zum Beispiel ein vollständiges Durchdrücken des Zustimmtasters, in welcher die Roboterbewegung abrupt gestoppt wird.
  • Hierbei kann der Zustimmtaster auch sowohl mit der Hand als auch mit dem Fuß betätigbar sein. Dabei ist der Zustimmtaster flexibel positionierbar. Dies bedeutet, dass der Zustimmtaster sowohl auf dem Boden anordenbar ist, wo er mit dem Fuß betätigt werden kann, als auch beabstandet vom Boden (z.B. an dem kollaborativen Roboter und/oder einem Rollwagen), wo er mit der Hand betätigt werden kann. Der Zustimmtaster kann z.B. über ein Kabel und/oder über eine Funkverbindung in Signalaustausch mit der (Anlagen-)Steuerung der kollaborativen Roboters stehen. Je nach Arbeitsbewegung kann der Zustimmtaster hierbei von der Bedienperson so positioniert werden, dass sie den Zustimmtaster entweder mit der Hand oder dem Fuß sicher betätigen kann
  • Der Zustimmtaster kann durch einen Fuß der Bedienperson betätigt werden, wodurch die Bedienperson beide Hände frei hat zum Einlernen und/oder Führen des kollaborativen Roboters im Lernmodus. Der Zustimmtaster kann z.B. auf dem Fußboden anordenbar sein. Dies verbessert die Handhabung im Lernmodus, da die Bedienperson beim Einlernen beide Arme und Hände frei hat, wodurch eine hochgenaue Einlernbewegung des kollaborativen Roboters ermöglicht wird. Dies kann unter Umständen die Einlernfunktion durch den Endanwender erst zur wirtschaftlichen Nutzung bringen. Durch eine beidhändige Führung werden nicht nur grobe Abläufe erlernt, sondern feinste Prozessnuancen. Der Einlernprozess wird somit sehr präzise und genau.
  • Gemäß einer Ausführungsform ist im Lernmodus und/oder im Arbeitsmodus zumindest eine Andruckkraft des Roboterwerkzeugs auf das Werkstück in eine bestimmbare Richtung zuschaltbar. Hierbei kann zum Beispiel eine beliebig bestimmbare Richtung der Andruckkraft zuschaltbar sein. Die Zuschaltung der Andruckkraft kann zum Beispiel über eine (Anlagen-)Steuerung erfolgen. Hierbei kann die gewünschte Andruckkraft auf das Werkstück sehr genau bestimmt werden. Die Andruckkraft kann als Teil der Arbeitsbewegung definiert werden, die an einem oder mehreren bestimmten Arbeitspositionen, Zeitpunkten und/oder Zeitdauern der Arbeitsbewegung dieser zugeschaltet werden.
  • In einer Ausführungsform ist der kollaborative Roboter so konfiguriert, dass er automatisch eine (z.B. zumindest teilweise ebene und/oder zumindest teilweise gekrümmte) Bauteiloberfläche des Werkstücks ermittelt, wobei er bevorzugt automatisch eine Bahn des Roboterwerkzeugs zu der ermittelten Bauteiloberfläche und/oder automatisch eine Ausrichtung eines Roboterwerkzeugs zu der ermittelten Bauteiloberfläche ermittelt und/oder automatisch eine Anfahrbewegung zum Werkstück ermittelt. Die Bauteiloberfläche kann der Roboter zum Beispiel optisch und/oder haptisch mittels zumindest eines entsprechenden Sensors erfassen. Hierbei muss nicht lediglich ein einziger Sensor vorgesehen sein, sondern es können z.B. bei der haptischen Ermittlung auch Messdaten von Momentensensoren aus mehreren Achsen des kollaborativen Roboters miteinander kombiniert werden. Alternativ oder zusätzlich kann die Bauteiloberfläche dem kollaborativen Roboter auch über eine (Anlagen-)Steuerung mitgeteilt werden. Als Teil der Arbeitsbewegung kann der kollaborative Roboter zum Beispiel Koordinaten im dreidimensionalen Raum ermitteln, und zwar sowohl der Bauteiloberfläche als auch des Roboterwerkzeugs relativ zum Werkstück. In dieser Ausführungsform ist ein Steuerprogramm des kollaborativen Roboters mit einer Lernhilfe (auch genannt Teachinghilfe) versehen, die das Erlernen der Arbeitsbewegung im Lernmodus unterstützt und/oder ergänzt.
  • Hierbei kann die Ermittlung der Bauteiloberfläche auf Basis einer automatischen Identifikationsfahrt des kollaborativen Roboters erfolgen. Die Anfahrbewegung kann so ausgelegt werden, dass Scherstellen vermieden werden. Die Bahn des Roboterwerkzeugs kann durch Verschieben, Skalieren und/oder Verzerren von Templates auf Basis eingelernter Stützpunkte erzeugt werden, insbesondere können die Templates auf die Oberfläche projiziert und deren Krümmung angepasst werden. Die Bahn des Roboterwerkzeugs kann eine Flächenbewegung des Roboterwerkzeugs erzeugen, welche auf die ermittelte Bauteiloberfläche des Werkstücks abgestimmt sein kann.
  • Gemäß einer Ausführungsform ist der kollaborative Roboter so konfiguriert, dass er automatisch auf Basis von Positionen von im Lernmodus erlernten Stützpunkten einen Bewegungsablauf des Roboterwerkzeugs vervollständigt. Mit anderen Worten werden zunächst im Lernmodus einzelne Stützpunkte erlernt. Diese Stützpunkte können Positionen und/oder Ausrichtungen des Roboterwerkzeugs im dreidimensionalen Raum entsprechen und/oder enthalten, also z.B. Werkzeugpositionen. Hierbei kann der kollaborative Roboter (z.B. abhängig von der jeweiligen Anwendung) zum Beispiel eine vorbestimmte Anzahl von Stützpunkten benötigen. Beispielsweise können für eine Anwendung fünf Stützpunkte ausreichend sein, für eine andere zehn usw. Insbesondere kann der kollaborative Roboter zumindest zwei Stützpunkte, zumindest vier Stützpunkte, oder zumindest zehn Stützpunkte benötigen, um den Bewegungsablauf des Roboterwerkzeugs zu vervollständigen. Die Vervollständigung des Bewegungsablaufs erfolgt automatisch aufgrund vordefinierter Bewegungsabläufe. Zum Beispiel kann die Arbeitsbewegung durch geradlinige Verbindung der Stützpunkte ergänzt werden, oder eine kreisförmige, elliptische, o. Ä. Ergänzung der einzelnen Stützpunkte. Insbesondere kann die Arbeitsbewegung auch in einer dreidimensionalen Form ergänzt werden, zum Beispiel entlang der Form einer Kugeloberfläche o. Ä. Die Stützpunkte können hierbei nicht nur verbunden werden, sondern es können vordefinierte, z.B. komplexe Bewegungsmuster (auch genannt Templates) appliziert und auf Basis der Stützpunkte auf der Bauteiloberfläche verschoben, skaliert und/oder entsprechend der Oberflächenkrümmung verzerrt werden.
  • Gemäß einer Ausführungsform weist der kollaborative Roboter einen Kraft-Momenten-Sensor zur Bestimmung zumindest einer Prozesskraft im Lernmodus auf. Der Kraft-Momenten-Sensor kann zum Beispiel an einem Flansch des Roboters angeordnet sein, insbesondere unmittelbar benachbart zum Roboterwerkzeug. Der Kraft-Momenten-Sensor kann als eine Kraftmessdose ausgebildet sein.Hierbei kann zum Beispiel eine Andruckkraft des Roboterwerkzeugs auf das Werkstück als Prozesskraft ermittelt werden. Die von dem Kraft-Momenten-Sensor gemessene Prozesskraft wird abgespeichert und kann als Bestandteil der Arbeitsbewegung abgespeichert und/oder verwendet werden. Im Arbeitsmodus wird der kollaborative Roboter dann genau die von dem Kraft-Momenten-Sensor gemessene Prozesskraft verwenden, um das Werkstück zu bearbeiten. Die Prozesskraft kann somit insbesondere eine Andruckkraft des Roboterwerkzeugs auf das Werkstück betreffen. Der Kraft-Momenten-Sensor wird zunächst einmal zur Kraftaufzeichnung verwendet. Dadurch wird der Arbeitsprozess und/oder die Arbeitsbewegung realistischer erlernt und abgebildet, da nicht nur die Bewegung selbst sondern auch mit der Bewegung assoziierte Prozesskräfte berücksichtigt werden.
  • Alternativ kann der Kraft-Momenten-Sensor auch dazu verwendet werden, die Handführung des Roboters zu verbessern. Durch die Verwendung des Kraft-Momenten-Sensors kann das Erlernen der Arbeitsbewegung verbessert und/oder detaillierter werden.
  • Durch den Kraft-Momenten-Sensor, zum Beispiel am Flansch, werden die Prozesskräfte erfasst und in Korrelation zu der Arbeitsbewegung des kollaborativen Roboters aufgezeichnet, erlernt und/oder abgespeichert. Zusätzlich kann eine Gewichts- und/oder Trägheitskraftkompensation des am Roboter befestigten Roboterwerkzeugs erfolgen.
  • Gemäß einer Ausführungsform ist der kollaborative Roboter auf einem Rollwagen angeordnet. Hierbei kann der Roboter durch Bewegen des Rollwagens in eine gewünschte Arbeitsposition gefahren werden. Der Roboter kann dabei insbesondere auf einer Oberfläche des Rollwagens befestigt sein, um von dort aus die Arbeitsbewegung zu erlernen und durchzuführen. Der Rollwagen kann mit einer Feststellbremse versehen sein, um so während des Arbeitens ein Verrollen des Wagens zu reduzieren. Der Rollwagen kann durch eine Bedienperson frei verschoben werden. Die Bedienperson kann den Roboter flexibel zu einem zu bearbeitenden Großbauteil oder zu einem zu bearbeitenden Kleinbauteil verschieben, das zum Beispiel auf einer Werkbank angeordnet ist. Eine Arretierung des Rollwagens erfolgt bevorzugt magnetisch, um den Rollwagen besonders effizient zu fixieren. Alternativ kann eine mechanische Fixierung vorgesehen sein.
  • In einer alternativen Ausführungsform ist der kollaborative Roboter auf einer Magnetarretierung angeordnet. Die Magnetarretierung kann als Bestandteil des kollaborativen Roboters ausgebildet sein. Die Magnetarretierung kann an einem Gestell realisiert sein, welches zum Beispiel mit Hilfe eines Krans bewegt werden kann. Die Magnetarretierung ermöglicht eine Arretierung des kollaborativen Roboters an allen magnetischen und/oder ausreichend stabilen Elementen in horizontaler, vertikaler und/oder gemischter Ausrichtung. Hierbei kann der Roboter zum Beispiel an Drittgestellen oder Gerüsten arretiert werden. Insbesondere kann der kollaborative Roboter auch an dem zu bearbeitenden Werkstück selbst arretiert werden, wenn dieser eine bestimmte Größe aufweist. Die Magnetarretierung kann auch teilweise an einem Gestell und zugleich teilweise am Werkstück erfolgen. Dies ermöglicht eine hochflexible Positionierung des kollaborativen Roboters. Die Positioniermöglichkeiten im Vergleich zu etablierten Systemen werden erweitert. Dadurch können Oberflächen von Großbauteilen leichter erreicht werden, aber auch Wände und/oder Fassaden. Zudem ist die Verwendung einer Magnetarretierung derart ausgebildet, dass sich der technische Aufwand der Positionierung im Vergleich zu etablierten Lösungen reduzieren lässt. Insbesondere lässt sich auch das zu bearbeitende Werkstück als Roboterbasis verwenden.
  • Gemäß einer Ausführungsform weist der kollaborative Roboter zumindest einen optischen Sensor auf zum Erfassen einer Oberflächenrauigkeit des Werkstücks im Arbeitsmodus. Insbesondere bei Polierprozessen kann, wenn vom optischen Sensor eine gewünschte Zieloberflächenrauigkeit ermittelt wird, die Arbeitsbewegung und/oder der Arbeitsmodus beendet werden, da dann das Werkstück und/oder dessen (Teil-)Oberfläche hinreichend bearbeitet sein kann. Alternativ kann auch lediglich ein Teil der Arbeitsbewegung beendet werden und zum Beispiel ein Polieren an einem anderen Teil des Werkstücks weitergeführt werden. Der optische Sensor ist dabei so am kollaborativen Roboter angeordnet, dass er die Prozessoberfläche optisch aufnehmen und/oder überprüfen kann. Dadurch kann zum Beispiel ein sinnloses Weiterpolieren einer Werkstückoberfläche vermieden werden, da ein Weiterpolieren das Werkstück in manchen Fällen sogar schädigen kann, d.h. es kann auch eine Mindestrauhigkeit des Werkstücks eingehalten werden. Zudem kann ein manuelles Überprüfen durch eine Bedienperson überflüssig werden. Ein optischer Sensor kann zudem auch dazu konfiguriert sein, weitere Daten zur Bearbeitung bereitzustellen, z.B. für eine Distanzmessung, zur Detektion der Bauteiloberfläche, etc. Der optische Sensor kann zur Lokalisation des Werkstücks und/oder von Teilbereichen des Werkstücks ausgebildet sein. Der optische Sensor kann zur Aufzeichnung von Bildern und/oder Videos vom Arbeitsbereich des Roboterwerkzeugs ausgebildet sein.
  • Ein Aspekt betrifft ein Verfahren zum Betreiben eines kollaborativen Roboters zum Bearbeiten eines Werkstücks mit den Schritten:
    • - Bereitstellen eines Roboterwerkzeugs für einen kollaborativen Roboter, welches zum Bearbeiten des Werkstücks ausgebildet ist;
    • - Anwählen eines Lernmodus des kollaborativen Roboters, in welchem dem kollaborativen Roboter eine Arbeitsbewegung des Roboterwerkzeugs zum Bearbeiten des Werkstücks gelehrt wird;
    • - Anwählen eines Arbeitsmodus des kollaborativen Roboters, in welchem der kollaborative Roboter die im Lernmodus erlernte Arbeitsbewegung durchführt.
  • Dabei wird dem kollaborativen Roboter im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs an dem zu bearbeitenden Werkstück gelehrt.
  • Das Verfahren kann insbesondere mit dem voranstehend beschriebenen kollaborativen Roboter ausgeführt werden. Deswegen betreffen alle Ausführungen zu dem kollaborativen Roboter auch das Verfahren und umgekehrt. Beim Anwählen des Lernmodus wird der kollaborative Roboter in den Lernmodus überführt. Beim Anwählen des Arbeitsmodus wird der kollaborative Roboter in den Arbeitsmodus überführt. Das Verfahren wird unmittelbar an dem zu bearbeitenden Werkstück durchgeführt, also insbesondere unter Berührkontakt des Roboterwerkzeugs mit dem überarbeiteten Werkstück.
  • In einer Ausführungsform des Verfahrens bewegt eine Bedienperson den kollaborativen Roboter im Lernmodus mittels Handführung entlang der Arbeitsbewegung. Hierbei kann die Bedienperson den kollaborativen Roboter insbesondere mit ihren beiden Händen führen und/oder bewegen. Dies erhöht die Genauigkeit und Präzision der zu erlernenden Arbeitsbewegung.
  • In einer Ausführungsform wird der Lernmodus am kollaborativen Roboter in Arbeitstemperatur durchgeführt. Dies kann zum Beispiel dadurch ermöglicht werden, dass der kollaborative Roboter vor Durchführung des Lernmodus warmbewegt wird, bereits warmbewegt wurde, oder er selber eine Bewegung durchführt, bis er eine gewünschte Arbeitstemperatur erreicht. Somit sind auch im Lernmodus bereits die Bauteile, insbesondere Schmieröle etc. in der gewünschten Arbeitstemperatur des kollaborativen Roboters. Dadurch wird die Präzision der Arbeitsbewegung, insbesondere bei Wiederholung der Arbeitsbewegung, erhöht. Hierzu kann der kollaborative Roboter zum Beispiel einen Warmlaufmodus aufweisen, bzw. in diesen Warmlaufmodus überführt werden, zum Beispiel von einer Modusanwahlvorrichtung. Alternativ oder zusätzlich kann der kollaborative Roboter eine Betriebstemperaturmessvorrichtung aufweisen, mit der die aktuelle und/oder durchschnittliche und/oder übliche Arbeitstemperatur des kollaborativen Roboters ermittelt werden kann. In dieser Ausführungsform wird der Roboter nur dann in den Lernmodus überführt, wenn der kollaborative Roboter die einstellbare und/oder vorbestimmbare Betriebstemperatur erreicht hat.
  • Gemäß einer Ausführungsform wird der Lernmodus höchstens eine vorbestimmte Zeitspanne vor dem Bearbeiten des Werkstücks durchgeführt. Bevorzugt wird der Lernmodus unmittelbar vor dem Arbeitsmodus, also dem Bearbeiten des Werkstücks durchgeführt. Dadurch können einerseits Stehzeiten des kollaborativen Roboters reduziert werden, andererseits kann sichergestellt werden, dass die Bearbeitung mit etwa derselben Arbeitstemperatur des kollaborativen Roboters durchgeführt wird, in welcher auch Erlernen der Arbeitsbewegung erfolgt ist. Hierdurch kann die Arbeit des kollaborativen Roboters präzisiert und/oder verbessert werden. Die vorbestimmte Zeitspanne kann zum Beispiel eine Maximaldauer von 15 Minuten betragen, bevorzugt eine Maximaldauer von 5 Minuten betragen.
  • Gemäß einer Ausführungsform wird im Lernmodus zumindest eine Andruckkraft des Roboterwerkzeugs auf das Werkstück in eine bestimmbare Richtung zugeschaltet, insbesondere in eine beliebig bestimmbare Richtung. Die Richtung ist vorzugsweise auf das Werkstück gerichtet. Hierbei kann somit zunächst ausschließlich die Arbeitsbewegung ohne Prozesskräfte eingelernt werden, welche zum Beispiel anschließend an das Erlernen zugeschaltet werden und/oder der Arbeitsbewegung überlagert werden. Desweiteren kann ein Kontakt zwischen dem Roboterwerkzeug und dem Werkstück im Rahmen der Einlembewegung sichergestellt werden.
  • In einer Ausführungsform ermittelt der kollaborative Roboter automatisch eine Bauteiloberfläche des Werkstücks, insbesondere ermittelt er automatisch eine Ausrichtung des Roboterwerkzeugs zu der ermittelten Bauteiloberfläche, und/oder er ermittelt automatisch eine Anfahrbewegung zum Werkstück. Ein oder mehrere dieser Lernhilfen, auch Teachinghilfen genannt, können zum Beispiel softwaregesteuert zugeschaltet werden. Dadurch wird das Erlernen der Arbeitsbewegung verbessert, insbesondere wenn der kollaborative Roboter die zu der Bauteiloberfläche ermittelten Daten verwendet, um in Abhängigkeit davon die erlernte Arbeitsbewegung zu optimieren.
  • In einer Ausführungsform vervollständigt der kollaborative Roboter automatisch auf Basis von Positionen von im Lernmodus erlernten Stützpunkten einen Bewegungsablauf des Roboterwerkzeugs. Hierbei können anhand einiger Stützpunkte eine vollständige Arbeitsbewegung erlernt und/oder durchgeführt werden.
  • Ein Aspekt betrifft die Verwendung eines kollaborativen Roboters zum Bearbeiten eines Werkstücks, wobei der kollaborative Roboter ein Roboterwerkzeug zum Bearbeiten des Werkstücks und eine Modusanwahlvorrichtung zum Überführen des kollaborativen Roboters in einen Lernmodus und in einen Arbeitsmodus aufweist. Dabei wird dem kollaborativen Roboter im Lernmodus eine Arbeitsbewegung des Roboterwerkzeugs zum Bearbeiten des Werkstücks erlernt und der kollaborative Roboter führt im Arbeitsmodus die im Lernmodus erlernte Arbeitsbewegung durch. Der kollaborative Roboter erlernt im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs an dem zu bearbeitenden Werkstück.
  • Die Verwendung kann insbesondere mit dem voranstehend beschriebenen kollaborativen Roboter ausgeführt werden. Deswegen betreffen alle Ausführungen zu dem kollaborativen Roboter und zu dem Verfahren auch die Verwendung und umgekehrt.
  • Der kollaborative Roboter kann insbesondere zur Flächenbearbeitung einer Bauteiloberfläche des Werkstücks verwendet werden, z.B. zum Polieren. Hierbei erfolgt im Lernmodus das Einlernen des Roboters zur Konfiguration eines flächenorientierten Bearbeitungsprozesses. Die Flächenbearbeitung unterscheidet sich von einer reinen Linienführung des Roboterwerkzeugs entlang einer programmierten Trajektorie. Bei der Flächenbearbeitung wird nicht nur eine reine Bahntrajektorie abgefahren, sondern die Arbeitsbewegung kann eine Prozesskraft (wie z.B. eine Andruckkraft) enthalten und/oder zumindest teilweise über diese definiert sein. Weiterhin kann zunächst eine Bahnoberfläche erlernt werden, anschließend zumindest Teile der Flächenbearbeitung automatisch berechnet werden.
  • Der kollaborative Roboter kann für eine Finishing Anwendung verwendet werden, bspw. zum Polieren von Spritzgussformen und/oder Spritzgusswerkzeugen. Hierbei kann der kollaborative Roboter insbesondere zur Teilautomation der Finishing Anwendung verwendet werden.
  • Im Lernmodus können Fähigkeiten und/oder Erfahrungen einer Bedienperson (wie eines Facharbeiters) auf den Roboter übertragen werden. Herkömmlich wurde die Einlemfunktion, also die Teaching by Demonstration Funktion des kollaborativen Roboters nur mit dem Ziel einer schnelleren Roboterprogrammierung verwendet, nicht aber zur Übertragung der Fähigkeiten und/oder Erfahrungen des Facharbeiters auf den Roboter. Die herkömmliche Teaching by Demonstration Funktion ist durch den Anwender aufgrund der Rezertifizierungspflicht bei Änderung der Roboterbewegung herkömmlich nicht praktikabel. Somit besteht herkömmlich nicht die Möglichkeit, dass der Anwender sein Erfahrungswissen direkt auf den Roboter überträgt, sondern höchstens über den Umweg einer Zusammenarbeit mit einem Roboterexperten. Dies bedeutet aber eine erneute Roboterprogrammierung und anschließende Erneuerung der Sicherheitsbetrachtung. Dies ist üblicherweise nicht praktikabel.
  • Der erfindungsgemäße kollaborative Roboter kann jedoch ein Absicherungskonzept aufweisen, das unabhängig von der Roboterbewegung gültig bleibt.
  • Hierbei kann z.B. die Arbeitsbewegung des Roboters gedrosselt sein, ein ungefährliches Roboterwerkzeug verwendet werden und/oder ein Bauteilkontakt sichergestellt werden. Hierbei wird der kollaborative Roboter gestoppt, sowie der (z.B. Sensor überwachte) Berührkontakt zwischen dem Roboterwerkzeug und der Bauteiloberfläche des Werkstücks unterbrochen wird.
  • Weiterhin oder alternativ kann eine sensorbasierte Absicherung erfolgen, die in Abhängigkeit von der Nähe des Menschen zum kollaborativen Roboter Gefährdungen (insbesondere durch den Roboter und/oder das Roboterwerkzeug) auf ein sicheres Niveau reduziert bzw. ganz abstellt.
  • Weiterhin oder alternativ kann eine Verhinderung von Kontakt mit einem Menschen durch mechanische Schutzeinrichtungen erfolgen.
  • In einer Ausführungsform werden im Lernmodus ausschließlich solche Bewegungen erlernt, in denen das Roboterwerkzeug im Kontakt mit der Bauteiloberfläche des Werkstücks steht. Dies ermöglicht eine weitgehende Vermeidung von Quetsch- und/oder Scherstellen. In Verbindung mit der reduzierten Robotergeschwindigkeit erhöht sich dabei die Sicherheit der Gesamtanlage trotz beliebiger Roboterbewegungen innerhalb des Raumbereichs der Bauteiloberfläche.
  • In einer Ausführungsform kann eine variable und/oder flexible Zuschaltung von Prozesskräften in bestimmbare Richtungen erfolgen, zum Beispiel zur Sicherstellung eines stetigen und/oder ununterbrochenen Bauteilkontakts zwischen dem Roboterwerkzeug und dem Werkstück.
  • In einer Ausführungsform wird die Einlernfunktion des Roboters im Lernmodus zur Konfiguration einer Roboter-Mensch-Kollaboration genutzt.
  • In einer Ausführungsform erfolgt eine Herleitung einer mathematischen Repräsentation von Teiloberflächen des Werkstücks auf Basis eingelernter und/oder automatisch erfasster Oberflächenkoordinaten des Werkstücks. Dabei kann die automatische Erfassung der Oberflächenkoordinaten des Werkstücks im Rahmen einer automatisierten Identifikationsfahrt des Roboters erfolgen.
  • In einer Ausführungsform erfolgt eine automatische Anpassung des Prozesses an Krümmungen der Werkstückoberfläche.
  • In einer Ausführungsform erfolgt eine Vervollständigung von im Lernmodus erkannten Lerneingaben um automatische Abläufe.
  • Im Rahmen dieser Erfindung können die Begriffe „im Wesentlichen“ und/oder „etwa“ so verwendet sein, dass sie eine Abweichung von bis zu 5% von einem auf den Begriff folgenden Zahlenwert beinhalten, eine Abweichung von bis zu 5° von einer auf den Begriff folgenden Richtung und/oder von einem auf den Begriff folgenden Winkel.
  • Begriffe wie oben, unten, oberhalb, unterhalb, usw. beziehen sich - sofern nicht anders spezifiziert - auf das Bezugssystem der Erde in einer Betriebsposition des Gegenstands der Erfindung.
  • Die Erfindung wird nachfolgend anhand von in Figuren gezeigten Ausführungsbeispielen näher beschrieben. Hierbei können gleiche oder ähnliche Bezugszeichen gleiche oder ähnliche Merkmale der Ausführungsformen kennzeichnen. Einzelne in den Figuren gezeigte Merkmale können in anderen Ausführungsbeispielen implementiert sein. Es zeigen:
    • 1 in einer schematischen Darstellung ein Ausführungsbeispiel eines kollaborativen Roboters mit einem Rollwagen;
    • 2 in einer schematischen Darstellung ein Ausführungsbeispiel eines kollaborativen Roboters in einem Lernmodus;
    • 3 in einer schematischen Darstellung den in 2 gezeigten kollaborativen Roboter in einem Arbeitsmodus;
    • 4 in einer schematischen Darstellung den in den 2 und 3 gezeigten kollaborativen Roboter in einem Kontrollmodus;
    • 5 in einem 3D-Diagramm ein Ausführungsbeispiel einer zu bearbeitenden Werkstückoberfläche;
    • 6A in einem 3D-Diagramm eine Prozessebene, welche der Roboter als eine Hilfsebene zur Bahnplanung verwendet;
    • 6B in einem 2D-Diagramm, wie eine Robotersteuerung einen einhüllenden Polygonzug ermittelt;
    • 7A in einem 2D-Diagramm ein erstes Ausführungsbeispiel einer abzufahrenden Arbeitsbahn in der Prozessebene;
    • 7B in einem 2D-Diagramm ein zweites Ausführungsbeispiel einer abzufahrenden Arbeitsbahn in der Prozessebene;
    • 8A in einem 3D-Diagramm ein Prozessrechteck mit Arbeitspunkten, an denen eine Roboterorientierung zu ermitteln ist;
    • 8B in einem 2D-Diagramm das Prozessrechteck transformiert in die Prozessebene mit den Arbeitspunkten, an denen eine Roboterorientierung zu ermitteln ist;
    • 9A in einem 2D-Diagramm ein erstes Ausführungsbeispiel eines Verfahrens zur flächenbasierten Interpolation von Roboterorientierungen;
    • 9B in einem 2D-Diagramm ein zweites Ausführungsbeispiel eines Verfahrens zur flächenbasierten Interpolation von Roboterorientierungen;
    • 10 in einem 3D-Diagramm ein Ausführungsbeispiel einer expliziten Projektion der Arbeitsbahn;
    • 11 in einem 3D-Diagramm einen ersten Verfahrensschritt zur Erstellung eines Oberflächenmodells;
    • 12 in einem 3D-Diagramm einen zweiten Verfahrensschritt zur Erstellung eines Oberflächenmodells;
    • 13 in zwei 3D-Diagrammen einen dritten Verfahrensschritt zur Erstellung eines Oberflächenmodells; und
    • 14 in zwei 3D-Diagrammen aus unterschiedlichen Richtungen einen Vergleich zwischen einem aus Tangentialebenen ermittelten Oberflächenmodell und einer tatsächlichen Werkstückoberfläche.
  • 1 zeigt in einer schematischen Darstellung ein Ausführungsbeispiel eines kollaborativen Roboters 10, der auf einen Rollwagen 60 montiert ist. Der Rollwagen 60 kann als Teil des kollaborativen Roboters 10 ausgebildet sein oder als separates Bauteil ausgebildet sein. Der kollaborative Roboter 10 weist einen Roboterarm 20 auf, der im Wesentlichen von einem Standfuß 22 bis zu einem Flanschende 21 verlaufend ausgebildet ist. Das Flanschende 21 kann als ein Arbeitsende des Roboterarms 20 ausgebildet sein. Entlang seines Verlaufs sind am Roboterarm 20 mehrere Gelenke 23 ausgebildet, von denen lediglich einige in 1 gekennzeichnet sind. An den Gelenken 23 ist der Roboterarm 20 beweglich, zum Beispiel verschwenkbar und/oder rotierbar. So wird es ermöglicht, dass der Roboterarm 20 eine komplexe dreidimensionale Arbeitsbewegung durch den Raum durchführen kann, insbesondere mit seinem Flanschende 21. Der im Ausführungsbeispiel gezeigte Roboterarm 20 hat sieben Freiheitsgrade, nämlich drei translatorische Werkstückpositionierungen, drei rotatorische Werkstückpositionierungen und eine Ellenbogenbewegung (oder auch Nullraumbewegung) des Roboterarms 20.
  • Am Flanschende 21 ist ein Roboterwerkzeug 30 an dem Roboterarm 20 befestigt. Das Roboterwerkzeug 30 dient zur Bearbeitung eines nicht in 1 dargestellten Werkstücks. Am Flanschende 21 kann ein Kraft-Momenten-Sensor 40 zur Messung einer Andruckkraft des Werkzeugs 30 auf das Werkstück angeordnet sein.
  • Auf dem Rollwagen 60 ist an einer Halterung ein Bedienelement 50 des kollaborativen Roboters 10 und/oder der Gesamtanlage angeordnet. Eine Steuerung des kollaborativen Roboters 10 kann zumindest zum Großteil im Rollwagen 60 integriert sein. Diese nicht gezeigte Steuerung kann als eine Anlagensteuerung ausgebildet sein, mit der nicht nur der Roboterarm 20, sondern auch die übrigen Anlagenteile gesteuert werden können, wie z.B. das Roboterwerkzeug 30, ein (Zustimm-)Taster, eine Ampel, etc. Das Bedienelement 50 kann als Bestandteil der Anlagensteuerung ausgebildet sein und oder mit dieser kommunizieren.
  • Die (Anlagen-)Steuerung und/oder das Bedienelement 50 kann/können einen Mikroprozessor aufweisen und/oder ein Userinterface wie zum Beispiel einen Touchscreen. Auf dem Mikroprozessor des Bedienelements 50 wird eine Steuersoftware zur Steuerung des kollaborativen Roboters 10 ausgeführt. Die (Anlagen-)Steuerung und/oder das Bedienelement 50 umfasst eine Modusanwahlvorrichtung 51. Die Modusanwahlvorrichtung 51 kann ein Teil der Steuerungssoftware sein, die auf der (Anlagen-)Steuerung und/oder dem Bedienelement 50 ausgeführt wird. Die Modusanwahlvorrichtung 51 dient zur Anwahl eines Betriebsmodus des kollaborativen Roboters 10. Durch Betätigung der Modusanwahlvorrichtung 51, zum Beispiel durch Betätigung des Touchscreens der (Anlagen-)Steuerung und/oder des Bedienelements 50, kann der kollaborative Roboter 10 in einen gewünschten Betriebsmodus überführt werden. Der kollaborative Roboter 10 kann mittels der Modusanwahlvorrichtung 51 wahlweise in zumindest einen der folgenden Betriebsmodi überführt werden: in einen Lernmodus, in einen Arbeitsmodus, in zumindest einen Ruhemodus (z.B. einen Standby-Modus und/oder einen Ein/Aus-Modus) und/oder in einen Kontrollmodus.
  • Weiterhin kann entweder die (Anlagen-)Steuerung und/oder das Bedienelement 50 und/oder ein anderer Bestandteil des kollaborativen Roboters 10 einen Speicher aufweisen, insbesondere einen flüchtigen Speicher (wie zum Beispiel einen RAM-Speicher) in welchem die im Lernmodus erlernte Arbeitsbewegung abgespeichert werden kann.
  • Der Rollwagen 60 kann bevorzugt durch eine Bedienperson frei verschoben werden zu einem zu bearbeitenden Werkstück. Alternativ dazu kann der Rollwagen entlang einer Schienenbahn bewegt werden, z.B. automatisch. Im ersten Fall verschiebt die Bedienperson den kollaborativen Roboter 10 flexibel zu einem Werkstück, zum Beispiel zu einem zu polierenden Großbauteil oder einem zu polierenden Kleinbauteil, das auf einer Werkbank angeordnet ist. Alternativ können Kleinbauteile als Werkstücke auch auf dem Rollwagen 60 selbst abgelegt und dort bearbeitet werden. Der Rollwagen 60 kann zum Beispiel magnetisch arretiert werden. Die Arbeitsbewegung, zum Beispiel eine Polierbewegung, des Roboterwerkzeugs 30 wird dem kollaborativen Roboter 10 im Lernmodus beigebracht. Hierbei kann der Roboterarm 20, insbesondere das Flanschende 21 und/oder ein zum Flansch in der 21 benachbarter Abschnitt des Roboterarms 20 von einer Bedienperson zum Beispiel per Handführung entlang der Arbeitsbewegung geführt werden. Insbesondere kann der Bediener den Roboter im Lernmodus zu einzelnen Stützpunkten führen, die die Bedienperson als Teil der Arbeitsbewegung abspeichern möchte. Die Stützpunkte umfassen dabei Informationen und/oder Daten über die Position des Roboterwerkzeugs 30 am gelehrten Stützpunkt, also z.B. Werkzeugpositionen.
  • Im Arbeitsmodus führt der kollaborative Roboter 10 die eingelernte Arbeitsbewegung, zum Beispiel eine Polierbewegung, eigenständig durch und wiederholt diese, bis ein gewünschtes Arbeitsergebnis, zum Beispiel ein gewünschtes Polierergebnis, erreicht ist. Das Arbeitsergebnis kann z.B. durch einen Sensor und/oder eine Bedienperson überwacht werden.
  • Die Bedienperson, zum Beispiel ein Facharbeiter, kann sich während des automatischen Arbeitsvorgangs, zum Beispiel während des Poliervorgangs, also während der kollaborative Roboter 10 im Arbeitsmodus betrieben wird, im Arbeitsbereich des Roboters aufhalten.
  • Dabei kann die Geschwindigkeit des kollaborativen Roboters 10, insbesondere die Bewegungsgeschwindigkeit des Flanschendes 21 und/oder des Roboterwerkzeugs 30, maximal einen vorgegebenen Wert betragen. Die Bewegungsgeschwindigkeit des kollaborativen Roboters 10 kann somit gedrosselt sein, insbesondere im Lernmodus und/oder im Arbeitsmodus. Ein vorgegebener maximaler Geschwindigkeitswert kann zum Beispiel maximal 50 mm/sec, bevorzugt maximal 25 mm/sec betragen. Durch eine solche Limitierung der Arbeitsgeschwindigkeit des kollaborativen Roboters kann ein relativ sicherer Arbeitsplatz für die Bedienperson garantiert werden. Weiterhin kann durch eine solche Limitierung der Arbeitsgeschwindigkeit des kollaborativen Roboters 10 eine CE-Zertifizierung für verschiedene Wergzeugtypen und/oder beliebige Prozessbewegungen gültig bleiben. Es wird somit keine Neuzertifizierung nach Modifikation des Prozesses benötigt. Die Bedienperson kann das Arbeitsergebnis, zum Beispiel das Polierergebnis, überwachen und/oder in den Arbeitsprozess eingreifen, zum Beispiel eine Polierpaste auftragen, und/oder die Bewegung des kollaborativen Roboters 10 eingreifend korrigieren, und/oder weitere Tätigkeiten in unmittelbarer Nähe zum Roboter und dem Polierwerkzeug ausführen.
  • Der kollaborative Roboter eignet sich insbesondere für die Bearbeitung eines Spritzgusswerkzeugs, welches poliert werden muss. Die dazu benötigte Spritzgussform erfordert sehr hohe Oberflächengüten, welche herkömmlich durch manuelles Polieren auf teilweise relativ großen Flächen erreicht werden können. Hierbei benötigt ein Facharbeiter eine hohe Qualifikation zur Durchführung der Polierarbeiten. Die Polierarbeit erfordert einen hohen Zeitaufwand des Facharbeiters, wobei die Polierbewegung häufig wiederholt werden muss, bis die gewünschte Oberflächenqualität erreicht ist. Die Gesamtpolierzeit für eine Spritzgussform kann unter Umständen mehrere Tage betragen. Eine Automation des Poliervorgangs erfordert eine komplexe Prozessführung, die die hohe Qualität und Erfahrung des Facharbeiters reflektiert und/oder beinhaltet. Weiterhin kann jede Spritzgussform ein Unikat sein, insbesondere bei „Losgröße 1“. Diese Anforderung kann der kollaborative Roboter 10, der in 1 gezeigt ist, erfüllen, insbesondere wenn er von einem Facharbeiter als Bedienperson eingelernt wird und das Roboterwerkzeug 30 als Polierwerkzeug ausgebildet ist.
  • 2 zeigt in einer schematischen Darstellung ein Ausführungsbeispiel eines kollaborativen Roboters 110, welcher in einem Lernmodus betrieben wird. Der kollaborative Roboter 110 ähnelt im Wesentlichen dem in 1 gezeigten kollaborativen Roboter 10. So weist auch der kollaborative Roboter 110 einen Roboterarm 120 auf, der sich von einem Standfuß 122 bis zu einem Flanschende 121 erstreckt und welcher an mehreren Gelenken 123 beweglich ist. Am Flanschende 121 ist ein Roboterwerkzeug 130 angeordnet, welches zum Bearbeiten eines Werkstücks 300 ausgebildet ist. Das Werkstück 300 kann auf einer Werkbank angeordnet sein. Bei dem Werkstück 300 kann es sich zum Beispiel um eine Autofelge handeln, welche als ein Spritzgussteil hergestellt ist, welches durch das Roboterwerkzeug 130 poliert werden muss. Das Werkstück 300 kann z.B. auch als Spritzgussform ausgebildet sein, z.B. zum Formen einer Autofelge.
  • Eine Bedienperson 200 überführt den kollaborativen Roboter zunächst in seinen Lernmodus und bewegt dann das Flanschende 121 und insbesondere das Roboterwerkzeug 130 in eine gewünschte Arbeitsposition, um relativ zum Werkstück 300. Insbesondere kann die Bedienperson 200 eine Polierbewegung als Arbeitsbewegung des Roboterwerkzeugs 130 auf einer Oberfläche des Werkstücks 300 durchführen. Die Bewegung des Roboterwerkzeugs 130 relativ zu und/oder auf dem Werkstück 300 wird in einem Speicher des kollaborativen Roboters 110 abgespeichert. Hierbei kann es sich insbesondere um einen flüchtigen Speicher handeln.
  • Im Lernmodus kann die Bedienperson das Roboterwerkzeug 130 insbesondere beidhändig entlang des zu bearbeitenden Werkstücks 300 führen. Hierbei kann die Bedienperson 200 Bewegungsabläufe und/oder einzelne Stützpunkte der Arbeitsbewegung über einen in den Figuren nicht dargestellten Zustimmtaster abspeichern und/oder bestätigen, welcher zum Beispiel mit einem Fuß der Bedienperson 200 betätigbar ist. Deswegen hat der Facharbeiter, also die Bedienperson 200, beide Hände frei zur Führung des Roboterwerkzeugs 130 und somit zum Einlernen der Arbeitsbewegung. Hierbei kann die Bedienperson 200 entweder unmittelbar das Roboterwerkzeug 130 mit seinen Händen berühren und in die gewünschte Arbeitsposition bewegen, und/oder das Roboterwerkzeug 130 mittels eines Griffs bzw. eines Zwischenstücks des Roboterarms 120, welcher bzw. welches etwa am Flanschende 121 ausgebildet ist, in die gewünschte Arbeitsposition bewegen.
  • Der kollaborative Roboter 110 ermöglicht eine einfache und ergonomische Bedienung, welche zu einem konstanten Ergebnis führt. Weiterhin kann durch das Erlernen der Arbeitsbewegung unmittelbar am zu bearbeitenden Werkstück 300 ein schnelles Einlernen erfolgen, da die Arbeitsbewegung (zumindest teilweise) nicht umständlich vorab mittels einer Software berechnet werden muss, sondern unmittelbar auf das zu bearbeitende Werkstück abgestimmt wird.
  • 3 zeigt in einer schematischen Darstellung den kollaborativen Roboter 110 im Arbeitsmodus. Hierbei wird das Werkstück 300 mit der zuvor im Lernmodus erlernten Arbeitsbewegung des Roboterwerkzeugs 130 bearbeitet. Die Bedienperson muss hierbei nicht mehr erforderlich sein. Diese kann jedoch den Vorgang aus der Nähe oder Ferne beobachten und/oder überwachen und gegebenenfalls in die Bearbeitung eingreifen oder andere Tätigkeiten durchführen.
  • 4 zeigt den kollaborativen Roboter 110 in einem optionalen zusätzlichen Betriebsmodus, nämlich in einem Kontrollmodus. Hierbei ist das Bearbeitungswerkzeug 130 ausgetauscht gegen ein Austauschwerkzeug 131. Das Austauschwerkzeug 131 ist am Flanschende 121 des Roboterarms 120 befestigt. Mit anderen Worten kann das Roboterwerkzeug 130 im Allgemeinen austauschbar am Flanschende 121 befestigt sein. Dies gilt sowohl für das Roboterwerkzeug 130 als auch für das Austauschwerkzeug 131. Das Austauschwerkzeug 131 kann einen Sensor aufweisen, insbesondere einen optischen Sensor wie zum Beispiel eine Kamera, mit dem das Arbeitsergebnis kontrolliert wird. Hierbei kann insbesondere die Qualität eines Poliervorgangs überprüft werden, und/oder Fehler und/oder Risse am Werkstück 300 detektiert werden. Somit kann das Austauschwerkzeug 131 z.B. zur Qualitätskontrolle verwendet werden.
  • Weiterhin kann zumindest einer der folgenden zwei Sensoren vorgesehen sein:
    1. (1) Ein Lokalisierungssenor zur Lokalisation des Werkstücks, durch welchen trotz möglicherweise (z.B. leicht) geänderter Positionierung des Rollwagens und/oder des Werkstücks eine abgespeicherte Prozessbewegung automatisiert appliziert werden kann.
    2. (2) Ein Überwachungssensor, welcher z.B. als eine Kamera ausgebildet sein kann, zum Übertragen eines Videos des Bearbeitungsprozesses an eine mobile Bedienerschnittstelle wie z.B. ein Smart Phone. Dadurch kann eine Bedienperson den Prozessfortschritt aus größerer Entfernung überwachen. Der Überwachungssensor kann am Roboterflansch und/oder am Rollwagen befestigt und/oder frei positionierbar ausgebildet sein.
  • Desweiteren kann als Austauschwerkzeug auch ein Zeigestab verwendet werden. Dieser ermöglicht es, die Prozessbewegung einzulernen und insbesondere automatische Identifikationsfahrten durchzuführen, ohne die Werkstückoberfläche zu beschädigen. Alternativ kann der Zeigestab auch fest am Prozesswerkzeug verankert sein.
  • In einer alternativen Ausführungsform kann der Sensor, also hier der optische Sensor, auch nicht als Austauschwerkzeug ausgebildet sein, sondern als fest montiertes Bauteil, wobei er zusätzlich zu dem eigentlichen Bearbeitungswerkzeug 130 am Roboterarm 120 befestigt sein. Somit kann das Werkstück während der Bearbeitung, zum Beispiel im Arbeitsmodus, aufgenommen und/oder überprüft werden.
  • In den gezeigten Ausführungsformen kann das Einlernen am realen Bauteil, also am Werkstück 300, erfolgen, und zwar mit dem für die Arbeitsbewegung benötigten Roboterwerkzeug 30 bzw. 130. Das Einlernen im Lernmodus erfolgt kurz vor der Durchführung des eigentlichen Arbeitsprozesses, also der Bearbeitung des Werkstücks. Hierbei kann kurz vorher bedeuten, dass maximal 15 Minuten vor der Bearbeitung des Werkstücks der Lernmodus beendet wird, also das Einlernen der Arbeitsbewegung abgeschlossen wird. Besonders bevorzugt wird das Erlernen der Arbeitsbewegung maximal etwa 5 Minuten vor der Bearbeitung des Werkstücks beendet. Hierbei kann optional eine Aufwärmbewegung des Roboterarms 20 bzw. 120 erfolgen, um so eine vorbestimmte Betriebstemperatur des kollaborativen Roboters 10 bzw. 110 zu erreichen. Dadurch kann die Genauigkeit des Einlemens erhöht werden.
  • Im Gegensatz zu einem herkömmlichen Einlernen mittels Offline-Programmierung entfallen Fehlerquellen wie zum Beispiel CAD-Modellfehler, Fehler durch unterschiedliche Roboterbetriebszustände, Sensorfehler bei sensorgestütztem Erlernen, Kalibrierungsfehler, etc. Durch das Erlernen am zu bearbeitenden Werkstück wird somit ein genaueres Arbeiten ermöglicht, da Fehlerquellen reduziert werden. Somit kann in der Wiederholgenauigkeit des kollaborativen Roboters eingelernt werden.
  • Weiterhin ermöglichen die kollaborativen Roboter 10 und 110 das Erlernen von Teilarbeitsschritten der Arbeitsbewegung nacheinander. So kann zum Beispiel zunächst ein Teil der Bauteiloberfläche des Werkstücks 300 poliert werden mittels einer ersten Teilarbeitsbewegung. Nachdem ein gewünschtes Polierergebnis erreicht ist, kann ein anderer Teil der Bauteiloberfläche des Werkstücks 300 durch eine zweite Teilarbeitsbewegung poliert werden usw. Die Teilarbeitsbewegungen können unmittelbar vor dem Durchführen der jeweiligen Teilarbeitsbewegung im Arbeitsmodus erlernt werden, also zum Beispiel unmittelbar vor dem Polieren des jeweiligen Teils der Bauteiloberfläche des Werkstücks 300.
  • Die Anlagensteuerung des kollaborativen Roboters 10 und/oder des kollaborativen Roboters 110 kann eine oder mehrere der folgenden Lernhilfen, auch Teachinghilfen genannt, enthalten:
  • Eine erste Lernhilfe ermöglicht eine variable und/oder flexible Steifschaltung von Bewegungsfreiheitsgraden des kollaborativen Roboters 10 bzw. 110. So können abhängig von der zu erwartenden Arbeitsbewegung entweder einzelne Gelenke 23 bzw. 123 des Roboterarms 20 bzw. 120 steif geschaltet werden, um das Erlernen der Arbeitsbewegung zu vereinfachen. Zum Beispiel kann beim Erlernen einer zweidimensionalen Polierbewegung entlang einer (im Wesentlichen ungekrümmten) Bauteiloberfläche eine Bewegung aus dieser Ebene heraus blockiert werden o. Ä. Hierbei können Software-gestützt grobe Arbeitsbewegungen und/oder Arbeitsbereiche vorgegeben und/oder vordefiniert werden. Im Unterschied zum Programmieren herkömmlicher Arbeitsbewegung wird hierbei die genaue Arbeitsbewegung nur grob vorgegeben, also zum Beispiel ein grober Bewegungskorridor entlang der Arbeitsbewegung definiert. Dann wird zumindest im Lernmodus die Bewegungsfreiheit des Roboterwerkzeugs 30 bzw. 130 auf diesen vorgegebenen und/oder vordefinierten Bewegungskorridor beschränkt. Das bedeutet, dass der Roboter so angesteuert wird, dass das Roboterwerkzeug 30 bzw. 130 nicht aus dem vorgegebenen und/oder vordefinierten Bewegungskorridor heraus bewegt wird. Dadurch kann das Erlernen der Arbeitsbewegung im Lernmodus vereinfacht werden.
  • Der Bewegungskorridor kann zum Beispiel in jeder Raumrichtung maximal 10 cm von einer vorläufig geschätzten Arbeitsbewegung beabstandet sein, bevorzugt maximal 5 cm, besonders bevorzugt maximal 1 cm. Der Bewegungskorridor kann für die einzelnen Raumrichtungen und/oder Stützpunkte unterschiedlich groß festgelegt werden.
  • Eine zweite Lernhilfe ermöglicht eine variable und/oder flexible Zuschaltung von Prozesskräften in bestimmbare Richtungen, zum Beispiel zur Sicherstellung eines stetigen und/oder ununterbrochenen Bauteilkontakts des Roboterwerkzeugs 30 bzw. 130 mit dem Werkstück 300. Hierbei kann insbesondere eine Andruckkraft des Roboterwerkzeugs 30 bzw. 130 auf eine Bauteiloberfläche des Werkstücks 300 zugeschaltet werden, zum Beispiel um einen Polierdruck einzustellen.
  • Eine dritte Lernhilfe kann eine automatische Variation einer Nullraumlage des kollaborativen Roboters 10 bzw. 110 ermöglichen. Die Nullraumlage kann zum Beispiel aus nicht benötigten Freiheitsgraden des kollaborativen Roboters 10 bzw. 110 abgeleitet und/oder ermittelt werden. Durch Variation der Nullraumlage können z.B. Singularitäten vermieden werden. Hierbei wird die Nullraumlage des kollaborativen Roboters im Vergleich zu einer Default- oder zufälligen Nullraumlage abgeändert. Weiterhin kann durch Varation der Nullraumlage die Genauigkeit einer Prozesskraftermittlung erhöht und/oder maximiert werden. Durch die Variation der Nullraumlage kann weiterhin Arbeitsraumgrenzen ausgewichen werden, eine Steifigkeit und/oder ein Schwingungsverhalten des kollaborativen Roboters verbessert werden, insbesondere optimiert.
  • Eine vierte Lernhilfe ermöglicht eine Plausibilitätsprüfung und/oder Korrektur der eingelernten Arbeitsbewegung. Hierbei werden unplausible Konturkomponenten der Arbeitsbewegung auf Basis von Modellannahmen der Arbeitsbewegung entfernt. Dies kann zum Beispiel ein unnötiges Zucken oder ein Durchfahren eines Arbeitsraumes ohne Bauteilkontakt am Werkstück betreffen. Weiterhin kann dabei die Ausrichtung des Roboterarms 20 bzw. 120 und/oder die Ausrichtung des Roboterwerkzeugs 30 bzw. 130 korrigiert und bspw. an die Ausrichtung der Bauteiloberfläche angepasst werden.
  • Eine fünfte Lernhilfe ermöglicht eine (z. B. automatische) Erzeugung einer Splinebahn der Arbeitsbewegung aus einer Wolke von Stützpunkten. Hierbei kann die Splinebahn eine Glättung und/oder Zitterkompensation der Arbeitsbewegung beinhalten.
  • Eine sechste Lernhilfe ermöglicht eine (z. B. automatische) Ermittlung einer Ausrichtung der zu bearbeitenden Bauteiloberfläche des Werkstücks 300. Die Ausrichtung kann z.B. anhand der auftretenden Prozesskräfte und/oder optisch ermittelt werden. Anschließend kann davon abhängig eine Validierung der erlernten Stützpunkte erfolgen, z.B. anhand von 3D-Koordinaten der Stützpunkte. Alternativ oder zusätzlich kann die Ausrichtung des Roboterwerkzeugs 30 bzw. 130 zu der Bauteiloberfläche ermittelt und/oder eingestellt und/oder optimiert und/oder validiert werden. Gleichermaßen kann ein Kraftvektor einer Prozesskraft (wie z. B. einer Andruckkraft) relativ zur Bauteiloberfläche des Werkstücks 300 eingestellt und/oder optimiert und/oder validiert werden . In Abhängigkeit der ermittelten Bauteiloberfläche kann weiterhin der Arbeitsbereich definiert werden, in dem die Arbeitsbewegung angeordnet ist. Weiterhin in Abhängigkeit der Bauteiloberfläche kann eine Anfahrbewegung zum Werkstück 300 ermittelt und/oder geplant werden. Dies kann zum Beispiel eine Bewegung des Roboterwerkzeugs 30 bzw. 130 vom Endpunkt der Arbeitsbewegung zum Anfangspunkt der Arbeitsbewegung betreffen, insbesondere ohne Kollision mit dem Werkstück 300 oder eine Bewegung des Roboterwerkzeugs vom Default-Punkt zum Anfangspunkt der Arbeitsbewegung.
  • Die Bauteiloberfläche kann zum Beispiel durch Ermittlung eines Orthogonalvektors auf die Bauteiloberfläche ermittelt werden. Der Orthogonalvektor kann z.B. aus einer mathematischen Repräsentation der Bauteiloberfläche oder eines Teilstücks davon abgeleitet werden. Eine solche mathematische Repräsentation kann zum Beispiel durch eine automatische Messfahrt des kollaborativen Roboters 10 bzw. 110 entlang der Bauteiloberfläche, insbesondere unter einer vordefinierten Andruckkraftregelung erzeugt werden. Die Andruckkraftregelung kann im Lernmodus als Teil der sechsten Lernhilfe vordefiniert sein und/oder durch eine Bedienperson vordefiniert werden. Die Anfahrbewegung zum Werkstück 300 kann so geplant werden, dass eine Schersituation vermieden wird. Hierbei kann zunächst eine Bewegung unter einem ersten, größeren Abstand von dem Werkstück 300 bzw. dessen Bauteiloberfläche erfolgen. Anschließend kann ein Absenken des Roboterwerkzeugs 30 bzw. 130 auf die Bauteiloberfläche des Werkstücks 300 erfolgen, insbesondere in Richtung der Flächennormalen (also des Orthogonalvektors) auf die Bauteiloberfläche.
  • Eine siebte Lernhilfe ermöglicht eine Vervollständigung von im Lernmodus erkannten Lerneingaben um automatische Abläufe. Hierbei können auf Basis einiger vorgegebener Stützpunkte in Verbindung mit in der (Anlagen-)Steuerung vordefinierten Bewegungs-Templates Bahnen definiert werden, zum Beispiel Geraden und/oder Ellipsen sowie Flächen, zum Beispiel eine Rechteckfläche und/oder eine Kreisfläche. Die Flächen können durch vordefinierte Bewegungsmuster ausgefüllt werden, bspw. parametrierbare Dreiecks-, Sägezahn-, oder Spiralbahnen. Die Bewegungsmuster können dabei so festgelegt sein, dass sich eine möglichst gleichmäßige Verteilung der Bahnpunkte über die Gesamtfläche ergibt. Weiterhin kann eine Verschiebung, Skalierung und/oder Verzerrung der vordefinierten Bewegungs-Templates auf Basis eingelernter Stützpunkte erfolgen. So kann eine Kreisbewegung in eine Ellipsenbewegung verzerrt werden. Weiterhin kann eine Krümmung eines zweidimensionalen Bewegungs-Templates erfolgen und/oder vorgesehen sein. Die Verzerrung kann insbesondere eine automatische Projektion von vordefinierten Bewegungs-Templates auf gekrümmte Bauteiloberflächen des Werkstücks 300 beinhalten. Die Krümmungen können zum Beispiel mittels eines gefitteten CAD-Modells identifiziert werden und/oder CAD-frei durch automatisierte Identifikationsfahrten des Roboters ermittelt werden. Weiterhin können komplexe Bewegungsmuster eingelernten Arbeitsbewegungen überlagert werden. Dies ist auch in mehreren Stufen möglich: Bspw. kann aus einzelnen eingelernten Stützpunkten in einer ersten Stufe eine diese Stützpunkte verbindende Bahn erzeugt werden. In einer zweiten Stufe können dieser Bahn komplexe weitere Bewegungsmuster überlagert werden. So kann sich bspw. aus der Überlagerung der Bahn mit einer Kreisbewegung eine Spiralbewegung ergeben.
  • Die siebte Lernhilfe ermöglicht ein schnelleres Einlernen komplexer Bahnen, ein CADfreies Erlernen der Arbeitsbewegung und/oder eine Effizienzsteigerung des Einlernens.
  • Eine, mehrere oder sämtliche der Lernhilfen können als Software und/oder als Teil der (Anlagen-)Steuerung implementiert sein und/oder Software-gestützt durchgeführt werden.
  • Die Lernhilfen kombinieren ein „Teaching by demonstration“, also ein Erlernen der Arbeitsbewegung mittels Handführung, mit automatisierten Assistenzfunktionen, z. B. während des Einlemens und/oder nach dem Einlernen der Arbeitsbewegung. Weiterhin wird dadurch ein teilweises Einlernen der Arbeitsbewegung ermöglicht, zum Beispiel ein Anlernen einiger Stützpunkte und/oder Stützbahnen, wobei der Rest der Arbeitsbewegung automatisch ergänzt werden kann. Weiterhin kann eine Arbeitsbewegung an die konkrete Bauteilkontur im Rahmen des MRK und/oder Anlemens angepasst werden. Das Abschalten von Freiheitsgraden kann zum Beispiel ein Lernen von zweidimensionalen Arbeitsbewegungen vereinfachen. Durch die Kombination des Erlernens der Arbeitsbewegung per Handführung mit einer softwaregestützten Bahnplanung durch eine oder mehrere der Lernhilfen wird eine Erhöhung der Sicherheit der Anwendung ermöglicht.
  • Gemäß einer Ausführungsform wird der kollaborative Roboter 10 bzw. 110 für einen Polierprozess verwendet. Hierbei kann eine Oberflächenrauigkeit des Werkstücks 300 sensorbasiert erfasst werden, insbesondere während der kollaborative Roboter 10 bzw. 110 im Arbeitsmodus arbeitet. Auf Basis der erfassten Sensordaten kann automatisch eine oder mehrere der folgenden Arbeitsreaktionen durchgeführt werden, insbesondere automatisiert:
    • - Der Prozess kann anders geregelt werden, z. B. kann eine Poliergeschwindigkeit und/oder eine Andruckkraft verändert werden.
    • - Weiterhin kann der Prozess aufgrund der Daten optimiert werden, z.B. die Arbeitsbewegung auf einen Bereich der Bauteiloberfläche mit relativ hoher Oberflächenrauigkeit konzentriert werden.
    • - Der Prozess kann beendet werden, z. B. bei Erreichen einer Zielgenauigkeit des Polierens. Hierbei kann z. B. der Arbeitsmodus beendet werden.
    • - Eine Dokumentation des Arbeitsprozesses kann erstellt werden. Hierbei kann zum Beispiel festgehalten werden, welcher Rauigkeitsgrad nach wieviel Polierbewegungen erreicht wird.
  • Insgesamt kann unnötige Polierarbeit reduziert und/oder eliminiert werden. Weiterhin können objektive und reproduzierbare Polierergebnisse erzielt werden, da der Prozess unabhängig von einer menschlichen Variabilität ist. Ein weiterer Vorteil ist eine mögliche automatische Dokumentation der Polierergebnisse und/oder eine automatisierte Optimierung des Polierprozesses. Hierbei kann ein handgeführtes Einlernen mit einer sensorbasierten Prozessregelung kombiniert werden.
  • Nachfolgend wird anhand von Ausführungsbeispielen erläutert, wie der kollaborative Roboter 10 im Lernmodus arbeiten kann.
  • 5 zeigt in einem 3D-Diagramm ein Ausführungsbeispiel einer Werkstückoberfläche 400, welche der kollaborative Roboter 10 bearbeiten soll. Die Werkstückoberfläche 400 ist in einem kartesischen Koordinatensystem des 3D-Diagramms gezeigt, in welchem die x-Achse, die y-Achse und die z-Achse beschriftet sind.
  • Als Zielvorgabe soll auf der Werkstückoberfläche 400 eine Flächenbearbeitung realisiert werden (z.B. ein Polieren), d.h. das Roboterwerkzeug 30 soll mit
    • - einer vorbestimmten Geschwindigkeit,
    • - einer vorbestimmten Andruckkraft und/oder
    • - einer vorbestimmten Ausrichtung zur Werkstückoberfläche 400
    möglichst homogen über einen definierten Flächenabschnitt der Werkstückoberfläche 400 geführt werden. Dabei kann die Bearbeitungsbewegung des Roboterwerkzeugs 30 über einen vorbestimmten Zeitraum und/oder eine vorbestimmte Anzahl Zyklen zu wiederholen sein.
  • Eine Herausforderung kann dabei darin bestehen, die Bedienperson 200 zu befähigen, die Flächenbearbeitung (also z.B. die Polierapplikation) effizient, also möglichst innerhalb weniger Minuten, selbst einzulernen und dabei die über Jahre gewachsene Prozesskenntnis der Bedienperson 200 auf den Roboter 10 zu übertragen. Dabei soll die Bearbeitung beliebiger (z.B. a priori unbekannter) Oberflächenkonturen wie z.B. der Werkstückoberfläche 400 und/oder davon frei einstellbarer Flächenabschnitte ermöglicht werden.
  • Dabei erfolgt das Einlernen von Bearbeitungsapplikationen für Werkstückoberflächen 400 durch eine Kombination einer Handführfunktion des Roboters 10, also eines Teaching by Demonstration, mit softwarebasierten Assistenzfunktionen. Das Einlernen erfolgt am realen Werkstück 300 mit dem realen Roboterwerkzeug 30. Dadurch können Übertragungsfehler zwischen dem Roboter 10 und möglichen Sensoren und/oder CAD-Daten reduziert und/oder eliminiert werden. Dabei kann die Genauigkeit des Gesamtprozesses lediglich durch die Wiederholgenauigkeit des Roboters 10 bestimmt werden.
  • Details des Einlernprozesses und/oder einer Bahnplanung des kollaborativen Roboters 10 sind unter Bezugnahme auf die nachfolgenden 6 bis 14 beschrieben. Dabei können die beschriebenen Verfahrensschritte von einer Robotersteuerung unterstützt, geplant und/oder durchgeführt werden, insbesondere einer Robotersteuerung mit einem Prozessor. Die Robotersteuerung kann so konfiguriert, ausgebildet und/oder programmiert sein, dass der kollaborative Roboter 10 eine Arbeitsbahn zur Durchführung der Flächenbearbeitung erstellt, auf dessen Basis der Roboter 10 mittels einer impliziten und/oder expliziten Projektion der geplanten Arbeitsbahn auf eine Oberflächenkontur der Werkstückoberfläche 400 diese Werkstückoberfläche 400 bearbeiten kann.
  • Der kollaborative Roboter 10 wird von der Bedienperson 200 an eine Mehrzahl von Werkzeugpositionen x auf der Werkstückoberfläche 400 geführt. Dabei bewegt die Bedienperson 200 das Roboterwerkzeug 30 zu diskreten Punkten, nämlich den Werkzeugpositionen x, auf der zu bearbeitenden Oberflächenkontur, also der Werkstückoberfläche 400. Dabei kann die Bedienperson 200 einen mechanischen Kontakt zwischen dem Roboterwerkzeug 30 und der Werkstückoberfläche 400 herstellen. Diese diskreten Punkte der Werkzeugpositionen x bilden die Grundlage für einen zu erstellenden, vorbestimmten Polygonzug, welcher den Bearbeitungsbereich definiert und/oder abgrenzt.
  • Alternativ kann der Roboter 10 komplexe Oberflächenkonturen (z.B. als Teilgrenzen des Bearbeitungsbereichs) automatisch einlernen, indem er sich automatisch (unter Andruckkraft gegen diese Oberflächenkonturen) an diesen Oberflächenkonturen entlang bewegt und seine dabei entstehende Bewegungsbahn speichert.
  • Ermittlung der Prozessebene P
  • In Abhängigkeit von den eingelernten Werkzeugpositionen x wird zunächst eine Prozessebene P ermittelt.
  • 6A zeigt in einem 3D-Diagramm eine solche Prozessebene P, welche der Roboter 10 als eine Hilfsebene zur Planung seiner Arbeitsbahn verwendet. Die Prozessebene P kann beliebig im dreidimensionalen Raum positioniert und/oder orientiert sein. Die Prozessebene P kann z.B. in die eingelernten Werkzeugpositionen x gefittet werden, z.B. durch Minimierung der quadratischen Abstände zwischen den Werkzeugpositionen x und der Prozessebene P.
  • Die Robotersteuerung kann die Planung der Arbeitsbahn (auch als Bahnplanung bezeichnet) für das Roboterwerkzeug 30 entlang der Werkstückoberfläche 400 im zweidimensionalen Raum durchführen, nämlich innerhalb der Prozessebene P.
  • Durch Projektion der Werkzeugpositionen x auf die Prozessebene P entlang einer Normalen N auf die Prozessebene P werden Hilfspunkte f innerhalb der Prozessebene P ermittelt. Die Hilfspunkte f sind in 6A mit einem kleinen Kreis gekennzeichnet. Damit entsprechen die Hilfspunkte f in der Prozessebene P den Werkzeugpositionen x auf der Werkstückoberfläche 400.
  • In der Prozessebene P kann ein einhüllendes Prozessrechteck R definiert werden, welches sämtliche Hilfspunkte f enthält. Dabei kann das Prozessrechteck R so minimiert sein, dass jeweils zumindest ein Hilfspunkt f auf einer Seitenlinie des Prozessrechtecks R positioniert ist, aber kein einziger Hilfspunkt f außerhalb des Prozessrechtecks R. Das Prozessrechteck R kann an geometrischen Gegebenheiten des Werkstücks 300 und/oder der Werkstückoberfläche 400 ausgerichtet werden, z.B. entlang von Hauptträgheitsachsen der Werkstückoberfläche 400 orientiert sein.
  • Das Prozessrechteck R kann rechteckig ausgebildet sein mit einer ersten Hauptachse H1P , und einer zweiten Hauptachse H2p. Dabei verlaufen die beiden Hauptachsen H1P und H2P parallel zu einander jeweils gegenüberliegenden Seiten des Prozessrechtecks R durch einen Mittelpunkt M des Prozessrechtecks R hindurch. Die erste Hauptachse H1P kann als eine kürzere Hauptachse ausgebildet sein kann, während die zweite Hauptachse H2P als eine längere Hauptachse ausgebildet sein kann.
  • Dieser Ansatz einer Projektion der eingelernten Werkzeugpositionen auf eine Prozessfläche, deren Lage und Form an die eingelernten Werkzeugpositionen angepasst wird, und innerhalb derer die Bahnplanung stattfindet, kann alternativ mittels unterschiedlicher Flächenformen erfolgen. Mit anderen Worten kann die Bahnplanung auch innerhalb einer anderen geometrischen Form als innerhalb des Prozessrechtecks R erfolgen, wie z.B. innerhalb eines Kreises und/oder eines Vielecks innerhalb der Prozessebene P. Weiterhin muss die Bahnplanung nicht zwingend innerhalb der Prozessebene P erfolgen, sondern es kann stattdessen z.B. eine zylindrische, kugelförmige oder anderweitig gekrümmte Prozessfläche verwandt werden. Eine Auswahl der geeigneten Die Basisform der Prozessfläche, also z.B. Prozessebene, Prozesszylinder, Prozesskugel, kann bspw. an die Werkstückgeometrie angepasst werden. Dies kann entweder automatisch oder durch die Bedienperson 200 erfolgen. Sollen rotationssymmetrische Werkstücke bearbeitet werden, bann bspw. die Auswahl einer zylindrischen Prozessfläche vorteilhaft sein, um die Bearbeitung zu vereinfachen und Fehler, die durch die Projektion auf die Prozessfläche entstehen, zu minimieren.
  • Ermittlung des einhüllenden Polygonzugs
  • 6B zeigt in einem 2D-Diagramm, wie die Robotersteuerung die Hilfspunkte f innerhalb der Prozessebene P zu einem die Hilfspunkte f einhüllenden Polygonzug PZ verbindet. Der Polygonzug PZ liegt vollständig innerhalb des Prozessrechtecks R oder maximal auf dessen Seitenlinien. Dabei kann der Polygonzug PZ zumindest einen Schnittpunkt mit jeder Seitenlinie des Prozessrechtecks R aufweisen. Der Polygonzug PZ verbindet sämtliche Hilfspunkte f und ist eher konvex ausgebildet. Alternativ können nichtkonvexe Polygonzüge verwendet werden und z.B. sinnvoll sein, um komplexe Grenzverläufe von Flächenabschnitten zu beschreiben.
  • Alternativ kann der Polygonzug PZ auch als ein äußerer, z.B. konvexer, Rahmen durch einige äußere Hilfspunkte f definiert werden, wobei der Polygonzug PZ mehrere Hilfspunkte f umschließt, die in seinem Inneren angeordnet sind. Das Äußere der Polygonzugs PZ ist jedenfalls frei von Hilfspunkten f ausgebildet.
  • Planung der Arbeitsbahn
  • 7A und 7B zeigen in jeweils einem Diagramm, wie die abzufahrende Arbeitsbahn B in der Prozessebene P, in dem Prozessrechteck R und innerhalb des darin befindlichen Polygonzugs PZ definiert wird. Als Vorlage dienen vordefinierte prototypische Bewegungsmuster wie z.B. Zickzack, Schleifen, Spiralen, etc. Die Bewegungsmuster für die Arbeitsbahn B können durch die Bedienperson 200 frei parametrierbar sein. Beispielsweise kann die Bedienperson 200 einen Zackenabstand der Zickzackmuster, eine Schleifenbreite, etc. als Parameter frei auswählen. Dabei wird die Arbeitsbahn B entlang der Seiten des einhüllenden Prozessrechtecks R in der Prozessebene P aufgespannt.
  • 6A zeigt in einem 2D-Diagramm ein Ausführungsbeispiel, wobei eine Zickzackbahn als Arbeitsbahn B ermittelt wird. Dabei werden parallel zur ersten Hauptlinie H1P des Prozessrechtecks R gestrichelt gezeigte Hilfslinien Hi verwendet, wobei i einer Nummerierung entspricht. Die Hilfslinien Hi weisen einen konstanten Abstand zueinander auf, welcher als Parameter der Arbeitsbahn B von der Bedienperson 200 bestimmt und/oder ausgewählt werden kann.
  • Ein Schnittpunkt des Polygonzugs PZ mit einer endseitigen Hilfslinie H1, also einer Hilfslinie, welche benachbart zu einer (hier unteren) Seitenlinie des Prozessrechtecks R angeordnet ist, kann als Startpunkt S der Arbeitsbahn B bestimmt werden. Am Startpunkt S schneidet die endseitige erste Hilfslinie H1 den Polygonzug PZ entweder an einer linken oder rechten Seite der Fläche des Polygonzugs PZ, im gezeigten Ausführungsbeispiel an einer linken Seite. Vom Startpunkt S wird die Arbeitsbahn B bestimmt zu einem Schnittpunkt der benachbarten, zweiten Hilfslinie H2 mit einer gegenüberliegenden (hier rechten) Seite des Polygonzugs PZ, von dort zu wieder zu einem Schnittpunkt mit einer benachbarten, dritten Hilfslinie H3 mit der gegenüberliegenden (hier linken) Seite des Polygonzugs PZ usw. bis zur letzten Hilfslinie Hi am oberen um oberen Ende des Polygonzugs PZ. Von dort wird die Arbeitsbahn B bestimmt in entgegengesetzte Richtung zwischen den Schnittpunkten mit dem Polygonzug hin und her.
  • Die Richtung der Arbeitsbahn B ist mit Pfeilen gekennzeichnet. Die so ermittelte Arbeitsbahn B dient als Grundlage der Roboterbewegung während des Arbeitsmodus.
  • 6B zeigt in einem 2D-Diagramm ein Ausführungsbeispiel, wie eine Spiralbahn als Arbeitsbahn B ermittelt wird. Dabei wird innerhalb des Polygonzugs PZ eine Spiralbahn ermittelt. Schnittpunkte der Spiralbahn mit dem Polygonzug PZ können hierbei ebenfalls auf Basis von (in 7B nicht gezeigten) Hilfslinien ermittelt werden, welche genau wie die in 7A gezeigten Hilfslinien Hi parallel zu einer der Hauptlinien des Prozessrechtecks R ausgebildet und parametrisiert sein können, insbesondere parallel zur kürzeren ersten Hauptlinie H1P des Prozessrechtecks.
  • Dadurch ist eine zweidimensionale Arbeitsbahn B in der Prozessebene definiert.
  • Nachfolgend werden Möglichkeiten beschrieben, wie diese Arbeitsbahn B auf die Oberflächenkontur, also die Werkstückoberfläche 400 projiziert und dort zur Anwendung gebracht werden kann.
  • Dies kann z.B. entweder durch eine implizite Projektion der Arbeitsbahn B auf die Werkstückoberfläche 400 erfolgen, oder durch eine explizite Projektion der Arbeitsbahn B auf die Werkstückoberfläche 400.
  • Implizite Projektion der Arbeitsbahn
  • Bei einer impliziten Projektion der Arbeitsbahn B kann ein sensitiver Roboter als kollaborativer Roboter 10 genutzt werden. Er wird so programmiert, dass er die in der Prozessebene P definierte Arbeitsbahn B abfährt. Gleichzeitig wird der Roboter 10 in eine Gleichkraftrichtung, z.B. in Richtung der Normalen N zur Prozessebene P (vgl. auch 6A), nachgiebig geschaltet. Dabei wird in diese Gleichkraftrichtung eine Gleichkraft aufgeschaltet, die auf das Werkstück 300 gerichtet ist und wirkt. Alternativ kann die Gleichkraftrichtung auch in eine andere Richtung als die Normale N gerichtet sein, z.B. in Stoßrichtung des Werkzeugs o.Ä.
  • Damit wird die reale Roboterpose von der programmierten Roboterpose (in der Arbeitsbahn B) verschoben, und zwar in Richtung der Normalen N zur Prozessebene P, bis ein mechanischer Kontakt zwischen dem Roboter 10 und dem Werkstück 300 hergestellt wird. Dabei passen sich translatorische Werkzeugkoordinaten automatisch der Oberflächenkontur, also der Werkstückoberfläche 400 an, obwohl diese dem Roboter 10 tatsächlich nicht bekannt ist und er seine Arbeitsbewegung nur in der zweidimensionalen Prozessebene geplant hat.
  • Mit anderen Worten wird der Roboter 10 so angesteuert, als würde er eine zweidimensionale Arbeitsbewegung entlang der Arbeitsbahn B in der Prozessebene ausführen, wobei lediglich die Gleichkraft zugeschaltet wird.
  • Dabei kann eine rein translatorsiche Anpassung der Roboter-/Werkzeugpose für Bearbeitungsanwendungen oft nicht ausreichend sein. Deswegen können zusätzlich auch rotatorische Roboter- und/oder Werkzeugkoordinaten kontinuierlich angepasst werden. Dies kann so erfolgen, dass das Roboterwerkzeug 30 stets in einem konstanten Winkel zur Werkstückoberfläche 400 steht.
  • Im Rahmen dieser Erfindung werden diese Roboter- und Werkzeugkoordinaten, welche auch Roboter- und Werkzeugorientierungen enthalten, zusammengefasst unter dem Begriff Roboterorientierungen.
  • Dabei kann eine Interpolation von Roboterorientierungen über Linien oder Pfaden erfolgen, z.B. um die Roboterorientierung am Startpunkt S der Arbeitsbahn B kontinuierlich in die Roboterorientierung am Endpunkt der Arbeitsbahn B zu überführen. Dies kann auch für Anfangs- und Endpunkte eines Abschnitts der Arbeitsbahn B gelten, z.B. zwischen zwei eingelernten Werkzeugpositionen x und/oder den entsprechenden Hilfspunkten f.
  • Die so konfigurierte Robotersteuerung kann eine Interpolation von Roboterorientierungen nicht nur entlang einer Linie durchführen, sondern auch in einer Fläche. Dabei wird eine Flächeninterpolation durchgeführt. Basierend auf einer begrenzten Anzahl in der Fläche verteilter Beispielorientierungen an den Hilfspunkten f werden die Roboterorientierungen an beliebigen Punkten innerhalb des Prozessbereichs, z.B. des Polygonzugs PZ, hergeleitet und/oder ermittelt. Dabei entsprechen die Roboterorientierungen an den Hilfspunkten f den Roboterorientierungen an den zugehörigen, eingelernten Werkzeugpositionen x. Die so interpolierten Roboterorientierungen werden insbesondere im Rahmen der Ermittlung und/oder Definition der Arbeitsbahn B verwendet.
  • 8A und 8B zeigen in Diagrammen, an welchen Punkten die Roboterorientierungen ermittelt werden. Dabei zeigt 8A das Prozessrechteck R in einem 3D-Diagramm, während 8B das Prozessrechteck R in einem 2D-Diagramm transformiert in die Prozessebene P zeigt.
  • Dabei sind die eingelernten Roboterorientierungen an den Hilfspunkten f durch jeweils ein stilisiertes, fett gezeigtes Koordinatensystemzeichen gezeigt. Für die Bahnplanung der Arbeitsbahn B werden die Roboterorientierungen an zusätzlichen Arbeitspunkten a benötigt. Die Roboterorientierungen an den Arbeitspunkten a sind durch jeweils ein stilisiertes, dünn gezeigtes Koordinatensystemzeichen gezeigt und werden durch Interpolation der eingelernten Roboterorientierungen ermittelt. Hierbei sind nicht alle, sondern nur einige der Arbeitspunkte a durch ein Bezugszeichen gekennzeichnet.
  • Die Bedienperson 200 erhält die Möglichkeit, die Roboterorientierungen und somit die Werkzeugorientierungen an dedizierten Punkten des Bearbeitungsbereiches manuell einzulernen. Aus den Orientierungen an den Hilfspunkten kann eine interpolierte Orientierung für jeden Punkt innerhalb des zweidimensionalen Polygonzugs PZ berechnet werden.
  • Sofern zwischen den eingelernten und/oder ermittelten Arbeitspunkten a eine etwa gleichmäßige Krümmung der Oberflächenkontur der Werkstückoberfläche 400 vorliegt, wird durch die Interpolation eine näherungsweise automatische Anpassung der Roboterorientierung an die gekrümmte Oberflächenkontur der Werkstückoberfläche 400 erreicht. Dies kann für jeden Punkt innerhalb des Bearbeitungsbereichs gelten.
  • Somit kann auf Basis nur weniger einzulernender Beispielpunkte, nämlich der Werkzeugpositiionen x und den daraus abgeleiteten Hilfspunkten f, eine konturangepasste sowohl translatorische als auch rotatorische Ausrichtung des Roboterwerkzeugs 30 erreicht werden. Somit wird im Rahmen der impliziten Projektion der Arbeitsbahn B nur mit Kenntnis der eingelernten Beispielposen, insbesondere ohne explizite Informationen über die Flächenkontur der Werkstückoberfläche 400, eine konturangepasste Flächenbearbeitung des Werkstücks 300 ermöglicht.
  • Anzahl und Verteilung der eingelernten Beispielposen kann die Bedienperson 200 selbst bestimmen und dadurch die Genauigkeit der Konturanpassung dem Prozessbedarf anpassen.
  • Das Verfahren zur flächenbasierten Interpolation ermöglicht im Vergleich zu herkömmlichen Verfahren, den technologischen sowie praktischen Aufwand für den Bediener signifikant zu reduzieren. Desweitern wird dadurch ermöglicht, Abbildungsfehler von z.B. Sensor-CAD-Robotern zu reduzieren, da mit dem realen Roboterwerkzeug 30 am realen Werkstück 300 gearbeitet wird.
  • Erstes Ausführungsbeispiel einer flächenbasierten Interpolation von Roboterorientierungen für eine implizite Projektion der Arbeitsbahn
  • Beispielhaft werden nachfolgend zwei mögliche Verfahren für eine flächenbasierte Interpolation von Roboterorientierungen erläutert.
  • 9A zeigt in einem 2D-Diagramm ein erstes Ausführungsbeispiel eines Verfahrens zur flächenbasierten Interpolation von Roboterorientierungen an Arbeitspunkten in einem Polygonzug PZ. Dabei basiert der Polygonzug PZ z.B. auf den Hilfspunkten f1 bis f10, d.h. an diesen z.B. zehn Hilfspunkten f1 bis f10 sind die Roboterorientierungen eingelernt und somit bekannt.
  • Bei diesem Verfahren werden die an den Polygoneckpunkten des Polygonzugs PZ gespeicherten Roboterorientierungen als Grundlage verwendet, um interpolierte Roboterorientierungen an beliebigen Arbeitspunkten innerhalb des Polygons PZ herzuleiten.
  • Ein Algorithmus zur Herleitung einer interpolierten Roboterorientierung an einem Arbeitspunkt fS im Polygonzug PZ im Prozessrechteck R kann wie folgt arbeiten:
    1. 1. Es wird eine Interpolationslinie I durch den Arbeitspunkt fS gelegt, und zwar parallel zur (z.B. kleineren) Seitenkante des Prozessrechtecks R
    2. 2. Es werden Schnittpunkte der Interpolationslinie I mit dem Polygonzug PZ ermittelt, in als Schnittpunkte fL1 und fL2 gekennzeichnet.
    3. 3. Die Roboterorientierungen an den Schnittpunkten fL1 und fL2 werden z.B. durch lineare Interpolation der Roboterorientierungen an den entlang des Polygonzugs PZ benachbarten, vorbekannten Hilfspunkten f ermittelt. Dies sind für den ersten Schnittpunkt fL1 die Hilfspunkte f1 und f2, für den zweiten Schnittpunkt fL2 die Hilfspunkte f8 und f9.
    4. 4. Die Roboterorientierung an dem Arbeitspunkt fS wird durch z.B. lineare Interpolation der Roboterorientierungen an den Schnittpunkten fL1 und fL2 ermittel.
  • Durch dieses flächenbasierte Interpolationsverfahren lässt sich die Roboterorientierung an jedem beliebigen Arbeitspunkt innerhalb des Polygonzugs PZ ermitteln.
  • Zweites Ausführungsbeispiel einer flächenbasierten Interpolation von Roboterorientierungen für eine implizite Projektion der Arbeitsbahn
  • 9B zeigt in einem 2D-Diagramm ein zweites Ausführungsbeispiel eines Verfahrens zur flächenbasierten Interpolation von Roboterorientierungen an Arbeitspunkten innerhalb eines Prozessrechtecks R. Innerhalb des Prozessrechtecks R sind die Roboterorientierungen an mehreren Hilfspunkten f eingelernt, die hier allerdings nicht nur entlang des einhüllenden Polygonzugs PZ verteilt sind, sondern beliebig im Polygonzug PZ angeordnet sein können.
  • Auch bei diesem Verfahren werden die an Hilfspunkten f gespeicherten Roboterorientierungen als Grundlage verwendet, um interpolierte Roboterorientierungen an beliebigen Arbeitspunkten innerhalb des Polygonzugs PZ herzuleiten.
  • Dabei können Roboterorientierungen an beliebig verteilten Hilfspunkten f als Grundlage für die flächenbasierte Interpolation verwendet werden. Ein Algorithmus zur Herleitung einer interpolierten Roboterorientierung an einem Arbeitspunkt im Polygonzug PZ kann wie folgt arbeiten:
    1. 1. Der gesamte Bearbeitungsbereich wird in Dreiecke unterteilt, deren Eckpunkte die eingelernten Hilfspunkte f bilden.
    2. 2. Innerhalb jedes Dreiecks wird die im Zusammenhang mit 9A beschriebene flächenbasierte Interpolation durchgeführt.
  • Wobei nach dem im Zusammenhang mit 9A beschriebenen Verfahren wird eine interpolierte Roboterorientierung aus maximal vier benachbarten, eingelernten Roboterorientierung berechnet wird, während hier die Roboterorientierung aus maximal drei benachbarten, eingelernten Roboterorientierung berechnet wird.
  • Alternativ können interpolierte Roboterorientierungen auch durch gewichtete Mittelwertbildung benachbarter Beispielorientierungen berechnet werden. Die Gewichte können sich dabei z.B. aus flächenbasierten Zugehörigkeitsfunktionen (z.B. radiale Basisfunktionen) ergeben, die um jeden Beispielpunkt zentriert werden.
  • Auch durch dieses flächenbasierte Interpolationsverfahren lässt sich die Roboterorientierung an jedem beliebigen Arbeitspunkt innerhalb des Polygonzugs PZ ermitteln.
  • Explizite Projektion der Arbeitsbahn
  • 10 zeigt in einem 3D-Diagramm ein Ausführungsbeispiel einer expliziten Projektion der Arbeitsbahn B. Dabei wird die in der Prozessebene P definierte Arbeitsbahn B auf die Oberflächenkontur der Werkstückoberfläche 400 projiziert, das als mathematisches Modell vorliegt oder berechnet wird. Durch Projektion der Arbeitsbahn B auf die Werkstückoberfläche 400, z.B. entlang der Normalen N auf die Prozessebene P, ergibt sich die 3D-Arbeitsbahn B'. Anstelle auf die in der Prozessebene P ermittelte Arbeitsbahn B wird der Roboter 10 auf die auf die mathematisch berechnete Werkstückoberfläche 400 projizierte Arbeitsfläche B' geführt.
  • Bei der expliziten Projektion der Arbeitsbahn B auf die Werkstückoberfläche 400 liegen die Zielkoordinaten des Roboters 10 auf der Oberflächenkontur der Werkstückoberfläche 400, zumindest entsprechend dem mathematischen Oberflächenmodell.
  • Bei der impliziten Projektion der Arbeitsbahn liegen die Zielkoordinaten des Roboters 10 in der Prozessebene P.
  • Somit ergeben sich im Fall der expliziten Projektion üblicherweise gekrümmte Zielbahnen des Roboters 10, selbst für den Fall einer Linienbahn innerhalb der Prozessebene P. Deswegen ist der in 10 gezeigte Abschnitt der projizierten Arbeitsbahn B' gekrümmt, obwohl der zugehörige Abschnitt der Arbeitsbahn B in der Prozessebene P geradlinig ist.
  • Explizit projektionsbasierte Verfahren ermöglichen:
    1. 1. Eine automatische Positionierung des Roboterwerkzeugs 30 auf der Oberflächenkontur der Werkstückoberfläche 400.
    2. 2. Eine automatische Ausrichtung des Roboterwerkzeugs 30 in einem definierten Winkel zur Oberfläche (z.B. unter einem Arbeitswinkel von 90°).
    3. 3. Eine verbesserte Vorhersehbarkeit der Roboterbewegung, da der Abstand zwischen realer und programmierter (projizierter) Arbeitsbahn B' durch den Abstand zwischen Oberflächenmodell und realer Werkstückoberfläche 400 bestimmt wird und größere Abweichungen zwischen Modell und Realität nicht zu erwarten sind. Im Falle der impliziten Projektion sind dagegen größere Abstände zwischen realer und programmierter Arbeitsbahn B zu erwarten.
    4. 4. Eine Homogenisierung des Bahnverlaufs, da durch Verzerrung der projizierten Arbeitsbahn B' eine homogenere Verteilung selbiger Bahn über die modellierte Werkstückoberfläche 400 erzielt werden kann.
    5. 5. Eine Homogenisierung der Bahngeschwindigkeit durch eine dynamische Einstellung der Bahngeschwindigkeit, so kann bei einer großen Bahndichte eine große Geschwindigkeit verwendet werden, während bei einer kleinen Bahndichte eine kleine Geschwindigkeit verwendet werden kann.
  • Dabei kann insbesondere durch die Homogenisierungsansätze 4. und 5. eine gleichmäßige Verteilung der Aufenthaltsdauer des Bearbeitungswerkzeugs 30 über die gesamte zu bearbeitende Werkstückoberfläche 400 und somit ein gleichmäßiges Arbeitsergebnis - trotz der gekrümmten Oberflächenkontur - erreicht werden.
  • Die Erzeugung eines Oberflächenmodells erfolgt herkömmlich auf Basis von Sensor- und/oder CAD- Daten. Dies führt zu Nachteilen wie z.B. einem hohen technischen Aufwand, multiplizierten Fehlerquellen sowie Übertragungsfehlern zwischen CAD-Daten, Sensordaten und Roboter 10.
  • Deswegen kann der erfindungsgemäße Roboter 10 eines der nachfolgend beschriebenen Verfahren zur mathematischen Modellberechnung der Werkstückoberfläche 400 verwenden, also zur Erzeugung eines Oberflächenmodells.
  • Oberflächenmodell auf Basis einer haptischen Abtastung für eine explizite Projektion der Arbeitsbahn
  • Ein Oberflächenmodell der Werkstückoberfläche 400 kann durch haptische Abtastung erstellt werden. Dabei kann vor der Prozessausführung die Werkstückoberfläche 400 durch einen Messtaster haptisch abgetastet werden.
  • Alternativ kann während der Prozessausführung eine haptische Abtastung erfolgen. Während der Prozessausführung gleitet der Roboter 10 prozessbedingt mit seinem Roboterwerkzeug 30 an der Oberflächenkontur des Werkstücks 300 ab. Die zugehörigen Posen, d.h. Roboterorientierungen, werden durch den Roboter 10 aufgezeichnet und zur Herleitung eines mathematischen Oberflächenmodells bzw. zur kontinuierlichen Verfeinerung eines mathematischen Oberflächenmodells der Werkstückoberfläche 400 verwendet. Ein mathematisches Oberflächenmodell kann bspw. auf Basis von Splines definiert sein und/oder werden. Die Anpassung an aufgezeichnete Roboter-/Werkzeugposen, d.h. Roboterorientierungen, kann bspw. durch Fitting im Sinne eines minimalen quadratischen Abstands zwischen Oberflächenmodell und aufgezeichneten Posen erfolgen.
  • Somit werden während der Prozessausführung haptisch Oberflächenkoordinaten akquiriert und während der Laufzeit der Bearbeitungsapplikation zur Erzeugung oder Verbesserung des Oberflächenmodells eingesetzt.
  • Oberflächenmodell für eine explizite Projektion der Arbeitsbahn durch Einlernen
  • Wiederum alternativ hierzu kann ein Oberflächenmodell durch Einlernen erstellt werden. Hierbei wird die Bedienperson 200 befähigt, eine komplexe Oberflächenkontur durch Handführung des Roboters 10 (inkl. des Roboterwerkzeugs 30) einzulernen. Der Prozess der Oberflächenerstellung kann anhand der folgenden Schritte erfolgen:
  • In einem ersten Verfahrensschritt lernt die Bedienperson 200 die Position und Orientierung beliebiger ausgewählter Beispielpunkte durch Handführung ein, d.h. beliebig ausgewählte Werkzeugpositionen x. Dies erfolgt analog zur und genauso wie bei der impliziten Projektion. Dabei stellt die Bedienperson 200 an jeder Werkzeugposition x einen mechanischen Kontakt zwischen dem Roboterwerkzeug 30 und dem Werkstück 300 her.
  • 11 zeigt in einem 3D-Diagramm diesen ersten Verfahrensschritt, nämlich wie auf der Werkstückoberfläche 400 eine Mehrzahl von Werkzeugpositionen x mit zugehöriger Roboterorientierung im dreidimensionalen Raum eingelernt sind. Dabei sind lediglich einige der eingelernten Werkzeugpositionen x mit einem Bezugszeichen gekennzeichnet.
  • An jeder Werkzeugposition x richtet die Bedienperson 200 Roboterwerkzeug 30 in dem gewünschten und stets identischen Winkel zur Oberflächenkontur aus, d.h. in der zugehörigen Roboterorientierung.
  • 12 zeigt in einem 3D-Diagramm einen zweiten Verfahrensschritt, wobei aus den durch die Bedienperson 200 eingelernten Roboterorientierungen an den Werkzeugpositionen x die zugehörigen Normalenvektoren auf die Oberflächenkonturen der Werkstückoberfläche 400 ermittelt werden. Dabei kann für jede Werkzeugposition x auf Basis des Normalenvektors eine zugehörige Tangentialebene T definiert werden. In der 12 sind diese Tangentialebenen T durch Kreisflächen symbolisiert und gekennzeichnet.
  • 13A und 13B zeigen in einem 3D-Diagramm aus unterschiedlichen Ansichten einen dritten Verfahrensschritt, wobei die Funktionswerte der Tangentialebenen T mit dem unter Bezug auf die 9A und 9B beschriebenen Interpolationsansatz miteinander verschliffen werden.
  • Dabei können die Tangentialebenen T innerhalb des Polygonzuges PZ in der Prozessebene P flächenbasiert interpoliert werden. Anstelle der Roboterorientierungen werden hierbei die Funktionswerte der Tangentialebenen T der an den Werkzeugpositionen x, genauer an den diesen zugeordneten Hilfspunkten f in der Prozessebene P, interpoliert.
  • Das Ergebnis dieses Verfahrens ist ein aus den beispielhaft ausgewählten Werkzeugpositionen x rekonstruiertes mathematisches Oberflächenmodell 400' der Werkstückoberfläche 400.
  • Alternativ zu diesem dritten Verfahrensschritt können die Tangentialebenen T durch ein allgemeines Oberflächenmodell, das bspw. auf Splines basiert, approximiert werden. In diesem Fall kann eine Gewichtung der Oberflächenkoordinaten jeder Tangentialebene T berücksichtigt werden, die mit größer werdendem Abstand vom Entwicklungspunkt der Tangentialebene T, also dem eingelernten Punkt, abfällt.
  • Ein Vorteil dieser Alternative ist es, dass die Eigenschaften des Oberflächenmodells durch die Auswahl der Modellstruktur beeinflusst werden können. Beispielsweise kann durch ein Modell, das auf Splines basiert, ein stetiger Verlauf der approximierten Oberfläche erreicht werden.
  • Wie voranstehend beschrieben, können mit Hilfe des Oberflächenmodells zum einen Posen und zum anderen die Orientierungen des Roboters an die Oberflächenkontur angepasst werden. Beide Anpassungsverfahren können unabhängig voneinander eingesetzt werden. Beispielsweise können die translatorischen Koordinaten des Roboters aus dem Oberflächenmodell und die rotatorischen Koordinaten unabhängig davon aus einer Interpolation der eingelernten Roboterorientierungen abgeleitet werden. Dadurch kann auch im Fall von Unstetigkeiten im Oberflächenmodell ein stetiger Orientierungsverlauf über die gesamte Fläche erreicht werden.
  • Die 14A und 14B zeigen in jeweils einem 3D-Diagramm aus unterschiedlichen Richtungen einen Vergleich zwischen dem aus den Tangentialebenen T ermittelten Oberflächenmodell 400' und der tatsächlichen Werkstückoberfläche 400.
  • Der Vergleich zwischen realer Oberfläche 400 und rekonstruierter Oberfläche 400' zeigt nur geringe Abweichungen. Hierbei wurde mit nur 21 Beispielpunkten, also Werkzeugpositionen x, ein komplexer Konturverlauf in praxistauglicher Genauigkeit nachgebildet.
  • Das Einlernen eines Oberflächenmodells 400' geht mit vergleichbar geringem praktischem Aufwand genau wie der Einlernprozess für eine implizite Projektion einher. Gleichzeitig können die o.g. Vorteile der expliziten Projektion genutzt werden. Da der Einlernprozess des Oberflächenmodells 400' mit dem realen Roboterwerkzeug 30 am realen Werkstück 300 erfolgt, werden Übertragungsfehler zwischen einem Sensor, CAD und Roboter vermieden. Desweiteren kann der Nutzer die Anzahl und Verteilung der Werkzeugpositionen x als Stützpunkte frei einstellen und dadurch die Genauigkeit des Oberflächenmodells 400' kontrollieren und an die Prozesserfordernisse anpassen. Dadurch ist es möglich, unterschiedliche Teile des Oberflächenmodells 400' unterschiedlich genau einzulernen.
  • Durch Augmented Reality kann während des Einlernprozesses das jeweils aktuelle Oberflächenmodell 400', das sich aus den bereits eingelernten Werkzeugpositionen x ergibt, virtuell über die Realkontur projiziert werden. Dies ermöglicht der Bedienperson 200 eine direkte Rückmeldung darüber, in welcher Detailtiefe das Oberflächenmodell 400' die Realkontur der Werkstückoberfläche 400 wiedergibt. Desweiteren kann die Bedienperson 200 auf Basis dieser Rückmeldung einfach entscheiden, wo weitere Werkzeugpositionen x eingelernt werden sollten. Weitere Anknüpfungspunkte für Augmented Reality ergeben sich im Kontext der Darstellung der Prozessebene, des Bearbeitungsbereiches und der eingelernten Bahn.
  • Bezugszeichenliste
  • 10
    kollaborativer Roboter
    20
    Roboterarm
    21
    Flanschende
    22
    Standfuß
    23
    Gelenk
    30
    Roboterwerkzeug
    40
    Kraft-Momenten-Sensor
    50
    Bedienelement
    51
    Modusanwahlvorrichtung
    60
    Rollwagen
    110
    kollaborativer Roboter
    120
    Roboterarm
    121
    Flanschende
    122
    Standfuß
    123
    Gelenk
    130
    Roboterwerkzeug
    131
    Austauschwerkzeug
    200
    Bedienperson
    300
    Werkstück
    400
    Werkstückoberfläche
    400'
    modellierte Werkstückoberfläche
    B
    Arbeitsbahn
    B'
    projizierte Arbeitsbahn
    Hi
    Hilfslinie
    H1P
    erste Hauptachse
    H2P
    zweite Hauptachse
    I
    Interpolationslinie
    M
    Mittelpunkt
    N
    Normale
    P
    Prozessebene
    PZ
    Polygonzug
    R
    Prozessrechteck
    S
    Startpunkt
    T
    Tangentialebene
    a
    Arbeitspunkt
    f
    Hilfspunkt
    fs
    Arbeitspunkt
    fL1
    Schnittpunkt
    fL2
    Schnittpunkt
    x
    Werkzeugposition

Claims (20)

  1. Kollaborativer Roboter (10; 110) zum Bearbeiten eines Werkstücks (300) mit: - einem Roboterwerkzeug (30; 130) zum Bearbeiten des Werkstücks (300) und - einer Modusanwahlvorrichtung (51) zum Überführen des kollaborativen Roboters (10; 110) in einen Lemmodus und in einen Arbeitsmodus; wobei - der kollaborative Roboter (10; 110) dazu konfiguriert ist, im Lernmodus eine Arbeitsbewegung des Roboterwerkzeugs (30; 130) zum Bearbeiten des Werkstücks (300) zu erlernen; - der kollaborative Roboter (10; 110) dazu konfiguriert ist, im Arbeitsmodus die im Lernmodus erlernte Arbeitsbewegung durchzuführen; und - der Lernmodus so konfiguriert ist, dass der kollaborative Roboter (10; 110) im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs (30; 130) an dem zu bearbeitenden Werkstück (300) erlernt.
  2. Kollaborativer Roboter (10; 110) nach Anspruch 1, wobei der Lernmodus so konfiguriert ist, dass der kollaborative Roboter (10; 110) im Lernmodus die Arbeitsbewegung durch Handführung einer Bedienperson (200) erlernt.
  3. Kollaborativer Roboter (10; 110) nach Anspruch 1 oder 2, wobei der kollaborative Roboter (10; 110) dazu ausgebildet ist, im Lernmodus eine Arbeitsbewegung zum Bearbeiten einer Spritzgussform als Werkstück zu erlernen.
  4. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, wobei die Bewegungsgeschwindigkeit des Roboterwerkzeugs (30; 130) und/oder des kollaborativen Roboters (10; 110) im Lernmodus und/oder im Arbeitsmodus auf eine Maximalgeschwindigkeit von maximal 50 mm/s gedrosselt ist.
  5. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, wobei der kollaborative Roboter (10; 110) dazu konfiguriert ist, - im Lernmodus eine Mehrzahl von Werkzeugpositionen (x) auf einer Werkstückoberfläche (400) des Werkstücks (300) zu lernen, - die Werkzeugpositionen (x) auf eine Prozessfläche (P) zu projizieren, um zu den Werkzeugpositionen (x) korrespondierende Hilfspunkte (f) auf der Prozessfläche (P) zu erhalten, - mittels Interpolation zwischen den Hilfspunkten (f) innerhalb der Prozessfläche (P) zusätzliche Arbeitspunkte (a) in der Prozessfläche (P) zu ermitteln und - im Arbeitsmodus die Werkstückoberfläche (400) auf Basis der Hilfspunkte (f) und der ermittelten Arbeitspunkte (a) zu bearbeiten.
  6. Kollaborativer Roboter (10; 110) nach Anspruch 5, wobei der kollaborative Roboter (10; 110) dazu konfiguriert ist, im Arbeitsmodus die Werkstückoberfläche (400) zu bearbeiten auf Basis einer impliziten Projektion einer innerhalb der Prozessfläche (P) geplanten Arbeitsbahn (B) auf die Werkstückoberfläche (400).
  7. Kollaborativer Roboter (10; 110) nach Anspruch 5, wobei der kollaborative Roboter (10; 110) dazu konfiguriert ist, im Arbeitsmodus die Werkstückoberfläche (400) zu bearbeiten auf Basis einer expliziten Projektion einer projizierten Arbeitsbahn (B') auf ein modelliertes Oberflächenmodell (400') der Werkstückoberfläche (400).
  8. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, mit einem Zustimmtaster für den Lernmodus, wobei der Zustimmtaster mit dem Fuß betätigbar ist; und/oder wobei im Lernmodus und/oder im Arbeitsmodus zumindest eine Andruckkraft des Roboterwerkzeugs (30; 130) auf das Werkstück (300) in eine bestimmbare Richtung zuschaltbar ist.
  9. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, wobei der kollaborative Roboter (10; 110) so konfiguriert ist, dass er automatisch eine Bauteiloberfläche des Werkstücks (300) ermittelt, wobei er bevorzugt automatisch eine Bahn des Roboterwerkzeugs zu der ermittelten Bauteiloberfläche und/oder automatisch eine Ausrichtung des Roboterwerkzeugs (30; 130) zu der ermittelten Bauteiloberfläche ermittelt, und/oder automatisch eine Anfahrbewegung zum Werkstück (300) ermittelt.
  10. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, wobei der kollaborative Roboter (10; 110) so konfiguriert ist, dass er automatisch auf Basis von Positionen von im Lernmodus erlernten Stützpunkten einen Bewegungsablauf des Roboterwerkzeugs (30; 130) vervollständigt; und/oder mit einem Kraft-Momenten-Sensor zur Bestimmung zumindest einer Prozesskraft im Lernmodus.
  11. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, wobei der kollaborative Roboter (10; 110) auf einem Rollwagen (60) angeordnet ist.
  12. Kollaborativer Roboter (10; 110) nach einem der Ansprüche 1 bis 10, wobei der kollaborative Roboter (10; 110) auf einer Magnetarretierung angeordnet ist.
  13. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, mit zumindest einem optischen Sensor (131) zum Erfassen einer Oberflächenrauigkeit des Werkstücks im Arbeitsmodus.
  14. Verfahren zum Betreiben eines kollaborativen Roboters (10; 110) zum Bearbeiten eines Werkstücks (300) mit den Schritten: - Bereitstellen eines Roboterwerkzeugs (30; 130) am kollaborativen Roboter (10; 110), welches zum Bearbeiten des Werkstücks (300) ausgebildet ist; - Anwählen eines Lernmodus des kollaborativen Roboters (10; 110), in welchem dem kollaborativen Roboter (10; 110) eine Arbeitsbewegung des Roboterwerkzeugs (30; 130) zum Bearbeiten des Werkstücks (300) gelehrt wird; - Anwählen eines Arbeitsmodus des kollaborativen Roboters (10; 110), in welchem der kollaborative Roboter (10; 110) die im Lernmodus erlernte Arbeitsbewegung durchführt; wobei dem kollaborativen Roboter (10; 110) im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs (30; 130) an dem zu bearbeitenden Werkstück (300) gelehrt wird.
  15. Verfahren nach Anspruch 14, wobei eine Bedienperson (200) den kollaborativen Roboter (10; 110) im Lernmodus mittels Handführung, insbesondere mit zwei Händen, entlang der Arbeitsbewegung bewegt; und/oder wobei der Lernmodus am kollaborativen Roboter (10; 110) in Arbeitstemperatur durchgeführt wird.
  16. Verfahren nach Anspruch 14 oder 15, wobei der Lernmodus höchstens eine vorbestimmte Zeitspanne vor dem Bearbeiten des Werkstücks (300) durchgeführt wird.
  17. Verfahren nach einem der Ansprüche 14 bis 16, wobei im Lernmodus zumindest eine Andruckkraft des Roboterwerkzeugs (30; 130) auf das Werkstück (300) in eine bestimmbare Richtung zugeschalten wird.
  18. Verfahren nach einem der Ansprüche 14 bis 17, wobei der kollaborative Roboter (10; 110) automatisch eine Bauteiloberfläche des Werkstücks (300) ermittelt, insbesondere automatisch eine Ausrichtung des Roboterwerkzeugs (30; 130) zu der ermittelten Bauteiloberfläche ermittelt, und/oder automatisch eine Anfahrbewegung zum Werkstück (300) ermittelt.
  19. Verfahren nach einem der Ansprüche 14 bis 18, wobei der kollaborative Roboter (10; 110) automatisch auf Basis von Positionen von im Lernmodus erlernten Stützpunkten einen Bewegungsablauf des Roboterwerkzeugs (30; 130) vervollständigt.
  20. Verwendung eines kollaborativen Roboters (10; 110) zum Bearbeiten eines Werkstücks (300), wobei der kollaborative Roboter (10; 110) ein Roboterwerkzeug (30; 130) zum Bearbeiten des Werkstücks (300) und eine Modusanwahlvorrichtung (51) zum Überführen des kollaborativen Roboters (10; 110) in einen Lernmodus und in einen Arbeitsmodus aufweist; wobei - dem kollaborativen Roboter (10; 110) im Lernmodus eine Arbeitsbewegung des Roboterwerkzeugs (30; 130) zum Bearbeiten des Werkstücks (300) erlernt wird; - der kollaborative Roboter (10; 110) im Arbeitsmodus die im Lernmodus erlernte Arbeitsbewegung durchführt; und - der kollaborative Roboter (10; 110) im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs (30; 130) an dem zu bearbeitenden Werkstück (300) erlernt.
DE102019001207.0A 2018-02-19 2019-02-19 Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks Pending DE102019001207A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018001296.5 2018-02-19
DE102018001296 2018-02-19

Publications (1)

Publication Number Publication Date
DE102019001207A1 true DE102019001207A1 (de) 2019-08-22

Family

ID=67481701

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019001207.0A Pending DE102019001207A1 (de) 2018-02-19 2019-02-19 Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks

Country Status (1)

Country Link
DE (1) DE102019001207A1 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110497442A (zh) * 2019-09-07 2019-11-26 遨博(江苏)机器人有限公司 高负载大臂展的机械臂、协作机器人及二者工作方法
DE102019107964B3 (de) 2019-03-28 2020-08-06 Franka Emika Gmbh Projektionseinrichtung für einen Robotermanipulator
DE102019213676B3 (de) * 2019-09-10 2020-09-17 Kuka Deutschland Gmbh Robotersteuerung
DE102019117219A1 (de) * 2019-06-26 2020-12-31 Franka Emika Gmbh System zum Bedienen einer grafischen Benutzeroberfläche
CN114466724A (zh) * 2019-10-08 2022-05-10 Fts焊接公司 具有优化控制的协作装置
DE102021113636B3 (de) 2021-05-26 2022-11-10 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Bestimmen externer Interaktionskräfte und/oder Interaktionsmomente eines Roboters, Roboter und Computerprogrammprodukt
DE102022201116A1 (de) 2022-02-02 2023-08-03 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
EP4325312A1 (de) 2022-08-16 2024-02-21 Syntegon Technology GmbH Verfahren zu einem anlernen einer planaren transportvorrichtung, planare transportvorrichtung, die mit einem derartigen verfahren anlernbar ist, sowie produktions- und/oder transportmaschine mit einer derartigen planaren transportvorrichtung

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019107964B3 (de) 2019-03-28 2020-08-06 Franka Emika Gmbh Projektionseinrichtung für einen Robotermanipulator
DE102019117219A1 (de) * 2019-06-26 2020-12-31 Franka Emika Gmbh System zum Bedienen einer grafischen Benutzeroberfläche
DE102019117219B4 (de) * 2019-06-26 2021-07-08 Franka Emika Gmbh System zum Bedienen einer grafischen Benutzeroberfläche
CN110497442A (zh) * 2019-09-07 2019-11-26 遨博(江苏)机器人有限公司 高负载大臂展的机械臂、协作机器人及二者工作方法
DE102019213676B3 (de) * 2019-09-10 2020-09-17 Kuka Deutschland Gmbh Robotersteuerung
CN114466724A (zh) * 2019-10-08 2022-05-10 Fts焊接公司 具有优化控制的协作装置
DE102021113636B3 (de) 2021-05-26 2022-11-10 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Bestimmen externer Interaktionskräfte und/oder Interaktionsmomente eines Roboters, Roboter und Computerprogrammprodukt
DE102022201116A1 (de) 2022-02-02 2023-08-03 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102022201116B4 (de) 2022-02-02 2024-05-16 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
EP4325312A1 (de) 2022-08-16 2024-02-21 Syntegon Technology GmbH Verfahren zu einem anlernen einer planaren transportvorrichtung, planare transportvorrichtung, die mit einem derartigen verfahren anlernbar ist, sowie produktions- und/oder transportmaschine mit einer derartigen planaren transportvorrichtung
DE102022120633A1 (de) 2022-08-16 2024-02-22 Syntegon Technology Gmbh Verfahren zu einem Anlernen einer Handhabungsvorrichtung, Handhabungsvorrichtung, die mit einem derartigen Verfahren anlernbar ist, sowie Produktions- und/oder Transportmaschine mit einer derartigen Handhabungsvorrichtung

Similar Documents

Publication Publication Date Title
DE102019001207A1 (de) Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102010036499B4 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
DE102015015094B4 (de) Kooperationssystem mit Werkzeugmaschine und Roboter
DE602006000648T2 (de) Offline-Lehrgerät für einen Roboter
DE102017009939B4 (de) Verfahren und System zum Betreiben eines mobilen Roboters
DE19781968T9 (de) Werkzeugschleifsimulationssystem
DE102018009023B4 (de) Einlernvorrichtung zum Ausführen von Robotereinlernvorgängen und Einlernverfahren
EP1086407B1 (de) Steuerverfahren für einen industrieroboter
DE102015012763B4 (de) Roboterlehrvorrichtung zum Einlernen eines Roboters offline
DE102017128757A1 (de) Schleifvorrichtung
EP3221094B1 (de) Verfahren und system zur korrektur einer bearbeitungsbahn eines robotergeführten werkzeugs
EP1604789A2 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102013113165A1 (de) Kalibrierungsverfahren für Robotersystem
DE102018107864B4 (de) Offline-Programmiervorrichtung und -verfahren mit der Funktion zur Erzeugung eines Programms zur Detektion einer Werkstückposition mittels eines Kontaktsensors
DE102006061752A1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102015223258A1 (de) Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts
DE102014118001A1 (de) Verfahren zur Bewegungssimulation eines Manipulators
DE112010005510B4 (de) Numerisches Steuerverfahren und Vorrichtung dafür
DE102017001131A1 (de) Verfahren und System zum Betreiben eines Roboters
WO2020156732A1 (de) Rechnergestützte optimierung einer numerisch gesteuerten bearbeitung eines werkstücks
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE102019000890B4 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren
DE102012022190B4 (de) Inverse Kinematik
DE102018205443B4 (de) Steuerungssystem einer Werkzeugmaschine