DE102015116086A1 - robot control - Google Patents

robot control Download PDF

Info

Publication number
DE102015116086A1
DE102015116086A1 DE102015116086.2A DE102015116086A DE102015116086A1 DE 102015116086 A1 DE102015116086 A1 DE 102015116086A1 DE 102015116086 A DE102015116086 A DE 102015116086A DE 102015116086 A1 DE102015116086 A1 DE 102015116086A1
Authority
DE
Germany
Prior art keywords
motion
movement
robot
trajectories
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102015116086.2A
Other languages
German (de)
Inventor
Michael Riedl
Dominik Henrich
Johannes Baumgartl
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.)
Universitaet Bayreuth
Original Assignee
Universitaet Bayreuth
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 Universitaet Bayreuth filed Critical Universitaet Bayreuth
Priority to DE102015116086.2A priority Critical patent/DE102015116086A1/en
Priority to PCT/EP2016/072543 priority patent/WO2017050895A1/en
Publication of DE102015116086A1 publication Critical patent/DE102015116086A1/en
Ceased legal-status Critical Current

Links

Images

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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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
    • 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
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34348Coordination of operations, different machines, robots execute different tasks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

Zum Erzeugen eines Steuerprogramms S für eine Interaktion zwischen beweglichen Roboterkomponenten 5a, 5b wird zunächst mit jeder Roboterkomponente 5a, 5b zumindest eine Bewegungstrajektorie T im Sinne der Playback-Programmierung manuell durchfahren. Eine Programmiereinrichtung 1 zeichnet die Bewegungstrajektorien T auf und übersetzt diese in Programmabschnitte P des Steuerprogramms S derart, dass durch Ausführen eines Programmabschnitts P durch eine Robotersteuerung 2 die zumindest eine Bewegungstrajektorie T der betreffenden Roboterkomponente 5a, 5b reproduziert wird. Erfindungsgemäß setzt die Programmiereinrichtung 1 die aufgezeichneten Bewegungstrajektorien T in graphische Bewegungsrepräsentationen R; 20 entlang einer Zeitachse 21 um, so dass die Bewegungsrepräsentationen R; 20 jeweils zumindest eine Bewegungstrajektorie T einer Roboterkomponente 5a, 5b repräsentieren. Die Bewegungstrajektorien T können dann durch Manipulieren S3 der Bewegungsrepräsentationen R; 20 derart räumlich und zeitlich aufeinander abgestimmt werden, dass die Interaktion korrekt definiert wird. Schließlich werden die Bewegungstrajektorien T entsprechend der manipulierten Bewegungsrepräsentationen R; 20 transformiert und in die Programmabschnitte P des Steuerprogramms S derart übersetzt, dass die Roboterkomponenten 5a, 5b die Interaktion bei Ausführung des Steuerprogramms S durch die Robotersteuerung 2 synchronisiert durchführen.To generate a control program S for an interaction between mobile robot components 5a, 5b, at least one movement trajectory T in the sense of playback programming is first manually traversed with each robot component 5a, 5b. A programmer 1 records the movement trajectories T and translates them into program sections P of the control program S such that by executing a program section P by a robot controller 2, the at least one movement trajectory T of the respective robot component 5a, 5b is reproduced. According to the invention, the programming device 1 sets the recorded movement trajectories T into graphic motion representations R; 20 along a time axis 21, so that the motion representations R; 20 each represent at least one movement trajectory T of a robot component 5a, 5b. The motion trajectories T can then be manipulated by manipulating S3 the motion representations R; 20 are spatially and temporally coordinated so that the interaction is defined correctly. Finally, the motion trajectories T corresponding to the manipulated motion representations R; 20 and translated into the program sections P of the control program S such that the robot components 5a, 5b perform the interaction in execution of the control program S synchronized by the robot controller 2.

Description

Die vorliegende Erfindung betrifft ein Verfahren sowie eine Programmiereinrichtung zur Erzeugung eines Steuerprogramms für eine Interaktion zwischen beweglichen Roboterkomponenten.The present invention relates to a method and a programmer for generating a control program for an interaction between mobile robot components.

Beim industriellen Einsatz von Robotern kommt es in der Regel auf eine exakte Koordination der unterschiedlichen, zusammenwirkenden Roboter oder Roboterkomponenten an, damit diese die gewünschte Interaktionen aufeinander abgestimmt und synchronisiert durchführen, beispielsweise sogenannte Pick-and-Place-Aufgaben, wie zum Beispiel das Aufnehmen und Absetzen von Gegenständen, die Bearbeitung von Gegenständen durch zusammenwirkende Roboterkomponenten eines oder mehrerer Roboter oder dergleichen. Unter einer Roboterkomponente ist in diesem Zusammenhang einerseits ein einfacher Roboter zu verstehen, der mit anderen Robotern interagiert, bei komplexeren Robotern mit mehreren Komponenten andererseits aber auch jede einzelne Komponente eines solchen Roboters, die getrennt von anderen Komponenten des betreffenden Roboters angesteuert werden kann, zum Beispiel Roboterarme, Greifer, Werkzeuge, Arbeitsmaschinen, Roboterfahrwerke oder dergleichen. Insofern betrifft die Erfindung insbesondere auch die Erzeugung eines Steuerprogramms für eine Interaktion zwischen mehreren beweglichen Roboterkomponenten eines einzigen Roboters. Unter den Begriff der Roboterkomponente fallen aber auch sonstige bewegliche oder ansteuerbare technische Einrichtungen, die an einer Interaktion beteiligt sein können, zum Beispiel Förderbänder, dreh- und/oder schwenkbare Tische und Halter, oder dergleichen.In the industrial use of robots, it usually comes down to an exact coordination of the different, cooperating robots or robot components, so that they perform the desired interactions coordinated and synchronized, such as so-called pick-and-place tasks, such as recording and Depositing objects, processing objects by interacting robotic components of one or more robots or the like. In this context, a robot component is to be understood on the one hand as a simple robot interacting with other robots, but on the other hand in complex robots with multiple components but also each individual component of such a robot which can be controlled separately from other components of the robot in question, for example Robotic arms, grippers, tools, work machines, robot landing gear or the like. In this respect, the invention particularly relates to the generation of a control program for an interaction between a plurality of movable robot components of a single robot. However, the term "robot component" also includes other movable or controllable technical devices that may be involved in an interaction, for example conveyor belts, rotatable and / or pivotable tables and holders, or the like.

Die automatisierte Interaktion derartiger Roboterkomponenten erfordert deren räumliche und zeitliche Synchronisation, damit zwei oder mehr Roboterkomponenten wie gewünscht interagieren, um beispielsweise einen Gegenstand gemeinsam erfolgreich zu bearbeiten. Im Zusammenhang mit der vorliegenden Erfindung bezeichnet der Begriff der „Interaktion” also den gemeinsamen Bewegungsablauf von mehreren, zusammenwirkenden Roboterkomponenten eines oder mehrerer Roboter innerhalb eines bestimmten Zeitfensters, wobei die für die Interaktion notwendige zeitliche und/oder örtliche Koordination der Roboterkomponenten durch Synchronisationsmechanismen sichergestellt wird.The automated interaction of such robotic components requires their spatial and temporal synchronization to allow two or more robotic components to interact as desired, for example, to successfully collaborate on an object. In the context of the present invention, the term "interaction" thus refers to the joint movement sequence of several interacting robot components of one or more robots within a specific time window, whereby the temporal and / or spatial coordination of the robot components necessary for the interaction is ensured by synchronization mechanisms.

Zur Programmierung derartiger Roboterinteraktionen wird häufig die sogenannte führungszentrierte Programmierung verwendet (auch Teach-in- oder Playback-Programmierung genannt), bei der die kräftefrei geschalteten Roboterkomponenten von einer Bedienperson jeweils einzeln entlang derjenigen Bewegungstrajektorien geführt werden, welche die betreffenden Roboterkomponenten bei der Interaktion abfahren sollen. Die manuell oder mit Hilfe eines Programmierhandgeräts durchfahrenen Bewegungstrajektorien werden aufgezeichnet und in ein Steuerprogramm umgesetzt, welches anschließend die Interaktion durch Reproduzieren der Bewegungstrajektorien durch die Roboterkomponenten steuert.To program such robot interactions, the so-called guide-centered programming is often used (also called teach-in or playback programming) in which the force-free switched robot components are guided individually by an operator along those movement trajectories that are to depart the respective robot components in the interaction , The trajectories traversed manually or with the aid of a manual programmer are recorded and converted into a control program which subsequently controls the interaction by reproducing the trajectories of movement by the robot components.

Während diese Art der Roboterprogrammierung zunächst schnell und intuitiv erscheint, sind die derart erzeugten Steuerprogramme in der Regel nicht ohne weiteres einsetzbar, da die einzeln und unabhängig von anderen Roboterkomponenten und deren Trajektorien aufgezeichneten Bewegungstrajektorien der Synchronisation bzw. zumindest noch einer Feinabstimmung bedürfen, damit die Interaktion erfolgreich durchgeführt wird. Die aus den entsprechenden Programmabschnitten zusammengesetzten Steuerprogramme können jedoch kaum editiert werden, um die Trajektorien im Hinblick auf die Interaktion zu synchronisieren, da die automatisierte Übersetzung der aufgezeichneten Trajektorien häufig unübersichtlichen und komplexen Programmcode erzeugt, dessen Editieren erhebliche Kenntnisse erfordert und für den Programmierer mit großem Aufwand verbunden ist.While this type of robot programming initially appears to be fast and intuitive, the control programs generated in this way are generally not readily usable, since the movement trajectories recorded individually and independently of other robot components and their trajectories require synchronization or at least a fine tuning, so that the interaction successfully performed. However, the control programs composed of the respective program sections can hardly be edited to synchronize the trajectories in terms of interaction, since the automated translation of the recorded trajectories often produces confusing and complex program code, the editing of which requires considerable knowledge and for the programmer with great effort connected is.

In diesem Zusammenhang sind Lösungen bekannt, bei denen eine Interaktion durch alternierendes Aufzeichnen mehrerer ineinander verzahnter Bewegungstrajektorien unterschiedlicher Roboterkomponenten im Teach-in-Modus programmiert wird, indem während der Aufzeichnung zwischen den betreffenden Roboterkomponenten manuell umgeschaltet wird. Parallele, synchronisierte Bewegungsabläufe verschiedener Komponenten sind hiermit jedoch auch nicht mit der erforderlichen Feinabstimmung erzeugbar, ebensowenig wie die nachträgliche Synchronisation der aufgezeichneten Trajektorien im Hinblick auf die gewünschte Interaktion möglich ist.In this connection, solutions are known in which an interaction is programmed by alternately recording a plurality of interlocked movement trajectories of different robot components in the teach-in mode by manually switching between the relevant robot components during recording. However, parallel, synchronized sequences of movements of different components can not be produced with the necessary fine tuning, just as little as the subsequent synchronization of the recorded trajectories with regard to the desired interaction is possible.

Deshalb ist es die Aufgabe der vorliegenden Erfindung, eine auch für ungeübte Programmierer einfache Möglichkeit zu schaffen, ein Steuerprogramm zu erzeugen, das eine Interaktion zwischen Roboterkomponenten korrekt umsetzt.Therefore, it is the object of the present invention to provide an easy way even for untrained programmers to create a control program that correctly implements an interaction between robot components.

Diese Aufgabe wird durch ein Verfahren sowie eine Programmiereinrichtung und ein Programmier- und Steuersystem mit den Merkmalen der unabhängigen Ansprüche gelöst. In den davon abhängigen Ansprüchen sind vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung angegeben.This object is achieved by a method and a programming device and a programming and control system having the features of the independent claims. In the dependent claims advantageous refinements and developments of the invention are given.

Zum Erzeugen eines Steuerprogramms für eine synchronisierte Interaktion zwischen beweglichen Roboterkomponenten wird mit jeder Roboterkomponente, die an der Interaktion beteiligt ist, zunächst zumindest eine Bewegungstrajektorie manuell durchfahren. Hierbei können mit einer Roboterkomponente auch mehrere Bewegungstrajektorien durchfahren werden, sofern diese Roboterkomponente im Verlauf der Interaktion mehrere, möglicherweise zeitlich voneinander getrennte Bewegungen durchzuführen hat. Alle Bewegungstrajektorien, die Bestandteile der Interaktion bilden, werden von einer Programmiereinrichtung aufgezeichnet und in Programmabschnitte des zu erzeugenden Steuerprogramms übersetzt. Die Bewegungstrajektorien werden derart übersetzt, dass die entsprechenden Programmabschnitte von einer mit den Roboterkomponenten verbundenen Robotersteuerung ausgeführt bzw. interpretiert werden können, und dass die jeweilige Bewegungstrajektorie bei Ausführung eines Programmabschnitts durch die Roboterkomponenten reproduziert wird. Das heißt, bei Ausführung eines Programmabschnitts durchläuft die zugehörige Roboterkomponente selbständig diejenige Bewegungstrajektorie, die zuvor in den betreffenden Programmabschnitt übersetzt wurde. Vorzugsweise werden, sofern für eine Roboterkomponente mehrere Bewegungstrajektorien aufgezeichnet wurden, mehrere Bewegungstrajektorien in einen zusammenhängenden Programmabschnitt übersetzt, der den gesamten Bewegungsverlauf dieser Roboterkomponente im Rahmen der zu programmierenden Interaktion wiedergibt.To generate a control program for a synchronized interaction between mobile robot components, each robot component that participates in the interaction first passes through at least one movement trajectory manually. This can be done with a robot component and several Movement trajectories are traversed, as long as this robot component during the interaction has to perform several, possibly temporally separate movements. All movement trajectories that form part of the interaction are recorded by a programmer and translated into program sections of the control program to be generated. The movement trajectories are translated in such a way that the corresponding program sections can be executed or interpreted by a robot controller connected to the robot components, and that the respective movement trajectory is reproduced when a program section is executed by the robot components. That is to say, when a program section is executed, the associated robot component independently traverses that movement trajectory that was previously translated into the relevant program section. Preferably, if a plurality of motion trajectories have been recorded for a robot component, a plurality of motion trajectories are translated into a contiguous program section that reflects the overall motion of that robot component as part of the interaction to be programmed.

Zur einfachen Synchronisierung der einzeln und unabhängig voneinander aufgezeichneten und übersetzten Bewegungstrajektorien im Hinblick auf die gewünschte Interaktion werden diese erfindungsgemäß in äquivalente, graphische Bewegungsrepräsentationen entlang einer Zeitachse umgesetzt, die mit den Mitteln der graphischen Programmierung einfach und intuitiv zeitlich und räumlich aufeinander abgestimmt werden können, um sie im Hinblick auf die Interaktion mit ausreichender Feinabstimmung zu synchronisieren. Die Bewegungsrepräsentationen werden hierbei jeweils bestimmten Roboterkomponenten oder anderweitig an der Interaktion beteiligten beweglichen Komponenten zugeordnet, wie zum Beispiel Förderbändern oder dergleichen, so dass jede Bewegungsrepräsentation die Bewegungstrajektorie dieser Komponente graphisch repräsentiert. Eine Bewegungsrepräsentation kann hierbei auch mehrere Bewegungstrajektorien der gleichen Komponente repräsentieren, sofern für diese mehrere, zum Beispiel durch Ruhephasen unterbrochene, Bewegungstrajektorien aufgezeichnet wurden.For easy synchronization of the individually and independently recorded and translated movement trajectories with respect to the desired interaction, these are converted according to the invention into equivalent, graphic motion representations along a time axis, which can be easily and intuitively timed and spatially coordinated with the means of graphical programming to synchronize them in terms of interaction with sufficient fine tuning. The motion representations are in each case assigned to specific robot components or other components involved in the interaction, such as conveyor belts or the like, so that each motion representation graphically represents the motion trajectory of that component. In this case, a motion representation may also represent a plurality of movement trajectories of the same component, provided that a plurality of movement trajectories, interrupted for example by resting phases, have been recorded for them.

Auf diese Weise ist jeder Roboterkomponente eine Bewegungsrepräsentation zugeordnet, die jeweils die eine oder mehreren Bewegungstrajektorien der betreffenden Roboterkomponente sowie entsprechende, ein oder mehrere Programmabschnitte repräsentiert, die von der Robotersteuerung ausführbare Steuerbefehle umfassen, um die entsprechenden Bewegungstrajektorien zu reproduzieren. Eine Bewegungsrepräsentation sowie die zugeordneten Bewegungstrajektorien und Programmabschnitte beschreiben also jeweils äquivalente Bewegungsabläufe der betreffenden Roboterkomponente im Rahmen der zu programmierenden Interaktion auf verschiedenen Abstraktionsstufen ausgehend von der technisch konkreten Ebene der Steuerbefehle, wobei die Bewegungsrepräsentation den höchsten Abstraktionsgrad aufweist und deshalb am leichtesten durch einen Programmierer editiert bzw. manipuliert werden kann.In this way, each robot component is associated with a motion representation, each representing the one or more motion trajectories of the respective robot component and corresponding one or more program sections that include control commands executable by the robot controller to reproduce the corresponding motion trajectories. A motion representation as well as the associated motion trajectories and program sections therefore describe respectively equivalent motion sequences of the relevant robot component in the context of the interaction to be programmed at different abstraction levels starting from the technically concrete level of the control commands, whereby the motion representation has the highest degree of abstraction and is therefore most easily edited by a programmer can be manipulated.

Da der Begriff der Roboterkomponente wie oben erläutert die beweglichen Komponenten und Unterkomponenten eines oder mehrerer Roboter sowie alle anderweitigen beweglichen Elemente und Objekte umfasst, die an der Interaktion beteiligt sind, erlaubt es die Erfindung über die Manipulation der entsprechenden Bewegungsrepräsentationen alle diese Komponenten zu synchronisieren und im Hinblick auf die gewünschte Interaktion aufeinander abzustimmen. So kann zum Beispiel die Geschwindigkeit eines Förderbands auf die Bewegung eines Roboterarms abgestimmt werden, damit ein auf dem Förderband befindlicher Gegenstand zuverlässig ergriffen werden kann. Ebenso kann das Öffnen eines Greifers eines Roboters synchronisiert werden mit einer Bewegung des Roboters im Raum, damit der Roboter beispielsweise wartet, bis der Greifer einen Gegenstand sicher ergriffen und angehoben hat.Since the term of the robot component as described above includes the moving components and subcomponents of one or more robots as well as all other moving elements and objects involved in the interaction, the invention allows to synchronize all these components by manipulating the corresponding motion representations In terms of the desired interaction. For example, the speed of a conveyor belt can be tuned to the movement of a robot arm so that an object on the conveyor belt can be reliably gripped. Likewise, the opening of a gripper of a robot can be synchronized with a movement of the robot in space so that the robot waits, for example, until the gripper has safely gripped and raised an object.

Demgegenüber werden für solche Objekte keine Bewegungstrajektorien aufgezeichnet, die nicht direkt an der Interaktion beteiligt sind, die aber dennoch Einfluss auf die Bewegungstrajektorien der an der Interaktion direkt beteiligten Roboterkomponenten haben können, etwa unbewegliche Objekte wie zum Beispiel Tische oder dergleichen, oder anderweitige, sich unabhängig bewegende Komponenten, mit denen Kollisionen zu vermeiden sind. Für solche Objekte existieren insofern auch nicht notwendigerweise Bewegungsrepräsentationen im Sinne der Erfindung. Dennoch können solche Objekte modelliert und in Form von graphischen Repräsentation bei der Interaktion berücksichtigt werden und/oder in das Steuerprogramm eingehen, zum Beispiel als Nebenbedingungen oder Raumkonstanten, die Hindernisse, Ablage- oder Anschlagsflächen oder dergleichen modellieren. Derartige Objekte, deren Raumrepräsentationen zum Beispiel importiert oder gespeichert werden können, oder für die in einem Steuerprogramm Platzhalter vorgesehen sein können, die in weiteren Schritten der Roboterprogrammierung ausgefüllt werden, werden durch Techniken und Mechanismen berücksichtigt, die nicht Gegenstand der vorliegenden Erfindung sind.By contrast, no motion trajectories are recorded for such objects that are not directly involved in the interaction, but may nevertheless influence the motion trajectories of the robot components directly involved in the interaction, such as immovable objects such as tables or the like, or otherwise independent moving components with which collisions are to be avoided. For such objects, there are also not necessarily any representations of movement within the meaning of the invention. Nevertheless, such objects may be modeled and taken into account in the form of graphic representation in the interaction and / or entered into the control program, for example as constraints or space constants that model obstacles, shelves or the like. Such objects, whose space representations may be imported or stored, for example, or for which placeholders may be provided in a control program, which are filled in further steps of the robot programming, are taken into account by techniques and mechanisms which are not the subject of the present invention.

Die erfindungsgemäßen Bewegungsrepräsentationen sind hierbei der Manipulation durch einen Programmierer durch graphische Anpassungen zugänglich, so dass die Bewegungsrepräsentationen im Hinblick auf die Interaktionen in intuitiver Weise räumlich und zeitlich derart fein aufeinander abgestimmt werden können, dass die Interaktion zwischen den Roboterkomponenten korrekt synchronisiert definiert werden kann.The motion representations according to the invention are hereby accessible to the manipulation by a programmer by means of graphical adaptations, so that the movement representations in terms of the interactions in an intuitive manner spatially and temporally in such an intimate manner with respect to the interactions can be adjusted so that the interaction between the robot components can be defined correctly synchronized.

Die graphisch manipulierten Bewegungsrepräsentationen werden wiederum in äquivalente Bewegungstrajektorien transformiert und in äquivalente Programmabschnitte des Steuerprogramms übersetzt, so dass die Roboterkomponenten bei Ausführen des Steuerprogramms die Manipulation der Bewegungsrepräsentation durch den Programmierer korrekt berücksichtigen.The graphically manipulated motion representations are in turn transformed into equivalent motion trajectories and translated into equivalent program sections of the control program such that when the control program is executed, the robotic components correctly account for manipulation of the motion representation by the programmer.

Auf diese Weise erweitert die vorliegende Erfindung die herkömmliche führungszentrierte Roboterprogrammierung (Playback- oder Teach-In-Programmierung) mit den Bewegungsrepräsentationen um intuitive Methoden zur Darstellung, Analyse, Bearbeitung und Synchronisation, die es einem Programmierer ermöglichen, die Bewegungstrajektorien unmittelbar derart zu aufeinander abzustimmen und zu synchronisieren, dass eine korrekte Interaktion definiert wird. Der Programmierer braucht hierfür keine besonderen Programmierkenntnisse und nur geringe Robotikkenntnisse, sondern kann auf der abstrakten Ebene der Bewegungsrepräsentationen sämtliche notwendigen Änderungen, Manipulationen und Anpassungen unmittelbar vornehmen, um die Feinabstimmung der Bewegungstrajektorien zu erreichen. Die erfindungsgemäßen Bewegungsrepräsentationen ermöglichen es, dem Programmierer eine einfach und intuitiv zu bedienende graphische Manipulationsschnittstelle zur Verfügung zu stellen, mit der das herkömmliche aufwändige Editieren der Programmabschnitte oder des Steuerprogramms vermieden wird.In this way, the present invention expands conventional motion-centered robot programming (playback or teach-in programming) with intuitive presentation, analysis, manipulation, and synchronization methods that allow a programmer to immediately tune and balance motion trajectories to synchronize that a correct interaction is defined. The programmer does not require any special programming knowledge and little knowledge of robotics, but can immediately make all necessary changes, manipulations and adjustments on the abstract level of the movement representations in order to achieve the fine-tuning of the movement trajectories. The motion representations according to the invention make it possible to provide the programmer with a simple and intuitive graphic manipulation interface with which the conventional complex editing of the program sections or of the control program is avoided.

Das erfindungsgemäße Verfahren wird mittels einer Programmiereinrichtung verwirklicht, welche eine Aufzeichnungseinheit umfasst, die mit einer Roboterkomponente durchfahrene Bewegungstrajektorien aufzeichnet, sowie eine Übersetzungseinheit, die die aufgezeichneten Bewegungstrajektorien in äquivalente Programmabschnitte des Steuerprogramms übersetzt. Erfindungsgemäß umfasst die Programmiereinrichtung weiterhin eine Umsetzungseinheit, eine graphische Manipulationsschnittstelle und eine Transformationseinheit, wobei die Umsetzungseinheit eine oder mehrere aufgezeichnete Bewegungstrajektorien in graphische Bewegungsrepräsentationen entlang der Zeitachse umsetzt, während die Transformationseinheit die Bewegungstrajektorien gemäß einer Manipulation der zugeordneten Bewegungsrepräsentation derart transformiert, dass die manipulierte Bewegungsrepräsentation und die transformierten Bewegungstrajektorien den entsprechenden, geänderten Bewegungsablauf der betreffenden Roboterkomponenten äquivalent beschreiben.The method according to the invention is realized by means of a programming device which comprises a recording unit which records movement trajectories traveled with a robot component, and a translation unit which translates the recorded movement trajectories into equivalent program sections of the control program. According to the invention, the programming device further comprises a conversion unit, a graphical manipulation interface and a transformation unit, wherein the conversion unit transforms one or more recorded movement trajectories into graphical motion representations along the time axis, while the transformation unit transforms the movement trajectories according to a manipulation of the assigned motion representation such that the manipulated motion representation and the transformed movement trajectories describe the corresponding changed movement sequence of the respective robot components equivalently.

Die Manipulationsschnittstelle wiederum stellt die von der Umsetzungseinheit bereitgestellten Bewegungsrepräsentationen auf einer Anzeigeeinheit der Programmiereinrichtung in geeigneter Weise graphische dar, zum Beispiel im Form von graphisch aufbereiteten Zeitverläufen, Balken- oder Säulendiagrammen oder ähnlichem, so dass ein Programmierer diese leicht manipulieren kann, um eine räumliche und zeitliche Feinabstimmung der betreffenden Bewegungstrajektorien vorzunehmen, zum Beispiel in zeitlicher Hinsicht durch Skalieren der graphisch dargestellten Zeitverläufe und in räumlicher Hinsicht durch Ändern von Prozessparametern, die die Position oder den Zustand einer Roboterkomponente im Raum betreffen.The manipulation interface in turn appropriately graphs the motion representations provided by the translation unit on a display unit of the programmer, for example, in the form of graphically rendered timings, bar graphs, or the like, so that a programmer can easily manipulate them to provide a spatial and graphical representation Time fine-tuning of the relevant movement trajectories, for example, in terms of time by scaling the graphed time courses and in space by changing process parameters that affect the position or state of a robot component in space.

Die Programmiereinrichtung kann Teil eines erfindungsgemäßen Programmier- und Steuersystems sein, das zusätzlich eine Robotersteuerung umfasst, die über eine Steuerverbindung mit den zu programmierenden Roboterkomponenten verbunden ist. Mittels des Programmier- und Steuersystems kann das Steuerprogramm auf der Programmiereinrichtung programmiert und dann über eine Datenverbindung an die Robotersteuerung übertragen und dort ausgeführt werden.The programming device may be part of a programming and control system according to the invention, which additionally comprises a robot control, which is connected via a control connection with the robot components to be programmed. By means of the programming and control system, the control program can be programmed on the programmer and then transmitted via a data link to the robot controller and executed there.

Die übersetzten Programmabschnitte bilden jeweils Bestandteile des Steuerprogramms. Das Steuerprogramm kann insofern lediglich im Wesentlichen aus den kombinierten Programmabschnitten bestehen oder im Rahmen eines Kompilationsprozesses aus den Programmabschnitten erzeugt werden. Diese Kompilation wird vorzugsweise auch von der Übersetzungseinheit durchgeführt, kann aber auch von einer separaten Kompilationseinheit der Programmiereinrichtung durchgeführt werden. Bei der Kompilation des Steuerprogramms werden Synchronisationsinformationen und Prozessparameter aus den Bewegungsrepräsentationen berücksichtigt, um die separaten Programmabschnitte in der erforderlichen Weise in das Steuerprogramm zu integrieren.The translated program sections each form part of the control program. To this extent, the control program can essentially only consist of the combined program sections or can be generated from the program sections as part of a compilation process. This compilation is preferably also performed by the translation unit, but may also be performed by a separate compilation unit of the programmer. In the compilation of the control program, synchronization information and process parameters from the motion representations are taken into account in order to integrate the separate program sections in the required manner into the control program.

Vorzugsweise werden die Bewegungsrepräsentationen der an der Interaktion beteiligten Roboter- und sonstigen Komponenten durch die Manipulationsschnittstelle in Form eines editierbaren Gantt-Diagramms dargestellt, wobei jeder Zeitbalken einer Bewegungsrepräsentation entspricht. Der Programmierer erhält auf diese Weise für jede Roboterkomponente eine intuitive, zeilenweise Darstellung der zugehörigen Bewegungsrepräsentation, die auch die unterschiedlichen Bewegungstrajektorien für den Programmierer visualisieren, zum Beispiel dadurch, dass Ruheintervalle der betreffenden Roboterkomponente entsprechend gekennzeichnet sind.Preferably, the motion representations of the robotic and other components involved in the interaction are represented by the manipulation interface in the form of an editable Gantt chart, each time bar corresponding to a motion representation. The programmer receives in this way for each robot component an intuitive, line by line representation of the associated motion representation, which also visualize the different movement trajectories for the programmer, for example, characterized in that rest intervals of the relevant robot component are marked accordingly.

Die Zeitbalken des Gantt-Diagramms sind hierbei vorzugsweise entlang einer globalen Zeitachse angeordnet, so dass die relative zeitliche Abfolge der Bewegungsverläufe der Roboterkomponenten unmittelbar ersichtlich und leicht zu manipulieren ist. jede einzelne Bewegungsrepräsentation kann zusätzlich oder alternativ auch mit einer eigenen Zeitachse ausgestattet sein, um deren zeitliche Auflösung individuell zu skalieren oder zu verändern, zum Beispiel bei besonders schnellen oder langsamen Bewegungsabläufen.The time bars of the Gantt diagram are preferably along a global scale Timeline arranged so that the relative timing of the movement patterns of the robot components is immediately apparent and easy to manipulate. Each individual movement representation may additionally or alternatively also be equipped with its own time axis in order to individually scale or change its temporal resolution, for example in the case of particularly fast or slow motion sequences.

Die Gantt-Darstellung bietet dem Programmierer insbesondere eine zeitlich ausreichende Auflösung an, so dass dieser ähnliche Operationen wie beim Videoschnitt vornehmen kann, beispielsweise um aufgezeichnete Bewegungstrajektorien oder deren Abschnitte innerhalb bestimmter Zeitintervalle per cut-and-paste zu selektieren und dann auszuschneiden, verändert zusammenzustellen, umzugruppieren, abzuspeichern oder anderweitig zu manipulieren, ohne die betreffenden Programmabschnitte oder das Steuerprogramm aufwändig editieren zu müssen. Die Programmierung der Interaktion kann anhand des Gantt-Diagramms also auf graphisch-abstrakter Ebene stattfinden, weil Manipulationen des Gantt-Diagramms automatisiert in entsprechend transformierte Trajektorien und zugehörige Programmabschnitte übernommen werden. Die balkenförmigen Bewegungsrepräsentationen, die die Bewegungstrajektorien aller an der Interaktion beteiligten Roboter- und sonstigen Komponenten repräsentieren, können hierbei auch durch Anmerkungen, Prozess- oder Synchronisationsinformationen ergänzt werden, die beispielsweise durch Anklicken sichtbar und/oder editierbar werden.The Gantt representation offers the programmer, in particular, a time-sufficient resolution, so that this can perform similar operations as in the video editing, for example, to select recorded movement trajectories or their sections within certain time intervals by cut-and-paste and then cut, put together modified, to regroup, save or otherwise manipulate without having to edit the relevant program sections or the control program consuming. The programming of the interaction can therefore take place on the Gantt diagram on a graphic-abstract level, because manipulations of the Gantt diagram are automatically taken over into correspondingly transformed trajectories and associated program sections. The bar-shaped motion representations, which represent the movement trajectories of all robots and other components involved in the interaction, can also be supplemented by annotations, process or synchronization information, which become visible and / or editable, for example, by clicking.

Vorzugsweise stellt die Manipulationsschnittstelle Manipulationsfunktionen bereit, über die der Programmierer Synchronisationspunkte und/oder Synchronisationsintervalle in die Bewegungsrepräsentationen einfügen kann, um räumliche und/oder zeitliche Abhängigkeiten zwischen den Bewegungstrajektorien zumindest einiger Roboterkomponenten vorzugeben. Die Bewegungsrepräsentationen werden dann entsprechend der Synchronisationspunkte und/oder Synchronisationsintervalle gruppiert und angepasst, zum Beispiel indem sie derart entlang der Zeitachse verschoben oder gestreckt, gestaucht oder anderweitig skaliert – also in ihrer Ablaufgeschwindigkeit verändert – werden, dass die Synchronisationspunkte und/oder Synchronisationsintervalle an der gleichen Stelle und/oder im gleichen Zeitabschnitt der Zeitachse zu liegen kommen. Derartige Manipulationen der Bewegungsrepräsentationen werden anschließend automatisch in die betreffenden Trajektorien und Programmabschnitte übernommen, so dass die Bewegungsabläufe der Roboterkomponenten entsprechend der vorgegebenen Synchronisationspunkte und/oder Synchronisationsintervalle zeitlich synchron ablaufen.Preferably, the manipulation interface provides manipulation functions through which the programmer can insert synchronization points and / or synchronization intervals into the motion representations to specify spatial and / or temporal dependencies between the movement trajectories of at least some robotic components. The motion representations are then grouped and adjusted according to the synchronization points and / or synchronization intervals, for example by being shifted or stretched, compressed or otherwise scaled along the time axis, that is to say they are changed in their execution speed, that the synchronization points and / or synchronization intervals are at the same Place and / or come to lie in the same period of the time axis. Such manipulations of the motion representations are then automatically taken over into the respective trajectories and program sections, so that the motion sequences of the robot components take place synchronously in time in accordance with the predetermined synchronization points and / or synchronization intervals.

Die Manipulationsschnittstelle stellt darüber hinaus Funktionen zum Einsetzen oder Ersetzen von Abschnitten der Bewegungsrepräsentationen bereit. Auch diese Manipulationen werden automatisch transformiert und übersetzt. Durch diese Erweiterungsfunktionen kann der Programmierer beispielsweise eine bereits vorliegende oder eine weitere, aufgezeichnete und umgesetzte Bewegungsrepräsentation an einem markierten Zeitpunkt in eine zu manipulierende Bewegungsrepräsentation einfügen, so dass an dem markierten Zeitpunkt auch in die repräsentierte Trajektorie eine weitere Trajektorie eingefügt wird. Hierbei bietet die Manipulationsschnittstelle vorzugsweise zwei verschiedene Varianten der Erweiterungsfunktion an, nämlich einerseits ein Einsetzen an der markierten Stelle, so dass die Bewegungsrepräsentation insgesamt einen verlängerte Laufzeit erhält, oder ein Ersetzen bzw. Überschreiben, bei dem die Laufzeit der Bewegungsrepräsentation insgesamt unverändert bleiben kann. Beim Ersetzen bzw. Überschreiben kann zusätzlich ein Zeitintervall angegeben werden, in das die weitere Bewegungsrepräsentation in überschreibender Weise eingesetzt und gleichzeitig auf die Länge des Zeitintervalls skaliert wird.The manipulation interface also provides functions for inserting or replacing portions of the motion representations. These manipulations are automatically transformed and translated. By means of these expansion functions, the programmer can, for example, insert an already existing or another recorded and converted motion representation at a marked time into a motion representation to be manipulated, so that at the marked time a further trajectory is inserted into the represented trajectory. In this case, the manipulation interface preferably offers two different variants of the extension function, namely on the one hand an insertion at the marked position, so that the total motion representation receives a prolonged runtime, or a replacement or overwriting, in which the duration of the motion representation can remain unchanged overall. When replacing or overwriting, a time interval can additionally be specified in which the further motion representation is used in an overriding manner and at the same time scaled to the length of the time interval.

Die Erweiterungsfunktion der Manipulationsschnittstelle ist so ausgestaltet, dass sowohl eine Offline-Erweiterung als auch eine Online-Erweiterung möglich ist. Bei der Offline-Erweiterung wird eine Bewegungsrepräsentation eingefügt, die eine bereits aufgezeichnete Bewegungstrajektorie repräsentiert, welche entweder mit der vorliegenden Programmiereinrichtung oder anderweitig aufgezeichnet und mittels einer Import-Funktion in die Programmiereinrichtung eingelesen wurde. Entsprechend stellt die Programmiereinrichtung auch eine Export-Funktion bereit, um Bewegungstrajektorien anhand der entsprechenden Bewegungsrepräsentation zu selektieren und dann in einem geeigneten Austauschformat abzuspeichern oder zur Übertragung an andere Einrichtungen zu exportieren. Bei der Online-Erweiterung wird eine Bewegungstrajektorie also „live” eingefügt, das heißt während sie aufgezeichnet wird. Auf diese Weise kann eine Bewegungstrajektorie in einem Schritt durchfahren, aufgezeichnet und mittels einer Manipulation der betreffenden Bewegungsrepräsentation eingesetzt werden.The extension function of the manipulation interface is designed so that both an offline extension and an online extension is possible. In the offline expansion, a motion representation is inserted representing an already recorded movement trajectory which has been either recorded with the present programmer or otherwise and read into the programmer by means of an import function. Accordingly, the programmer also provides an export function to select motion trajectories based on the corresponding motion representation and then to save in a suitable interchange format or to export to other devices for transmission. In the online extension, a movement trajectory is thus inserted "live", that is, while it is being recorded. In this way, a movement trajectory can be traversed in one step, recorded and used by means of a manipulation of the relevant motion representation.

Die Manipulationsschnittstelle stellt dem Programmierer ferner Funktionen zum Ansteuern und Ausführen von Programmabschnitten mittels des erfindungsgemäßen Programmier- und Steuersystems zur Verfügung. Auf diese Weise kann das Steuerprogramm während des Programmierprozesses getestet werden, indem einzelne Bewegungsrepräsentationen vollständig oder abschnittsweise über die Manipulationsschnittstelle selektiert werden, so dass die betreffenden Trajektorien von den Roboterkomponenten durch Ausführen der entsprechenden Programmabschnitte oder des Steuerprogramms reproduziert werden, zum Beispiel um die Synchronisation der Bewegungstrajektorien zu prüfen.The manipulation interface also provides the programmer with functions for driving and executing program sections by means of the programming and control system according to the invention. In this way, the control program can be tested during the programming process by selecting individual motion representations in whole or in sections via the manipulation interface, so that the respective trajectories of the robot components are executed by executing the corresponding Program sections or the control program are reproduced, for example, to check the synchronization of the movement trajectories.

Gemäß einer weiteren bevorzugten Ausgestaltung der Erfindung können Programmabschnitte und/oder Steuerprogramme von einem Programmierer auch manuell oder semi-manuell auf der Programmiereinrichtung programmiert werden (Offline-Programmierung) oder in diese importiert werden. Derartige programmierte oder importierte Programmabschnitte und/oder Steuerprogramme werden von der Programmiereinrichtung automatisiert im Bewegungsrepräsentationen umgesetzt, welche entsprechende Bewegungstrajektorien für die betreffenden Roboterkomponenten umfassen. Über die Manipulationsschnittstelle können diese Bewegungstrajektorien wiederum aufeinander abgestimmt und synchronisiert werden.According to a further preferred embodiment of the invention, program sections and / or control programs can also be programmed by a programmer manually or semi-manually on the programmer (offline programming) or imported into it. Such programmed or imported program sections and / or control programs are automatically implemented by the programmer in the motion representations, which include corresponding movement trajectories for the respective robot components. Via the manipulation interface, these movement trajectories can in turn be matched and synchronized.

Auf diese Weise ist es möglich, manuell programmierte oder importierte Programmabschnitte und/oder Steuerprogramme nachträglich an die Roboterkomponenten und deren gewünschte Bewegungstrajektorien im Rahmen der Interaktion anzupassen bzw. eine Abweichung der Bewegungstrajektorien der manuell programmierten oder importierten Programmabschnitte und/oder Steuerprogramme gegenüber den gewünschten Bewegungstrajektorien der zu programmierenden Roboterkomponenten auszugleichen.In this way it is possible to subsequently adapt manually programmed or imported program sections and / or control programs to the robot components and their desired movement trajectories within the interaction or a deviation of the movement trajectories of manually programmed or imported program sections and / or control programs against the desired movement trajectories To compensate for robot components to be programmed.

Vorzugsweise stellt die graphische Manipulationsschnittstelle auch eine Funktion zur 3D-Darstellung der Roboterkomponenten auf einer Anzeigeeinheit der Programmiereinrichtung bereit, so dass in einer oder mehreren Bewegungsrepräsentationen, zum Beispiel über einen markierten Zeitpunkt oder ein markiertes Zeitintervall, selektierte Abschnitte der Bewegungstrajektorien auf der Anzeigeeinheit abgespielt werden, um die betreffenden Bewegungsabläufe der Roboterkomponenten anhand ihrer 3D-Darstellungen zu simulieren bzw. in einer virtuellen Umgebung visuell zu prüfen, zum Beispiel auf Kollisionsstellen oder Unstetigkeitsstellen, die sich aus den aktuellen Trajektorien ergeben.Preferably, the graphical manipulation interface also provides a function for 3D rendering of the robot components on a display unit of the programmer such that selected portions of the motion trajectories are played on the display unit in one or more motion representations, for example, over a marked time or a marked time interval, to simulate the respective movements of the robot components based on their 3D representations or visually check in a virtual environment, for example, on collision points or points of discontinuity, resulting from the current trajectories.

In diesem Zusammenhang stellt die Manipulationsschnittstelle vorzugsweise auch Funktionen zur Konsistenzprüfung bereit, die anhand der Trajektorien eine automatische Kollisionsprüfung oder Interpolation von Unstetigkeitsstellen vornimmt, entweder visualisiert durch die 3D-Darstellung der Roboterkomponenten oder in Form einer automatischen Transformation der aktuellen Bewegungstrajektorien. Bei der Kollisionsprüfung werden in den Bewegungstrajektorien Kollisionsstellen detektiert, das heißt, es werden Zeitpunkte in den Bewegungstrajektorien bzw. Bewegungsrepräsentationen ermittelt, an denen eine Roboterkomponente mit sich selbst kollidiert oder zwei oder mehr Roboterkomponenten mit einander kollidieren, zum Beispiel indem sie die gleiche räumliche Position einnehmen. Daneben können auch Kollisionen einzelner oder mehrerer Roboterkomponenten mit anderen, nicht beweglichen Objekten im Arbeitsraum ermittelt werden, sofern diese hinterlegt bzw. im Rahmen der Interaktion modelliert sind. Diese Kollisionsstellen werden vorzugsweise automatisiert korrigiert, indem die Bewegungstrajektorien derart transformiert werden, dass die Kollisionsstellen kollisionsfrei umgangen werden, beispielsweise durch zeitliche Entzerrung oder räumliche Anpassung der betreffenden Bewegungstrajektorien.In this context, the manipulation interface preferably also provides functions for consistency checking, which makes an automatic collision check or interpolation of discontinuity points based on the trajectories, either visualized by the 3D representation of the robot components or in the form of an automatic transformation of the current movement trajectories. In the collision check, collision points are detected in the movement trajectories, that is, times are determined in the movement trajectories or motion representations at which a robot component collides with itself or two or more robot components collide with each other, for example by assuming the same spatial position , In addition, it is also possible to determine collisions of individual or multiple robot components with other, non-moving objects in the workspace, provided that these are stored or modeled in the context of the interaction. These collision points are preferably automatically corrected by transforming the movement trajectories in such a way that the collision points are bypassed without collision, for example by temporal equalization or spatial adaptation of the relevant movement trajectories.

Bei der Interpolationsprüfung werden in den Bewegungstrajektorien Unstetigkeitsstellen detektiert, das heißt Zeitpunkte, an denen eine Roboterkomponente eine sprunghafte Bewegung machen soll, die von dieser technisch nicht umsetzbar ist, zum Beispiel infolge des Einsetzens eines neuen Abschnitts in eine Bewegungstrajektorie, der zu Beginn oder an Ende bezüglich der ursprünglichen Trajektorie unstetig ist. Zur Korrektur wird die betreffende Bewegungstrajektorie an der Unstetigkeitsstelle automatisch stetig ergänzt, zum Beispiel indem ein kurzes Zeitintervall eingefügt wird, in dem die betreffende Roboterkomponente zwischen den zueinander unstetigen Positionen wechseln kann. Alternativ kann die betreffende Bewegungstrajektorie in einem Zeitintervall unmittelbar vor oder unmittelbar nach der Unstetigkeitsstelle entsprechend stetig angepasst werden.In the interpolation test discontinuity points are detected in the movement trajectories, that is to say points in time at which a robot component is to make a sudden movement which is not technically feasible, for example as a result of the insertion of a new section into a movement trajectory at the beginning or end is discontinuous with respect to the original trajectory. For correction, the relevant movement trajectory is automatically supplemented continuously at the point of discontinuity, for example by inserting a short time interval in which the robot component in question can change between the mutually unsteady positions. Alternatively, the movement trajectory in question can be adapted correspondingly continuously in a time interval immediately before or immediately after the point of discontinuity.

Die Funktionen zur Konsistenzprüfung transformieren vorzugsweise zunächst die Bewegungstrajektorien, um Kollisions- oder Unstetigkeitsstellen zu korrigieren, so dass die korrigierten Trajektorien anschließend in äquivalente Bewegungsrepräsentationen umgesetzt werden, damit dem Programmierer der aktuellen Stand der programmierten Interaktion vorliegt. Derartige Konsistenzprüfungen können zwar von dem Programmierer über die Manipulationsschnittstelle initiiert werden, sie werden aber vorzugsweise automatisch vorgenommen, sobald der Programmierer die Bewegungsrepräsentationen manipuliert.Preferably, the consistency checking functions first transform the motion trajectories to correct for collision or discontinuity locations so that the corrected trajectories are subsequently translated into equivalent motion representations to provide the programmer with the current state of the programmed interaction. Although such consistency checks may be initiated by the programmer through the manipulation interface, they are preferably performed automatically as soon as the programmer manipulates the motion representations.

Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung erfindungsgemäßer Ausführungsbeispiele, sowie weiteren Ausführungsalternativen im Zusammenhang mit den folgenden Zeichnungen, die zeigen:Further features and advantages of the invention will become apparent from the following description of embodiments according to the invention, as well as further alternative embodiments in conjunction with the following drawings, which show:

1 ein Ablaufdiagramm mit den wesentlichen Schritten des erfindungsgemäßen Verfahrens; 1 a flowchart with the essential steps of the method according to the invention;

2 eine schematische Darstellung der erfindungsgemäßen Programmiereinrichtung sowie einer Robotersteuerung mit verbundenen Roboterkomponenten; und 2 a schematic representation of the programmer according to the invention and a robot controller with connected robot components; and

3 ein Ausführungsbeispiel der erfindungsgemäßen graphischen Manipulationsschnittstelle in Form eines Gantt-Diagramms. 3 An embodiment of the graphic manipulation interface according to the invention in the form of a Gantt chart.

1 zeigt schematisch die von der Programmiereinrichtung 1 gemäß 2 realisierten Schritte zum Erzeugen bzw. ineinander Überführen verschiedener äquivalenter Beschreibungen einer Interaktion zwischen Roboterkomponenten 5a, 5b. Diese äquivalenten Beschreibungen sind die Bewegungsrepräsentationen R, die Bewegungstrajektorien T, die Programmabschnitte P sowie das Steuerprogramm S. Diese Beschreibungsformen einer Interaktion von Roboterkomponenten 5a, 5b abstrahieren schrittweise die konkreten Steuerbefehle, die die Robotersteuerung 2 über die Steuerverbindungen 3 an die Roboterkomponenten 5a, 5b überträgt, um deren Bewegungen zu steuern. 1 schematically shows that of the programmer 1 according to 2 realized steps to create different equivalent descriptions of an interaction between robot components 5a . 5b , These equivalent descriptions are the motion representations R, the movement trajectories T, the program sections P and the control program S. These forms of description of an interaction of robot components 5a . 5b Gradually abstract the concrete control commands that control the robot 2 over the control connections 3 to the robot components 5a . 5b transmits to control their movements.

Hierbei stellt das Steuerprogramm S ein Softwareprogramm in einer Computersprache dar, die von der Robotersteuerung 2 ausgeführt oder interpretiert werden kann, um die Roboterkomponenten 5a, 5b derart anzusteuern, dass die gewünschte Interaktion ausgeführt wird. Die Programmabschnitte P wiederum stellen Teile des Steuerprogramms S dar, die jeweils eine oder mehrere Bewegungsabläufe einer bestimmten Roboterkomponente 5a, 5b im Rahmen der Interaktion beschreiben. Diese liegen ebenfalls in einer geeigneten Computersprache vor, die jedoch nicht notwendigerweise die gleiche sein muss, in der auch das Steuerprogramm S vorliegt. Die Bewegungstrajektorien T wiederum beschreiben jeweils eine oder mehrere Bewegungen einer bestimmten Roboterkomponente 5a, 5b im Rahmen der Interaktion.Here, the control program S represents a software program in a computer language, which is controlled by the robot controller 2 can be executed or interpreted to the robot components 5a . 5b such that the desired interaction is carried out. The program sections P in turn represent parts of the control program S, each one or more movements of a particular robot component 5a . 5b describe in the context of interaction. These are also in a suitable computer language, but not necessarily the same, in which the control program S is present. The movement trajectories T in turn each describe one or more movements of a specific robot component 5a . 5b in the context of interaction.

Die Bewegungstrajektorien T liegen in einer geeigneten Beschreibungssprache vor, die in der Regel nicht von der Robotersteuerung 2 ausführbar oder interpretierbar ist, sondern die optimiert und abgestimmt darauf ist, die Bewegungsverläufe von Roboterkomponente 5a, 5b möglichst exakt räumlich und zeitlich aufgelöst zu beschreiben. Die strichlinierten Pfeile in 2 deuten die Bewegungstrajektorien an.The movement trajectories T are in a suitable description language, which is usually not from the robot controller 2 executable or interpretable, but that is optimized and tuned to it, the movement patterns of robot component 5a . 5b to describe as exactly spatially and temporally resolved as possible. The dashed arrows in 2 suggest the movement trajectories.

Ein Programmierer, der das Steuerprogramm S auf herkömmliche Weise programmiert, benötigt umfassende Kenntnisse in wenigstens einer der Computer- bzw. Beschreibungssprachen, in denen die Bewegungstrajektorien T. die Programmabschnitte P oder das Steuerprogramm S technisch vorliegen. Darüber hinaus kann es für einen Programmierer zeitaufwendig und auch softwaretechnisch äußerst anspruchsvoll sein, die gewünschte Interaktion anhand üblicher Programmiertechniken basierend auf den Bewegungstrajektorien T oder den Programmabschnitten P zu programmieren.A programmer programming the control program S in a conventional manner requires extensive knowledge of at least one of the computer or description languages in which the movement trajectories T. the program sections P or the control program S are technically available. In addition, it may be very time-consuming and software-technically challenging for a programmer to program the desired interaction using standard programming techniques based on the motion trajectories T or the program sections P.

Deshalb wird erfindungsgemäß eine weitere Abstraktionsstufe für die Programmierung der Interaktion bereitgestellt, nämlich in Form der Bewegungsrepräsentationen R, die die Bewegungstrajektorien T graphisch darstellen und dadurch erlauben, die Interaktion in einer intuitiven und effizienten Weise, vorzugsweise visuell zu programmieren, beispielsweise anhand von Balkendarstellungen 20 eines Gantt-Diagramms 18 (vgl. 3), das auf einer Anzeigeeinheit 16 der Programmiereinrichtung 1 angezeigt wird. Hierbei repräsentiert jeder der Balken 20 eine Bewegungsrepräsentation R.Therefore, according to the invention there is provided a further abstraction stage for the programming of the interaction, namely in the form of the motion representations R which graphically represent the movement trajectories T and thereby allow the interaction to be programmed in an intuitive and efficient manner, preferably visually, for example by means of bar graphs 20 a Gantt chart 18 (see. 3 ) on a display unit 16 the programmer 1 is shown. Here each of the bars represents 20 a motion representation R.

Auf der Ebene der Bewegungsrepräsentation R kann der Programmierer die Bewegungstrajektorien T der Roboterkomponenten 5a, 5b intuitiv und anhand graphischer Manipulationsfunktionen derart fein aufeinander abstimmen, dass sie die Interaktion korrekt synchronisiert und vollständig beschreiben. Kenntnisse bestimmter Beschreibungs- oder Programmiersprachen sind hierfür nicht notwendig, denn jede Bewegungsrepräsentation R bildet alle Bewegungstrajektorien T vollständig graphisch ab, die eine bestimmte Roboterkomponente 5a, 5b im Rahmen der Interaktion reproduzieren soll. Somit erübrigt sich auch das aufwändige und komplexe, manuelle Editieren der Bewegungstrajektorien T, der Programmabschnitte P oder des Steuerprogramms S.At the level of the motion representation R, the programmer can determine the motion trajectories T of the robot components 5a . 5b intuitively and with the help of graphical manipulation functions fine-tune each other so that they correctly synchronize and fully describe the interaction. Knowledge of certain descriptive or programming languages are not necessary for this, because each motion representation R maps all movement trajectories T completely graphically, which is a specific robot component 5a . 5b to reproduce as part of the interaction. Thus, the complex and complex manual editing of the movement trajectories T, the program sections P or the control program S is unnecessary.

Die in 1 gezeigten Schritte S1 bis S7 stellen jeweils Funktionen der Programmiereinrichtung 1 dar, die die Beschreibungen R, T, P, S erzeugen, manipulieren oder äquivalent ineinander überführen. Die in 1 in Quadraten angegebenen Bezugszeichen geben hierbei diejenigen Module und Einheiten der Programmiereinrichtung 1 an, die den entsprechenden Schritt auf technischer Ebene umsetzen. Diese Einheiten der Programmiereinrichtung 1 sind vorzugsweise als Softwaremodule oder Softwareprogramme realisiert, die von einem Prozessor (nicht dargestellt) der Programmiereinrichtung 1 ausgeführt oder von einem Interpreter interpretiert werden können. Insofern umfasst die Programmiereinrichtung 1 eine in Software ausgeführte Aufzeichnungseinheit 11, eine Umsetzungseinheit 12, eine Manipulationsschnittstelle 13, eine Transformationseinheit 14 sowie eine Übersetzungseinheit 15. Die Manipulationsschnittstelle 13 wiederum unterteilt sich in eine Manipulationseinheit 13a sowie die über die Anzeigeneinheit 16 für den Programmierer zugänglichen Manipulationsschalter 13b, über die vielfältige Funktionen zum Manipulieren der Bewegungsrepräsentationen R ausgeführt werden können, welche von der Manipulationseinheit 13a technisch realisiert werden.In the 1 Steps S1 to S7 shown respectively represent functions of the programmer 1 which generate, manipulate or equivalently translate the descriptions R, T, P, S into each other. In the 1 Reference numerals given in squares indicate the modules and units of the programming device 1 who implement the corresponding step at a technical level. These units of programming 1 are preferably implemented as software modules or software programs by a processor (not shown) of the programmer 1 be executed or interpreted by an interpreter. In this respect, the programmer includes 1 a recording unit executed in software 11 , a conversion unit 12 , a manipulation interface 13 , a transformation unit 14 as well as a translation unit 15 , The manipulation interface 13 in turn subdivided into a manipulation unit 13a as well as via the ad unit 16 Programmer accessible to the programmer 13b , over which various functions for manipulating the motion representations R can be performed, which of the manipulation unit 13a be technically realized.

Die Koordination der verschiedenen Einheiten 11, 12, 13, 14, 15, 16 der Programmiereinrichtung 1 sowie die Datenkommunikation mit der Robotersteuerung 2 über Datenverbindung 4 wird von einer Zentraleinheit 10 sichergestellt, die ebenfalls vorzugsweise als auf einem Prozessor ausführbares Softwareprogramm vorliegt. Daneben hat die Zentraleinheit 10 auch Zugriff auf einen Speicher 19, in dem verschiedene Daten in Zusammenhang mit der vorliegenden Erfindung abgelegt werden, insbesondere die Bewegungsrepräsentationen R, die Bewegungstrajektorien T, die Programmabschnitte P sowie das Steuerprogramm S.The coordination of the different units 11 . 12 . 13 . 14 . 15 . 16 the programmer 1 as well as the data communication with the robot control 2 via data connection 4 is from a central processing unit 10 ensured that too is preferably present as executable on a processor software program. In addition, the central unit has 10 also access to a memory 19 in which various data are stored in connection with the present invention, in particular the motion representations R, the movement trajectories T, the program sections P and the control program S.

Bei dem durch die Schritte der 1 realisierten Programmierverfahren handelt es sich um eine sogenannte führungszentrierte Programmierung einer Roboterinteraktion, bei der zunächst die von jeder einzelnen Roboterkomponente 5a, 5b im Rahmen der Interaktion abzufahrenden Trajektorien von dem Programmierer manuell oder mittels geeigneter technischer Hilfsmittel durchfahren und dabei in Schritt S1 von der Aufzeichnungseinheit 11 als Bewegungstrajektorien T aufgezeichnet werden. Auf diese Weise werden mehrere Bewegungstrajektorien T erzeugt, die gemeinsam jeweils den, gegebenenfalls durch Ruhephasen unterbrochenen Bewegungsverlauf einer einzelnen Roboterkomponente 5a, 5b wiedergeben.By the steps of the 1 realized programming method is a so-called leadership-centric programming of a robot interaction, in which first of each robot component 5a . 5b Trajectories to be traversed within the interaction are run by the programmer manually or by means of suitable technical aids, and in this case in step S1 by the recording unit 11 be recorded as movement trajectories T. In this way, a plurality of movement trajectories T are generated, which together in each case correspond to the course of movement of a single robot component interrupted, if appropriate, by resting phases 5a . 5b play.

Der Begriff der Roboterkomponente beschreibt hierbei nicht nur einzelne Roboter als ganzes, sondern insbesondere alle beweglichen Bestandteile eines Roboters, sofern sich diese autonom voneinander ansteuern lassen. In 2 sind die Bewegungstrajektorien T durch strichlinierte Pfeile angedeutet, die den räumlich und zeitlich aufgelösten Bewegungsablauf der beiden Greifarme beschreiben, der von dem zeitlichen Zustand von drei Gelenken abhängig ist. Weitere Bewegungstrajektorien T können zum Beispiel die Schließbewegungen der beiden Greifer selbst beschreiben, oder die Bewegung des angedeuteten Förderbandes bzw. eines darauf befindlichen und als Box angedeuteten Gegenstandes. Für die vollständige Beschreibung des gemeinsamen Ergreifens des Gegenstandes durch die beidem Roboter bedarf es also mindestens fünf Bewegungstrajektorien T, die räumlich und zeitlich genau aufeinander abgestimmt sind, damit die gewünschte Interaktion erfolgreich durchgeführt wird. Falls zum Beispiel die Positionierung der Greifarme in mehreren separaten Abschnitten erfolgt, zum Beispiel durch eine Grobpositionierung in der Nähe des Zielpunktes und einer anschließenden Feinpositionierung genau auf dem Zielpunkt, werden entsprechend mehr Trajektorien T aufgezeichnet.The term "robot component" here describes not only individual robots as a whole, but in particular all movable components of a robot, insofar as they can be controlled autonomously from one another. In 2 the movement trajectories T are indicated by dashed arrows describing the spatially and temporally resolved motion sequence of the two gripping arms, which is dependent on the temporal state of three joints. Further movement trajectories T can, for example, describe the closing movements of the two grippers themselves, or the movement of the indicated conveyor belt or of an object located thereon and indicated as a box. For the complete description of the joint gripping of the object by the two robots, therefore, at least five movement trajectories T are required, which are coordinated spatially and temporally exactly to one another so that the desired interaction is successfully carried out. For example, if the positioning of the gripper arms takes place in several separate sections, for example by a coarse positioning near the target point and a subsequent fine positioning exactly on the target point, correspondingly more trajectories T are recorded.

In Schritt S2 setzt die Umsetzungseinheit 12 die aufgezeichneten Bewegungstrajektorien T in äquivalente Bewegungsrepräsentationen R um, wobei eine Bewegungsrepräsentation R auch mehrere Trajektorien T der gleichen Roboterkomponente 5a, 5b repräsentieren kann, zum Beispiel Trajektorien T zur Grob- und Feinpositionierung eines Greifarms. Die Bewegungsrepräsentationen R liegen vorzugsweise in einem Datenformat vor, das auf deren graphische Darstellung abgestimmt ist und sich von dem Datenformat der Trajektorien T unterscheidet. Der Schritt S2 betrifft nur die Umsetzung des Trajektorienformats in das Repräsentationsformat. In einem weiteren, nicht in 1 dargestellten Schritt werden die umgesetzten Bewegungsrepräsentationen R auf der Anzeigeneinheit 16 als Gantt-Diagrammen 18 dargestellt, wie in 3 veranschaulicht.In step S2, the conversion unit sets 12 the recorded motion trajectories T into equivalent motion representations R um, where one motion representation R also includes several trajectories T of the same robot component 5a . 5b For example, trajectories T for coarse and fine positioning of a gripper arm can represent. The motion representations R are preferably in a data format that is tuned to their graphical representation and that differs from the data format of the trajectories T. Step S2 relates only to the implementation of the trajectory format in the representation format. In another, not in 1 The illustrated step represents the converted motion representations R on the display unit 16 as Gantt charts 18 represented as in 3 illustrated.

Im unteren Bereich der 3 ist das Gantt-Diagramm 18 mit vier Balkendarstellungen 20 entlang der Zeitachse 21 gezeigt, die jeweils eine Bewegungsrepräsentation R wiedergeben. Jeder Balken 20 kann mehre Abschnitte 20a umfassen, die jeweils eine Bewegungstrajektorie T der betreffenden Roboterkomponente K1, K2, K3, K4 bilden, beispielsweise die Trajektorien der im oberen Bereich der 3 dargestellten Greifarme 23a (K1) und 23d (K3) sowie der zugehörigen Greifer 23b (K2) und 23c (K4).At the bottom of the 3 is the Gantt chart 18 with four bar graphs 20 along the time axis 21 shown, each representing a motion representation R. Every bar 20 can have several sections 20a each comprising a movement trajectory T of the respective robot component K1, K2, K3, K4, for example, the trajectories of the top of the 3 illustrated gripping arms 23a (K1) and 23d (K3) and the associated gripper 23b (K2) and 23c (K4).

Anhand der Balken 20 der Komponenten 23a (K1) und 23b (K2) des Gantt-Diagramms 18 ist für den Programmierer unmittelbar ersichtlich, dass sich der Bewegungsablauf des entsprechenden Roboters 23a, 23b in zwei Bewegungsrepräsentationen K1 und K2 unterteilt und diese wiederum sechs Trajektorien T repräsentieren, nämlich zunächst eine Positionierung des Greifarms 23a (K1), dann eine Greifbewegung des Greifers 23b (K2) zum Erfassen des Gegenstandes 24, dann eine Positionsveränderung des Greifarms 23a (K1) zu dem Zweck, dass der Greifer 23c (K4) des weiteren Roboters 23c, 23d den Gegenstand 24 in einer synchronen Aktion übernimmt, dann eine gemeinsame Positionsänderung beider Roboterarme 23a (K1), 23d (K3) und schließlich ein Öffnen des Greifers 23b (K2) und Zurückfahren des Greifarms 23a (K1) in die Ausgangsposition.Based on the bars 20 of the components 23a (K1) and 23b (K2) of the Gantt chart 18 is immediately apparent to the programmer that the movement of the corresponding robot 23a . 23b divided into two motion representations K1 and K2 and these in turn represent six trajectories T, namely first a positioning of the gripping arm 23a (K1), then a gripping movement of the gripper 23b (K2) for detecting the object 24 , then a position change of the gripping arm 23a (K1) for the purpose that the gripper 23c (K4) of the other robot 23c . 23d the object 24 in a synchronous action, then a common position change of both robot arms 23a (K1), 23d (K3) and finally opening the gripper 23b (K2) and retraction of the gripper arm 23a (K1) to the starting position.

Für den Manipulationsschritt S3 stehen dem Programmierer über die Manipulationsschnittstelle 13 und insbesondere über die Manipulationsschalter 13b und das graphisch editierbare Gantt-Diagramm 18 verschiedene von der Manipulationseinheit 13a implementierte Manipulationsfunktionen zur Verfügung, mit denen die Bewegungsrepräsentationen R derart manipuliert, editiert, oder aufeinander abgestimmt werden können, dass die Interaktion bei Ausführen des entsprechenden Steuerprogramms S von den Roboterkomponenten 5a, 5b synchronisiert durchgeführt wird. Hierzu wählt der Programmierer die gewünschte Manipulationsfunktion durch Betätigen eines der Manipulationsschalter 13b aus und/oder bearbeitet das Gantt-Diagramm 18 entsprechend, beispielsweise indem einzelne Abschnitte 20a der Balken 20 gestreckt, gestaucht, verschoben oder ergänzt werden.For the manipulation step S3, the programmer has the manipulation interface 13 and in particular via the manipulation switch 13b and the graphically editable Gantt chart 18 different from the manipulation unit 13a implemented manipulation functions with which the motion representations R can be manipulated, edited, or coordinated with each other that the interaction in executing the corresponding control program S of the robot components 5a . 5b synchronized is performed. For this purpose, the programmer selects the desired manipulation function by pressing one of the manipulation switches 13b off and / or edit the Gantt chart 18 accordingly, for example by adding individual sections 20a the beam 20 stretched, compressed, shifted or supplemented.

In Schritt S4 transformiert die Transformationseinheit 13 die betreffenden Bewegungstrajektorien T entsprechend den in Schritt S3 an den Bewegungsrepräsentationen R vorgenommenen Manipulationen, um die Äquivalenz zwischen der manipulierten Bewegungsrepräsentation R und den zugehörigen Bewegungstrajektorien T herzustellen. Entsprechend übersetzt die Übersetzungseinheit in Schritt S6 die transformierten Trajektorien T in Programmabschnitte P, die ebenfalls die in Schritt S3 an den Bewegungsrepräsentationen R vorgenommenen Manipulationen berücksichtigen. Hierbei entspricht jeder Bewegungstrajektorie T vorzugsweise genau ein Programmabschnitt P. Falls es aus softwaretechnischen Gründen vorteilhaft ist, kann ein Programmabschnitt P aber auch mehreren Bewegungstrajektorien T entsprechen, beispielsweise diejenigen Bewegungstrajektorien T, die von einer Bewegungsrepräsentation R, das heißt von einem Balken 20 des Gantt-Diagramms 18, repräsentiert werden. In Schritt S7 integriert bzw. kompiliert die Übersetzungseinheit 15 schließlich die Programmabschnitte P zu einem vollständigen Steuerprogramm S.In step S4, the transformation unit transforms 13 the relevant ones Movement trajectories T corresponding to the manipulations performed on the motion representations R in step S3 to establish the equivalence between the manipulated motion representation R and the associated motion trajectories T. Accordingly, in step S6 the translation unit translates the transformed trajectories T into program sections P, which also take into account the manipulations performed on the motion representations R in step S3. In this case, each movement trajectory T preferably corresponds exactly to one program section P. If it is advantageous for software reasons, a program section P can also correspond to several movement trajectories T, for example those motion trajectories T that are from a motion representation R, ie from a bar 20 of the Gantt chart 18 , be represented. In step S7, the translation unit integrates or compiles 15 finally the program sections P to a complete control program S.

Neben dem Transformationsschritt S4, der durch den Programmierer mittels einer graphische Manipulation des Gantt-Diagramms 18 in Schritt S3 ausgelöst wird, ist auch ein Manipulationsschritt S5 möglich, der direkt auf eine Transformation der Bewegungstrajektorien T abzielt, ohne eine vorherige Manipulation des Gantt-Diagramms 18. Ein solcher Transformationsschritt S5 ist beispielsweise die Konsistenzprüfung der Trajektorien T, zum Beispiel hinsichtlich von räumlichen Kollisionen der Roboterkomponenten 5a, 5b oder Unstetigkeitsstellen innerhalb einer Bewegungstrajektorie T. Eine Transformation S5 kann entweder durch Betätigen eines Manipulationsschalters 13b ausgelöst werden, wenn darüber hinaus keine weitere Manipulation des Gantt-Diagramms 18 durch den Programmierer erforderlich ist, oder durch die Zentraleinheit 10 veranlasst werden, zum Beispiel im Rahmen von regelmäßigen, automatisierten Prüf- und Korrekturdurchläufen. Die derart transformierten Trajektorien T werden in geänderte Bewegungsrepräsentationen R (Schritt S2) und Programmabschnitte P (Schritt S6) umgesetzt bzw. übersetzt.In addition to the transformation step S4, by the programmer by means of a graphical manipulation of the Gantt chart 18 is triggered in step S3, also a manipulation step S5 is possible, which is aimed directly at a transformation of the movement trajectories T, without a prior manipulation of the Gantt chart 18 , Such a transformation step S5 is, for example, the consistency check of the trajectories T, for example with regard to spatial collisions of the robot components 5a . 5b or discontinuities within a motion trajectory T. A transformation S5 can be accomplished either by manipulation of a manipulation switch 13b beyond that, if there is no further manipulation of the Gantt chart 18 required by the programmer, or by the central processing unit 10 such as regular, automated test and correction runs. The thus transformed trajectories T are translated into translated motion representations R (step S2) and program sections P (step S6).

Um die verschiedenen Bewegungstrajektorien T im Sinne der Interaktion zu synchronisieren bzw. aufeinander abzustimmen, stellt die Manipulationsschnittstelle 13 über die Manipulationsschalter 13b und das Gantt-Diagramm 18 vielfältige Manipulationsfunktionen zum Hinzufügen, Entfernen, Synchronisieren, Speichern, Laden, Importieren, Exportieren, Neuanordnen, Testen und Ausführen der Bewegungstrajektorien T zur Verfügung, die automatisch die Transformation (Schritt S4) der betreffenden Trajektorien T und Übersetzung (Schritt S6) der transformierten Trajektorie T in äquivalente Programmabschnitte P zur Folge haben.In order to synchronize or coordinate the different movement trajectories T in terms of the interaction, the manipulation interface provides 13 over the manipulation switch 13b and the Gantt chart 18 various manipulation functions for adding, removing, synchronizing, storing, loading, importing, exporting, rearranging, testing and executing the movement trajectories T, which automatically transform (step S4) the respective trajectories T and translation (step S6) of the transformed trajectory T into equivalent program sections P result.

So können zu Synchronisationszwecken Synchronisationspunkte 25 oder Synchronisationsintervalle 26 in dem Gantt-Diagramm 18 markiert werden, so dass die Manipulationseinheit 13a die entsprechenden Balken 20 der Bewegungsrepräsentationen R automatisch derart relativ zueinander ausrichtet und/oder skaliert, dass die spezifizierten Zeitpunkte 25 oder Zeitintervalle 26 in dem Gantt-Diagramm 18 übereinander zu liegen kommen, das heißt im Hinblick auf die Zeitachse 21 synchronisiert sind. Beim Synchronisieren definiert der Programmierer also zeitliche und/oder räumliche Abhängigkeiten zwischen den Trajektorien T, die von der Manipulationseinheit 13a automatisch berücksichtigt werden, indem die Synchronisationspunkte 25 und -intervalle 26 in Bezug auf die Zeitachse derart gestaucht, gestreckt, verschoben oder anderweitig angepasst werden, dass sie in dem Gantt-Diagramm 18 übereinander liegen.So sync points can be used for synchronization purposes 25 or synchronization intervals 26 in the Gantt chart 18 be marked so that the manipulation unit 13a the corresponding bars 20 of the motion representations R are automatically aligned and / or scaled relative to each other such that the specified times 25 or time intervals 26 in the Gantt chart 18 come to lie one above the other, that is with respect to the time axis 21 are synchronized. During synchronization, the programmer thus defines temporal and / or spatial dependencies between the trajectories T generated by the manipulation unit 13a be automatically taken into account by the synchronization points 25 and intervals 26 in terms of the timeline, be upset, stretched, displaced, or otherwise adjusted to fit in the Gantt chart 18 lie one above the other.

Beispielhaft zeigt 3 ein von dem Programmierer spezifiziertes Synchronisationsintervall 26 und einen Synchronisationspunkt 25. Während die Abschnitte 20a der Komponenten K1, K3 und K4 zu Beginn des Synchronisationsintervalls 26 bereits ausreichend synchron verlaufen, muss die Manipulationseinheit 13a die entsprechenden Abschnitte 20a der Komponenten K2 und K3 oder K4 derart aufeinander abstimmen, dass sie mit dem Ende des Synchronisationsintervalls 26 gemeinsam beginnen und/oder gemeinsam enden. Entsprechend wird die Manipulationseinheit 13a die Abschnitte 20a so auf den Synchronisationspunkt 25 abstimmen, dass etwa der unmittelbar auf den Synchronisationspunkt 25 folgende kurze Abschnitt 20a der Komponente K4 genau an den Synchronisationspunkt 26 und insofern mit dem Ende des letzten Abschnitts 20a der Komponente K1 beginnt.Exemplary shows 3 a synchronization interval specified by the programmer 26 and a synchronization point 25 , While the sections 20a of the components K1, K3 and K4 at the beginning of the synchronization interval 26 already sufficiently synchronous, the manipulation unit must 13a the corresponding sections 20a of the components K2 and K3 or K4 in such a way that they coincide with the end of the synchronization interval 26 start together and / or end together. Accordingly, the manipulation unit 13a the sections 20a so on the synchronization point 25 vote that about the instant at the synchronization point 25 following short section 20a the component K4 exactly to the synchronization point 26 and thus with the end of the last section 20a the component K1 begins.

Zusätzlich oder alternativ zu der globalen Zeitachse 21 können alle oder einzelne der Balken 20 entlang eigener Zeitachsen mit individueller Zeitauflösung ausgerichtet sein, um die Bewegungsrepräsentationen R zweckmäßiger darzustellen und einfacher manipulieren zu können. Ebenso kann auch jeder der Abschnitte 20a der Balken 20 über eine eigene, individuelle Zeitachse verfügen, so dass diese unabhängig von anderen Abschnitten 20a gestreckt, gestaucht oder anderweitig zeitlich manipuliert werden können.Additionally or alternatively to the global time axis 21 can all or individual of the bars 20 be aligned along its own time axes with individual time resolution in order to represent the motion representations R more appropriate and easier to manipulate. Likewise, each of the sections can 20a the beam 20 have their own, individual timeline, making them independent of other sections 20a stretched, compressed or otherwise temporally manipulated.

Über die Zeitachsen können wiederum Abschnitte der Bewegungsrepräsentationen R ausgewählt und über eine Manipulation der Art und Länge der jeweiligen Zeitachse geeignet an die Interaktion angepasst werden.Sections of the motion representations R can again be selected via the time axes and suitably adapted to the interaction via a manipulation of the type and length of the respective time axis.

Die bestehenden Bewegungstrajektorien T können um eine weitere Bewegungstrajektorie T oder weitere Abschnitte von Bewegungstrajektorien T ergänzt werden, während die entsprechenden Roboterkomponenten 5a, 5b durch die weitere Bewegungstrajektorie T geführt und diese von der Aufzeichnungseinheit 11 aufgezeichnet werden. Bei dieser „Live”-Aufzeichnung einer weiteren Bewegungstrajektorie T im Rahmen der Playback- oder Teach-in-Programmierung kann in einem Balken 20 des Gantt-Diagramms 18 ein Zeitpunkt 22 markiert werden, an dem diese weitere Bewegungstrajektorie T im Insert-Modus in die von der betreffenden Bewegungsrepräsentation R repräsentierte Bewegungstrajektorie T eingefügt wird. Wahlweise kann über die Manipulationsschalter 13b auch ein Overwrite-Modus ausgewählt werden, bei dem eine „live” aufgezeichnete, weitere Bewegungstrajektorie T die zu erweiternde Bewegungstrajektorie T ab einem definierten Zeitpunkt 22 oder innerhalb eines ausgewählten Zeitintervalls überschreibt.The existing movement trajectories T can be extended by another movement trajectory T or further sections of movement trajectories T be supplemented while the corresponding robot components 5a . 5b passed through the further movement trajectory T and this from the recording unit 11 to be recorded. In this "live" recording of another movement trajectory T in the context of playback or teach-in programming can be in a bar 20 of the Gantt chart 18 a time 22 are marked at which this further movement trajectory T is inserted in the insertion mode in the motion trajectory T represented by the relevant motion representation R. Optionally, via the manipulation switch 13b An overwrite mode can also be selected in which a further movement trajectory T recorded "live" displays the movement trajectory T to be extended from a defined point in time 22 or overwrites within a selected time interval.

Ebenso können in dem Gantt-Diagramm 18 in einigen oder allen Balken 20 Zeitintervalle ähnlich den Synchronisationsintervallen 26 selektiert werden, so dass sämtliche Manipulationen im Rahmen des Schrittes S3 innerhalb des selektierten Zeitintervalls von der Manipulationseinheit 13a in allen Bewegungsrepräsentationen R einheitlich durchgeführt werden. Auf diese Weise können die Trajektorien T einer oder mehrerer Roboterkomponenten 5a, 5b unabhängig von anderen Roboterkomponenten 5a, 5b angepasst, ausgerichtet oder programmiert werden, oder durch Drag-and-Drop- oder Copy/Paste-Operationen manipuliert werden. Ebenso stellt die Manipulationsschnittstelle 13 Manipulationsfunktionen zum Verschieben oder zum Skalieren, Strecken oder Stauchen bereit, um dadurch die die zeitliche Auflösung der Balken 20 und/oder die Ausführungsgeschwindigkeit der Trajektorien T zu verändern. Abschnitte der Balken 20 können auch beliebig selektiert und dann kopiert oder ausgeschnitten werden, um sie an anderen Positionen wieder einzufügen, mit der entsprechenden Folge für die repräsentierten Bewegungstrajektorien T.Similarly, in the Gantt chart 18 in some or all bars 20 Time intervals similar to the synchronization intervals 26 be selected, so that all manipulations in the context of step S3 within the selected time interval from the manipulation unit 13a in all the motion representations R are performed uniformly. In this way, the trajectories T of one or more robot components 5a . 5b independent of other robot components 5a . 5b adapted, aligned or programmed, or manipulated by drag-and-drop or copy / paste operations. Likewise, the manipulation interface 13 Manipulation functions for moving or scaling, stretching or upsetting, thereby providing the temporal resolution of the bars 20 and / or to change the execution speed of the trajectories T. Sections of the beams 20 can also be arbitrarily selected and then copied or cut out to reinsert them at other positions, with the corresponding sequence for the represented movement trajectories T.

Bei den oben beschriebenen Synchronisationsfunktionen legt der Programmierer lediglich den Synchronisationspunkt 25 oder die Start- und Endpunkte des Synchronisationsintervalls 26 manuell fest, während die eigentliche Manipulation der Bewegungsrepräsentationen R selbständig durch die Manipulationseinheit 13a derart vorgenommen wird, dass die betreffenden Trajektorien T gemäß den Vorgaben des Programmierers synchronisiert werden. Im Unterscheid dazu werden die diversen Editierfunktionen, wie zum Beispiel das Kopieren, Verschieben, Ausschneiden und Einfügen, vom Programmierer manuell und im Wesentlichen vollständig an der betreffenden Bewegungsrepräsentation R vorgenommen, so dass die Manipulationseinheit 13a hierbei in der Regel nicht oder nur sehr eingeschränkt zum Einsatz kommt.In the above-described synchronization functions, the programmer merely sets the synchronization point 25 or the start and end points of the synchronization interval 26 manually, while the actual manipulation of the motion representations R independently by the manipulation unit 13a is made such that the respective trajectories T are synchronized according to the preferences of the programmer. In contrast to this, the various editing functions, such as copying, shifting, cutting and pasting, are performed manually and essentially completely by the programmer on the relevant motion representation R, so that the manipulation unit 13a This is usually not or only very limited use.

Zu Simulationszwecken können Bewegungstrajektorien T auch innerhalb von in den Bewegungsrepräsentationen R selektierten Zeitintervallen in dem Fenster 17 abgespielt werden, in dem eine virtuelle 3D-Darstellung der Roboterkomponenten 23a, 23b, 23c, 23d angezeigt wird. Mit dieser 3D-Darstellung der realen Roboterkomponenten 5a, 5b in Form von virtuellen Roboterkomponenten 23a, 23b, 23c, 23d kann die Interaktion, gesteuert über das Gantt-Diagramm 18, simuliert oder getestet werden, indem bestimmte Zustände der Roboterkomponenten 23a, 23b, 23c, 23d zu einem bestimmten Zeitpunkt 22 oder innerhalb eines bestimmten Zeitintervalls der Bewegungstrajektorien T visualisiert werden können.For simulation purposes, motion trajectories T may also be within time intervals selected in the motion representations R in the window 17 in which a virtual 3D representation of the robot components 23a . 23b . 23c . 23d is shown. With this 3D representation of the real robot components 5a . 5b in the form of virtual robot components 23a . 23b . 23c . 23d The interaction can be controlled via the Gantt chart 18 , simulated or tested by specific states of the robot components 23a . 23b . 23c . 23d at a certain time 22 or can be visualized within a certain time interval of the movement trajectories T.

Ferner stellt die Manipulationsschnittelle 13 Funktionen bereit, so dass das Steuerprogramm S, gegebenenfalls nach einer erfolgreichen Simulation, von der Zentraleinheit 10 über die Datenverbindung 4 an die Robotersteuerung 2 übertragen werden kann. In dem Gantt-Diagramm 18 selektierte Zeitintervalle oder Bewegungsrepräsentationen R werden dann, vermittelt durch die Zentraleinheit 10 und die Robotersteuerung 2, von den (realen) Roboterkomponenten 5a, 5b ausgeführt. Der Zeitpunkt 22 gibt hierbei die momentane Position innerhalb der Bewegungsrepräsentationen R an. Diese Wiedergabefunktion kann aber auch nur einzelne über das Gantt-Diagramm 18 adressierbare Bewegungstrajektorien T betreffen und beliebig unterbrochen und wieder fortgesetzt werden.Furthermore, the manipulation section 13 Functions ready, so that the control program S, possibly after a successful simulation, from the central processing unit 10 over the data connection 4 to the robot controller 2 can be transferred. In the Gantt chart 18 selected time intervals or motion representations R are then transmitted by the central unit 10 and the robot controller 2 , from the (real) robot components 5a . 5b executed. Point of time 22 indicates the current position within the motion representations R. However, this playback function can only be individual via the Gantt chart 18 address addressable movement trajectories T and arbitrarily interrupted and resumed.

Ferner stellen die Manipulationsschalter 13b auch Funktionen zum Importieren und Exportieren sowie Abspeichern und Einlesen von Bewegungstrajektorien T bzw. Programmabschnitten P bereit. Auf diese Weise können Bewegungstrajektorien T anderer Interaktionen über eine geeignete Schnittstelle der Programmiereinrichtung 1 importiert werden, die gegebenenfalls nicht durch Playback- oder Teach-in-Programmierung aufgezeichnet sondern vollständig innerhalb einer virtuellen Umgebung modelliert wurden. Über das Gantt-Diagramm 18 können diese importierten Trajektorien T weiter bearbeitet oder mit anderen Interaktionen kombiniert werden. Importierte Bewegungstrajektorien T werden von der Umsetzungseinheit 12 automatisch in Bewegungsrepräsentationen R umgesetzt und von der Manipulationseinheit 13 als Gantt-Diagramm 18 dargestellt. Zum Zwecke des Imports/Exports beherrscht die Programmiereinrichtung 1 die gängigen Austauschdatenformate, zum Beispiel solche aus dem CAD- oder CNC-Bereich, wie zum Beispiel STEP oder STEP-NC. Eine beispielhafte Anwendung eines solchen Imports/Exports ist die Nachbearbeitung von Bewegungstrajektorien T, die nicht durch ein Teach-in-Verfahren erzeugt wurden, sondern ausschließlich in einer virtuellen Umgebung durch Simulation einer gewünschten Interaktion.Furthermore, set the manipulation switches 13b also functions for importing and exporting as well as storing and reading movement trajectories T or program sections P ready. In this way, movement trajectories T of other interactions via a suitable interface of the programmer 1 which may not be recorded by playback or teach-in programming, but rather fully modeled within a virtual environment. About the Gantt chart 18 These imported trajectories T can be further processed or combined with other interactions. Imported motion trajectories T are from the transformation unit 12 automatically translated into motion representations R and from the manipulation unit 13 as a Gantt chart 18 shown. For the purpose of import / export, the programmer is proficient 1 The common exchange data formats, for example those from the CAD or CNC area, such as STEP or STEP-NC. An exemplary application of such an import / export is the post-processing of movement trajectories T, which were not generated by a teach-in process, but exclusively in a virtual environment by simulation of a desired interaction.

Ferner bietet die Manipulationsschnittstelle 13 über die Manipulationsschalter 13b Funktionen zur Konsistenzprüfung der Interaktion an, die eine Interpolation von unstetigen Bewegungstrajektorien T und/oder eine Kollisionsprüfung der Trajektorien T betreffen. Im Rahme eines Transformationsschritts S5 werden also einerseits Unstetigkeitsstellen in den Bewegungstrajektorien T detektiert und stetig ergänzt und andererseits Kollisionen der Roboterkomponenten 5a, 5b im Rahmen der Interaktion erkannt und automatisch umgangen. Bei einer Interpolation von Unstetigkeitsstellen wird an der entsprechende Stelle der betroffenen Bewegungstrajektorie T dann beispielweise ein Abschnitt eingefügt, der genügend Zeit bereitstellt, damit die betreffende Roboterkomponente 5a, 5b von der einen in die andere Position technisch sinnvoll überführt wird. Bei der Korrektur von Kollisionsstellen werden die Bewegungstrajektorien T derart geändert, beispielsweise durch zeitliche oder räumliche Verschiebungen der Roboterkomponenten 5a, 5b, dass die Kollision umgangen wird. Derartige Konsistenzprüfungen können in dem Fenster 17 anhand der virtuellen 3D-Darstellung der Roboterkomponenten 23a, 23b, 23c, 23d 17 visualisiert und überwacht werden. In Folge einer solchen automatisierten Transformation der Bewegungstrajektorien T im Rahmen des Schrittes S5 werden die Bewegungsrepräsentationen R äquivalent angepasst (Schritt S2) und das Gantt-Diagramm 18 entsprechend aktualisiert.Furthermore, the manipulation interface offers 13 over the manipulation switch 13b Functions for consistency checking of the interaction, which concern an interpolation of unsteady movement trajectories T and / or a collision check of the trajectories T. In the context of a transformation step S5, points of discontinuity in the movement trajectories T are thus detected on the one hand and continuously supplemented and on the other hand collisions of the robot components 5a . 5b detected during the interaction and automatically bypassed. In the case of an interpolation of points of discontinuity, a section is then inserted at the corresponding point of the movement trajectory T concerned, for example, which provides sufficient time for the robot component concerned to be inserted 5a . 5b is transferred from one to the other position technically useful. In the correction of collision points, the movement trajectories T are changed in such a way, for example by temporal or spatial displacements of the robot components 5a . 5b that the collision is bypassed. Such consistency checks can be done in the window 17 based on the virtual 3D representation of the robot components 23a . 23b . 23c . 23d 17 visualized and monitored. As a result of such an automated transformation of the movement trajectories T in the course of step S5, the motion representations R are equivalently adjusted (step S2) and the Gantt diagram 18 updated accordingly.

Schließlich bietet die Manipulationsschnittstelle 13 auch Funktionen an, um Metadaten oder Prozessparameter in die Bewegungsrepräsentationen R einzufügen oder zu editieren, die beispielsweise Raumkoordinaten der Roboterkomponenten 5a, 5b oder Parameter zur Bearbeitung von Werkstücken betreffen. Diese Parameter werden in den Transformations- und Übersetzungsschritten S4, S6, S7 automatisch in die Trajektorien T, Programmabschnitte P und das Steuerprogramm S übernommen.Finally, the manipulation interface provides 13 Also, functions to insert or edit metadata or process parameters into the motion representations R, such as spatial coordinates of the robot components 5a . 5b or parameters for machining workpieces. These parameters are automatically adopted in the transformation and translation steps S4, S6, S7 in the trajectories T, program sections P and the control program S.

Claims (16)

Verfahren zum Erzeugen eines Steuerprogramms (S) für eine Interaktion zwischen beweglichen Roboterkomponenten (5a, 5b), wobei mit jeder Roboterkomponente (5a, 5b) zumindest eine Bewegungstrajektorie (T) manuell durchfahren wird, umfassend die folgenden Schritte einer Programmiereinrichtung (1): – Aufzeichnen (S1) der Bewegungstrajektorien (T); und – Übersetzen (S5) der aufgezeichneten Bewegungstrajektorien (T) in Programmabschnitte (P) des Steuerprogramms (S) derart, dass durch Ausführen eines Programmabschnitts (P) durch eine Robotersteuerung (2) die zumindest eine Bewegungstrajektorie (T) der betreffenden Roboterkomponente (5a, 5b) reproduziert wird; gekennzeichnet durch die weiteren Schritte der Programmiereinrichtung (1): – Umsetzen (S2) der aufgezeichneten Bewegungstrajektorien (T) in graphische Bewegungsrepräsentationen (R; 20) entlang einer Zeitachse (21), wobei die Bewegungsrepräsentationen (R; 20) jeweils zumindest eine Bewegungstrajektorie (T) einer Roboterkomponente (5a, 5b) repräsentieren, derart, dass die Bewegungstrajektorien (T) durch Manipulieren (S3) der Bewegungsrepräsentationen (R; 20) räumlich und zeitlich aufeinander abgestimmt werden können, um die Interaktion zu definieren; – Transformieren (S3) der Bewegungstrajektorien (T) entsprechend der manipulierten Bewegungsrepräsentationen (R; 20); – Übersetzen (S5) der transformierten Bewegungstrajektorien (T) in Programmabschnitte (P) des Steuerprogramms (S) derart, dass die Roboterkomponenten (5a, 5b) durch Ausführen des Steuerprogramms (S) die Interaktion durchführen.Method for generating a control program (S) for interaction between mobile robot components ( 5a . 5b ), with each robot component ( 5a . 5b ) at least one movement trajectory (T) is traversed manually, comprising the following steps of a programming device ( 1 ): - recording (S1) the movement trajectories (T); and - translating (S5) the recorded movement trajectories (T) into program sections (P) of the control program (S) such that by executing a program section (P) by a robot controller ( 2 ) the at least one movement trajectory (T) of the relevant robot component ( 5a . 5b ) is reproduced; characterized by the further steps of the programmer ( 1 ): - converting (S2) the recorded motion trajectories (T) into graphical motion representations (R; 20 ) along a time axis ( 21 ), where the motion representations (R; 20 ) at least one movement trajectory (T) of a robot component ( 5a . 5b ) in such a way that the movement trajectories (T) are obtained by manipulating (S3) the motion representations (R; 20 ) can be coordinated spatially and temporally to define the interaction; Transforming (S3) the motion trajectories (T) according to the manipulated motion representations (R; 20 ); - translating (S5) the transformed motion trajectories (T) into program sections (P) of the control program (S) such that the robot components ( 5a . 5b ) perform the interaction by executing the control program (S). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Steuerprogramm (S) derart aus den Programmabschnitten (P) kompiliert wird (S6), dass die Bewegungstrajektorien (T) entsprechend den manipulierten Bewegungsrepräsentationen (R; 20) aufeinander abgestimmt sind.Method according to Claim 1, characterized in that the control program (S) is compiled from the program sections (P) in such a way (S6) that the movement trajectories (T) corresponding to the manipulated motion representations (R; 20 ) are coordinated. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die aufgezeichneten Bewegungstrajektorien (T) in ein Gantt-Diagramm mit Zeitbalken entlang der Zeitachse (21) umgesetzt werden (S2), wobei jeder Zeitbalken einer Bewegungsrepräsentation (R) entspricht.A method according to claim 1 or 2, characterized in that the recorded movement trajectories (T) in a Gantt chart with time bars along the time axis ( 21 ) (S2), where each time bar corresponds to a motion representation (R). Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass eine Bewegungsrepräsentation (R; 20) entsprechend von durch Synchronisationspunkte (25) und/oder Synchronisationsintervalle (26) in den Bewegungsrepräsentationen (R; 20) vorgegebene räumliche und/oder zeitliche Abhängigkeiten zwischen den Bewegungstrajektorien (T) manipuliert wird (S3), insbesondere durch Strecken, Stauchen, Skalieren, Verschieben, Einfügen, Entfernen oder Duplizieren von Bewegungsrepräsentationsabschnitten (20a) in den Bewegungsrepräsentationen (R; 20), wobei die Bewegungstrajektorien (T) entsprechend den räumlichen und/oder zeitlichen Abhängigkeiten transformiert werden (S4) und die derart transformierten Bewegungstrajektorien (T) in entsprechend synchronisierte Programmabschnitte (P) übersetzt werden (S5).Method according to one of claims 1 to 3, characterized in that a motion representation (R; 20 ) according to by synchronization points ( 25 ) and / or synchronization intervals ( 26 ) in the motion representations (R; 20 ) predetermined spatial and / or temporal dependencies between the movement trajectories (T) is manipulated (S3), in particular by stretching, compressing, scaling, moving, inserting, removing or duplicating movement representation sections ( 20a ) in the motion representations (R; 20 ), wherein the movement trajectories (T) are transformed according to the spatial and / or temporal dependencies (S4) and the movement trajectories (T) thus transformed are translated into correspondingly synchronized program sections (P) (S5). Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass eine Bewegungsrepräsentation (R; 20) einer Bewegungstrajektorie (T) an einem markierten Zeitpunkt (22) um einen Bewegungsrepräsentationsabschnitt (20a) erweitert wird (S3), der eine weitere Bewegungstrajektorie (T) der betreffenden Roboterkomponente (5a, 5b) repräsentiert, indem der Bewegungsrepräsentationsabschnitt (20a) an dem markierten Zeitpunkt (22) in die Bewegungsrepräsentation (R; 20) eingesetzt wird oder die Bewegungsrepräsentation (R; 20) ab dem markierten Zeitpunkt (22) durch den Bewegungsrepräsentationsabschnitt (20a) überschrieben wird, wobei die Bewegungstrajektorie (T) entsprechend der erweiterten Bewegungsrepräsentation (R) transformiert wird (S3).Method according to one of claims 1 to 4, characterized in that a motion representation (R; 20 ) of a movement trajectory (T) at a marked time ( 22 ) around a movement representation section ( 20a ) is extended (S3), the another movement trajectory (T) of the robot component concerned ( 5a . 5b ) represented by the motion representation section ( 20a ) at the marked time ( 22 ) into the motion representation (R; 20 ) or the motion representation (R; 20 ) from the marked date ( 22 ) by the motion representation section (FIG. 20a ), wherein the movement trajectory (T) is transformed according to the extended motion representation (R) (S3). Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Bewegungsrepräsentation (R; 20) um den Bewegungsrepräsentationsabschnitt (20a) erweitert wird (S3), während die weitere Bewegungstrajektorie (T) aufgezeichnet wird (S1), oder um einen Bewegungsrepräsentationsabschnitt (20a), der eine bereits aufgezeichnete, weitere Bewegungstrajektorie (T) repräsentiert, wobei die weitere Bewegungstrajektorie (T) in die Programmiereinrichtung (1) importiert sowie in den Bewegungsrepräsentationsabschnitt (20a) umgesetzt (S2) und in einen Programmabschnitt (P) übersetzt wird (S5).Method according to claim 5, characterized in that the motion representation (R; 20 ) around the movement representation section ( 20a ) is extended (S3), while the further movement trajectory (T) is recorded (S1), or by a motion representation section (S3) 20a ), which represents an already recorded further movement trajectory (T), wherein the further movement trajectory (T) into the programming device ( 1 ) and into the motion representation section ( 20a ) (S2) and translated into a program section (P) (S5). Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass wenn ein oder mehrere Bewegungsrepräsentationen (R; 20) ab einem markierten Zeitpunkt (22) oder in einem markierten Zeitintervall abgespielt werden, die Robotersteuerung (2) den einen oder die mehreren betreffenden Programmabschnitte (P) derart ausführt, dass die eine oder mehreren Roboterkomponenten (5a, 5b) die betreffenden Bewegungstrajektorien (T) ab dem markierten Zeitpunkt (22) oder in dem markierten Zeitintervall reproduzieren.Method according to one of claims 1 to 6, characterized in that when one or more motion representations (R; 20 ) from a marked time ( 22 ) or in a marked time interval, the robot controller ( 2 ) performs the one or more program sections concerned (P) such that the one or more robot components ( 5a . 5b ) the respective movement trajectories (T) from the marked point in time ( 22 ) or in the marked time interval. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass auf der Programmiereinrichtung (1) manuell erstellte oder in die Programmiereinrichtung (1) importierte Programmabschnitte (P) und/oder Steuerprogramme (S) in Bewegungsrepräsentationen (R; 20), die jeweils zumindest eine Bewegungstrajektorie (T) einer Roboterkomponente (5a, 5b) repräsentieren, derart umgesetzt werden, dass die Bewegungstrajektorien (T) durch Manipulieren (S3) der Bewegungsrepräsentationen (R; 20) räumlich und zeitlich aufeinander abgestimmt werden können.Method according to one of claims 1 to 7, characterized in that on the programming device ( 1 ) manually or in the programming device ( 1 ) imported program sections (P) and / or control programs (S) in motion representations (R; 20 ), each having at least one movement trajectory (T) of a robot component ( 5a . 5b ) are translated such that the movement trajectories (T) are obtained by manipulating (S3) the motion representations (R; 20 ) can be coordinated spatially and temporally. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Programmiereinrichtung (1) eine virtuelle 3D-Darstellung der Roboterkomponenten (23a, 23b, 23c, 23d) erzeugt, wobei, wenn ein oder mehrere Bewegungsrepräsentationen (R; 20) ab einem markierten Zeitpunkt (22) oder in einem markierten Zeitintervall abgespielt werden, die eine oder mehreren virtuell dargestellten Roboterkomponenten (23a, 23b, 23c, 23d) die betreffenden Bewegungstrajektorien (T) ab dem markierten Zeitpunkt (22) oder in dem markierten Zeitintervall reproduzieren.Method according to one of claims 1 to 8, characterized in that the programming device ( 1 ) a virtual 3D representation of the robot components ( 23a . 23b . 23c . 23d ), wherein when one or more motion representations (R; 20 ) from a marked time ( 22 ) or in a marked time interval, which displays one or more robot components ( 23a . 23b . 23c . 23d ) the respective movement trajectories (T) from the marked point in time ( 22 ) or in the marked time interval. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Bewegungsrepräsentationen (R; 20) auf Konsistenz geprüft werden, indem Kollisionsstellen in den Bewegungstrajektorien (T) detektiert werden und kollidierende Bewegungstrajektorien (T) derart transformiert werden (S4), dass die Kollisionsstellen kollisionsfrei umgangen werden, wobei die transformierten Bewegungstrajektorien (T) in kollisionsfreie Bewegungsrepräsentationen (R, 20) umgesetzt (S2) und in kollisionsfreie Programmabschnitte (P) übersetzt werden (S5) und/oder indem Unstetigkeitsstellen in einer Bewegungstrajektorie (T) detektiert werden und eine unstetige Bewegungstrajektorie (T) derart transformiert wird (S4), dass die Unstetigkeitsstelle durch einen Interpolationstrajektorie stetig ergänzt wird, wobei die transformierte Bewegungstrajektorie (T) in eine stetige Bewegungsrepräsentation (R, 20) umgesetzt (s2) und in einen Programmabschnitt (P) übersetzt wird (S5).Method according to one of claims 1 to 9, characterized in that the motion representations (R; 20 ) are checked for consistency by detecting collision locations in the movement trajectories (T) and colliding movement trajectories (T) are transformed (S4) such that the collision sites are bypassed without collision, the transformed movement trajectories (T) being collision-free motion representations (R, 20 ) are converted (S2) and into non-collision program sections (P) are translated (S5) and / or by discontinuities in a movement trajectory (T) are detected and a discontinuous motion trajectory (T) is transformed (S4), that the discontinuity point by an interpolation trajectory is continuously added, whereby the transformed motion trajectory (T) into a continuous motion representation (R, 20 ) (s2) and translated into a program section (P) (S5). Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass eine manipulierte Bewegungsrepräsentation (R, 20) entsprechend der Manipulation (S2) derart transformiert (S3) und die transformierte Bewegungstrajektorie (T) entsprechend der Manipulation (S2) derart in einen Programmabschnitt (P) übersetzt wird (S5), oder eine transformierte Bewegungstrajektorie (T) entsprechend der Transformation (S4) derart in eine Bewegungsrepräsentation (R; 20) umgesetzt (S2) und derart in einen Programmabschnitt (P) übersetzt wird (S5), dass die Bewegungsrepräsentationen (R; 20), die Bewegungstrajektorien (T) und die Programmabschnitte (P) die Interaktion zwischen den Roboterkomponenten (5a, 5b) jeweils äquivalent beschreiben.Method according to one of claims 1 to 10, characterized in that a manipulated movement representation (R, 20 ) according to the manipulation (S2) is transformed (S3) and the transformed movement trajectory (T) is translated according to the manipulation (S2) into a program section (P) (S5), or a transformed motion trajectory (T) according to the transformation (S4 ) into a motion representation (R; 20 ) (S2) and thus translated into a program section (P) (S5) that the motion representations (R; 20 ), the movement trajectories (T) and the program sections (P) the interaction between the robot components ( 5a . 5b ) describe equivalently. Programmiereinrichtung (1) zur Erzeugung eines Steuerprogramms (S), das eine Interaktion zwischen beweglichen Roboterkomponenten (5a, 5b) realisiert, wenn es von einer Robotersteuerung (2) ausgeführt wird, umfassend – eine Aufzeichnungseinheit (11), die eingerichtet ist, eine mit einer Roboterkomponente (5a, 5b) manuell durchfahrene Bewegungstrajektorie (T) aufzuzeichnen; und – eine Übersetzungseinheit (15), die eingerichtet ist, eine aufgezeichnete Bewegungstrajektorie (T) in einen Programmabschnitt (P) des Steuerprogramms (S) derart zu übersetzen, dass durch Ausführung des Programmabschnitts (P) durch die Robotersteuerung (2) die Bewegungstrajektorie (T) der betreffenden Roboterkomponente (5a, 5b) reproduziert wird, dadurch gekennzeichnet, dass die Programmiereinrichtung (1) weiterhin umfasst: – eine Umsetzungseinheit (12), die eingerichtet ist, eine aufgezeichnete Bewegungstrajektorie (T) in eine graphische Bewegungsrepräsentation (R; 20) entlang einer Zeitachse (21) umzusetzen, wobei die Bewegungsrepräsentation (R; 20) eine Bewegungstrajektorie (T) einer Roboterkomponente (5a, 5b) repräsentiert; – eine graphische Manipulationsschnittstelle (13), die eingerichtet ist, von der Umsetzungseinheit (12) umgesetzte Bewegungsrepräsentationen (R; 20) auf einer Anzeigeeinheit (16) der Programmiereinrichtung (1) darzustellen, sowie eingerichtet ist, Manipulationsfunktionen (13b) bereitzustellen, durch die die Bewegungsrepräsentationen (R) derart manipuliert werden können, dass die Bewegungstrajektorien (T) räumlich und zeitlich aufeinander abgestimmt werden, um die Interaktion zu definiert; und – eine Transformationseinheit (14), die eingerichtet ist, Bewegungstrajektorien (T) entsprechend von manipulierten Bewegungsrepräsentationen (R; 20) zu transformieren; wobei die Übersetzungseinheit (15) weiter eingerichtet ist, transformierte Bewegungstrajektorien (T) in Programmabschnitte (P) des Steuerprogramms (S) derart zu übersetzen, dass die Roboterkomponenten (5a, 5b) die Interaktion durchführen, wenn das Steuerprogramm (S) von der Robotersteuerung (2) ausgeführt wird.Programming device ( 1 ) for generating a control program (S) that controls an interaction between mobile robot components ( 5a . 5b ) realized by a robot controller ( 2 ), comprising - a recording unit ( 11 ), which is set up, one with a robot component ( 5a . 5b ) record manually traversed motion trajectory (T); and - a translation unit ( 15 ) which is set up to translate a recorded movement trajectory (T) into a program section (P) of the control program (S) in such a way that by execution of the program section (P) by the robot controller ( 2 ) the movement trajectory (T) of the relevant robot component ( 5a . 5b ) is reproduced, characterized in that the programming device ( 1 ) further comprises: - a conversion unit ( 12 ), which is set up, a recorded movement trajectory (T) in a graphical representation of motion (R; 20 ) along a time axis ( 21 ), wherein the motion representation (R; 20 ) a movement trajectory (T) of a robot component ( 5a . 5b represents; A graphical manipulation interface ( 13 ), which is set up by the implementation unit ( 12 ) converted motion representations (R; 20 ) on a display unit ( 16 ) of the programmer ( 1 ), and is set up, manipulation functions ( 13b ) through which the motion representations (R) can be manipulated such that the motion trajectories (T) are spatially and temporally aligned to define the interaction; and a transformation unit ( 14 ), which is set up movement trajectories (T) corresponding to manipulated movement representations (R; 20 ) to transform; where the translation unit ( 15 ) is further configured to translate transformed motion trajectories (T) into program sections (P) of the control program (S) in such a way that the robot components ( 5a . 5b ) perform the interaction when the control program (S) from the robot controller ( 2 ) is performed. Programmiereinrichtung (1) nach Anspruch 12, gekennzeichnet durch eine Datenverbindung (4) zwischen der Programmiereinrichtung (1) und der Robotersteuerung (2) die derart eingerichtet ist, dass, wenn ein oder mehrere Bewegungsrepräsentationen (R; 20) mittels der Manipulationsschnittstelle (13) ab einem markierten Zeitpunkt (22) oder in einem markierten Zeitintervall abgespielt werden, die betreffenden Programmabschnitte (P) über die Datenverbindung (4) an die Robotersteuerung (2) übertragen werden.Programming device ( 1 ) according to claim 12, characterized by a data connection ( 4 ) between the programmer ( 1 ) and the robot controller ( 2 ) arranged such that when one or more motion representations (R; 20 ) by means of the manipulation interface ( 13 ) from a marked time ( 22 ) or in a marked time interval, the relevant program sections (P) via the data connection ( 4 ) to the robot controller ( 2 ) be transmitted. Programmiereinrichtung (1) nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass die graphische Manipulationsschnittstelle (13), die Umsetzungseinheit (12) und die Übersetzungseinheit (15) derart eingerichtet sind, dass bei einer Manipulation einer Bewegungsrepräsentation (R; 20) mittels der Manipulationsschnittstelle (13), die Transformationseinheit (14) die manipulierte Bewegungsrepräsentation (R; 20) entsprechend der Manipulation transformiert und die Übersetzungseinheit (15) die transformierte Bewegungstrajektorie (T) entsprechend der Manipulation in einen Programmabschnitt (P) übersetzt, und bei einer Transformation einer Bewegungstrajektorie (T) durch die Transformationseinheit (14), die Umsetzungseinheit (12) die transformierte Bewegungstrajektorie (T) entsprechend der Transformation in eine Bewegungsrepräsentation (R; 20) umsetzt und die Übersetzungseinheit (15) die transformierte Bewegungstrajektorie (T) einsprechend der Transformation in einen Programmabschnitt (P) übersetzt, derart, dass die Bewegungsrepräsentationen (R; 20), die Bewegungstrajektorien (T) und die Programmabschnitte (P) die Interaktion zwischen den Roboterkomponenten (5a, 5b) jeweils äquivalent beschreiben.Programming device ( 1 ) according to claim 12 or 13, characterized in that the graphical manipulation interface ( 13 ), the implementation unit ( 12 ) and the translation unit ( 15 ) are set up in such a way that when a movement representation (R; 20 ) by means of the manipulation interface ( 13 ), the transformation unit ( 14 ) the manipulated motion representation (R; 20 ) transformed according to the manipulation and the translation unit ( 15 ) translates the transformed movement trajectory (T) according to the manipulation into a program section (P), and during a transformation of a movement trajectory (T) by the transformation unit ( 14 ), the implementation unit ( 12 ) the transformed motion trajectory (T) corresponding to the transformation into a motion representation (R; 20 ) and the translation unit ( 15 ) translates the transformed motion trajectory (T) into a program section (P) in accordance with the transformation, such that the motion representations (R; 20 ), the movement trajectories (T) and the program sections (P) the interaction between the robot components ( 5a . 5b ) describe equivalently. Programmiereinrichtung (1) nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass die Programmiereinrichtung (1) ausgestaltet und eingerichtet ist, ein Steuerprogramm (S) für eine Interaktion zwischen beweglichen Roboterkomponenten (5a, 5b) gemäß einem Verfahren nach einem der Ansprüche 1 bis 11 zu erzeugen.Programming device ( 1 ) according to one of claims 12 to 14, characterized in that the programming device ( 1 ) is configured and set up, a control program (S) for interaction between mobile robot components ( 5a . 5b ) according to a method according to any one of claims 1 to 11. Programmier- und Steuersystem, umfassend eine Programmiereinrichtung (1) nach einem der Ansprüche 12 bis 15 sowie eine mit der Programmiereinrichtung (1) über eine Datenverbindung (4) verbundene Robotersteuerung (2), wobei die Robotersteuerung (2) derart eingerichtet ist, dass von der Programmiereinrichtung (1) über die Datenverbindung (4) übertragene Programmabschnitte (P) von der Robotersteuerung (2) derart ausgeführt werden, dass die Roboterkomponenten (5a, 5b) die betreffenden Bewegungstrajektorien (T) reproduzieren.Programming and control system, comprising a programming device ( 1 ) according to one of claims 12 to 15 and one with the programmer ( 1 ) via a data connection ( 4 ) connected robot controller ( 2 ), whereby the robot control ( 2 ) is set up such that the programmer ( 1 ) via the data connection ( 4 ) transmitted program sections (P) from the robot controller ( 2 ) are carried out in such a way that the robot components ( 5a . 5b ) reproduce the respective movement trajectories (T).
DE102015116086.2A 2015-09-23 2015-09-23 robot control Ceased DE102015116086A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015116086.2A DE102015116086A1 (en) 2015-09-23 2015-09-23 robot control
PCT/EP2016/072543 WO2017050895A1 (en) 2015-09-23 2016-09-22 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015116086.2A DE102015116086A1 (en) 2015-09-23 2015-09-23 robot control

Publications (1)

Publication Number Publication Date
DE102015116086A1 true DE102015116086A1 (en) 2017-03-23

Family

ID=56985619

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015116086.2A Ceased DE102015116086A1 (en) 2015-09-23 2015-09-23 robot control

Country Status (2)

Country Link
DE (1) DE102015116086A1 (en)
WO (1) WO2017050895A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018004947B3 (en) 2018-06-22 2019-07-18 Sew-Eurodrive Gmbh & Co Kg Method for controlling drives of a robot and robot system
DE102019102427A1 (en) * 2019-01-31 2020-08-06 Franka Emika Gmbh Coordination of paths of two robot manipulators
DE102022203406A1 (en) 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Carrying out a robot application and creating a program for it
CN117021118A (en) * 2023-10-08 2023-11-10 中北大学 Dynamic compensation method for digital twin track error of parallel robot

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6836558B2 (en) * 2018-08-31 2021-03-03 ファナック株式会社 Teaching device for laser machining
CN111283677B (en) * 2018-12-10 2021-07-06 北京猎户星空科技有限公司 Robot control method and device, robot and robot master controller
US11413751B2 (en) * 2019-02-11 2022-08-16 Hypertherm, Inc. Motion distribution in robotic systems
DE102021214567A1 (en) 2021-12-17 2023-06-22 Carl Zeiss Industrielle Messtechnik Gmbh Method and system for motion control of a plurality of positioning devices
CN114393578B (en) * 2021-12-31 2024-06-14 广州明珞装备股份有限公司 Process action judging method, system, equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009004285A1 (en) * 2008-06-27 2009-12-31 Robert Bosch Gmbh Method and device for optimizing, monitoring or analyzing a process
WO2015117641A1 (en) * 2014-02-05 2015-08-13 Abb Technology Ltd A system and method for defining motions of a plurality of robots cooperatively performing a show

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5942248A (en) * 1982-09-03 1984-03-08 Mitsubishi Electric Corp Nc machining system
JP4765155B2 (en) * 2000-09-28 2011-09-07 ソニー株式会社 Authoring system, authoring method, and storage medium
DE102010004472A1 (en) * 2010-01-13 2011-07-14 KUKA Laboratories GmbH, 86165 Tool for planning and/or controlling multi-robot system, has synchronizer that associates process or state of one robot to the process or state of other robot with cooperation reference axis dot
WO2015006199A1 (en) * 2013-07-08 2015-01-15 Abb Technology Ag Multi-viewer for interacting or depending objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009004285A1 (en) * 2008-06-27 2009-12-31 Robert Bosch Gmbh Method and device for optimizing, monitoring or analyzing a process
WO2015117641A1 (en) * 2014-02-05 2015-08-13 Abb Technology Ltd A system and method for defining motions of a plurality of robots cooperatively performing a show

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MEYER, Ch..: Aufnahme und Nachbearbeitung von Bahnen bei der Programmierung durch Vormachen von Industrierobotern. Dissertation, Universität Stuttgart. Heimsheim: Jost Jetter Verlag, , 2011. S. 52-55, 97-103 - ISBN 978-3-939890-75-1 [Online: http://dx.doi.org/10.18419/opus-4442]
MEYER, Ch..: Aufnahme und Nachbearbeitung von Bahnen bei der Programmierung durch Vormachen von Industrierobotern. Dissertation, Universität Stuttgart. Heimsheim: Jost Jetter Verlag, , 2011. S. 52-55, 97-103 - ISBN 978-3-939890-75-1 [Online: http://dx.doi.org/10.18419/opus-4442] *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018004947B3 (en) 2018-06-22 2019-07-18 Sew-Eurodrive Gmbh & Co Kg Method for controlling drives of a robot and robot system
DE102019003971A1 (en) 2018-06-22 2019-12-24 Sew-Eurodrive Gmbh & Co Kg Method for controlling drives of a robot and robot system
WO2019242885A1 (en) 2018-06-22 2019-12-26 Sew-Eurodrive Gmbh & Co. Kg Method for controlling drives of a robot, and robot system
US11904479B2 (en) 2018-06-22 2024-02-20 Sew-Eurodrive Gmbh & Co. Kg Method for controlling drives of a robot, and robot system
DE102019102427A1 (en) * 2019-01-31 2020-08-06 Franka Emika Gmbh Coordination of paths of two robot manipulators
DE102019102427B4 (en) 2019-01-31 2022-02-10 Franka Emika Gmbh Coordination of trajectories of two robotic manipulators
DE102022203406A1 (en) 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Carrying out a robot application and creating a program for it
CN117021118A (en) * 2023-10-08 2023-11-10 中北大学 Dynamic compensation method for digital twin track error of parallel robot
CN117021118B (en) * 2023-10-08 2023-12-15 中北大学 Dynamic compensation method for digital twin track error of parallel robot

Also Published As

Publication number Publication date
WO2017050895A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
DE102015116086A1 (en) robot control
EP1901149B1 (en) Device and method for simulating the processing of a workpiece on a machine tool
DE60035651T2 (en) Control system for the synchronous cooperative operation of a plurality of robots
EP1933214B1 (en) Automated generation and adaptation of a machine or plant model
EP2138914B1 (en) Method and device for optimising, monitoring or analysing a process
DE2712169C2 (en) Method for performing a complex movement by an industrial robot
DE102009017795A1 (en) Operation simulation method and operation simulation apparatus
DE102012220884A1 (en) Machine vision system program editing environment with real-time context generation features
EP1131686A1 (en) Method for controlling technical processes
DE2557464A1 (en) CONTROL SYSTEM FOR AN AUTOMATIC MACHINE, IN PARTICULAR FOR THE ARM OF A ROBOT
DE20321699U1 (en) Computer for performing a simulation method for machining a workpiece by a machine tool
WO2019020818A1 (en) Efficient programming of robots for processing workpieces with different variants
DE102006022483A1 (en) Method and device for displaying a robot path for supporting a change of location of a support point
DE60219570T2 (en) simulation device
DE10231675B4 (en) Simulation system for machine simulation and data output of control data for an automation system
EP0553621B1 (en) Programmable computer control for a machine tool
DE102008018962A1 (en) Method for controlling a robot
DE10144788A1 (en) Process data recording method e.g. for robot, involves storing process data in data buffer memory having first-in-first out characteristic
DE112016007339T5 (en) simulation device
DE2338880A1 (en) METHODS AND DEVICES FOR CONTROLLING THE MOVING PARTS OF A MACHINE TOOL THROUGH A NUMERICAL OUTLINE OR POINT-BY-POINT CONTROL SYSTEM, WHEREAS TWO PARTS OF THE MACHINE INDEPENDENTLY SEPARATE
EP3438773B1 (en) Processing of workpieces with model-supported error compensation
EP1217476A2 (en) Apparatus and method for the start-up and diagnosis of control systems
DE4330218A1 (en) Synchronization method and device for comparing machining processes on a dialog-oriented programming device for creating function and control data for a CNC machine with n subsystems
DE102014219709A1 (en) Method for power plant simulation for testing and training purposes by means of a distributed simulation hardware
DE10161470A1 (en) Method for programming a robot in robot-based laser applications programs traveling points for the robot's operating path by determining speeds and a curve for the path through interpolation.

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KLUNKER IP PATENTANWAELTE PARTG MBB, DE

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