DE102019001207A1 - Collaborative robot and method for operating a collaborative robot and use for machining a workpiece - Google Patents

Collaborative robot and method for operating a collaborative robot and use for machining a workpiece 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
German (de)
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/en
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.A collaborative robot (10; 110) for machining a workpiece (300) comprises a robot tool (30; 130) for machining the workpiece (300) and a mode selection device (51) for transferring the collaborative robot (10; 110) to a learning mode; in a working mode. The collaborative robot (10; 110) is configured to learn, in the learning mode, a working movement of the robot tool (30; 130) to machine the workpiece (300) and to perform the work movement learned in the learning mode. The learning mode is configured such that the collaborative robot (10; 110) learns the working movement of the robot tool (30; 130) on the workpiece (300) to be machined in the learning mode.

Description

Die Erfindung betrifft einen kollaborativen Roboter und ein Verfahren zum Betreiben eines kollaborativen Roboters zum Bearbeiten eines Werkstücks.The invention relates to a collaborative robot and a method for operating a collaborative robot for processing a workpiece.

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.A collaborative robot is an industrial robot that works with people and is not separated from them by guards in the production process. Collaborative robots can be equipped with one or more robot tools that can be used to machine workpieces. Examples of this are e.g. Robot tools for milling, filing, grinding, etc. In order to have a working movement performed by the collaborative robot, it must first be taught the working movement. The teaching of the working movement is basically done by robot programming.

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.The robot programming is very complex in itself, but there are ways to simplify this, for example by generating robot programs from a simulation of the process. The collaborative robot carries out this programmed working movement and thus processes one or more workpieces.

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.Since the exact calculation of the working movement can be complex, the use of a collaborative robot has hitherto been profitable mainly in industrial manufacturing, namely in the processing of a very high number of identical workpieces by the same working movement. The high cost of calculating the work movement makes the use of a collaborative robot for processing a small or medium number of workpieces or even a single workpiece usually unprofitable.

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.The invention has for its object to simplify the operation of a collaborative robot, in particular to make the operation of a collaborative robot with a smaller number of workpieces more profitable.

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.This object is solved by the subject matters of the independent claims. Preferred embodiments are the subject matters of the appended claims.

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.One aspect relates to a collaborative robot for machining a workpiece with a robot tool for machining the workpiece and a mode selection device for transferring the collaborative robot into a learning mode and a working mode. In this case, the collaborative robot is configured to learn a working movement of the robot tool for working the workpiece in the learning mode. Furthermore, the collaborative robot is configured to perform the work learned in the learning mode in the working mode. The learning mode is configured so that the collaborative robot in learning mode learns the working movement of the robot tool on the workpiece to be machined.

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.The collaborative robot may include at least one movable robotic arm to which the robotic tool is attached. The robot tool can be interchangeable and, for example, as a milling cutter, grinding tool, polishing tool, cutting tool, o. Ä. be educated. The robot tool may be designed in particular for physically processing the workpiece. The robot tool may in particular be attached to a working end of the robot arm. The collaborative robot is designed to be able to move the robot tool, preferably in all three spatial directions. In addition, the collaborative robot can be designed to realize and / or exert pressure forces on the workpiece with the robot tool. Furthermore, the collaborative robot can be designed to perform rotations and / or rotations of the robot tool about at least one adjustable and / or adjustable spatial axis. In this case, the spatial axis can be adjusted and / or adjusted as desired in three-dimensional space.

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.The collaborative robot may include a controller and / or plant controller that controls the robot to perform the working movement with the robot tool. The working movement is carried out in working mode. In other words, in working mode, the robot can machine the workpiece as previously learned in the learning mode. The working movement can be stored in a memory of the collaborative robot and / or the (plant) control. Therefore, the working movement can be repeated on a structurally identical and / or similar workpiece. Thus, with the learned working movement a plurality of similar and / or identical workpieces can be processed with the same, learned working movement. Furthermore, the learned working movement can be repeatedly performed on the same workpiece, e.g. a polishing movement with a polishing tool. For example, the robot may be used and / or formed as a polishing robot for an injection molding tool as a workpiece. Here, the workpiece which the robot processes is simultaneously a tool in the injection molding area, e.g. the mold used in injection molding.

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.The robot tool can be designed as a polishing tool for processing an injection mold as a workpiece, and / or for Processing of an injection-molded workpiece produced with an injection mold.

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.Collaborative robots make it possible to simplify the programming process by manual guidance (e.g., by using a "teaching by demonstration" function of the collaborative robot). The robot can be manually guided to specific positions and the associated robot coordinates can be recorded.

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.The handrail function can accelerate the operation of the plant manufacturer, but so far has been useful only for an end user (an industrial company that uses the collaborative robot for its automation, but does not have expertise in robot plant engineering). This is mainly because the safety of a collaborative robot system depends on the robot movement. If the robot movement changes, the safety of the robot system must be reevaluated, which i.d.R. high expenditure generated.

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.The mode selection device is designed both for transferring the collaborative robot into the learning mode and for transferring the collaborative robot into the working mode. Here, the collaborative robot may be operated in one mode at a time (e.g., either in the learning mode or in the working mode or in another mode). For example, the mode selection device may include an interface such as a keyboard and / or a touch screen, and / or a processor having appropriate control software installed and executed thereon.

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.To learn the working movement, the collaborative robot is transferred to the learning mode by means of the mode selection device. In the learning mode, the collaborative robot, in particular its robot arm, is at least partially movable, so that the collaborative robot learns the working movement to be performed by moving the robot arm and / or the robot tool. Here, the robot arm and / or the robot tool may be e.g. be moved by manual guidance of an operator along the working movement. The learned working movement may be stored in a memory of the collaborative robot, in particular in a volatile memory, e.g. a RAM memory, for immediately subsequent retrieval of the learned working movement.

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).After learning the working movement, the collaborative robot can be transferred to the working mode with the mode selection device. In working mode, he carries out the learned working movement (in particular repeatedly). In working mode, the collaborative robot may perform the work movement, for example, for a predeterminable number of repetitions and / or until the robot is actively stopped. For this purpose, for example, at the mode selection device, the work mode can be ended and the collaborative robot can be put into a sleep mode by no longer performing any movement (other than, for example, a drive to a rest position).

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.In learning mode, the working movement is learned. This means that the collaborative robot stores at least one tool position. Preferably, the collaborative robot stores a plurality of different tool positions. In this case, in addition to at least one tool position, a pressing force, an orientation, a tool rotation speed and / or a tool translation speed can be stored. In addition, the collaborative robot can also be designed so that it also stores time points and / or time periods associated with the individual tool positions, which are assigned to the individual tool positions. In addition, a movement of the robot tool, in particular a movement path and / or a movement speed, can be stored as (for example part of) the working movement.

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.To learn the working motion, the collaborative robot (e.g., its robotic arm) is moved to move the robotic tool to the desired tool position. In the desired tool position, an operator may confirm, for example by means of a button, that the collaborative robot is correctly located and that the selected position as part of the work movement is to store the current tool position, in particular including one or more of the additional information listed above.

Die Arbeitsbewegung kann der kollaborative Roboter in einem Speicher abspeichern.The working movement can be stored by the collaborative robot in a memory.

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.The learning of the working movement takes place directly on the workpiece to be machined. The exact working movement of the collaborative robot therefore does not have to be elaborately programmed and / or derived from a software simulation of the processing scenario, but is taught to the collaborative robot directly on the workpiece. The learning mode may also be referred to as a teaching mode of the collaborative robot. In the learning mode, the collaborative robot is taught at least one tool position in which the robot tool is in direct contact with the workpiece. Preferably, the collaborative robot is taught a plurality of such tool positions, in which the robot tool in direct contact with the contact Workpiece is. For this purpose, the collaborative robot is moved so that the robot tool is arranged in the desired tool position.

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.In addition to the tool positions applied directly to the workpiece, a learning aid (which can also be referred to as a teaching aid) can be provided in the learning mode, in particular a software-assisted learning aid. Here, the learning of the working movement can be additionally supported by a software. In contrast to conventional collaborative robots, however, the learning mode does not only teach software, but only supports the learning of the working movement through software.

Zudem ist der Lernmodus so konfiguriert, dass die Arbeitsbewegung unmittelbar am zu bearbeitenden Werkstück eingelernt wird.In addition, the learning mode is configured so that the working movement is taught directly on the workpiece to be machined.

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.This has the advantage on the one hand that errors in the software calculation of the working path are excluded because the collaborative robot is taught directly on the workpiece. The robot is particularly suitable for performing repetitive working movements, such as for polishing. On the other hand, the training can be done immediately before editing, as can be continued immediately after learning with the working mode. Following the teach-in during the learning mode, the collaborative robot independently performs the learned working movement and repeats it as often as desired until the processing can be completed, for example, until the desired polishing result is achieved.

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.It is also possible for the robot to carry out an automated identification drive as part of the learning mode. Thus, measurement data derived from the identification run can be used to create a mathematical representation of parts of the workpiece surface.

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.For example, the user may define a boundary of a surface of the workpiece by a few vertices, i. Learn a few tool positions for the collaborative robot. As a result, the (plant) controller automatically creates a web over the entire area. The created track corresponds to the work movement. The track points are distributed as evenly as possible over the area. The web creation is based on predefined templates (e.g., zig-zag patterns). The robot automatically shuts down the created web. This is done under pressure in predeterminable direction to ensure component contact. The tool coordinates during the robot movement are recorded by the robot and used as bases for creating a multi-dimensional regression function. This regression function can now image in particular curved component surfaces.

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.The mathematical area representation can, for example, be used for area-related path planning. This can mean, for example, that a defined path is distorted in accordance with the curved surface course and / or an automatic alignment of the polishing tool corresponding to the surface orthogonal takes place at each path point.

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.For example, the collaborative robot relieves a skilled worker from a repetitive part of his job, i. a frequent repetition of his movement, for example a polishing movement. As a result, the work capacity of the skilled worker can be freed up or used differently. Furthermore, the working time of the skilled worker can be significantly reduced. In particular, the skilled worker must spend less time in unergonomic attitudes or is a much shorter time vibrations of the robot tool o. Ä. exposed. This can reduce a health burden for the skilled worker.

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.It can be a division of the activities of skilled workers and robots, which is adapted to their respective skills: The skilled worker takes over the definition of process movement, ie the labor movement. This should be flexibly adapted to the complex framework conditions of the process and requires high qualification and experience of the skilled worker. The robot undertakes repetitive repetition of the process movement until a desired polishing result is achieved. As a result, the skilled worker is relieved of repetitive tasks and is released for further work commensurate with his qualifications. Based on this division of tasks between human and robot, automation is achieved for the first time as part of a polishing process that is economical and requires little hardware and software. Thus, the robot system is not used for the full automation of the polishing process, but as an assistance system that supports the skilled worker in the process execution. The described learning mode allows the skilled worker to transfer his highly complex process capabilities to the robot.

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.According to one embodiment, the collaborative robot is designed to learn a working movement in the learning mode for processing an injection mold as a workpiece. The injection mold may be metallic. In working mode, the collaborative robot processes the injection mold with the learned working movement. The machining operation may be a polishing process, the robot tool being used as a polishing tool can be trained. When polishing an injection mold, high quality standards must be met, which can be met by a lengthy polishing process. The collaborative robot repeatedly performs a learned in learning mode polishing movement as a working movement until the desired polishing result is achieved.

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. According to one embodiment, the movement speed of the robot tool and / or the collaborative robot in the learning mode and / or in the working mode is throttled to a maximum speed of maximally 50 mm / s, preferably to a maximum speed of maximally 30 mm / s, particularly preferably to a maximum speed of maximum 20 mm / s. The reduction of the movement speed increases the safety at the workplace for the operator and can lead to the CE certification of the machining process.

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.According to an embodiment, the collaborative robot is configured to learn a plurality of tool positions on a workpiece surface of the workpiece in learning mode, project the tool positions onto a process surface to obtain tool points corresponding to tool positions on the process surface by interpolating between the auxiliary points within To determine the process surface additional work points in the process area and to work in work mode, the workpiece surface on the basis of the auxiliary points and the determined operating points. In this case, the tool positions can contain both a location information and a robot orientation. The tool positions are projected onto the process surface, e.g. to a (straight or curved) process level. In this case, the tool positions can be projected onto the process surface, in particular in the normal direction, in order to obtain the auxiliary points u. The auxiliary points can contain location information on the process surface as well as the robot orientations of the respectively associated tool positions. Furthermore, the auxiliary points can also contain the location information of the respectively associated tool positions. The interpolation between the auxiliary points for determining the additional operating points takes place within the process surface and can be done as a surface interpolation, that is, as a 2D interpolation. The operating points may contain location information on the process surface and interpolated robot orientations between adjacent auxiliary points.

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.According to a first development, the collaborative robot is configured to process the workpiece surface in working mode on the basis of an implicit projection of a work path planned within the process surface onto the workpiece surface. In this case, a target working area of the robot tool lies within the process area, not on the actual workpiece surface. The planned work path can only be created with knowledge of the taught example positions on the tool positions, i. without explicit and / or further (e.g., modeled) information about the surface contour of the workpiece surface. There is thus a contour-adapted surface treatment of the workpiece.

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.According to an alternative second development, the collaborative robot is configured to process the workpiece surface in work mode on the basis of an explicit projection of a projected work path onto a modeled surface model of the workpiece surface. The collaborative robot creates the surface model of the workpiece surface from the learned tool positions. A target working area of the robot tool lies within the modeled surface model, which differs as little as possible from the actual workpiece surface.

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.According to an embodiment, the learning mode is configured such that the collaborative robot in the learning mode learns the working movement by manual guidance of an operator. In other words, an operator guides the collaborative robot, more specifically the robot tool attached to the collaborative robot, along at least a portion of the work motion to be performed. The operator moves the collaborative robot to the desired target position. The robot can thus be moved in the learning mode by the operator by direct pressure application by hand. The operator stands with his or her hand / hands in direct contact with the collaborative robot, e.g. the robot tool. In doing so, the operator, for example a skilled worker, transfers his process capabilities to the collaborative robot by manual guidance. So far, a teach-in function for end users is hardly usable because in MRK, ie the human-robot collaboration, a CE certification depends on the robot movement. As a result, learning by hand does not require certification during processing. However, when learning by hand, the experience of the operator can be transferred to the working movement of the collaborative robot.

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.According to one embodiment, the collaborative robot further comprises an enabling button for the learning mode, wherein the enabling button is operable with the foot. By pressing the consent key, the collaborative robot is signaled that the robot tool is arranged at the actuation time in a desired tool position, which the collaborative robot should approach in the course of the working movement. In other words, when learning the collaborative Robot guided by the operator along the desired working movement, the enabling button is actuated. Here, a three-stage enabling button can be used. The three levels differ from each other in how far the consent button is depressed by the person doing the teaching. In this case, the enabling button is in a first position unconfirmed and the collaborative robot can not be moved. In a second position of the consent button at a pressure point of the collaborative robot is movable, ie it can be moved along the working movement. In this case, the collaborative robot can be taught in particular the movement to be learned. In addition, there is a panic function as the third position of the enabling button, for example a complete pressing of the enabling button, in which the robot movement is abruptly stopped.

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 kannHere, the enabling button can also be actuated both by hand and with the foot. The enabling button is flexibly positionable. This means that the enabling button is both locatable on the ground where it can be operated by foot and spaced from the ground (e.g., on the collaborative robot and / or a trolley) where it can be manually operated. The enabling button may e.g. via a cable and / or via a radio link in signal exchange with the (plant) control of the collaborative robot stand. Depending on the working movement, the enabling button can be positioned by the operator in such a way that he can safely actuate the enabling button either by hand or by foot

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.The consent button can be operated by a foot of the operator, whereby the operator has both hands free to teach and / or guide the collaborative robot in the learning mode. The enabling button may e.g. be arranged on the floor. This improves the handling in the learning mode, since the operator has both arms and hands free when learning, thus enabling a high-precision learning movement of the collaborative robot. Under certain circumstances, this can only bring the learning function through the end user to economic use. Through an ambidextrous leadership not only rough processes are learned, but also the finest process nuances. The learning process is thus very precise and accurate.

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.According to one embodiment, in the learning mode and / or in the working mode, at least one pressing force of the robot tool can be switched to the workpiece in a determinable direction. In this case, for example, an arbitrarily determinable direction of the pressing force can be switched on. The connection of the pressure force can be done for example via a (plant) control. Here, the desired contact pressure on the workpiece can be determined very accurately. The pressure force can be defined as part of the working movement, which are switched on at one or more specific working positions, times and / or periods of the working movement of these.

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.In one embodiment, the collaborative robot is configured to automatically determine a (eg, at least partially planar and / or at least partially curved) component surface of the workpiece, preferably automatically locating a path of the robot tool to the determined component surface and / or automatically aligning a component Determined robot tool to the determined component surface and / or automatically determines a starting movement to the workpiece. The component surface, the robot can detect, for example, optically and / or haptically by means of at least one corresponding sensor. In this case, not only a single sensor has to be provided, but it is also possible to use e.g. During the haptic determination, measurement data from torque sensors from several axes of the collaborative robot can also be combined. Alternatively or additionally, the component surface can be communicated to the collaborative robot also via a (plant) control. As part of the working movement, the collaborative robot may, for example, determine coordinates in three-dimensional space, both the component surface and the robot tool relative to the workpiece. In this embodiment, a control program of the collaborative robot is provided with a learning aid (also called a teaching aid), which supports and / or supplements the learning of the working movement in the learning mode.

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.In this case, the determination of the component surface can be made on the basis of an automatic identification drive of the collaborative robot. The starting movement can be designed so that shear points are avoided. The path of the robot tool can be generated by moving, scaling and / or distorting templates on the basis of taught-in support points, in particular the templates can be projected onto the surface and their curvature can be adjusted. The path of the robot tool can produce a surface movement of the robot tool, which can be matched to the determined component surface of the workpiece.

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.According to one embodiment, the collaborative robot is configured to automatically complete a motion sequence of the robotic tool based on positions of vertices learned in the learning mode. In other words, individual bases are first learned in the learning mode. These vertices can have positions and / or align and / or align the robot tool in three-dimensional space, eg, tool positions. Here, the collaborative robot (eg, depending on the particular application), for example, need a predetermined number of bases. For example, for one application, five vertices may be sufficient, for another ten, etc. In particular, the collaborative robot may require at least two vertices, at least four vertices, or at least ten vertices to complete the motion of the robotic tool. The completion of the movement sequence is carried out automatically due to predefined movement sequences. For example, the working movement can be supplemented by straight-line connection of the support points, or a circular, elliptical, or the like. Supplement of the individual bases. In particular, the working movement can also be supplemented in a three-dimensional form, for example along the shape of a spherical surface or the like. In this case, the support points can not only be connected, but predefined, eg complex movement patterns (also called templates) can be applied and moved on the basis of the support points on the component surface, scaled and / or distorted according to the surface curvature.

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.According to one embodiment, the collaborative robot has a force / torque sensor for determining at least one process force in the learning mode. The force-moment sensor may, for example, be arranged on a flange of the robot, in particular immediately adjacent to the robot tool. The force-moment sensor may be designed as a load cell. Hereinbei, for example, a pressing force of the robot tool can be determined on the workpiece as a process force. The process force measured by the force-moment sensor is stored and can be stored and / or used as part of the working movement. In working mode, the collaborative robot will then use exactly the process force measured by the force-moment sensor to machine the workpiece. The process force can thus relate in particular to a pressing force of the robot tool on the workpiece. The force-moment sensor is first used once for force recording. As a result, the work process and / or the work movement is learned and depicted more realistically, since not only the movement itself but also process forces associated with the movement are taken into account.

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.Alternatively, the force-torque sensor can also be used to improve the hand guidance of the robot. By using the force-moment sensor, the learning of the working movement can be improved and / or detailed.

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.The force-moment sensor, for example on the flange, detects the process forces and records, learns and / or stores them in correlation to the working movement of the collaborative robot. In addition, a weight and / or inertial force compensation of the robot tool attached to the robot can take place.

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.According to one embodiment, the collaborative robot is arranged on a trolley. In this case, the robot can be moved by moving the trolley in a desired working position. The robot can in particular be mounted on a surface of the trolley to learn from there from the work movement and perform. The trolley may be provided with a parking brake so as to reduce rolling of the trolley while working. The trolley can be moved freely by an operator. The operator can move the robot flexibly to a large component to be machined or to a small component to be machined, which is arranged for example on a workbench. A locking of the trolley is preferably carried out magnetically to fix the trolley particularly efficient. Alternatively, a mechanical fixation may be provided.

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.In an alternative embodiment, the collaborative robot is disposed on a magnetic lock. The Magnetarretierung may be formed as part of the collaborative robot. The Magnetarretierung can be realized on a frame which can be moved, for example by means of a crane. Magnetic locking allows the collaborative robot to be locked to all magnetic and / or sufficiently stable elements in horizontal, vertical and / or mixed alignment. In this case, the robot can be locked, for example, to third-party racks or scaffolding. In particular, the collaborative robot can also be locked to the workpiece to be machined itself, if this has a certain size. The Magnetarretierung can also be done partially on a frame and at the same time partially on the workpiece. This allows a highly flexible positioning of the collaborative robot. The positioning possibilities compared to established systems are extended. As a result, surfaces of large components can be achieved more easily, but also walls and / or facades. In addition, the use of a Magnetarretierung is designed such that the technical complexity of positioning can be reduced compared to established solutions. In particular, the workpiece to be machined can also be used as a robot base.

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. According to one embodiment, the collaborative robot has at least one optical sensor for detecting a surface roughness of the workpiece in the working mode. In particular, in polishing processes, when a desired target surface roughness is determined by the optical sensor, the working movement and / or the working mode can be terminated, since then the workpiece and / or its (partial) surface can be sufficiently processed. Alternatively, only a part of the working movement can be ended and, for example, a polishing can be continued on another part of the workpiece. The optical sensor is arranged on the collaborative robot in such a way that it can visually record and / or check the process surface. As a result, for example, a meaningless further polishing of a workpiece surface can be avoided since further polishing can in some cases even damage the workpiece, ie a minimum roughness of the workpiece can also be maintained. In addition, a manual check by an operator can be superfluous. In addition, an optical sensor can also be configured to provide further data for processing, eg for a distance measurement, for detecting the component surface, etc. The optical sensor can be designed for the localization of the workpiece and / or of subregions of the workpiece. The optical sensor can be designed to record images and / or videos from the working area of the robot tool.

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.
One aspect relates to a method of operating a collaborative robot for machining a workpiece, comprising the steps of:
  • Providing a robot tool for a collaborative robot, which is designed to process the workpiece;
  • Selecting a learning mode of the collaborative robot in which the collaborative robot is taught a working movement of the robot tool for machining the workpiece;
  • - Selecting a working mode of the collaborative robot, in which the collaborative robot performs the learned in learning mode work movement.

Dabei wird dem kollaborativen Roboter im Lernmodus die Arbeitsbewegung des Roboterwerkzeugs an dem zu bearbeitenden Werkstück gelehrt.In the learning mode, the collaborative robot is taught the working movement of the robot tool on the workpiece to be machined.

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.The method can be carried out in particular with the above-described collaborative robot. Therefore, all comments on the collaborative robot also affect the method and vice versa. When selecting the learning mode, the collaborative robot is transferred to the learning mode. When selecting the working mode, the collaborative robot is put into working mode. The method is performed directly on the workpiece to be machined, so in particular under touching contact of the robot tool with the revised workpiece.

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 one embodiment of the method, an operator moves the collaborative robot in the learning mode by means of manual guidance along the working movement. In this case, the operator can lead and / or move the collaborative robot, in particular with both his hands. This increases the accuracy and precision of the work movement to be learned.

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.In one embodiment, the learning mode is performed on the collaborative robot at operating temperature. This may be enabled, for example, by warming up the collaborative robot prior to performing the learning mode, by warming it up, or by performing a movement itself until it reaches a desired working temperature. Thus, even in the learning mode, the components, in particular lubricating oils etc., are already in the desired working temperature of the collaborative robot. This increases the precision of the working movement, in particular when the working movement is repeated. For this purpose, the collaborative robot can, for example, have a warm-up mode or be transferred into this warm-up mode, for example by a mode selection device. Alternatively or additionally, the collaborative robot can have an operating temperature measuring device with which the current and / or average and / or usual working temperature of the collaborative robot can be determined. In this embodiment, the robot is only transferred into the learning mode when the collaborative robot has reached the settable and / or predeterminable operating temperature.

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.According to an embodiment, the learning mode is performed at most a predetermined period of time before the machining of the workpiece. Preferably, the learning mode is performed immediately before the working mode, that is, the machining of the workpiece. As a result, on the one hand downtimes of the collaborative robot can be reduced, on the other hand it can be ensured that the processing is carried out with approximately the same working temperature of the collaborative robot in which learning of the working movement has also taken place. As a result, the work of the collaborative robot can be specified and / or improved. The predetermined time period may be, for example, a maximum duration of 15 minutes, preferably a maximum duration of 5 minutes.

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.According to one embodiment, in the learning mode, at least one pressing force of the Robot tool connected to the workpiece in a determinable direction, in particular in an arbitrarily determinable direction. The direction is preferably directed to the workpiece. In this case, therefore, only the working movement can first be taught in without process forces which, for example, are then switched on after learning and / or are superimposed on the working movement. Furthermore, a contact between the robot tool and the workpiece can be ensured in the context of Einlembewegung.

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 one embodiment, the collaborative robot automatically determines a component surface of the workpiece, in particular it automatically determines an orientation of the robot tool to the determined component surface, and / or it automatically determines a starting movement to the workpiece. One or more of these learning aids, also called teaching aids, can be switched on, for example, software-controlled. This improves the learning of the working movement, in particular when the collaborative robot uses the data determined on the component surface to optimize the learned working movement in dependence thereon.

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.In one embodiment, the collaborative robot automatically completes a motion sequence of the robotic tool based on locations of vertices learned in the learning mode. In this case, a complete working movement can be learned and / or performed on the basis of a few support points.

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.One aspect relates to the use of a collaborative robot for machining a workpiece, wherein the collaborative robot comprises a robot tool for machining the workpiece and a mode selection device for transferring the collaborative robot to a learning mode and a working mode. In the learning mode, the collaborative robot is taught a working movement of the robot tool for processing the workpiece, and the collaborative robot, in working mode, carries out the work movement learned in the learning mode. The collaborative robot learns in the learning mode, the working movement of the robot tool on the workpiece to be machined.

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.The use can be carried out in particular with the above-described collaborative robot. For this reason, all statements regarding the collaborative robot and the method also relate to the use and vice versa.

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.The collaborative robot can be used in particular for surface machining of a component surface of the workpiece, e.g. for polishing. Here, in the learning mode, the teach-in of the robot to configure a surface-oriented machining process. The surface treatment differs from a pure line of the robot tool along a programmed trajectory. In surface machining, not only is a pure trajectory traced, but the working motion may include and / or be at least partially defined by a process force (such as a nudging force). Furthermore, first a web surface can be learned, then at least parts of the surface treatment are automatically calculated.

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.The collaborative robot can be used for a finishing application, for example for polishing injection molds and / or injection molds. In this case, the collaborative robot can be used in particular for the partial automation of the finishing application.

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.In the learning mode, skills and / or experiences of an operator (such as a skilled worker) can be transferred to the robot. Traditionally, the teach-in function of the collaborative robot has only been used with the aim of faster robot programming, but not to transfer the skills and / or experience of the skilled worker to the robot. The conventional Teaching by Demonstration function is traditionally not practicable by the user due to the recertification requirement when changing the robot movement. Thus, conventionally, there is no possibility that the user transfers his knowledge of experience directly to the robot, but at most via the detour of cooperation with a robot expert. However, this means a new robot programming and subsequent renewal of the safety consideration. This is usually not practical.

Der erfindungsgemäße kollaborative Roboter kann jedoch ein Absicherungskonzept aufweisen, das unabhängig von der Roboterbewegung gültig bleibt.However, the inventive collaborative robot may have a hedging concept that remains valid regardless of the robot movement.

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.Here, e.g. the working movement of the robot be throttled, a non-hazardous robot tool used and / or a component contact ensured. In doing so, the collaborative robot is stopped as the touch contact (e.g., sensor monitored) between the robotic tool and the component surface of the workpiece is interrupted.

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.Furthermore or alternatively, a sensor-based protection can take place, depending on the proximity of the human to the collaborative robot hazards (in particular by the robot and / or the robot tool) reduced to a safe level or completely off.

Weiterhin oder alternativ kann eine Verhinderung von Kontakt mit einem Menschen durch mechanische Schutzeinrichtungen erfolgen.Further or alternatively, prevention of contact with a human can be accomplished by mechanical guards.

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 one embodiment, only such movements are learned in the learning mode, in which the robot tool is in contact with the component surface of the workpiece. This allows a considerable avoidance of crushing and / or shearing points. In conjunction with the reduced robot speed, the safety of the entire system increases despite any robot movements within the spatial area of the component surface.

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 one embodiment, a variable and / or flexible connection of process forces in determinable directions, for example, to ensure a continuous and / or continuous component contact between the robot tool and the workpiece.

In einer Ausführungsform wird die Einlernfunktion des Roboters im Lernmodus zur Konfiguration einer Roboter-Mensch-Kollaboration genutzt.In one embodiment, the teach-in function of the robot in the learning mode is used to configure a robot-human collaboration.

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 one embodiment, a derivation of a mathematical representation of partial surfaces of the workpiece takes place on the basis of taught-in and / or automatically detected surface coordinates of the workpiece. In this case, the automatic detection of the surface coordinates of the workpiece can take place within the framework of an automated identification travel of the robot.

In einer Ausführungsform erfolgt eine automatische Anpassung des Prozesses an Krümmungen der Werkstückoberfläche.In one embodiment, an automatic adaptation of the process takes place at curvatures of the workpiece surface.

In einer Ausführungsform erfolgt eine Vervollständigung von im Lernmodus erkannten Lerneingaben um automatische Abläufe.In one embodiment, a completion of learning inputs recognized in the learning mode is performed by automatic processes.

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.In the context of this invention, the terms "substantially" and / or "approximately" may be used to include a deviation of up to 5% from a numerical value following the term, a deviation of up to 5 ° from one on the other Term following direction and / or from an angle following the term.

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.Terms such as above, below, above, below, etc., unless otherwise specified, refer to the reference system of the earth in an operating position of the subject invention.

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.
The invention will be described in more detail with reference to exemplary embodiments shown in FIGS. Herein, the same or similar reference numerals may designate the same or similar features of the embodiments. Individual features shown in the figures may be implemented in other embodiments. Show it:
  • 1 in a schematic representation of an embodiment of a collaborative robot with a trolley;
  • 2 a schematic representation of an embodiment of a collaborative robot in a learning mode;
  • 3 in a schematic representation of the in 2 shown collaborative robot in a working mode;
  • 4 in a schematic representation of the in the 2 and 3 shown collaborative robot in a control mode;
  • 5 in a 3D diagram an embodiment of a workpiece surface to be machined;
  • 6A in a 3D diagram, a process level which the robot uses as an auxiliary plane for path planning;
  • 6B in a 2D diagram, how a robot controller detects an enveloping traverse;
  • 7A in a 2D diagram, a first embodiment of a work path to be traversed in the process level;
  • 7B in a 2D diagram, a second embodiment of a work path to be traversed in the process level;
  • 8A in a 3D diagram, a process rectangle with operating points at which a robot orientation is to be determined;
  • 8B in a 2D diagram, the process rectangle transformed into the process level with the operating points at which a robot orientation is to be determined;
  • 9A in a 2D diagram, a first embodiment of a method for area-based interpolation of robot orientations;
  • 9B in a 2D diagram, a second embodiment of a method for area-based interpolation of robot orientations;
  • 10 an embodiment of an explicit projection of the working path in a 3D diagram;
  • 11 in a 3D diagram, a first process step for creating a surface model;
  • 12 in a 3D diagram, a second process step for creating a surface model;
  • 13 in two 3D diagrams, a third process step for creating a surface model; and
  • 14 in two 3D diagrams from different directions, a comparison between a surface model determined from tangent planes and an actual workpiece surface.

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. 1 shows a schematic representation of an embodiment of a collaborative robot 10 on a trolley 60 is mounted. The trolley 60 can as part of the collaborative robot 10 be formed or formed as a separate component. The collaborative robot 10 has a robot arm 20 on, essentially from a pedestal 22 up to a flange end 21 is formed running. The flange end 21 can as a working end of the robot arm 20 be educated. Along its course are on the robot arm 20 several joints 23 only a few of them 1 Marked are. At the joints 23 is the robotic arm 20 movable, for example pivotable and / or rotatable. This will allow the robot arm 20 can perform a complex three-dimensional working movement through the room, in particular with its flange end 21 , The robot arm shown in the embodiment 20 has seven degrees of freedom, namely, three translational workpiece positions, three rotary workpiece positions, and one elbow (or even zero space) movement of the robot arm 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.At the flange end 21 is a robot tool 30 on the robot arm 20 attached. The robot tool 30 is used for editing a not in 1 represented workpiece. At the flange end 21 can be a force-moment sensor 40 for measuring a pressing force of the tool 30 be arranged on the workpiece.

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.On the trolley 60 is a control on a bracket 50 of the collaborative robot 10 and / or the entire facility arranged. A controller of the collaborative robot 10 Can at least for the most part in the trolley 60 be integrated. This control, not shown, may be designed as a system control, with which not only the robot arm 20 , but also the other parts of the plant can be controlled, such as the robot tool 30 , a (consent) button, a traffic light, etc. The control element 50 may be formed as part of the plant control and or communicate with it.

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.The (plant) control and / or the operating element 50 can / may have a microprocessor and / or a user interface such as a touch screen. On the microprocessor of the control 50 becomes a control software for controlling the collaborative robot 10 executed. The (plant) control and / or the operating element 50 includes a mode selection device 51 , The mode dialer 51 may be part of the control software that is on the (plant) control and / or the control 50 is performed. The mode dialer 51 Used to select a mode of operation of the collaborative robot 10 , By pressing the mode dial 51 , for example, by pressing the touch screen of the (plant) control and / or the control element 50 , the collaborative robot can 10 be converted into a desired operating mode. The collaborative robot 10 can by means of mode selection device 51 optionally into at least one of the following operating modes: a learning mode, a working mode, at least one sleep mode (eg, a standby mode and / or an on / off mode), and / or a control mode.

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.Furthermore, either the (plant) control and / or the operating element 50 and / or another component of the collaborative robot 10 a memory, in particular a volatile memory (such as a RAM memory) in which the learning learned in the learning mode working movement can be stored.

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.The trolley 60 can preferably be moved freely by an operator to a workpiece to be machined. Alternatively, the trolley can be moved along a rail track, eg automatically. In the first case, the operator shifts the collaborative robot 10 flexible to a workpiece, for example, a large component to be polished or a small component to be polished, which is arranged on a workbench. Alternatively, small components as workpieces on the trolley 60 yourself filed and edited there. The trolley 60 can be magnetically locked, for example. The working movement, for example a polishing movement, of the robot tool 30 becomes the collaborative robot 10 taught in the learning mode. Here, the robot arm 20 , in particular the flange end 21 and / or an adjacent portion of the robot arm to the flange in FIG 20 be guided by an operator, for example by manual guidance along the working movement. In particular, the operator can guide the robot in learning mode to individual bases, which the operator as Want to save part of the work movement. The bases include information and / or data about the position of the robot tool 30 at the learned base, eg tool positions.

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.In working mode, the collaborative robot performs 10 the learned working movement, for example a polishing movement, by itself and repeats this until a desired work result, for example a desired polishing result, is reached. The work result can be monitored by a sensor and / or an operator, for example.

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.The operator, for example, a skilled worker, can during the automatic work process, for example, during the polishing process, ie during the collaborative robot 10 in working mode, stop in the working area of the robot.

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.At the same time, the speed of the collaborative robot 10 , in particular the speed of movement of the flange end 21 and / or the robot tool 30 , a maximum of a predetermined value. The speed of movement of the collaborative robot 10 can thus be throttled, especially in the learning mode and / or in the working mode. A predetermined maximum speed value may be, for example, a maximum of 50 mm / sec, preferably a maximum of 25 mm / sec. Such a limitation of the working speed of the collaborative robot can guarantee a relatively safe workplace for the operator. Furthermore, by such a limitation of the working speed of the collaborative robot 10 a CE certification for different types of tools and / or any process movements remain valid. Thus, no recertification after modification of the process is needed. The operator can monitor the work result, for example the polishing result, and / or intervene in the work process, for example applying a polishing paste, and / or the movement of the collaborative robot 10 correctively correct and / or carry out further activities in the immediate vicinity of the robot and the polishing tool.

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.The collaborative robot is particularly suitable for machining an injection molding tool, which must be polished. The required injection mold requires very high surface finishes, which can be achieved conventionally by manual polishing on partially relatively large areas. Here, a skilled worker requires a high level of qualification to carry out the polishing work. The polishing work requires a lot of time of the skilled worker, the polishing movement must be repeated often until the desired surface quality is achieved. The overall polishing time for an injection mold may be several days. Automation of the polishing process requires complex process control that reflects and / or incorporates the high quality and experience of the skilled worker. Furthermore, each injection mold can be unique, especially in "lot size 1". This requirement may be the collaborative robot 10 who in 1 is shown, especially when it is taught by a skilled worker as the operator and the robot tool 30 is designed as a polishing tool.

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. 2 shows a schematic representation of an embodiment of a collaborative robot 110 , which is operated in a learning mode. The collaborative robot 110 is essentially similar to the one in 1 shown collaborative robot 10 , This is also the case of the collaborative robot 110 a robot arm 120 up, extending from a stand 122 up to a flange end 121 extends and which at several joints 123 is mobile. At the flange end 121 is a robot tool 130 arranged, which for machining a workpiece 300 is trained. The workpiece 300 can be arranged on a workbench. At the workpiece 300 For example, it may be an automobile rim made as an injection molded part, which may be replaced by the robot tool 130 must be polished. The workpiece 300 may for example be designed as an injection mold, for example for molding a car rim.

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.An operator 200 first transfers the collaborative robot into its learning mode and then moves the flange end 121 and in particular the robot tool 130 in a desired working position relative to the workpiece 300 , In particular, the operator 200 a polishing movement as working movement of the robot tool 130 on a surface of the workpiece 300 carry out. The movement of the robot tool 130 relative to and / or on the workpiece 300 becomes in a memory of the collaborative robot 110 stored. This may in particular be a volatile memory.

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.In the learning mode, the operator can use the robot tool 130 especially ambidextrous along the workpiece to be machined 300 to lead. Here, the operator 200 Movements and / or individual bases of the working movement via a consent button, not shown in the figures store and / or confirm, which, for example, with a foot of the operator 200 is operable. That's why the skilled worker, so the operator 200 , both hands free to guide the robot tool 130 and thus for learning the work movement. Here, the operator 200 either directly that robot tool 130 Touch with his hands and move to the desired working position, and / or the robot tool 130 by means of a handle or an intermediate piece of the robot arm 120 , which or about at the flange end 121 is designed to move to the desired working position.

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.The collaborative robot 110 allows a simple and ergonomic operation, which leads to a constant result. Furthermore, by learning the working movement directly on the workpiece to be machined 300 a quick learning done, since the working movement (at least partially) not cumbersome in advance must be calculated by software, but is tuned directly to the workpiece to be machined.

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. 3 shows in a schematic representation of the collaborative robot 110 in working mode. This is the workpiece 300 with the previously learned in learning mode working movement of the robot tool 130 processed. The operator does not have to be required anymore. However, the latter can observe and / or monitor the operation from near or far and, if necessary, intervene in the processing or carry out other activities.

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. 4 shows the collaborative robot 110 in an optional additional operating mode, namely in a control mode. Here is the editing tool 130 exchanged for an exchange tool 131 , The exchange tool 131 is at the flange end 121 of the robot arm 120 attached. In other words, the robot tool 130 generally interchangeable at the flange end 121 be attached. This applies to both the robot tool 130 as well as for the replacement tool 131 , The exchange tool 131 may comprise a sensor, in particular an optical sensor such as a camera, with which the work result is controlled. In this case, in particular, the quality of a polishing process can be checked, and / or errors and / or cracks on the workpiece 300 be detected. Thus, the replacement tool 131 eg used for quality control.

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.
Furthermore, at least one of the following two sensors can be provided:
  1. (1) A localization sensor for locating the workpiece by which a stored process movement can be automatically applied despite possibly (eg slightly) changed positioning of the trolley and / or the workpiece.
  2. (2) A monitoring sensor, which may be formed, for example, as a camera for transmitting a video of the processing process to a mobile user interface such as a smart phone. This allows an operator to monitor the progress of the process from a greater distance. The monitoring sensor can be attached to the robot flange and / or on the trolley and / or be designed to be freely positionable.

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.Furthermore, as a replacement tool and a pointer can be used. This makes it possible to teach in the process movement and in particular to carry out automatic identification runs without damaging the workpiece surface. Alternatively, the pointer can also be firmly anchored to the process tool.

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 an alternative embodiment, the sensor, in this case the optical sensor, may also not be designed as an exchange tool, but rather as a permanently mounted component, in which case it is in addition to the actual machining tool 130 on the robot arm 120 be attached. Thus, the workpiece during processing, for example, in the working mode, recorded and / or checked.

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.In the embodiments shown, learning can be done on the real component, ie on the workpiece 300 , take place, with the need for the working movement robot tool 30 or. 130 , Teaching in the learning mode takes place shortly before the actual work process, ie the machining of the workpiece. This may mean shortly before that the learning mode is terminated at most 15 minutes before the machining of the workpiece, that is, the learning of the working movement is completed. More preferably, the learning of the working movement is terminated a maximum of about 5 minutes before the machining of the workpiece. In this case, optionally, a warm-up movement of the robot arm 20 or. 120 take place, so as to a predetermined operating temperature of the collaborative robot 10 or. 110 to reach. This can increase the accuracy of Einlemens.

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.In contrast to a conventional teach-in using offline programming eliminates sources of error such as CAD model errors, errors due to different robot operating conditions, sensor errors in sensor-based learning, calibration errors, etc. By learning the workpiece to be machined thus allowing a more accurate work, as sources of error reduced become. Thus, the repeat accuracy of the collaborative robot can be taught.

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.Furthermore, the collaborative robots allow 10 and 110 the learning of partial working steps of the working movement one after the other. So can For example, first part of the component surface of the workpiece 300 be polished by means of a first partial work movement. After a desired polishing result is achieved, another part of the component surface of the workpiece 300 can be polished by a second partial working movement, etc. The partial working movements can be learned immediately prior to performing the respective partial working movement in the working mode, so for example immediately before polishing the respective part of the component surface of the workpiece 300 ,

Die Anlagensteuerung des kollaborativen Roboters 10 und/oder des kollaborativen Roboters 110 kann eine oder mehrere der folgenden Lernhilfen, auch Teachinghilfen genannt, enthalten:The plant control of the collaborative robot 10 and / or the collaborative robot 110 may contain one or more of the following learning aids, also called teaching aids:

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.A first learning aid enables a variable and / or flexible stiffness of degrees of freedom of movement of the collaborative robot 10 or. 110 , Thus, depending on the expected work movement, either individual joints 23 or. 123 of the robot arm 20 or. 120 be stiff in order to facilitate the learning of the working movement. For example, learning a two-dimensional polishing motion along a (substantially non-curved) component surface may block movement out of that plane, or the like. In this case, software-supported rough work movements and / or work areas can be predefined and / or predefined. In contrast to the programming of conventional working movement, in this case the exact working movement is only roughly predetermined, that is, for example, a coarse movement corridor is defined along the working movement. Then, at least in the learning mode, the freedom of movement of the robot tool 30 or. 130 limited to this predetermined and / or predefined movement corridor. This means that the robot is controlled in such a way that the robot tool 30 or. 130 is not moved out of the predetermined and / or predefined movement corridor. This can simplify the learning of the working movement in the learning mode.

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.The movement corridor can, for example, be at most 10 cm away from a provisionally estimated working movement in each spatial direction, preferably at most 5 cm, particularly preferably at most 1 cm. The movement corridor can be determined to be different in size for the individual spatial directions and / or support points.

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.A second learning aid enables a variable and / or flexible connection of process forces in determinable directions, for example to ensure a continuous and / or uninterrupted component contact of the robot tool 30 or. 130 with the workpiece 300 , In this case, in particular, a pressing force of the robot tool 30 or. 130 on a component surface of the workpiece 300 be switched on, for example, to set a polishing pressure.

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.A third learning aid can be an automatic variation of a zero space position of the collaborative robot 10 or. 110 enable. For example, the null space location may be from unneeded degrees of freedom of the collaborative robot 10 or. 110 derived and / or determined. For example, singularities can be avoided by varying the null space position. Here, the null space position of the collaborative robot is changed compared to a default or random null space position. Furthermore, by varying the null space position, the accuracy of a process force determination can be increased and / or maximized. Due to the variation of the zero space position, working space limits can be further avoided, a rigidity and / or a vibration behavior of the collaborative robot can be improved, in particular optimized.

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.A fourth learning aid allows a plausibility check and / or correction of the learned work movement. In this case, implausible contour components of the working movement are removed on the basis of model assumptions of the working movement. This may, for example, relate to unnecessary twitching or passing through a working space without component contact on the workpiece. Furthermore, it can be the orientation of the robot arm 20 or. 120 and / or the orientation of the robot tool 30 or. 130 corrected and, for example, be adapted to the orientation of the component surface.

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.A fifth learning aid allows for (eg automatic) generation of a spline trajectory of work movement from a cloud of vertices. Here, the spline can include a smoothing and / or jitter compensation of the working movement.

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.A sixth learning aid makes it possible to determine (for example automatically) an alignment of the component surface of the workpiece to be machined 300 , The orientation can be determined, for example, on the basis of the occurring process forces and / or optically. Subsequently, depending on this, a validation of the learned interpolation points can take place, for example based on 3D coordinates of the interpolation points. Alternatively or additionally, the orientation of the robot tool 30 or. 130 determined to the component surface and / or adjusted and / or optimized and / or validated. Likewise, a force vector of a process force (such as a pressure force) relative to the component surface of the workpiece 300 adjusted and / or optimized and / or validated. Depending on the determined component surface can continue to be defined the work area in which the working movement is arranged. Furthermore, depending on Component surface can be a starting movement to the workpiece 300 determined and / or planned. This can be, for example, a movement of the robot tool 30 or. 130 concern from the end point of the working movement to the starting point of the working movement, in particular without collision with the workpiece 300 or a movement of the robot tool from the default point to the starting point of the working movement.

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.The component surface can be determined, for example, by determining an orthogonal vector on the component surface. For example, the orthogonal vector may be derived from a mathematical representation of the component surface or a portion thereof. Such a mathematical representation can be achieved, for example, by an automatic measuring run of the collaborative robot 10 or. 110 be generated along the component surface, in particular under a predefined Andruckkraftregelung. The pressure force control can be predefined in the learning mode as part of the sixth learning aid and / or predefined by an operator. The approach movement to the workpiece 300 can be planned to avoid a shearing situation. Here, first, a movement at a first, greater distance from the workpiece 300 or whose component surface take place. Subsequently, a lowering of the robot tool 30 or. 130 on the component surface of the workpiece 300 take place, in particular in the direction of the surface normal (ie the orthogonal vector) on the component surface.

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.A seventh learning aid allows completion of learning inputs recognized in the learning mode by automatic processes. Here, on the basis of a few predetermined interpolation points, in connection with motion templates predefined in the (plant) control, it is possible to define paths, for example straight lines and / or ellipses and surfaces, for example a rectangular area and / or a circular area. The surfaces can be filled by predefined movement patterns, for example parameterizable triangular, sawtooth or spiral tracks. The movement patterns can be determined in such a way that the distribution of the track points over the total area is as uniform as possible. Furthermore, a shift, scaling and / or distortion of the predefined motion templates based on taught-in bases can be done. Thus, a circular motion can be distorted into an elliptical motion. Furthermore, a curvature of a two-dimensional motion template can take place and / or be provided. In particular, the distortion can be an automatic projection of predefined motion templates onto curved component surfaces of the workpiece 300 include. For example, the bends may be identified by a fitted CAD model and / or determined CAD-free by automated identification rides of the robot. Furthermore, complex movement patterns can be superimposed on learned working movements. This is also possible in several stages: eg. can be generated from individual trained bases in a first stage connecting these bases web. In a second step, this path can be overlaid with complex further movement patterns. Thus, for example, can result from the superposition of the web with a circular motion a spiral movement.

Die siebte Lernhilfe ermöglicht ein schnelleres Einlernen komplexer Bahnen, ein CADfreies Erlernen der Arbeitsbewegung und/oder eine Effizienzsteigerung des Einlernens.The seventh learning aid allows a faster learning of complex webs, a CAD-free learning of the work movement and / or an increase in the efficiency of learning.

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.One, several or all of the learning aids can be implemented as software and / or as part of the (plant) control and / or software-supported.

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.The learning aids combine a "Teaching by demonstration", ie learning the work movement by hand guidance, with automated assistance functions, eg. B. during Einlemens and / or after learning the working movement. Furthermore, a partial learning of the working movement is made possible, for example, a learning of some bases and / or support tracks, the rest of the working movement can be supplemented automatically. Furthermore, a working movement can be adapted to the concrete component contour in the context of the MRK and / or Anlemens. Disabling degrees of freedom, for example, can facilitate learning of two-dimensional work motions. By combining the learning of the working movement by hand guidance with a software-based path planning by one or more of the learning aids, an increase in the security of the application is made possible.

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.
According to one embodiment, the collaborative robot 10 or. 110 used for a polishing process. Here, a surface roughness of the workpiece 300 sensor-based, especially during the collaborative robot 10 or. 110 works in working mode. On the basis of the acquired sensor data, one or more of the following work reactions can be carried out automatically, in particular automatically:
  • - The process can be regulated differently, eg. For example, a polishing speed and / or a pressing force can be changed.
  • Furthermore, the process can be optimized on the basis of the data, for example the work movement can be concentrated on a region of the component surface with a relatively high surface roughness.
  • - The process can be terminated, eg. B. upon reaching a target accuracy of polishing. This z. B. the working mode are terminated.
  • - A documentation of the work process can be created. It can be noted, for example, which degree of roughness is reached after how many polishing movements.

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.Overall, unnecessary polishing work can be reduced and / or eliminated. Furthermore, objective and reproducible polishing results can be achieved because the process is independent of human variability. Another advantage is a possible automatic documentation of the polishing results and / or an automated optimization of the polishing process. Hand-held teach-in can be combined with a sensor-based process control.

Nachfolgend wird anhand von Ausführungsbeispielen erläutert, wie der kollaborative Roboter 10 im Lernmodus arbeiten kann.The following explains how to use the collaborative robot 10 can work in the learning mode.

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. 5 shows an embodiment of a workpiece surface in a 3D diagram 400 which the collaborative robot 10 to edit. The workpiece surface 400 is shown in a Cartesian coordinate system of the 3D diagram in which the x-axis, the y-axis and the z-axis are labeled.

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.The target should be on the workpiece surface 400 a surface treatment can be realized (eg a polishing), ie the robot tool 30 should with
  • a predetermined speed,
  • - A predetermined contact pressure and / or
  • - A predetermined orientation to the workpiece surface 400th
as homogeneous as possible over a defined surface section of the workpiece surface 400 be guided. In this case, the machining movement of the robot tool 30 be repeated over a predetermined period and / or a predetermined number of cycles.

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.One challenge can be the operator 200 to be able to self-teach the surface treatment (eg the polishing application) efficiently, ie within a few minutes if possible, and thereby the process knowledge of the operator, which has grown over years 200 on the robot 10 transferred to. Here, the processing of any (eg a priori unknown) surface contours such as the workpiece surface 400 and / or freely adjustable surface sections are made possible.

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.Here, the teaching of machining applications for workpiece surfaces 400 by a combination of a hand guiding function of the robot 10 So, a Teaching by Demonstration, with software-based assistance functions. Teaching takes place on the real workpiece 300 with the real robot tool 30 , This can cause transmission errors between the robot 10 and possible sensors and / or CAD data are reduced and / or eliminated. The accuracy of the overall process can only by the repeatability of the robot 10 be determined.

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.Details of the learning process and / or path planning of the collaborative robot 10 are with reference to the following 6 to 14 described. The described method steps can be supported, planned and / or performed by a robot controller, in particular a robot controller with a processor. The robot controller may be configured, configured and / or programmed to be the collaborative robot 10 created a working track for carrying out the surface treatment, on the basis of which the robot 10 by means of an implicit and / or explicit projection of the planned work path onto a surface contour of the workpiece surface 400 this workpiece surface 400 can edit.

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.The collaborative robot 10 is from the operator 200 to a plurality of tool positions x on the workpiece surface 400 guided. The operator moves 200 the robot tool 30 to discrete points, namely the tool positions x , on the surface contour to be machined, ie the workpiece surface 400 , In this case, the operator 200 a mechanical contact between the robot tool 30 and the workpiece surface 400 produce. These discrete points of tool positions x form the basis for a predetermined traverse to be created which defines and / or demarcates the processing area.

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.Alternatively, the robot can 10 Automatically teach-in complex surface contours (eg as partial boundaries of the machining area) by automatically moving along these surface contours (under pressure against these surface contours) and storing the resulting path of movement.

Ermittlung der Prozessebene PDetermination of the process level P

In Abhängigkeit von den eingelernten Werkzeugpositionen x wird zunächst eine Prozessebene P ermittelt.Depending on the taught-in tool positions x becomes first a process level P determined.

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. 6A shows such a process level in a 3D diagram P which the robot 10 used as an auxiliary level to plan his work path. The process level P can be arbitrarily positioned and / or oriented in three-dimensional space. The process level P can eg in the taught-in tool positions x be fitted, for example by minimizing the square distances between the tool positions x and the process level 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.The robot controller may design the work path (also referred to as path planning) for the robot tool 30 along the workpiece surface 400 in two-dimensional space, namely within the process level 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.By projection of the tool positions x to the process level P along a normal N to the process level P become auxiliary points f within the process level P determined. The auxiliary points f are in 6A marked with a small circle. This corresponds to the auxiliary points f in the process level P the tool positions x on the workpiece surface 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.At the process level P can be an enveloping process rectangle R be defined, which all auxiliary points f contains. The process rectangle can be R be minimized so that in each case at least one auxiliary point f on a sideline of the process rectangle R is positioned, but not a single auxiliary point f outside the process rectangle R , The process rectangle R can be due to geometric conditions of the workpiece 300 and / or the workpiece surface 400 be aligned, for example, along principal axes of inertia of the workpiece surface 400 be oriented.

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.The process rectangle R may be rectangular with a first major axis H1 P , and a second major axis H2P , Here are the two main axes H1 P and H2 P parallel to each other opposite sides of the process rectangle R through a center M of the process rectangle R therethrough. The first major axis H1 P may be formed as a shorter major axis, while the second major axis H2 P may be formed as a longer main axis.

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.This approach of projecting the taught-in tool positions onto a process surface, the position and shape of which are adapted to the taught-in tool positions, and within which the path planning takes place, can alternatively take place by means of different surface forms. In other words, the path planning may also be within a different geometric shape than within the process rectangle R occur, such as within a circle and / or a polygon within the process level P , Furthermore, the path planning does not necessarily have to be within the process level P Instead, for example, a cylindrical, spherical or otherwise curved process surface can be used. A Selection of the Suitable The basic shape of the process surface, eg, process level, process cylinder, process sphere, can for example be adapted to the workpiece geometry. This can be done either automatically or by the operator 200 respectively. If rotationally symmetrical workpieces are to be machined, for example, the selection of a cylindrical process surface can be advantageous in order to simplify the machining and to minimize errors which arise due to the projection onto the process surface.

Ermittlung des einhüllenden PolygonzugsDetermination of the enveloping traverse

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. 6B shows in a 2D diagram, how the robot control the auxiliary points f within the process level P to one of the auxiliary points f enveloping traverse PZ combines. The polygon train PZ lies completely within the process rectangle R or at most on its sidelines. In this case, the polyline PZ at least one intersection with each sideline of the process rectangle R respectively. The polygon train PZ connects all auxiliary points f and is more convex. Alternatively, non-convex polygons can be used and, for example, be useful to describe complex boundary profiles of surface sections.

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.Alternatively, the traverse PZ also as an outer, eg convex, frame through some outer auxiliary points f be defined, where the traverse PZ several auxiliary points f encloses, which are arranged in its interior. The exterior of the traverse PZ is in any case free of auxiliary points f educated.

Planung der ArbeitsbahnPlanning the work path

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. 7A and 7B show in each case a diagram, as the work path to be departed B in the process level P in the process rectangle R and within the traverse therein PZ is defined. Pre-defined prototypical movement patterns such as zigzag, loops, spirals, etc. are used as templates. The movement patterns for the work path B can by the operator 200 be freely parameterizable. For example, the operator 200 select a pitch of the zigzag patterns, a loop width, etc. as parameters freely. This is the work path B along the sides of the wrapping process rectangle R in the process level P clamped.

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. 6A shows in a 2D diagram an embodiment, wherein a zigzag track as a work path B is determined. This will be parallel to the first main line H1 P of the process rectangle R Guides shown in dashed lines H i used, where i corresponds to a numbering. The guides H i have a constant distance to each other, which as a parameter of the working path B from the operator 200 can be determined and / or selected.

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.An intersection of the traverse PZ with an end-side guide H1 , that is, an auxiliary line which is adjacent to a (here lower) lateral line of the process rectangle R can be arranged as a starting point S the work path B be determined. At the starting point S cuts the end first guide H 1 the polyline PZ either on a left or right side of the surface of the traverse PZ , In the embodiment shown on a left side. From the starting point S becomes the work path B determined to an intersection of the adjacent, second auxiliary line H 2 with an opposite (right side) side of the traverse PZ , from there to an intersection with an adjacent, third auxiliary line H 3 with the opposite (left side) side of the traverse PZ etc. to the last auxiliary line H i at the upper end of the traverse PZ , From there, the work path B determined in opposite direction between the intersections with the traverse back and forth.

Die Richtung der Arbeitsbahn B ist mit Pfeilen gekennzeichnet. Die so ermittelte Arbeitsbahn B dient als Grundlage der Roboterbewegung während des Arbeitsmodus.The direction of the work path B is marked with arrows. The determined work path B serves as the basis of the robot movement during the working mode.

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. 6B shows in a 2D diagram an embodiment, such as a spiral path as a work path B is determined. It will be within the polygon PZ a spiral path determined. Intersections of the spiral path with the polygon PZ can also be based on (in 7B not shown) auxiliary lines are determined, which exactly as in 7A shown guides H i parallel to one of the main lines of the process rectangle R can be configured and parameterized, in particular parallel to the shorter first main line H1 P of the process rectangle.

Dadurch ist eine zweidimensionale Arbeitsbahn B in der Prozessebene definiert.This is a two-dimensional work path B defined in the process level.

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.The following describes possibilities such as this work path B on the surface contour, ie the workpiece surface 400 can be projected and used there.

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.This can be done, for example, either by an implicit projection of the work path B on the workpiece surface 400 or by an explicit projection of the work path B on the workpiece surface 400 ,

Implizite Projektion der ArbeitsbahnImplicit projection of the work path

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.Ä.In an implicit projection of the work path B can be a sensitive robot as a collaborative robot 10 be used. It is programmed to be the one at the process level P defined work path B departs. At the same time the robot becomes 10 in a direction of equilibrium, eg in the direction of the normal N to the process level P (see also 6A) , yielding. In this case, a co-force is applied in this direction of equilibrium, the force on the workpiece 300 is directed and works. Alternatively, the direction of equilibrium can also be in a different direction than the normal N be directed, eg in the direction of impact of the tool 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.Thus, the real robot pose of the programmed robot pose (in the work path B ), in the direction of the normal N to the process level P until a mechanical contact between the robot 10 and the workpiece 300 will be produced. Translational tool coordinates automatically adapt to the surface contour, ie the workpiece surface 400 even though this is the robot 10 actually is not known and he has planned his working movement only in the two-dimensional process level.

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.In other words, the robot becomes 10 so controlled, as if he were a two-dimensional working movement along the work path B execute in the process level, whereby only the equal force is switched on.

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.A purely translator-specific adaptation of the robot / tool pose for machining applications can often not be sufficient. Therefore, in addition, rotary robot and / or tool coordinates can also be continuously adjusted. This can be done so that the robot tool 30 always at a constant angle to the workpiece surface 400 stands.

Im Rahmen dieser Erfindung werden diese Roboter- und Werkzeugkoordinaten, welche auch Roboter- und Werkzeugorientierungen enthalten, zusammengefasst unter dem Begriff Roboterorientierungen.In the context of this invention, these robot and tool coordinates, which also contain robot and tool orientations, are summarized under the term robot orientations.

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.In this case, an interpolation of robot orientations can take place via lines or paths, eg around the robot orientation at the starting point S the work path B continuously into the robot orientation at the end point of the work path B to convict. This can also be for start and end points of a section of the work path B apply, eg between two taught-in tool positions x and / or the corresponding auxiliary points 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. The robot controller thus configured can perform interpolation of robot orientations not only along a line but also in a plane. In this case, a surface interpolation is performed. Based on a limited number of distributed sample orientations at the auxiliary points f The robot orientations are at arbitrary points within the process area, eg the traverse PZ , derived and / or determined. The robot orientations correspond to the auxiliary points f the robot orientations at the associated, taught-in tool positions x , The robot orientations interpolated in this way are used, in particular, in the context of the determination and / or definition of the work path B used.

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. 8A and 8B show in diagrams, at which points the robot orientations are determined. It shows 8A the process rectangle R while in a 3d diagram 8B the process rectangle R transformed into the process level in a 2D diagram P shows.

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.The learned robot orientations are at the auxiliary points f each shown by a stylized, bold coordinate system sign. For the railway planning of the work path B The robot orientations will be at additional work points a needed. The robot orientations at the working points a are each shown by a stylized, sparingly shown coordinate system character and are determined by interpolation of the learned robot orientations. Here are not all, but only some of the working points a indicated by a reference numeral.

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.The operator 200 Gives the possibility to manually teach in the robot orientations and thus the tool orientations at dedicated points of the machining area. From the orientations at the auxiliary points, there can be an interpolated orientation for each point within the two-dimensional traverse PZ be calculated.

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.If between the taught and / or determined working points a an approximately uniform curvature of the surface contour of the workpiece surface 400 is present, by the interpolation an approximately automatic adaptation of the robot orientation to the curved surface contour of the workpiece surface 400 reached. This can apply to any point within the editing area.

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.Thus, on the basis of only less einzulernender example points, namely the Werkzeugpositiionen x and the derived auxiliary points f , a contour-matched both translational and rotational alignment of the robot tool 30 be achieved. Thus, within the implicit projection of the work path B only with knowledge of the taught example poses, in particular without explicit information about the surface contour of the workpiece surface 400 , a contour-adapted surface treatment of the workpiece 300 allows.

Anzahl und Verteilung der eingelernten Beispielposen kann die Bedienperson 200 selbst bestimmen und dadurch die Genauigkeit der Konturanpassung dem Prozessbedarf anpassen.Number and distribution of the taught example poses can be done by the operator 200 determine the accuracy of the contour adjustment to the process requirements.

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.The area-based interpolation method, compared to conventional methods, significantly reduces the technological and practical effort for the operator. Furthermore, this makes it possible to reduce aberrations of, for example, sensor CAD robots, since with the real robot tool 30 on the real workpiece 300 is working.

Erstes Ausführungsbeispiel einer flächenbasierten Interpolation von Roboterorientierungen für eine implizite Projektion der ArbeitsbahnFirst exemplary embodiment of a surface-based interpolation of robot orientations for an implicit projection of the working path

Beispielhaft werden nachfolgend zwei mögliche Verfahren für eine flächenbasierte Interpolation von Roboterorientierungen erläutert.By way of example, two possible methods for a surface-based interpolation of robot orientations are explained below.

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. 9A shows in a 2D diagram a first embodiment of a method for area-based interpolation of robot orientations at operating points in a polygon PZ , The polyline is based on this PZ eg on the auxiliary points f1 to f10 ie at these eg ten auxiliary points f1 to f10 are the robot orientations learned and thus known.

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.In this method, those at the polygon vertices of the polygon draw PZ stored robot orientations used as a basis to interpolated robot orientations at any operating points within the polygon PZ derive.

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.
An algorithm for deriving an interpolated robot orientation at an operating point fS in the traverse PZ in the process rectangle R can work as follows:
  1. 1. It becomes an interpolation line I through the working point fs parallel to the (eg smaller) side edge of the process rectangle R
  2. 2. There are intersections of the interpolation line I with the traverse PZ determined in as intersections f L1 and f L2 characterized.
  3. 3. The robot orientations at the intersections f L1 and f L2 eg by linear interpolation of the robot orientations along the traverse PZ adjacent, previously known auxiliary points f determined. These are for the first intersection f L1 the auxiliary points f1 and f2 , for the second intersection f L2 the auxiliary points f8 and f9 ,
  4. 4. The robot orientation at the working point fs is achieved by, for example, linear interpolation of the robot orientations at the intersections f L1 and f L2 ermittel.

Durch dieses flächenbasierte Interpolationsverfahren lässt sich die Roboterorientierung an jedem beliebigen Arbeitspunkt innerhalb des Polygonzugs PZ ermitteln.This area-based interpolation method allows the robot orientation to be located at any operating point within the polygon PZ determine.

Zweites Ausführungsbeispiel einer flächenbasierten Interpolation von Roboterorientierungen für eine implizite Projektion der ArbeitsbahnSecond exemplary embodiment of a surface-based interpolation of robot orientations for an implicit projection of the working path

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. 9B shows in a 2D diagram a second embodiment of a method for area-based interpolation of robot orientations at operating points within a process rectangle R , Within the process rectangle R are the robot orientations at several auxiliary points f but not only along the enveloping traverse PZ are distributed, but arbitrary in the traverse PZ can be arranged.

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.Also in this method, the at auxiliary points f stored robot orientations used as a basis to interpolated robot orientations at any operating points within the traverse PZ derive.

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.
It can robot orientations on arbitrarily distributed auxiliary points f be used as a basis for the area-based interpolation. An algorithm for deriving an interpolated robot orientation at an operating point in the traverse PZ can work as follows:
  1. 1. The entire editing area is divided into triangles whose vertices are the taught-in auxiliary points f form.
  2. 2. Within each triangle is related to 9A area-based interpolation described.

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.Being after related 9A described method, an interpolated robot orientation is calculated from a maximum of four adjacent, taught robot orientation, while the robot orientation is calculated from a maximum of three adjacent, taught-robot orientation.

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.Alternatively, interpolated robot orientations can also be calculated by weighted averaging of adjacent example orientations. The weights may be e.g. result from area-based membership functions (e.g., radial basis functions) centered around each example point.

Auch durch dieses flächenbasierte Interpolationsverfahren lässt sich die Roboterorientierung an jedem beliebigen Arbeitspunkt innerhalb des Polygonzugs PZ ermitteln.This area-based interpolation method also makes it possible to orient the robot at any operating point within the polygon PZ determine.

Explizite Projektion der ArbeitsbahnExplicit projection of the work path

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. 10 shows in a 3D diagram an embodiment of an explicit projection of the work path B , At the same time, this becomes the process level P defined work path B on the surface contour of the workpiece surface 400 projected, which is present or calculated as a mathematical model. By projection of the work path B on the workpiece surface 400 , eg along the normal N to the process level P , results in the 3D work path B '. Instead of at the process level P determined work path B becomes the robot 10 on the mathematically calculated workpiece surface 400 projected workspace B ' guided.

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.In the explicit projection of the work path B on the workpiece surface 400 are the target coordinates of the robot 10 on the surface contour of the workpiece surface 400 , at least according to the mathematical surface model.

Bei der impliziten Projektion der Arbeitsbahn liegen die Zielkoordinaten des Roboters 10 in der Prozessebene P.In the case of the implicit projection of the work path, the target coordinates of the robot are located 10 in the process level 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.Thus, in the case of explicit projection usually curved target tracks of the robot arise 10 , even in the case of a railroad within the process level P , That's why the in 10 shown section of the projected work path B ' curved, although the corresponding section of the working path B in the process level P is straightforward.

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.
Explicitly projection-based methods allow:
  1. 1. An automatic positioning of the robot tool 30 on the surface contour of the workpiece surface 400 ,
  2. 2. An automatic alignment of the robot tool 30 at a defined angle to the surface (eg at a working angle of 90 °).
  3. 3. Improved predictability of robot movement, as the distance between real and programmed (projected) work path B ' by the distance between surface model and real workpiece surface 400 is determined and larger deviations between model and reality are not to be expected. in the In contrast, the implicit projection has larger distances between the real and the programmed work path B expected.
  4. 4. A homogenization of the trajectory, as by distortion of the projected work path B ' a more homogeneous distribution of the same web over the modeled workpiece surface 400 can be achieved.
  5. 5. Homogenizing the web speed by dynamically adjusting the web speed, a high speed can be used with a high web density, while a small speed can be used with a small web density.

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.It can in particular by the Homogenisierungsansätze 4 , and 5. a uniform distribution of the residence time of the machining tool 30 over the entire workpiece surface to be machined 400 and thus a uniform work result - despite the curved surface contour - can be achieved.

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.The generation of a surface model is conventionally based on sensor and / or CAD data. This leads to disadvantages such as a high technical effort, multiplied error sources and transmission errors between CAD data, sensor data and robots 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.Therefore, the robot according to the invention 10 one of the methods described below for mathematical model calculation of the workpiece surface 400 use, so to create a surface model.

Oberflächenmodell auf Basis einer haptischen Abtastung für eine explizite Projektion der ArbeitsbahnSurface model based on haptic scanning for an explicit projection of the working path

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.A surface model of the workpiece surface 400 can be created by haptic scanning. In this case, before the process execution, the workpiece surface 400 be scanned by a probe haptic.

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.Alternatively, a haptic scan can be performed during process execution. During the process execution, the robot slides 10 Process-related with his robot tool 30 on the surface contour of the workpiece 300 from. The associated poses, ie robot orientations, are determined by the robot 10 recorded and for the derivation of a mathematical surface model or for the continuous refinement of a mathematical surface model of the workpiece surface 400 used. A mathematical surface model can, for example, be defined and / or be based on splines. Adaptation to recorded robot / tool poses, ie robot orientations, can take place, for example, by fitting in the sense of a minimal quadratic distance between the surface model and recorded poses.

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.Thus, during the process execution, surface coordinates are haptically acquired and used during the running time of the processing application for the generation or improvement of the surface model.

Oberflächenmodell für eine explizite Projektion der Arbeitsbahn durch EinlernenSurface model for an explicit projection of the work path by teaching

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:Again alternatively, a surface model can be created by teaching. This will be the operator 200 enables a complex surface contour by manual guidance of the robot 10 (including the robot tool 30 ). The surface creation process can be accomplished by the following steps:

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.In a first step, the operator learns 200 the position and orientation of any selected example points by manual guidance, ie arbitrarily selected tool positions x , This is analogous to and just as with implicit projection. In doing so, the operator provides 200 at every tool position x a mechanical contact between the robot tool 30 and the workpiece 300 ago.

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. 11 shows in a 3D diagram this first process step, namely as on the workpiece surface 400 a plurality of tool positions x with associated robot orientation are taught in three-dimensional space. There are only a few of the taught-in tool positions x marked with a reference numeral.

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.At every tool position x judges the operator 200 robot tool 30 in the desired and always identical angle to the surface contour, ie in the associated robot orientation.

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. 12 shows in a 3D diagram a second process step, wherein the by the operator 200 taught-in robot orientations at the tool positions x the associated normal vectors on the surface contours of the workpiece surface 400 be determined. It can be for every tool position x based on the normal vector, an associated tangent plane T To be defined. In the 12 These are tangential planes T symbolized and marked by circular areas.

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. 13A and 13B show in a 3D diagram from different views a third process step, the function values of the tangent planes T with the reference to the 9A and 9B described interpolation approach are mutually grinded.

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.The tangential planes can do this T within the polygon PZ in the process level P be surface-based interpolated. Instead of the robot orientations, the function values of the tangential planes become T at the tool positions x , more precisely at the associated auxiliary points f in the process level P , interpolated.

Das Ergebnis dieses Verfahrens ist ein aus den beispielhaft ausgewählten Werkzeugpositionen x rekonstruiertes mathematisches Oberflächenmodell 400' der Werkstückoberfläche 400.The result of this method is one of the exemplarily selected tool positions x reconstructed mathematical surface model 400 ' the workpiece surface 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.As an alternative to this third process step, the tangential planes T is approximated by a general surface model based, for example, on splines. In this case, a weighting of the surface coordinates of each tangent plane T be taken into account, the larger the distance from the development point of the tangent plane T , ie the taught-in point, drops.

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.An advantage of this alternative is that the properties of the surface model can be influenced by the choice of the model structure. For example, a model based on splines can achieve a steady course of the approximated surface.

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.As described above, with the help of the surface model on the one hand poses and on the other hand the orientations of the robot can be adapted to the surface contour. Both adaptation methods can be used independently. For example, the translatory coordinates of the robot from the surface model and the rotatory coordinates can be independently derived from an interpolation of the learned robot orientations. As a result, even in the case of discontinuities in the surface model, a continuous orientation course over the entire surface can be achieved.

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.The 14A and 14B show in each case a 3D-diagram from different directions a comparison between that from the tangential planes T determined surface model 400 ' and the actual workpiece surface 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.The comparison between real surface 400 and reconstructed surface 400 ' shows only minor deviations. This was only with 21 example points, ie tool positions x , a complex contour course simulated in practical accuracy.

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.Teaching in a surface model 400 ' Similar to the learning process, it implies an implicit projection with comparably little practical effort. At the same time, the above advantages of explicit projection can be used. As the learning process of the surface model 400 ' with the real robot tool 30 on the real workpiece 300 is done, transmission errors between a sensor, CAD and robots are avoided. Furthermore, the user can change the number and distribution of tool positions x as supporting points free and thereby the accuracy of the surface model 400 ' control and adapt to the process requirements. This makes it possible to different parts of the surface model 400 ' to teach in different ways.

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.Through augmented reality, the current surface model can be used during the learning process 400 ' that results from the already taught-in tool positions x results, virtually projected on the real contour. This allows the operator 200 a direct feedback about, in which depth of detail the surface model 400 ' the real contour of the workpiece surface 400 reproduces. Furthermore, the operator 200 Based on this feedback, simply decide where more tool positions x should be taught. Further points of contact for augmented reality arise in the context of the presentation of the process level, the processing area and the taught-in course.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

1010
kollaborativer Robotercollaborative robot
2020
Roboterarmrobot arm
2121
Flanschendeflanging
2222
Standfußstand
2323
Gelenkjoint
3030
Roboterwerkzeugrobot tool
4040
Kraft-Momenten-SensorForce-torque sensor
5050
Bedienelementoperating element
5151
ModusanwahlvorrichtungMode selection device
6060
Rollwagen trolley
110110
kollaborativer Robotercollaborative robot
120120
Roboterarmrobot arm
121121
Flanschendeflanging
122122
Standfußstand
123123
Gelenkjoint
130130
Roboterwerkzeugrobot tool
131131
Austauschwerkzeug exchange tool
200200
Bedienperson operator
300300
Werkstück workpiece
400400
WerkstückoberflächeWorkpiece surface
400'400 '
modellierte Werkstückoberfläche modeled workpiece surface
BB
Arbeitsbahnworking web
B'B '
projizierte Arbeitsbahnprojected work path
Hi H i
Hilfslinieledger line
H1P H1 P
erste Hauptachsefirst main axis
H2P H2 P
zweite Hauptachsesecond major axis
II
Interpolationslinieinterpolation
MM
MittelpunktFocus
NN
Normalenormal
PP
Prozessebeneprocess level
PZPZ
Polygonzugtraverse
RR
Prozessrechteckprocess rectangle
SS
Startpunktstarting point
TT
Tangentialebene tangent
aa
Arbeitspunktworking
ff
Hilfspunktauxiliary point
fsfs
Arbeitspunktworking
fL1f L1
Schnittpunktintersection
fL2f L2
Schnittpunktintersection
xx
Werkzeugpositiontool position

Claims (20)

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.Collaborative robot (10; 110) for processing a workpiece (300) with: a robot tool (30; 130) for machining the workpiece (300) and a mode selection device (51) for transferring the collaborative robot (10; 110) to a learning mode and a working mode; in which the collaborative robot (10; 110) is configured to learn, in the learning mode, a working movement of the robot tool (30; 130) for machining the workpiece (300); - the collaborative robot (10; 110) is configured to perform in work mode the work movement learned in the learning mode; and the learning mode is configured such that the collaborative robot (10; 110) learns, in the learning mode, the working movement of the robot tool (30; 130) on the workpiece (300) to be machined. 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.Collaborative robot (10; 110) after Claim 1 wherein the learning mode is configured such that the collaborative robot (10; 110) learns the working movement in the learning mode by manual guidance of an operator (200). 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.Collaborative robot (10; 110) after Claim 1 or 2 wherein the collaborative robot (10; 110) is adapted to learn a working movement in the learning mode for processing an injection mold as a workpiece. 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.Collaborative robot (10; 110) according to one of the preceding claims, wherein the movement speed of the robot tool (30; 130) and / or the collaborative robot (10; 110) in the learning mode and / or in the working mode to a maximum speed of at most 50 mm / s is throttled. 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.A collaborative robot (10; 110) according to any one of the preceding claims, wherein the collaborative robot (10; 110) is configured to learning a plurality of tool positions (x) on a workpiece surface (400) of the workpiece (300) in the learning mode, to project the tool positions (x) onto a process surface (P) in order to obtain auxiliary points (f) on the process surface (P) corresponding to the tool positions (x), - To determine by means of interpolation between the auxiliary points (f) within the process area (P) additional operating points (a) in the process area (P) and - To edit in work mode, the workpiece surface (400) on the basis of the auxiliary points (f) and the determined operating points (a). 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).Collaborative robot (10; 110) after Claim 5 wherein the collaborative robot (10; 110) is configured to operate in work mode on the workpiece surface (400) based on an implicit projection of a work path (B) within the process surface (P) onto the workpiece surface (400). 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).Collaborative robot (10; 110) after Claim 5 wherein the collaborative robot (10; 110) is configured to, in working mode, machine the workpiece surface (400) based on an explicit projection of a projected work path (B ') onto a modeled surface model (400') of the workpiece surface (400). 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.A collaborative robot (10; 110) as claimed in any one of the preceding claims, including an enabling button for the learning mode, the enabling button operable with the foot; and / or wherein in the learning mode and / or in the working mode at least one pressing force of the robot tool (30; 130) is connectable to the workpiece (300) in a determinable direction. 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.The collaborative robot (10; 110) of any one of the preceding claims, wherein the collaborative robot (10; 110) is configured to automatically determine a component surface of the workpiece (300), preferably automatically locating a path of the robot tool to the determined component surface and / or automatically determines an orientation of the robot tool (30; 130) to the determined component surface, and / or automatically determines a starting movement to the workpiece (300). 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.The collaborative robot (10; 110) of any one of the preceding claims, wherein the collaborative robot (10; 110) is configured to automatically complete a motion sequence of the robotic tool (30; 130) based on locations of learning points learned in the learning mode; and or with a force-moment sensor for determining at least one process force in the learning mode. Kollaborativer Roboter (10; 110) nach einem der vorangegangenen Ansprüche, wobei der kollaborative Roboter (10; 110) auf einem Rollwagen (60) angeordnet ist.A collaborative robot (10; 110) according to any one of the preceding claims, wherein the collaborative robot (10; 110) is disposed on a trolley (60). Kollaborativer Roboter (10; 110) nach einem der Ansprüche 1 bis 10, wobei der kollaborative Roboter (10; 110) auf einer Magnetarretierung angeordnet ist.Collaborative robot (10; 110) after one of the Claims 1 to 10 wherein the collaborative robot (10; 110) is disposed on a magnetic lock. 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.A collaborative robot (10; 110) according to any one of the preceding claims, comprising at least one optical sensor (131) for detecting a surface roughness of the workpiece in the working mode. 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.A method of operating a collaborative robot (10; 110) to process a workpiece (300), comprising the steps of: - providing a robot tool (30; 130) to the collaborative robot (10; 110) adapted to machine the workpiece (300); - selecting a learning mode of the collaborative robot (10; 110) in which the collaborative robot (10; 110) is taught a working movement of the robot tool (30; 130) for machining the workpiece (300); - selecting a working mode of the collaborative robot (10; 110) in which the collaborative robot (10; 110) performs the work movement learned in the learning mode; wherein the collaborative robot (10; 110) in the learning mode teaches the working movement of the robot tool (30; 130) on the workpiece (300) to be machined. 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.Method according to Claim 14 in which an operator (200) moves the collaborative robot (10; 110) in the learning mode by means of manual guidance, in particular with two hands, along the working movement; and / or wherein the learning mode is performed on the collaborative robot (10; 110) at operating temperature. Verfahren nach Anspruch 14 oder 15, wobei der Lernmodus höchstens eine vorbestimmte Zeitspanne vor dem Bearbeiten des Werkstücks (300) durchgeführt wird.Method according to Claim 14 or 15 wherein the learning mode is performed at most a predetermined time period before the machining of the workpiece (300). 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.Method according to one of Claims 14 to 16 , wherein in the learning mode at least one pressing force of the robot tool (30; 130) is switched to the workpiece (300) in a determinable direction. 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.Method according to one of Claims 14 to 17 wherein the collaborative robot (10; 110) automatically detects a component surface of the workpiece (300), in particular automatically determines an orientation of the robot tool (30; 130) to the determined component surface, and / or automatically determines a starting movement to the workpiece (300). 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.Method according to one of Claims 14 to 18 wherein the collaborative robot (10; 110) automatically completes a motion sequence of the robotic tool (30; 130) based on positions of vertices learned in the learning mode. 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.Use of a collaborative robot (10; 110) for processing a workpiece (300), wherein the collaborative robot (10; 110) comprises a robotic tool (30; 130) for processing the workpiece (300) and a mode selection device (51) for transferring the collaborative Robot (10; 110) in a learning mode and in a working mode; in which - the collaborative robot (10; 110) in the learning mode, a working movement of the robot tool (30; 130) for machining the workpiece (300) is learned; - the collaborative robot (10; 110) in the working mode performs the work movement learned in the learning mode; and - the collaborative robot (10; 110) learns in the learning mode the working movement of the robot tool (30; 130) on the workpiece (300) to be machined.
DE102019001207.0A 2018-02-19 2019-02-19 Collaborative robot and method for operating a collaborative robot and use for machining a workpiece Pending DE102019001207A1 (en)

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 (en) 2019-08-22

Family

ID=67481701

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019001207.0A Pending DE102019001207A1 (en) 2018-02-19 2019-02-19 Collaborative robot and method for operating a collaborative robot and use for machining a workpiece

Country Status (1)

Country Link
DE (1) DE102019001207A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110497442A (en) * 2019-09-07 2019-11-26 遨博(江苏)机器人有限公司 Mechanical arm, cooperation robot and the two working method of high load large arm exhibition
DE102019107964B3 (en) 2019-03-28 2020-08-06 Franka Emika Gmbh Projection device for a robot manipulator
DE102019213676B3 (en) * 2019-09-10 2020-09-17 Kuka Deutschland Gmbh Robot control
DE102019117219A1 (en) * 2019-06-26 2020-12-31 Franka Emika Gmbh System for operating a graphical user interface
CN114466724A (en) * 2019-10-08 2022-05-10 Fts焊接公司 Collaboration device with optimized control
DE102021113636B3 (en) 2021-05-26 2022-11-10 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for determining external interaction forces and/or interaction moments of a robot, robot and computer program product
DE102022201116A1 (en) 2022-02-02 2023-08-03 Robert Bosch Gesellschaft mit beschränkter Haftung Method of controlling a robotic device
EP4325312A1 (en) 2022-08-16 2024-02-21 Syntegon Technology GmbH Method for learning a planar transport device, planar transport device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019107964B3 (en) 2019-03-28 2020-08-06 Franka Emika Gmbh Projection device for a robot manipulator
DE102019117219A1 (en) * 2019-06-26 2020-12-31 Franka Emika Gmbh System for operating a graphical user interface
DE102019117219B4 (en) * 2019-06-26 2021-07-08 Franka Emika Gmbh System for operating a graphical user interface
CN110497442A (en) * 2019-09-07 2019-11-26 遨博(江苏)机器人有限公司 Mechanical arm, cooperation robot and the two working method of high load large arm exhibition
DE102019213676B3 (en) * 2019-09-10 2020-09-17 Kuka Deutschland Gmbh Robot control
CN114466724A (en) * 2019-10-08 2022-05-10 Fts焊接公司 Collaboration device with optimized control
DE102021113636B3 (en) 2021-05-26 2022-11-10 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for determining external interaction forces and/or interaction moments of a robot, robot and computer program product
DE102022201116A1 (en) 2022-02-02 2023-08-03 Robert Bosch Gesellschaft mit beschränkter Haftung Method of controlling a robotic device
DE102022201116B4 (en) 2022-02-02 2024-05-16 Robert Bosch Gesellschaft mit beschränkter Haftung Method for controlling a robot device
EP4325312A1 (en) 2022-08-16 2024-02-21 Syntegon Technology GmbH Method for learning a planar transport device, planar transport device
DE102022120633A1 (en) 2022-08-16 2024-02-22 Syntegon Technology Gmbh Method for teaching a handling device, handling device that can be trained using such a method, and production and/or transport machine with such a handling device

Similar Documents

Publication Publication Date Title
DE102019001207A1 (en) Collaborative robot and method for operating a collaborative robot and use for machining a workpiece
DE102015107436B4 (en) Trainable path control
DE102010036499B4 (en) Tool vector display device for a machine tool with a rotation axis
DE102018009023B4 (en) Teaching device for carrying out robot teaching processes and teaching methods
DE102015015094B4 (en) Cooperation system with machine tool and robot
DE602006000648T2 (en) Offline teaching device for a robot
DE102017009939B4 (en) Method and system for operating a mobile robot
DE19781968T9 (en) Tool grinding simulation system
EP1086407B1 (en) Control method for an industrial robot
DE102015012763B4 (en) Robot teaching device for teaching a robot offline
EP3221094B1 (en) Method and system for correcting a processing path of a robot-guided tool
DE102017128757A1 (en) grinder
DE102013113165A1 (en) Calibration method for robot system
DE102004026814A1 (en) Method and device for improving the positioning accuracy of a handling device
DE102018107864B4 (en) Offline programming device and method with the function of generating a program for detecting a workpiece position by means of a contact sensor
DE102006061752A1 (en) Method for programming robot, involves manual starting of space points with robot, which carries determined force or torque in started space point, where force or torque is stored
DE102014118001A1 (en) Method for simulating the motion of a manipulator
DE102015223258A1 (en) Method for editing the surface of a three-dimensional object
DE112010005510B4 (en) Numerical control method and apparatus therefor
DE102017001131A1 (en) Method and system for operating a robot
DE10393527T5 (en) Systems and methods for displaying complex n-curves for direct control of tool motion
WO2020156732A1 (en) Computer-aided optimization of numerically controlled machining of a workpiece
DE102019000890B4 (en) Robot system for executing learning control based on machining results and related control method
DE102012022190B4 (en) Inverse kinematics
DE102018205443B4 (en) Control system of a machine tool