DE102004032996A1 - Robot programming method for robot of data processing system involves functional unit whereby virtual work area is generated and course of motion for robot in start position and end position is specified - Google Patents

Robot programming method for robot of data processing system involves functional unit whereby virtual work area is generated and course of motion for robot in start position and end position is specified Download PDF

Info

Publication number
DE102004032996A1
DE102004032996A1 DE200410032996 DE102004032996A DE102004032996A1 DE 102004032996 A1 DE102004032996 A1 DE 102004032996A1 DE 200410032996 DE200410032996 DE 200410032996 DE 102004032996 A DE102004032996 A DE 102004032996A DE 102004032996 A1 DE102004032996 A1 DE 102004032996A1
Authority
DE
Germany
Prior art keywords
robot
real
end position
image
functional unit
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.)
Withdrawn
Application number
DE200410032996
Other languages
German (de)
Inventor
Fan Dr.-Ing. Dai
Sönke Dr.-Ing. Kock
Björn MATTHIAS
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.)
ABB Research Ltd Switzerland
Original Assignee
ABB Research Ltd Switzerland
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 ABB Research Ltd Switzerland filed Critical ABB Research Ltd Switzerland
Priority to DE200410032996 priority Critical patent/DE102004032996A1/en
Publication of DE102004032996A1 publication Critical patent/DE102004032996A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40121Trajectory planning in virtual space
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40122Manipulate virtual object, for trajectory planning of real object, haptic display

Landscapes

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

Abstract

The method involves a functional unit (30) whereby a virtual work area is generated from the pattern of real work area of robot (70). The start position of the robot in the virtual work area is specified. The end position of the robot with that functional unit is selected. The course of motion for the robot depending on the start position and on the required end position is specified. An independent claim is also included for the system for generation of robot programming for a robot.

Description

Die Erfindung betrifft ein Verfahren und ein System zum Erstellen von Roboterbewegungsabläufen.The The invention relates to a method and a system for creating Robot movements.

Bevor Industrieroboter ihre Arbeit aufnehmen können, müssen deren Bewegungsabläufe eindeutig definiert sein. Dazu werden diese entsprechend programmiert, wozu eine vergleichsweise große Anzahl von Daten benötigt wird, die zur Identifikation von Objekten dienen, beispielsweise von Werkstücken, die zu verarbeiten oder zu bewegen sind, deren Positionen, aber auch Daten über den Arbeitsbereich des Roboters, erreichbare Positionen und Daten über mögliche Bewegungen des Roboters bzw. von dessen Arme oder Achsen.Before Industrial robots can start their work, their movements must be clear be defined. These are programmed accordingly, including a comparatively large one Number of data needed is used to identify objects, for example of workpieces, which are to be processed or moved, their positions, but also data about the working area of the robot, achievable positions and data about possible movements of the robot or its arms or axles.

Für die Programmierung von Roboterbewegungen sind zwei verschiedene Wege allgemein bekannt, die im folgenden kurz dargestellt werden.For programming Robot motions are well known in two different ways which will be briefly presented below.

Mit einer ersten Methode werden reale Roboterbewegungen interaktiv aufgenommen und gespeichert, das heißt die gewünschten Einzelbewegungen des Roboters werden durch einen Bediener Schritt für Schritt vorgegeben. Dazu verwendet der Bediener eine Handsteuerung des Roboters, veranlasst den Roboter die betreffenden Einzelbewegungen jeweils auszuführen und korrigiert diese gegebenenfalls auch. Zu einem späteren Zeitpunkt kann der Roboter aufgrund der gespeicherten Positionsdatensätze genau diese Einzelbewegungen wiederholen. Nachteilig dabei ist, dass diese Methode sehr aufwendig und wenig flexibel ist.With In a first method, real robot movements are interactively recorded and stored, that is the desired Individual movements of the robot are step by an operator for step specified. For this purpose, the operator uses a hand control of the robot, causes the robot to move the respective individual movements perform and corrects them if necessary. At a later time the robot can accurately due to the stored position records repeat these individual movements. The disadvantage here is that these Method is very complex and not very flexible.

Die zweite Methode besteht darin, dass der Roboter, dessen Arbeitszelle sowie alle anderen relevanten Objekte im Arbeitsbereich, in einem CAD-Modell (Computer Aided Design-Model) nachgebildet werden. Im CAD-Modell können dann die Roboterbewegungen im vorab geplant und später an die Robotersteuerung übertragen werden. Nachteilig bei dieser Methode ist es, dass die CAD-Programmierung sehr detailliert vorzunehmen ist und es zusätzlich einer Kalibrierung mit den realen Objekten im Arbeitsbereich des realen Roboters bedarf. Häufig führt das zu einer besonders zeitaufwendigen Programmierung der Bewegungsabläufe dieses Roboters.The second method is that the robot whose working cell as well as all other relevant objects in the workspace, in one CAD model (Computer Aided Design Model). in the CAD model can then the robot movements in advance planned and later on the Transfer robot control become. The disadvantage of this method is that the CAD programming is very is to be made in detail and in addition a calibration with requires the real objects in the working area of the real robot. Often that leads to it a particularly time-consuming programming of the movements of this Robot.

Ausgehend vom vorgenannten Stand der Technik ist es Aufgabe der Erfindung, ein Verfahren und ein System zum Erstellen von Roboterbewegungsabläufen anzugeben, mit dem das Erstellen besonders schnell und einfach möglich ist.outgoing From the aforementioned prior art, it is an object of the invention to provide a method and system for creating robot motion sequences with which the creation is particularly quick and easy.

Diese Aufgabe wird gelöst durch das erfindungsgemäße Verfahren zum Erstellen von Roboterbewegungsabläufen mit den in Anspruch 1 genannten Merkmalen.These Task is solved by the method according to the invention for creating robot movement sequences with the in claim 1 mentioned features.

Demnach werden im erfindungsgemäßen Verfahren zum Erstellen von Roboterbewegungsabläufen, für einem Roboter, unter Einsatz einer dafür eingerichteten Datenverarbeitungsanlage und mit einer mit dieser zusammenarbeitenden Funktionseinheit Verfahrensschritte ausgeführt:
Aus wenigstens einem Bild eines realen Arbeitsbereiches des Roboters wird ein virtueller Arbeitsbereich generiert. Eine Startstellung des Roboters wird im virtuellen Arbeitsbereich festgelegt. Der reale oder/und der virtuelle Arbeitsbereich des Roboters wird auf der Funktionseinheit dargestellt. Eine Soll-Endstellung des Roboters wird mit der Funktionseinheit ausgewählt. Die Bewegungsabläufe für den Roboter werden in Abhängigkeit von der Startstellung und von der Soll-Endstellung festgelegt.
Accordingly, in the method according to the invention for creating robot movement sequences, for a robot, using a data processing system set up for this purpose and with a functional unit cooperating therewith, method steps are carried out:
From at least one image of a real working area of the robot, a virtual workspace is generated. A starting position of the robot is defined in the virtual workspace. The real or / and virtual working area of the robot is displayed on the functional unit. A target end position of the robot is selected with the functional unit. The movements for the robot are determined depending on the starting position and the target end position.

Durch das vorstehend genannte Verfahren ist die Erstellung von Bewegungsabläufen eines Roboters wesentlich vereinfacht. Eine vorherige CAD-Programmierung des Arbeitsbereiches entfällt vollständig. Der virtuelle Arbeitsbereich wird nämlich aus wenigstens einem Bild eines realen Arbeitsbereichs erzeugt. Auf der Grundlage des virtuellen Arbeitsbereiches wird auch die Startstellung des Roboters festgelegt.By The above method is the creation of movements of a Robot considerably simplified. A prior CAD programming of the work area is completely eliminated. Of the namely, virtual workspace is going out generated at least one image of a real workspace. On the basis of the virtual workspace is also the starting position of the robot.

Unter der Startstellung sind dabei alle geometrischen Angaben des Roboters zu verstehen, die für die Erstellung von Roboterbewegungsabläufen notwendig sind. In einem einfachen Fall, zum Beispiel bei lediglich zweidimensionalen Aufgaben eines Roboters, reicht es möglicherweise aus, als Startstellung lediglich die Werkzeugspitze zu bestimmen. In anderen Fällen reicht es aus, als Startstellung den Endpunkt des Roboterarms sowie die Richtung des am Arm des Roboters montierten Werkzeuges zu bestimmen, also letztendlich zwei Punkte am Roboter beziehungsweise am Werkzeug des Roboters festzulegen. In wieder anderen Fällen, insbesondere bei dreidimensionalen Roboterbewegungsabläufen sind unter der Startstellung gegebenenfalls alle Informationen bezüglich des Roboterwerkzeugs, der Werkzeugstellung, der Roboterachsschenkel, deren Orientierung sowie der Positionen und Orientierung der Roboterachsen zu verstehen.Under The starting position are all geometric details of the robot to understand that for the creation of robot movements are necessary. In one simple case, for example with only two-dimensional tasks of a robot, it may be enough from, as starting position to determine only the tool tip. In other cases it is sufficient as start position the end point of the robot arm as well to determine the direction of the tool mounted on the arm of the robot, So ultimately two points on the robot or on the tool of the robot. In other cases, especially in three-dimensional Robot movements are under the starting position, if necessary, all information regarding the Robot tool, the tool position, the robot's thigh, their orientation as well as the positions and orientation of the robot axes to understand.

Im Unterschied zu den Ausführungen bezüglich der Startstellung beziehungsweise der Soll-Endstellung, ist es für die Erstellung von Roboterbewegungsabläufen notwendig, alle Angaben über den Roboterarm, also insbesondere die räumliche Position der Roboterachsen und der Roboterachsschenkel sowie des Roboterwerkzeuges genau festzulegen. Es ist nämlich ohne weiteres denkbar, dass eine Bewegungsbahn eines Werkstückes von der Startstellung in die Soll-Endstellung durch unterschiedliche Roboterbewegungsabläufe erreicht werden können. Für die Erstellung von Roboterbewegungsabläufen bedeutet das, dass eine Selektion nach objektiven Kriterien aus den möglichen Roboterbewegungsabläufen getroffen wird, beispielsweise aufgrund eines zeitlichen Kriteriums oder einem Kriterium nach einer möglichst geringen Belastung der Roboterachsen.In contrast to the statements relating to the starting position or the target end position, it is necessary for the creation of robot movement sequences, all specifications about the robot arm, so in particular the spatial position of the robot axes and the robot axis and the robot tool exactly set. It is conceivable that a Be wegungsbahn a workpiece from the starting position to the target end position can be achieved by different robot motion sequences. For the creation of robot motion sequences, this means that a selection is made according to objective criteria from the possible robot movement sequences, for example, based on a time criterion or a criterion for the least possible load on the robot axes.

Allein mit Hilfe der bildhaften Darstellung des realen oder virtuellen Arbeitsbereiches auf der Funktionseinheit, wie zum Beispiel einer Anzeigevorrichtung, wird, die Soll-Endstellung des Bewegungsablaufs des Roboters eingegeben. Die Interpretation dieser auf der Anzeigevorrichtung angegebenen Stelle oder Stellen als Endstellung für die Roboterbewegung ist ausreichend, um die entsprechende Erstellung der Roboterbewegungsabläufe durchzuführen.Alone with the help of pictorial representation of the real or virtual Workspace on the functional unit, such as one Display device is, the target end position of the movement of the Robot entered. The interpretation of these on the display device specified position or places as end position for the robot movement is sufficient to carry out the corresponding creation of the robot movement sequences.

Zum Erstellen von Roboterbewegungsabläufen reicht es zunächst aus, dass diese im virtuellen Arbeitsbereich vorgenommen werden. Beispielsweise können so die geplanten Roboterbewegungsabläufe im virtuellen Arbeitsbereich simuliert werden. Das hat den Vorteil, dass in besonders einfacher und anschaulicher Weise eine abschließende Kontrolle der erstellten Bewegungsabläufe vorgenommen werden kann.To the Creating robotic motion sequences, it is sufficient that these are done in the virtual workspace. For example can such as the planned robot movement processes in the virtual workspace be simulated. This has the advantage of being particularly simple and vividly a final control of the created movements can be made.

Unter Erstellen von Roboterbewegungsabläufen kann aber auch die direkte Programmierung der Roboterbewegungsabläufe in Form von Steuerungsbefehlen verstanden werden. Die so erhaltenen Steuerungsbefehle werden entweder zunächst gespeichert oder sofort an die Steuerungsvorrichtung übermittelt, die dann wiederum zu Kontrollzwecken die Bewegungsabläufe entweder ausführt oder als Teil ihrer Steuerungsbefehle speichert. Unter Erstellen von Roboterbewegungsabläufen ist auch jede Mischform oder Kombination des vorstehenden zu verstehen. Besonders vorteilhaft dabei ist, dass diese Art der Erstellung von Roboterbewegungsabläufen besonders geringe Fachkenntnisse erfordert. Für die Eingabe der Stelle oder der Stellen für die Definition der Soll-Endstellung wird der Bediener sich intuitiv mit dem erfindungsgemäßen Verfahren umgeben.Under Creating robot movement sequences can also be direct Programming the robot motion sequences in the form of control commands be understood. The control commands thus obtained become either first stored or transmitted immediately to the control device, then again for control purposes, the movements either carries or as part of its control commands. Under Build of robot motion sequences is to be understood also any mixed form or combination of the above. It is particularly advantageous that this type of creation of Robot movements requires very little expertise. For entering the place or the posts for Defining the target end position will make the operator intuitive with the method according to the invention surround.

Eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens sieht vor, dass die Verfahrensschritte, die zur Erstellung eines Roboterbewegungsablaufes für eine einzelne Bewegungsbahn des Werkzeuges notwendig sind, solange wiederholt werden, bis ein Abbruchkriterium erreicht wird. Dieses Abbruchkriterium kann beispielsweise die vollständige Erfüllung einer vorgegebenen Bewegungsbahnabfolge sein. Auf diese Weise wird auch die Erstellung von komplexen Bahnfolgen mit einer Vielzahl von Einzelbewegungen auf besonders einfache Weise möglich.A advantageous development of the method according to the invention provides that the process steps necessary to create a robot movement sequence for one individual trajectory of the tool are necessary as long as they are repeated until a termination criterion is reached. This termination criterion For example, the full fulfillment be a predetermined trajectory sequence. This way will also the creation of complex web sequences with a variety of Individual movements possible in a particularly simple manner.

Eine vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens wird dadurch erreicht, dass vor der Erstellung von Roboterbewegungsabläufen des Roboters von der Startstellung zu der Soll-Endstellung eine Kontrolle auf Kollision zwischen dem Roboter auf seiner virtuellen Bewegungsbahn und den erkannten Objekten durchgeführt wird.A advantageous embodiment of the method according to the invention is characterized achieved that before the creation of robot motion sequences of the Robot from the starting position to the target end position a control on collision between the robot in its virtual trajectory and the detected objects.

Zudem wird die virtuelle Bewegungsbahn gegebenenfalls in eine kollisionsvermeidende Bewegungsbahn korrigiert.moreover if necessary, the virtual trajectory becomes collision avoidance Trajectory corrected.

Das erfindungsgemäße Verfahren erkennt vorteilhafterweise eine real mögliche Kollision mit Objekten, die sich zwischen der Startstellung und der Soll-Endstellung beispielsweise auf einer direkten, linearen Bewegung zwischen den genannten Stellungen, befinden, selbsttätig und schlägt gegebenenfalls selbsttätig eine korrigierte Bewegungsbahn vor beziehungsweise erstellt die entsprechenden korrigierten Steuerungsvorgaben. Diese Merkmale des erfindungsgemäßen Verfahrens vereinfachen die Erstellung von Roboterbewegungsabläufen erheblich.The inventive method advantageously recognizes a real possible collision with objects, for example, between the starting position and the target end position on a direct linear movement between the mentioned positions, are located, automatically and beats if necessary, automatically a corrected trajectory before or creates the corresponding corrected control specifications. These features of inventive method considerably simplify the creation of robot movement sequences.

Die Aufgabe wird auch gelöst durch ein System zur Programmierung von Roboterbewegungsabläufen mit den in Patentanspruch 22 genannten Merkmalen.The Task is also solved by a system for programming robot motion sequences with the features mentioned in claim 22.

Demnach ist das erfindungsgemäße System zur Erstellung von Roboterbewegungsabläufen, für einen Roboter unter Einsatz einer dafür eingerichteten Datenverarbeitungsanlage, die mit einer Funktionseinheit zusammenarbeitet, mit einer Bildanalyse aus wenigstens einem Bild eines realen Arbeitsbereiches des Roboters ein virtueller Arbeitsbereich ermittelbar und das wenigstens eine Bild des realen oder/und des virtuellen Arbeitsbereiches des Roboters ist auf der Funktionseinheit anzeigbar. Durch eine Analyseeinheit ist eine Startstellung des Roboters in virtuelle Arbeitsbereiche festlegbar. Eine Soll-Endstellung des Roboters ist durch Auswahl einer gewünschten Stellung in der Darstellung des Arbeitsbereiches auf der Funktionseinheit festlegbar. Zudem sind die Bewegungsabläufe für den Roboter von der Startstellung zu der Soll-Endstellung durch eine Programmiereinheit festlegbar.Therefore is the system according to the invention for Creation of robot motion sequences, deployed for a robot one for that equipped data processing system with a functional unit cooperates with an image analysis of at least one image a real workspace of the robot a virtual workspace ascertainable and the at least one image of the real and / or the Virtual workspace of the robot is on the functional unit displayable. By an analysis unit is a starting position of Robot can be defined in virtual workspaces. A target end position of the robot is by selecting a desired position in the illustration of the work area can be defined on the functional unit. moreover are the movements for the Robot from the starting position to the target end position by a Programmable unit can be specified.

Durch die erfindungsgemäße Bildanalyseeinheit ist die seither notwendige aufwendige Programmierung des virtuellen Arbeitsbereichs des Roboters vermieden. Die Bildanalyseeinheit erstellt nämlich selbsttätig aus einem Bild eines realen Arbeitsbereiches einen virtuellen Arbeitsbereich. Für vergleichsweise einfache Aufgabenstellungen an einem Roboter bedeutet dies, dass mit nur einem Bild ein in der Regel zweidimensionaler virtueller Arbeitsbereich ermittelbar ist. Für andere Anwendungen, ist es oft notwendig einen dreidimensionalen virtuellen Arbeitsbereich zu ermitteln. Dann ist es günstig, wenn zwei oder mehrere Bilder eines realen Arbeitsbereichs aufgenommen sind. Vorteilhaft ist es, wenn diese Bilder den Arbeitsbereich aus verschiedenen Blickwinkeln, also beispielsweise aus verschiedenen Kamerapositionen, darstellen. Aus diesen Bildern ist dann durch die Bildanalyseeinheit der dreidimensionale virtuelle Arbeitsbereich ermittelbar.By means of the image analysis unit according to the invention, the elaborate programming of the virtual working area of the robot, which has been necessary since then, is avoided. Namely, the image analysis unit automatically creates a virtual workspace from an image of a real workspace. For comparatively simple tasks on a robot, this means that only one image can be used to determine a generally two-dimensional virtual workspace. For other applications, is Often it is necessary to determine a three-dimensional virtual workspace. Then it is advantageous if two or more images of a real workspace are included. It is advantageous if these images represent the work area from different angles, that is, for example, from different camera positions. The three-dimensional virtual workspace can then be determined from these images by the image analysis unit.

Ein weiterer Vorteil besteht darin, dass die Soll-Endstellung der Bewegungsbahn durch einfache Auswahl in einer Darstellung des Arbeitsbereichs festlegbar ist. Dabei ist es für den Erfindungsgedanken unwesentlich, ob für die Darstellung der reale Arbeitsbereich oder der virtuelle Arbeitsbereich verwendet wird. Es ist sogar die überlagerte Darstellung des realen und des virtuellen Arbeitsbereiches ohne weiteres möglich und für den Benutzer des Systems hilfreich.One Another advantage is that the target end position of the movement path Can be defined by simple selection in a representation of the workspace is. It is for the concept of the invention insignificant, whether for the representation of the real Workspace or virtual workspace is used. It's even the layered one Representation of the real and the virtual workspace easily possible and for the user of the system helpful.

Darüber hinaus ist es je nach Aufgabenstellung zur Auswahl einer gewünschten Stellung des Roboters als Soll-Endstellung möglich, nur einen Punkt in der Darstellung als Soll-Endstellung zu wählen. Dass ist dann der Fall, wenn beispielsweise die Orientierung des Werkzeuges des Roboters aufgrund der Aufgabenstellung bereits festgelegt ist.Furthermore It is depending on the task to select a desired Position of the robot as a target end position possible, only one point in the Select presentation as target end position. That's the case if, for example, the orientation of the tool of the robot already determined due to the task.

Es kann nämlich auch sein, dass zur Auswahl der gewünschten Soll-Endstellung mehrere Punkte in der Darstellung auszuwählen sind, die dann beispielsweise die Endstellung des Werkzeugs des Roboters festlegen oder insgesamt auch jede einzelne Position für die Roboterachsschenkel und -achsen und so weiter.It can namely also be that to select the desired target end position several points to select in the presentation are then, for example, the end position of the tool of Define robot or overall also each individual position for the Roboterachsschenkel and axes and so on.

Als besonders vorteilhafte Ausgestaltung des erfindungsgemäßen Systems hat sich ein graphikunterstütztes Eingabegerät, ein sogenanntes Graphical Teach Pendant Unit (GTPU) als Funktionseinheit herausgestellt. Mit diesem Eingabegerät sind sowohl die erforderlichen Darstellung des realen oder des virtuellen Arbeitsbereiches oder beides überlagert anzeigbar, als auch, durch Berühren entsprechender Stellen auf dem Bildschirm beispielsweise mit dem Finger eines Bedieners oder mit einem entsprechenden Graphikstift, Punkte auf der Anzeigefläche des Eingabegerätes identifizierbar, die dann durch das System als Punkt im virtuellen Arbeitsbereich des Roboters interpretierbar sind. Durch die Auswahl von einem oder mehrerer Punkte ist somit die Soll-Endstellung besonders leicht festlegbar.When particularly advantageous embodiment of the system according to the invention has a graphic-supported Input Device, a so-called Graphical Teach Pendant Unit (GTPU) as a functional unit exposed. With this input device are both the required Representation of the real or virtual workspace or superimposed on both displayable, as well, by touching appropriate places on the screen, for example with the Finger of an operator or with a corresponding graphics pen, Points on the display area of the input device identifiable, then by the system as a point in the virtual Work area of the robot are interpretable. By selection from one or more points is thus the target end position particularly easy to fix.

Weitere vorteilhafte Ausgestaltungen des Erfindungsgegenstandes sind den weiteren abhängigen Ansprüchen zu entnehmen.Further advantageous embodiments of the subject invention are the further dependent claims refer to.

Anhand dem in der Zeichnung angegebenen Ausführungsbeispiel sollen die Erfindung, ihre Vorteile sowie weitere Verbesserungen der Erfindung näher erläutert und beschrieben werden.Based the embodiment shown in the drawing, the invention, their advantages and further improvements of the invention explained in more detail and to be discribed.

Es zeigt:It shows:

einzige Fig. ein Schema des erfindungsgemäßen Verfahrens beziehungsweise des Systems.single Fig. A scheme of the method or method according to the invention of the system.

Die einzige Fig. zeigt beispielhaft einen Systemaufbau für das erfindungsgemäße System sowie die Funktionszusammenhänge der einzelnen Systemkomponenten und die Arbeitsweise des erfindungsgemäßen Verfahrens.The FIG. 1 shows by way of example a system structure for the system according to the invention as well as the functional relationships the individual system components and the operation of the method according to the invention.

Eine erste Systemkomponente ist das Kamerasystem 10, das in diesem Schema oben links zeichnerisch als Blase dargestellt ist. Das Kamerasystem 10 hat in einer einfachen Ausgestaltung eine einzelne Kamera, die Einzelbilder oder auch einen kontinuierlichen Bildfluss liefert und diese beziehungsweise diesen dem Gesamtsystem zur Verfügung stellt. Dieses zur Verfügung stellen und Übermitteln von Daten soll durch den ersten Pfeil 12 dargestellt sein.A first system component is the camera system 10 , which in the diagram on the upper left is depicted graphically as a bubble. The camera system 10 has in a simple embodiment, a single camera that provides frames or a continuous flow of images and this or this provides the overall system available. This will provide and transmit data by the first arrow 12 be shown.

Das Kamerasystem 10 ist in der Regel so ausgerichtet, dass der gesamte Arbeitsbereich oder wenigstens der für einen Roboter 70 für die aktuelle Arbeit wichtige Arbeitsbereichausschnitt überschaubar ist. Eine gute Möglichkeit dies zu realisieren, ist es, die Kamera oder die Kameras direkt an einen Roboterarm zu montieren, so dass diese zusammen mit der Bewegung des Roboterarms immer den aktuellen Arbeitsbereich an zeigen können. Bei zwei oder mehr Kameras in unterschiedlicher Position lässt sich eine besonders gute räumliche Erkennung und Identifizierung des realen Arbeitsbereiches erreichen. Die Erzeugung eines entsprechenden virtuellen Arbeitsbereiches des Roboters wird auf diese Weise erleichtert.The camera system 10 is usually oriented so that the entire workspace or at least that for a robot 70 important workspace section is manageable for the current work. A good way to realize this is to mount the camera or cameras directly to a robotic arm, so that they can always show the current workspace together with the movement of the robotic arm. With two or more cameras in different positions, a particularly good spatial recognition and identification of the real work area can be achieved. The generation of a corresponding virtual working area of the robot is facilitated in this way.

Innerhalb des Erfindungsgedanken sind mehrere Möglichkeiten vorgesehen, wie Bilder beziehungsweise Bilddaten eines realen Arbeitsbereiches dem System zur Verfügung gestellt werden können. Erfindungsgemäß ist es nämlich auch mit einer Kamera möglich, einen dreidimensionalen Arbeitsbereich zu erfassen und in einen entsprechend dreidimensionalen virtuellen Arbeitsbereich abzubilden. So kann zum Beispiel diese eine Kamera auf dem Roboterarm, wie vorstehend bereits angedeutet, angebracht sein. Dann nimmt die Kamera den abzubildenden realen Arbeitsbereich von einer ersten Position aus auf, wobei der Roboter die Kamera anschließend in eine zweckmäßige zweite Position verbringt, von der aus eine weitere Aufnahme des Arbeitsbereiches gemacht wird. Auf diese Weise wird mit zwei zeitlich aufeinanderfolgenden Bildern einer Kamera im Prinzip der selbe Effekt erzielt, wie wenn zwei Kameras an unterschiedlichen Positionen angebracht werden, ohne dass hieraus wesentlich Nachteile für die Erzeugung eines virtuellen Arbeitsbereiches hingenommen werden müssten.Within the concept of the invention several possibilities are provided, such as images or image data of a real work area can be made available to the system. In accordance with the invention, it is also possible with a camera to detect a three-dimensional working area and to image it in a correspondingly three-dimensional virtual working area. Thus, for example, this one camera can be mounted on the robot arm, as already indicated above. The camera then picks up the real working area to be imaged from a first position, with the robot subsequently spanning the camera into a suitable second position, from which another shot of the working area is taken is done. In this way, with two temporally successive images of a camera, in principle, the same effect is achieved as when two cameras are mounted at different positions, without significant disadvantages for the creation of a virtual work area would have to be accepted.

Die Bilddaten werden vom Kamerasystem 10 an ein erstes Systemmodul 20 übermittelt, das die empfangenen Daten einer ersten Analyse unterzieht beziehungsweise bestimmte Bilddaten, die zur Weiterverarbeitung im Gesamtsystem vorgesehen sind, selektiert. Das erste Systemmodul 20 liefert aber auch Rückmeldungen an das Kamerasystem 10, was durch einen zweiten Pfeil 14 dargestellt ist. Diese Rückmeldungen sind beispielsweise Korrekturbefehle für das Linsensystem des Kamerasystems 10 oder auch Koordinationsbefehle für die Datenübermittlung.The image data is from the camera system 10 to a first system module 20 transmitted, which subjects the received data to a first analysis or selects certain image data, which are provided for further processing in the overall system. The first system module 20 but also provides feedback to the camera system 10 , which by a second arrow 14 is shown. These feedbacks are, for example, correction commands for the lens system of the camera system 10 or coordination commands for data transmission.

Vom ersten Systemmodul 20 werden nun bestimmte Daten, beispielsweise die selektierten Bilddaten, an eine Kommunikationsvorrichtung 30 übermittelt, was durch einen dritten Pfeil 16 gezeigt ist. In dem gezeigten Beispiel ist dass das Anzeigegerät 30, ein sogenanntes Graphical Teach Pendant Unit (GTPU), das neben der reinen Anzeige von Informationen, beispielsweise Bilder des Kamerasystems 10, auch eine Eingabemöglichkeit für Daten beinhaltet. Die Bilder werden insbesondere einem Bediener 40 ange zeigt, was durch den vierten Pfeil 18 angedeutet ist. Üblicherweise ist ein solches GTPU Teil des Robotersystems und hat häufig die Aufgabe, als Handsteuerungsgerät die Roboterbewegungen manuell steuern zu können. Dem Erfindungsgedanken entsprechend wird dieses GTPU nunmehr zusätzlich als Eingabegerät und Auswahlgerät eingesetzt.From the first system module 20 Now certain data, such as the selected image data, to a communication device 30 transmitted, which by a third arrow 16 is shown. In the example shown, that is the display device 30 , a so-called Graphical Teach Pendant Unit (GTPU), which in addition to the mere display of information, such as images of the camera system 10 , also includes an input option for data. In particular, the images become an operator 40 indicates what is indicated by the fourth arrow 18 is indicated. Usually, such a GTPU is part of the robot system and often has the task of being able to manually control the robot movements as a manual control device. According to the spirit of the invention, this GTPU is now additionally used as an input device and selection device.

Darüber hinaus ist die Kommunikationsvorrichtung 30 aber auch so ausgestaltet, dass sie weitere Daten von einem zweiten Systemmodul 50, angedeutet durch den fünften Pfeil 22, sowie zusätzliche Daten von einem dritten Systemmodul 60, wiederum angedeutet durch einen sechsten Pfeil 24, empfängt und verarbeitet. Auch diese Informationen werden in der Kommunikationsvorrichtung 30 verarbeitet und dargestellt, auch in Kombination oder in überlagerter Form mit den von anderen Systemmodulen erhaltenen Informationen 20, 50, 60. Die empfangenen Informationen insgesamt werden so aufbereitet, dass der Bediener 40 einen maximalen Nutzen, insbesondere auch Hilfestellungen hat, und dass alle dazu notwendigen Informationen auf der Kommunikationsvorrichtung 30 angezeigt werden.In addition, the communication device 30 but also designed to get more data from a second system module 50 , indicated by the fifth arrow 22 , as well as additional data from a third system module 60 again indicated by a sixth arrow 24 , receives and processes. This information is also in the communication device 30 processed and displayed, also in combination or in superimposed form with the information received from other system modules 20 . 50 . 60 , The received information as a whole is prepared so that the operator 40 has maximum benefit, especially assistance, and that all necessary information on the communication device 30 are displayed.

Im Beispiel wird die Kommunikationsvorrichtung 30 auch als Eingabegerät genutzt, so dass der Bediener 40 auch Informationen über die Kommunikationsvorrichtung 30 in das System eingibt. Mit diesen Informationen sind insbesondere solche gemeint, mit denen der Bediener 40 angezeigte Objekte auswählt, beispielsweise durch Berühren mit dem Finger auf der Anzeige oder mittels Antippen mit einem speziellen Eingabestift. Darüber hinaus werden bestimmte Funktionen des Systems angewählt oder auch, was später noch näher beschrieben wird, eine gewünschte Endstellung des Roboters eingegeben. Im wesentlichen sind den Eingabemöglichkeiten keine prinzipiellen Schranken gesetzt. Dies alles soll durch den siebten Pfeil 26 angedeutet sein.In the example, the communication device 30 Also used as an input device, allowing the operator 40 also information about the communication device 30 into the system. By this information is meant in particular those with which the operator 40 selected items, for example, by touching your finger on the screen or by tapping with a special stylus. In addition, certain functions of the system are selected or, as will be described later, a desired end position of the robot entered. Essentially, the input options are not fundamentally limited. All this should be done by the seventh arrow 26 be indicated.

Das erste Systemmodul 20 liefert nicht nur Bilddaten und Funktionsdaten an die Kommunikationsvorrichtung 30, sondern auch selektierte Daten oder wenigstens teilweise aufbereitete Daten an das zweite Systemmodul 50, hier angedeutet durch den achten Pfeil 28. Im gezeigten Beispiel hat das zweite Systemmodul 50 die Aufgabe, alle wesentlichen Daten und Informationsströme zu koordinieren oder entsprechend aufzubereiten. So erhält es beispielsweise vom dritten Systemmodul 60, das zur Programmie rung der Roboterbefehle des Roboters 70 in das Gesamtsystem integriert ist, die Informationen über die möglichen Programmbefehle, beziehungsweise Steuerungsbefehle, die für den Roboter 70 vorgesehen und von diesem ausführbar sind. Zudem verarbeitet das zweite Systemmodul 50 auch Informationen, die von der Kommunikationsvorrichtung 30 über das erste Systemmodul 20, angedeutet durch den neunten Pfeil 32, an das zweite Systemmodul 50 übermittelt werden. Die aufbereiteten Daten werden, wie vorstehend schon gezeigt wurde und durch den fünften Pfeil 22 angedeutet ist, an die Kommunikationsvorrichtung 30 übermittelt.The first system module 20 not only provides image data and function data to the communication device 30 but also selected data or at least partially processed data to the second system module 50 , indicated by the eighth arrow 28 , In the example shown, the second system module 50 the task of coordinating all relevant data and information flows or preparing them accordingly. For example, it is obtained from the third system module 60 , for programming the robot commands of the robot 70 integrated into the overall system, the information about the possible program commands, or control commands, for the robot 70 provided and are executable by this. In addition, the second system module processes 50 also information provided by the communication device 30 via the first system module 20 , indicated by the ninth arrow 32 , to the second system module 50 be transmitted. The processed data are, as already shown above and by the fifth arrow 22 is indicated to the communication device 30 transmitted.

Je nach Eingabe durch den Bediener 40 wird das System nun verschieden reagieren. Wird beispielsweise vom Bediener 40 eine Soll-Endstellung einer Roboterbewegungsbahn, ausgehend von der aktuell angezeigten Position des Roboters 70, gewählt, wird diese Information an das dritte Systemmodul 60, angedeutet durch den vierzehnten Pfeil 44, übermittelt. Mit den erhaltenen Informationen erstellt das dritte Systemmodul 60 Steuerungsbefehle für den Roboter 70. Diese Steuerungsbefehle werden im Beispiel vom Roboter 70 nicht sofort ausgeführt, sondern im Roboter 70 oder in der Robotersteuerung zunächst gespeichert, was durch den elften Pfeil 36 angedeutet sein soll.Depending on input by the operator 40 the system will now react differently. For example, by the operator 40 a target end position of a robot trajectory, starting from the currently displayed position of the robot 70 , chosen, this information is sent to the third system module 60 , indicated by the fourteenth arrow 44 , transmitted. With the obtained information creates the third system module 60 Control commands for the robot 70 , These control commands are in the example of the robot 70 not immediately executed, but in the robot 70 or initially stored in the robot controller, which is indicated by the eleventh arrow 36 should be indicated.

Es ist aber auch ohne weiteres denkbar, dass die Steuerungsbefehle vom Roboter 70 sofort ausgeführt werden, was durch den zwölften Pfeil 38 gezeigt sein soll. Eine eventuelle Bewegung des Roboters 70 hat unmittelbare Auswirkungen auf die Bilder, die das Kamerasystem 10 dem ersten Systemmodul 20 übermitteln. Dies ist durch den dreizehnten Pfeil 42 gezeigt.But it is also readily conceivable that the control commands from the robot 70 be executed immediately, which is indicated by the twelfth arrow 38 should be shown. A possible movement of the robot 70 has an immediate impact on the pictures taken by the camera system 10 the first system module 20 to transfer. This is through the thirteenth arrow 42 shown.

Des weiteren ist es möglich, dass das dritte Systemmodul 60 anstatt der Steuerungsbefehle eine Simulation der Bewegungsabläufe erstellt. Auch auf diese Weise werden Roboterbewegungsabläufe erstellt, jedoch ohne dass diese sich sofort in Steuerungsbefehle für den Roboter niederschlagen. Diese Daten können dann im virtuellen Arbeitsbereich des Roboters verwendet werden.Furthermore, it is possible that the third system module 60 instead of the control commands created a simulation of the motion sequences. Also in this way, robot motion sequences are created, but without these immediately reflected in control commands for the robot. This data can then be used in the virtual workspace of the robot.

In dem hier gezeigten Beispiel wird die Programmierung eines Roboterbewegungsablaufes wie folgt vorgenommen.In The example shown here is the programming of a robot movement sequence made as follows.

Vom Kamerasystem 10, hier beispielsweise eine Stereokamera mit digitaler Aufnahmetechnik, wird ein erstes Bild aufgenommen, das den realen Arbeitsbereich des Roboters 70 darstellt. Diese Bild bzw. die Bilddaten werden an das erste Systemmodul 20 übermittelt, welches das erste Bild analysiert und als Ergebnis der Analyse den realen Arbeitsbereich in einen virtuellen Arbeitsbereich überführt, indem die durch die Analyse erkannten Objekte und der Roboter 70 selbst ebenfalls dargestellt werden. Als erkannte Objekte kommen insbesondere Werkstücke oder Einbauten im Arbeitsbereich oder auch Zuführ- und Versorgungsvorrichtungen des Roboters 70 in Betracht.From the camera system 10 Here, for example, a stereo camera with digital recording technology, a first image is taken, which is the real work area of the robot 70 represents. This image or image data is sent to the first system module 20 which analyzes the first image and, as a result of the analysis, translates the real workspace into a virtual workspace by analyzing the objects detected by the analysis and the robot 70 themselves also be represented. In particular, workpieces or fixtures in the work area or feed and supply devices of the robot come as detected objects 70 into consideration.

Ein Bewegungsablauf eines Roboters, hier des Roboters 70, wird durch eine Startstellung und einen Endpunkt bestimmt. Die Startstellung ist entweder aufgrund der aktuellen Position des Roboters 70 aus der Robotersteuerung in Form von Positionsdaten bereits bekannt, kann also von dieser abgefragt werden, oder wird aufgrund der Analyse insbesondere als Bildauswertung, des ersten Systemmoduls 20 aus dem ersten Bild bzw. aus den Bilddaten ermittelbar sein. Die Startstellung wird also in besonders einfacher Weise bestimmt.A movement sequence of a robot, here the robot 70 , is determined by a start position and an end point. The starting position is either due to the current position of the robot 70 from the robot controller in the form of position data already known, so it can be queried by this, or is due to the analysis in particular as image analysis, the first system module 20 be determined from the first image or from the image data. The starting position is thus determined in a particularly simple manner.

Zur Programmierung einer ersten Bewegungsbahn für den Roboter 70 ist nur noch eine Endstellung notwendig. Dazu wird zunächst der Arbeitsbereich des Roboters 70 auf der Kommunikationsvorrichtung 30 dargestellt. Diese Darstellung erfolgt üblichenrweise durch die Darstellung des realen Bildes des Arbeitsbereiches, kann aber auch durch die Darstellung eines virtuellen Arbeitsbereiches, der nach der Aufbereitung der Bilddaten des realen Arbeitsbereiches durch das erste Systemmodul 20, erfolgen. Besonders nützlich ist eine überlagerte Darstellung von realen Bilddaten mit virtuellen Bilddaten. So wird es dem Bediener 40 besonders erleichtert, sich im Arbeitsbereich anhand der realen Abbildung zu orientieren, gleichzeitig wird jedoch aufgrund der überlagerten virtuellen Darstellung des Arbeitsbereiches die Eingabe bzw. die Positionsfindung der Endstellung für die zu programmierende Bewegungsbahn für den Roboter 70, vereinfacht.For programming a first trajectory for the robot 70 only one final position is necessary. For this purpose, first the work area of the robot 70 on the communication device 30 shown. This representation is usually made by the representation of the real image of the work area, but can also by the representation of a virtual workspace, the after the preparation of the image data of the real work area by the first system module 20 , respectively. Particularly useful is a superimposed representation of real image data with virtual image data. So it will be the operator 40 At the same time, however, due to the overlaid virtual representation of the work area, the input or the position determination of the end position for the motion path to be programmed for the robot becomes much easier 70 , simplified.

Das System wartet nun auf die Eingabe des Bedieners 40, welche eine Soll-Endstellung der Bewegungsbahn für den Roboter 70 bestimmt, indem der Bediener 40 einfach die gewünschte Stellung auf der Kommunikationsvorrichtung 30 aufwählt, indem im ge wählten Beispiel zwei Endpunkte, nämlich zunächst ein erster für die Bestimmung des Endpunktes des Roboterarmes, dann ein zweiter, zur Bestimmung der Ausrichtung des Roboterwerkzeuges, ausgewählt werden. In besonders einfacher Weise erfolgt die Auswahl durch antippen der entsprechenden Stelle auf einem Bildschirm als Kommunikationsvorrichtung 30.The system now waits for the input of the operator 40 , which is a target end position of the trajectory for the robot 70 determined by the operator 40 simply the desired position on the communication device 30 chooses, in ge selected example, two endpoints, namely first a first for the determination of the end point of the robot arm, then a second, to determine the orientation of the robot tool, are selected. In a particularly simple manner, the selection is made by tapping the appropriate location on a screen as a communication device 30 ,

Die gewählte Soll-Endstellung wird dem ersten Systemmodul 20 zugeführt, welches die Information analysiert und in einen Punkt im virtuellen Arbeitsbereich umsetzt. Diese Information wiederum wird über das zweite Systemmodul 50 an die Kommunikationsvorrichtung 30 übermittelt und wird dort dargestellt, so dass der Bediener 40 eine visualisierte Rückmeldung seiner Auswahl erhält und gegebenenfalls auch korrigieren kann.The selected target end position becomes the first system module 20 fed, which analyzes the information and converts it into a point in the virtual workspace. This information in turn is via the second system module 50 to the communication device 30 transmitted and is presented there, allowing the operator 40 receives a visualized feedback of its selection and can correct it if necessary.

Im gewählten Beispiel erhält der Bediener 40 zusätzlich die vom System bestimmte virtuelle Bewegungsbahn zwischen der Startstellung und der Soll-Endstellung angezeigt.In the example chosen, the operator receives 40 In addition, the virtual movement path determined by the system between the start position and the target end position is displayed.

Auf diese Weise ist eine besonders einfache Kontrolle der später real auszuführenden Bewegungsbahn des Roboters 70 möglich.In this way, a particularly simple control of the real later to be executed trajectory of the robot 70 possible.

Es können nun entweder weitere Soll-Endstellungen eingegeben werden, die sozusagen zu einer Verkettung von einzelnen Bewegungsbahnen zu einer Gesamtbewegungsbahn für den Roboter 70 führen, oder, wie es im hier dargestellten Beispiel der Fall ist, keine weiteren Soll-Endstellungen angegeben, so dass der Roboter 70 nun die festgelegte Bewegungsbahn ausführt. Dazu übermittelt die Kommunikationsvorrichtung 30 die entsprechenden Informationen an das dritte Systemmodul 60, die die erhaltenen Informationen in Robotersteuerungsanweisungen oder -befehle umsetzt und an den Roboter 70 übermittelt, der die Steuerungsbefehle sofort ausführt. Im Beispiel ist das Kamerasystem 10 auf dem Roboter 70 montiert, so dass die Roboterbewegung durch den Roboter 70 sofort zu veränderten Bildern des Kamerasystems 10 führen, welches diese Bilder entsprechend wieder an das erste Systemmodul 20 liefert.Either further target end positions can now be entered, which, as it were, leads to a linking of individual movement paths to a total movement path for the robot 70 lead, or, as is the case in the example shown here, no further target end positions specified, so that the robot 70 now executes the defined trajectory. For this, the communication device transmits 30 the corresponding information to the third system module 60 that translates the obtained information into robot control instructions or commands and to the robot 70 which executes the control commands immediately. In the example is the camera system 10 on the robot 70 mounted, allowing the robot movement by the robot 70 Immediately to changed images of the camera system 10 lead, which returns these images accordingly to the first system module 20 supplies.

Auf diese Weise erfolgt die Programmierung von Bewegungsabläufen für den Roboter 70 auf besonders einfache Weise, ohne das besondere Spezialkenntnisse in der Roboterprogrammierung oder der CAD-Programmierung nötig wären.In this way, the programming of movements for the robot takes place 70 in a particularly simple way, without the special knowledge in robot programming or CAD programming would be necessary.

1010
Kamerasystemcamera system
1212
erster Pfeilfirst arrow
1414
zweiter Pfeilsecond arrow
1616
dritter Pfeilthird arrow
1818
vierter Pfeilfourth arrow
2020
erstes Systemmodulfirst system module
2222
fünfter Pfeilfifth arrow
2424
sechster Pfeilsixth arrow
2626
siebter Pfeilseventh arrow
2828
achter Pfeileight arrow
3030
Kommunikationsvorrichtungcommunication device
3232
neunter Pfeilninth arrow
3636
elfter Pfeileleventh arrow
3838
zwölfter Pfeiltwelfth arrow
4040
Bedieneroperator
4242
dreizehnter Pfeilthirteenth arrow
4444
vierzehnter Pfeilfourteenth arrow
5050
zweites Systemmodulsecond system module
6060
drittes Systemmodulthird system module
7070
Roboterrobot

Claims (35)

Verfahren zum Erstellen von Roboterbewegungsabläufen für einen Roboter (70), unter Einsatz einer dafür eingerichteten Datenverarbeitungsanlage und mit einer mit dieser zusammenarbeitenden Funktionseinheit (30), wobei a) aus wenigstens einem Bild eines realen Arbeitsbereiches des Roboters (70) ein virtueller Arbeitsbereich generiert wird, b) eine Startstellung des Roboters (70) im virtuellen Arbeitsbereich festgelegt wird, c) der reale oder/und der virtuelle Arbeitsbereich des Roboters (70) auf der Funktionseinheit (30) dargestellt wird, d) eine Soll-Endstellung des Roboters (70) mit der Funktionseinheit (30) ausgewählt wird, und e) die Bewegungsabläufe für den Roboter (70) in Abhängigkeit von der Startstellung und von der Soll-Endstellung festgelegt werden.Method for creating robot movement sequences for a robot ( 70 ) using a dedicated data processing system and a functional unit ( 30 ), where a) from at least one image of a real work area of the robot ( 70 ) a virtual workspace is generated, b) a starting position of the robot ( 70 ) in the virtual workspace, c) the real or / and virtual workspace of the robot ( 70 ) on the functional unit ( 30 ), d) a target end position of the robot ( 70 ) with the functional unit ( 30 ) and e) the movements for the robot ( 70 ) are determined depending on the starting position and the target end position. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Verfahrensschritte b) bis e) oder b) bis d) bis zu einem vorgebbaren Abbruchkriterium wiederholt werden, und dass als Startstellung für einen nächsten Wiederholungszyklus die Soll-Endstellung des vorangegangenen Wiederholungszyklus verwendet wird.Method according to claim 1, characterized in that that the method steps b) to e) or b) to d) up to a predetermined abort criterion are repeated, and that as a starting position for one next Repeat cycle the target end position the previous repetition cycle is used. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Verfahrensschritte a) bis e) bis zu einem vorgebbaren Abbruchkriterium wiederholt werden, und dass als Startstellung für einen nächsten Wiederholungszyklus die Soll-Endstellung des vorangegangenen Wiederholungszyklus verwendet wird.Method according to claim 1 or 2, characterized that the method steps a) to e) up to a predetermined abort criterion be repeated, and that as starting position for a next repetition cycle uses the target end position of the previous repetition cycle becomes. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass das wenigstens eine Bild des realen Arbeitsbereiches von wenigstens einem Aufnahmegerät (10) aufgenommen wird.Method according to one of the preceding claims, characterized in that the at least one image of the real working area of at least one recording device ( 10 ) is recorded. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass wenigstens ein Aufnahmegerät (10) vom Roboter (70) getragen wird.Method according to one of the preceding claims, characterized in that at least one recording device ( 10 ) from the robot ( 70 ) will be carried. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass das wenigstens eine Aufnahmegerät (10) zur Aufnahme von Bildern des realen Arbeitsbereiches vom Roboter auf unterschiedliche Raumpositionen gebracht wird.Method according to claim 5, characterized in that the at least one recording device ( 10 ) is brought to different spatial positions by the robot for taking pictures of the real working area. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass ein dreidimensionaler virtueller Arbeitsbereich aus wenigstens zwei unterschiedlichen Bildern des realen Arbeitsbereiches erzeugt wird.Method according to one of the preceding claims, characterized characterized in that a three-dimensional virtual workspace from at least two different images of the real workspace is produced. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die wenigstens zwei Bilder aus unterschiedlichen Blickwinkeln auf den realen Arbeitsbereich aufgenommen werden.Method according to claim 7, characterized in that that the at least two images from different angles be included on the real workspace. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Startstellung von einer Steuerungsvorrichtung des Roboters (70) abgefragt und in den virtuellen Arbeitsbereich übertragen wird.Method according to one of the preceding claims, characterized in that the starting position of a control device of the robot ( 70 ) and transferred to the virtual workspace. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Festlegung der Soll-Endstellung in der Darstellung des realen oder/und virtuellen Arbeitsbereiches auf der Funktionseinheit (30) vorgenommen wird.Method according to one of the preceding claims, characterized in that the determination of the desired end position in the representation of the real or / and virtual work area on the functional unit ( 30 ) is made. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Soll-Endstellung nach deren Festlegung in den virtuellen Arbeitsbereich übertragen wird.Method according to one of the preceding claims, characterized characterized in that the target end position after their definition is transferred to the virtual workspace. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die erstellten Roboterbewegungsabläufe als Steuerungsbefehle in die Steuerungsvorrichtung übermittelt werden.Method according to one of the preceding claims, characterized characterized in that the created robot movement sequences as Control commands are transmitted to the control device. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass das wenigstens eine Bild von einer Analyseeinheit analysiert wird, und dass die erkannten Objekte in den virtuellen Arbeitsbereich überführt werden.Method according to one of the preceding claims, characterized characterized in that the at least one image is from an analysis unit is analyzed and that the detected objects are transferred to the virtual workspace. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass die Durchführung der Analyse des wenigstens einen Bildes, die Ermittlung der Startstellung aus dem wenigstens einen Bild, die Durchführung der die Übertragung der Soll-Endstellung in den virtuellen Arbeitsbereich, die Bestimmung des Bewegungsablaufes und/oder die Übertragung der Roboterabläufe als Steuerungsbefehle in die Steuerungsvorrichtung durch ein Computerprogrammprodukt vorgenommen wird.A method according to claim 13, characterized in that the implementation of the analysis of the at least one image, the determination of the starting position from the at least one image, the through management of the transmission of the target end position in the virtual work area, the determination of the movement sequence and / or the transmission of the robot processes as control commands in the control device is performed by a computer program product. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass reale Positionsdaten aus der Steuerungsvorrichtung des Roboters (70) für einen Abgleich oder eine Kollidierung mit den entsprechenden Daten des erstellten virtuellen Arbeitsbereiches verwendet werden.Method according to one of the preceding claims, characterized in that real position data from the control device of the robot ( 70 ) for matching or colliding with the corresponding data of the created virtual workspace. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass auf der Funktionseinheit (30) Bedienerhilfen angezeigt werden.Method according to one of the preceding claims, characterized in that on the functional unit ( 30 ) Are displayed. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass eine Kontrolle der erstellten Roboterbewegungsabläufe auf Kollision zwischen dem Roboter (70) und den erkannten Objekten durchgeführt wird.Method according to one of the preceding claims, characterized in that a check of the created robot movement sequences on collision between the robot ( 70 ) and the detected objects. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass die erstellten Roboterbewegungsabläufe gegebenenfalls in kollisionsvermeidende Roboterbewegungsabläufe korrigiert werden.Method according to claim 17, characterized in that If necessary, the created robot movement sequences are collision avoidable Robot movements Getting corrected. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass die Kontrolle und gegebenenfalls die Korrektur der Roboterbewegungsabläufe vor der Übermittlung der Steuerungsbefehle an die Steuerungsvorrichtung vorgenommen wird.Method according to claim 17 or 18, characterized that the control and, if necessary, the correction of the robot movement sequences before the transmission the control commands to the control device is made. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Computerprogrammprodukte wenigstens teilweise mit der Steuervorrichtung ausgeführt werden.Method according to one of the preceding claims, characterized characterized in that the computer program products at least partially executed with the control device become. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Soll-Endstellung über die Funktionseinheit (30), insbesondere durch Auswahl mittels eines Fingers, eines Stiftes oder eines Graphiktabletts, eingegeben wird.Method according to one of the preceding claims, characterized in that the desired end position via the functional unit ( 30 ), in particular by selection by means of a finger, a pen or a graphics tablet. System zur Erstellung von Roboterbewegungsabläufen, für einen Roboter (70), unter Einsatz einer dafür eingerichteten Datenverarbeitungsanlage, die mit einer Funktionseinheit (30) zusammenarbeitet, wobei a) mit einer Bildanalyseeinheit aus wenigstens einem Bild eines realen Arbeitsbereiches des Roboters (70) ein virtueller Arbeitsbereich ermittelbar ist, b) das wenigstens eine Bild des realen oder/und des virtuellen Arbeitsbereiches des Roboters (70) auf der Funktionseinheit (30) anzeigbar ist, c) durch eine Analyseeinheit eine Startstellung des Roboters (70) im virtuellen Arbeitsbereich festlegbar ist, d) eine Soll-Endstellung des Roboters (70) durch Auswahl einer entsprechenden Stellung in der Darstellung des Arbeitsbereiches auf der Funktionseinheit (30) festlegbar ist und e) die Bewegungsabläufe für den Roboter (70) von der Startstellung zu der Soll-Endstellung durch eine Programmiereinheit festlegbar sind.System for creating robot movement sequences, for a robot ( 70 ) using a dedicated data processing system equipped with a functional unit ( 30 ), wherein a) with an image analysis unit from at least one image of a real work area of the robot ( 70 ) a virtual workspace can be determined, b) the at least one image of the real or / and the virtual workspace of the robot ( 70 ) on the functional unit ( 30 ) can be displayed, c) by an analysis unit, a starting position of the robot ( 70 ) can be defined in the virtual work area, d) a target end position of the robot ( 70 ) by selecting a corresponding position in the representation of the working area on the functional unit ( 30 ) and e) the movements for the robot ( 70 ) are determinable by the starting position to the target end position by a programming unit. System nach Anspruch 22, dadurch gekennzeichnet, dass die Startstellung des Roboters (70) aus der Steuerungsvorrichtung abfragbar oder/und aus dem wenigstens einen Bild ermittelbar ist.System according to claim 22, characterized in that the starting position of the robot ( 70 ) Can be queried from the control device and / or from the at least one image can be determined. System nach Anspruch 22 oder 23, dadurch gekennzeichnet, dass das wenigstens eine Bild des realen Arbeitsbereiches mit wenigstens einem Aufnahmegerät aufgenommen ist.System according to claim 22 or 23, characterized that the at least one image of the real work area with at least a recording device is included. System nach Anspruch 24, dadurch gekennzeichnet, dass das wenigstens eine Aufnahmegerät eine Kamera ist oder eine Stereokamera ist.System according to claim 24, characterized that the at least one recording device is a camera or a Stereo camera is. System nach Anspruch 24 bis 25, dadurch gekennzeichnet, dass von wenigstens zwei Kameras Bilder an die Analyseeinheit übermittelbar sind, und dass die Bilder des realen Arbeitsbereiches der wenigstens zwei Kameras aus unterschiedlichen Perspektiven aufgenommen sind.System according to claims 24 to 25, characterized that at least two cameras can transfer images to the analysis unit are, and that the images of the real workspace of at least two cameras are taken from different perspectives. System nach Anspruch 24 bis 26, dadurch gekennzeichnet, dass wenigstens ein Aufnahmegerät (10) am Roboter (70) angeordnet ist.System according to claim 24 to 26, characterized in that at least one recording device ( 10 ) on the robot ( 70 ) is arranged. System nach einem der vorgenannten Ansprüche 24 bis 27, dadurch gekennzeichnet, dass wenigstens ein Aufnahmegerät (10) vom Roboter (70) beabstandet ist.System according to one of the preceding claims 24 to 27, characterized in that at least one recording device ( 10 ) from the robot ( 70 ) is spaced. System nach einem der vorgenannten Ansprüche 22 bis 28, dadurch gekennzeichnet, dass durch die Bildanalyseeinheit durch eine Verarbeitung der Bilddaten aus wenigstens zwei unterschiedlichen realen Bildern ein dreidimensionaler virtueller Arbeitsbereich erstellbar ist.System according to one of the preceding claims 22 to 28, characterized in that by the image analysis unit a processing of the image data from at least two different real Create a three-dimensional virtual workspace is. System nach einem der vorgenannten Ansprüche 22 bis 29, dadurch gekennzeichnet, dass die Bildanalyseeinheit, die Analyseeinheit und/oder die Programmiereinheit ein Computerprogrammprodukt ist.System according to one of the preceding claims 22 to 29, characterized in that the image analysis unit, the analysis unit and / or the programming unit is a computer program product. System nach einem der vorgenannten Ansprüche 22 bis 30, dadurch gekennzeichnet, dass als Funktionseinheit (30) zur Eingabe einer Soll-Endstellung ein Bildschirm, ein graphikunterstütztes Eingabegerät oder ein Graphik-Pointer mit dem System verbunden ist.System according to one of the preceding claims 22 to 30, characterized in that as a functional unit ( 30 ) is connected to the input of a desired end position, a screen, a graphics-supported input device or a graphic pointer to the system. System nach einem der vorgenannten Ansprüche 22 bis 31, dadurch gekennzeichnet, dass die Funktionseinheit (30) als Handsteuergerät des Roboters (70) einsetzbar ist.System according to one of the preceding claims 22 to 31, characterized in that the functional unit ( 30 ) as a hand control device of the robot ( 70 ) can be used. System nach einem der vorgenannten Ansprüche 22 bis 32, dadurch gekennzeichnet, dass die Computerprogrammprodukte wenigstens teilweise durch die Steuervorrichtung ausführbar sind.System according to one of the preceding claims 22 to 32, characterized in that the computer program products at least partially executable by the control device. System nach einem der vorgenannten Ansprüche 22 bis 33, dadurch gekennzeichnet, dass die Datenverarbeitungsanlage mit der Steuervorrichtung verbunden ist, auf welcher Datenverarbeitungsanlage wenigstens teilweise die Computerprogrammprodukte ausführbar sind.System according to one of the preceding claims 22 to 33, characterized in that the data processing system with the control device is connected to which data processing system at least partially the computer program products are executable. System nach einem der vorgenannten Ansprüche 22 bis 33, dadurch gekennzeichnet, dass die Datenverarbeitungsanlage die Steuerungsvorrichtung ist.System according to one of the preceding claims 22 to 33, characterized in that the data processing system the Control device is.
DE200410032996 2004-07-08 2004-07-08 Robot programming method for robot of data processing system involves functional unit whereby virtual work area is generated and course of motion for robot in start position and end position is specified Withdrawn DE102004032996A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410032996 DE102004032996A1 (en) 2004-07-08 2004-07-08 Robot programming method for robot of data processing system involves functional unit whereby virtual work area is generated and course of motion for robot in start position and end position is specified

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410032996 DE102004032996A1 (en) 2004-07-08 2004-07-08 Robot programming method for robot of data processing system involves functional unit whereby virtual work area is generated and course of motion for robot in start position and end position is specified

Publications (1)

Publication Number Publication Date
DE102004032996A1 true DE102004032996A1 (en) 2006-02-16

Family

ID=35668291

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410032996 Withdrawn DE102004032996A1 (en) 2004-07-08 2004-07-08 Robot programming method for robot of data processing system involves functional unit whereby virtual work area is generated and course of motion for robot in start position and end position is specified

Country Status (1)

Country Link
DE (1) DE102004032996A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013222456A1 (en) * 2013-11-05 2015-05-07 Kuka Laboratories Gmbh Method for programming the motion sequences of a redundant industrial robot and associated industrial robots
DE102015204641A1 (en) * 2014-06-03 2015-12-03 ArtiMinds Robotics GmbH Method and system for programming a robot
WO2019029878A1 (en) * 2017-08-07 2019-02-14 Robert Bosch Gmbh Handling assembly comprising a handling device for carrying out at least one work step, method, and computer program
DE102018218081A1 (en) * 2018-10-23 2020-04-23 Robert Bosch Gmbh Device and method for controlling a robot system
CN113710432A (en) * 2019-04-16 2021-11-26 西门子股份公司 Method for determining a trajectory of a robot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003059582A2 (en) * 2001-12-27 2003-07-24 Prophet Control Systems Limited Program robots with off-line design
DE10214880A1 (en) * 2002-04-04 2003-10-23 Erwin Rothballer Robot arm programming method in which process movement commands are automatically adjusted for workpiece condition or state data, such as temperature and or material properties
US6754370B1 (en) * 2000-08-14 2004-06-22 The Board Of Trustees Of The Leland Stanford Junior University Real-time structured light range scanning of moving scenes
DE102004016329A1 (en) * 2003-11-10 2005-05-25 Siemens Ag System and method for performing and visualizing simulations in an augmented reality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754370B1 (en) * 2000-08-14 2004-06-22 The Board Of Trustees Of The Leland Stanford Junior University Real-time structured light range scanning of moving scenes
WO2003059582A2 (en) * 2001-12-27 2003-07-24 Prophet Control Systems Limited Program robots with off-line design
DE10214880A1 (en) * 2002-04-04 2003-10-23 Erwin Rothballer Robot arm programming method in which process movement commands are automatically adjusted for workpiece condition or state data, such as temperature and or material properties
DE102004016329A1 (en) * 2003-11-10 2005-05-25 Siemens Ag System and method for performing and visualizing simulations in an augmented reality

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FRÖHLICH,C.,et.al.: Imaging laser radar for 3-D modelling of real world environments. In: Sensor Review, Vol.20,Nor.4,2000,S.273-281 *
FRÖHLICH,C.,et.al.: Imaging laser radar for 3-D modelling of real world environments. In: Sensor Review, Vol.20,Nor.4,2000,S.273-281;
JOHNSON,A.E.,et.al.: A System for Semi-automatic Modelling of Complex Environments. In: Proc.Int.Conf.on 3-D Digital Imaging and Modeling, May 1997,S.213-220 *
JOHNSON,A.E.,et.al.: A System for Semi-automatic Modelling of Complex Environments. In: Proc.Int.Conf.on 3-D Digital Imaging and Modeling, May 1997,S.213-220;

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013222456A1 (en) * 2013-11-05 2015-05-07 Kuka Laboratories Gmbh Method for programming the motion sequences of a redundant industrial robot and associated industrial robots
DE102015204641A1 (en) * 2014-06-03 2015-12-03 ArtiMinds Robotics GmbH Method and system for programming a robot
US10279476B2 (en) 2014-06-03 2019-05-07 ArtiMinds Robotics GmbH Method and system for programming a robot
DE102015204641B4 (en) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Method and system for programming a robot
WO2019029878A1 (en) * 2017-08-07 2019-02-14 Robert Bosch Gmbh Handling assembly comprising a handling device for carrying out at least one work step, method, and computer program
US11478932B2 (en) 2017-08-07 2022-10-25 Robert Bosch Gmbh Handling assembly comprising a handling device for carrying out at least one work step, method, and computer program
DE102018218081A1 (en) * 2018-10-23 2020-04-23 Robert Bosch Gmbh Device and method for controlling a robot system
CN113710432A (en) * 2019-04-16 2021-11-26 西门子股份公司 Method for determining a trajectory of a robot

Similar Documents

Publication Publication Date Title
DE102019009313B4 (en) Robot control, method and computer program using augmented reality and mixed reality
DE102014103738B3 (en) VISUAL TROUBLESHOOTING FOR ROBOTIC TASKS
EP2285537B1 (en) Device and method for the computer-assisted generation of a manipulator track
DE102018109463C5 (en) Method for using a multi-unit actuated kinematics, preferably a robot, particularly preferably an articulated robot, by a user using a mobile display device
DE102015015503B4 (en) Robotic system having an augmented reality compatible display
DE602006000648T2 (en) Offline teaching device for a robot
EP1447770B1 (en) Method and apparatus for visualization of computer-based information
EP2546711B2 (en) Method for programming a robot
DE102007033486B4 (en) Method and system for mixing a virtual data model with an image generated by a camera or a presentation device
DE102015204641B4 (en) Method and system for programming a robot
DE102015011830C5 (en) Robot system for setting a motion surveillance area of a robot
DE102018009023B4 (en) Teaching device for carrying out robot teaching processes and teaching methods
DE102013113165A1 (en) Calibration method for robot system
DE102019002928B4 (en) Simulation device for robots
EP1604789A2 (en) Method and device for improving the positioning accuracy of a manipulator
DE102015107436A1 (en) Learning track control
DE102013017425A1 (en) Method for detecting gestures of a human body
DE10393527T5 (en) Systems and methods for displaying complex n-curves for direct control of tool motion
WO2016193305A1 (en) Method for calculating an optimised trajectory
DE102020212658A1 (en) Apparatus and method for controlling a robotic device
DE102018004673A1 (en) Robot system displaying a speed
DE102007009851B3 (en) Industrial robot's position determining method, involves determining position of robot relative to object based on assigned model points, and determining position of camera assigned to image and position of camera relative to robot
EP3374135A1 (en) Method for the simplified modification of application programs for controlling an industrial plant
EP3418839B1 (en) Method for monitoring an automation assembly
DE102004032996A1 (en) Robot programming method for robot of data processing system involves functional unit whereby virtual work area is generated and course of motion for robot in start position and end position is specified

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8139 Disposal/non-payment of the annual fee