DE102015116086A1 - robot control - Google Patents
robot control Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34348—Coordination of operations, different machines, robots execute different tasks
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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:
Hierbei stellt das Steuerprogramm S ein Softwareprogramm in einer Computersprache dar, die von der Robotersteuerung
Die Bewegungstrajektorien T liegen in einer geeigneten Beschreibungssprache vor, die in der Regel nicht von der Robotersteuerung
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
Auf der Ebene der Bewegungsrepräsentation R kann der Programmierer die Bewegungstrajektorien T der Roboterkomponenten
Die in
Die Koordination der verschiedenen Einheiten
Bei dem durch die Schritte der
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
In Schritt S2 setzt die Umsetzungseinheit
Im unteren Bereich der
Anhand der Balken
Für den Manipulationsschritt S3 stehen dem Programmierer über die Manipulationsschnittstelle
In Schritt S4 transformiert die Transformationseinheit
Neben dem Transformationsschritt S4, der durch den Programmierer mittels einer graphische Manipulation des Gantt-Diagramms
Um die verschiedenen Bewegungstrajektorien T im Sinne der Interaktion zu synchronisieren bzw. aufeinander abzustimmen, stellt die Manipulationsschnittstelle
So können zu Synchronisationszwecken Synchronisationspunkte
Beispielhaft zeigt
Zusätzlich oder alternativ zu der globalen Zeitachse
Ü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
Ebenso können in dem Gantt-Diagramm
Bei den oben beschriebenen Synchronisationsfunktionen legt der Programmierer lediglich den Synchronisationspunkt
Zu Simulationszwecken können Bewegungstrajektorien T auch innerhalb von in den Bewegungsrepräsentationen R selektierten Zeitintervallen in dem Fenster
Ferner stellt die Manipulationsschnittelle
Ferner stellen die Manipulationsschalter
Ferner bietet die Manipulationsschnittstelle
Schließlich bietet die Manipulationsschnittstelle
Claims (16)
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)
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)
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)
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)
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 |
-
2015
- 2015-09-23 DE DE102015116086.2A patent/DE102015116086A1/en not_active Ceased
-
2016
- 2016-09-22 WO PCT/EP2016/072543 patent/WO2017050895A1/en active Application Filing
Patent Citations (2)
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)
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)
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 |