Nothing Special   »   [go: up one dir, main page]

DE102011008306A1 - System for programming of robot application, is provided with programming element for simplified programming of robot application - Google Patents

System for programming of robot application, is provided with programming element for simplified programming of robot application Download PDF

Info

Publication number
DE102011008306A1
DE102011008306A1 DE102011008306A DE102011008306A DE102011008306A1 DE 102011008306 A1 DE102011008306 A1 DE 102011008306A1 DE 102011008306 A DE102011008306 A DE 102011008306A DE 102011008306 A DE102011008306 A DE 102011008306A DE 102011008306 A1 DE102011008306 A1 DE 102011008306A1
Authority
DE
Germany
Prior art keywords
programming
simulation
robot
robot application
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.)
Withdrawn
Application number
DE102011008306A
Other languages
German (de)
Inventor
Stefan Hollmann
Ulrich Huggenberger
Rainer Spatzier-Beck
Kasimier Sulski
Dr. Tarragona Christian
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Priority to DE102011008306A priority Critical patent/DE102011008306A1/en
Publication of DE102011008306A1 publication Critical patent/DE102011008306A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35308Update simulator with actual machine, control parameters before start simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40312OOP object oriented programming for simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

The system is provided with a programming element (20) for simplified programming of the robot application, where a simulation element (10) is provided for the simulation-supported programming of the robot application. The transfer elements (30,40) are provided for processing of a program. An independent claim is also included for a method for programming of a robot application.

Description

Die vorliegende Erfindung betrifft ein Verfahren und ein System zur Programmierung einer Roboteranwendung.The present invention relates to a method and system for programming a robot application.

Insbesondere zur vorab durchgeführten Offline-Programmierung von Roboteranwendungen sind Simulationsmittel zum simulationsgestützten Programmieren bekannt. Diese gestatten in der Regel die komplexe Erstellung, Modifikation und Simulation von Prozessen, insbesondere Roboterbahnen, erfordern hierzu jedoch meist große Fachkenntnisse des Anwenders und entsprechend mächtige Ein- und Ausgabemöglichkeiten, beispielsweise dreidimensionale Visualisierungen der Bahnen bzw. Prozesse. KUKA WorkVisual der Anmelderin ist ein solches Simulationsmittel, auf das für weitere Details Bezug genommen wird.In particular, for the previously performed offline programming of robot applications simulation means for simulation-based programming are known. These usually allow the complex creation, modification and simulation of processes, in particular robot tracks, but this usually requires great expertise of the user and correspondingly powerful input and output options, such as three-dimensional visualizations of the tracks or processes. KUKA WorkVisual of the Applicant is such a simulation tool, to which reference is made for further details.

Auf der anderen Seite stellen viele Roboterhersteller bewusst Programmiermittel zum vereinfachten Programmieren von Roboteranwendungen zur Verfügung, die es auch Anwendern mit geringeren Kenntnissen und/oder vor Ort, insbesondere Einzelanwendern, ermöglichen sollen, die Roboteranwendung möglichst intuitiv, einfach und effizient zu programmieren. Solche Programmiermittel können insbesondere zum aufgabengestützten Programmieren vorgesehen sein, so dass der Anwender nur noch einzelne Aufgaben, sogenannte „Jobs”, etwa das Aufnehmen oder Absetzen einer Nutzlast mit einem Roboter, parametrieren und miteinander verbinden muss. Das KUKA SmartGUI Studio der Anmelderin ist ein solches Programmiermittel, auf das für weitere Details Bezug genommen wird.On the other hand, many robotic manufacturers deliberately provide programming tools for simplified programming of robotic applications that will enable even lower-skilled and / or on-site users, particularly individual users, to program the robotic application as intuitively, easily and efficiently as possible. Such programming means may be provided in particular for task-based programming, so that the user only has to parameterize and interconnect individual tasks, so-called "jobs", such as recording or depositing a payload with a robot. Applicant's KUKA SmartGUI Studio is such a programming tool to which reference is made for further details.

Nachteilig ist der Anwender insbesondere zur Bearbeitung erstellter Programme bisher auf das zur Erstellung genutzte Mittel festgelegt. So ist es in der Praxis weder möglich, aufwändig in einem Simulationsmittel erstellte Applikationen von einem Anwender mit geringeren Kenntnissen oder vor Ort in einfacher Weise durch ein Programmiermittel zum vereinfachten Programmieren zu modifizieren noch umgekehrt eine mit einem solchen Programmiermittel erstellte Applikation beispielsweise in einem Simulationsmittel zu testen.Disadvantageously, the user has previously been set, in particular for editing created programs, to the means used for the creation. Thus, in practice, it is neither possible to inexpensively modify applications created in a simulation means by a user with less knowledge or on site in a simple manner by a programming means for simplified programming, and vice versa to test an application created with such a programming means, for example in a simulation means ,

Aufgabe der vorliegenden Erfindung ist es, die Programmierung einer Roboteranwendung zu verbessern.The object of the present invention is to improve the programming of a robot application.

Diese Aufgabe wird durch ein System mit den Merkmalen des Anspruchs 1 bzw. ein Verfahren mit den Merkmalen des Anspruchs 10 gelöst. Anspruch 11 stellt ein Transfermittel für ein erfindungsgemäßes System unter Schutz, die Unteransprüche betreffen vorteilhafte Weiterbildungen.This object is achieved by a system having the features of claim 1 and a method having the features of claim 10. Claim 11 provides a transfer means for a system according to the invention under protection, the subclaims relate to advantageous developments.

Ein erfindungsgemäßes System bzw. Verfahren dient zur Programmierung einer Roboteranwendung. Eine Roboteranwendung im Sinne der vorliegenden Erfindung kann insbesondere einen oder mehrere Roboter, vorzugsweise zusätzlich ein oder mehrere robotergeführte Werkzeuge wie Greifer, Schweißzangen, Lackier- oder Klebedüsen oder dergleichen, und/oder zusätzlich ein oder mehrere mit dem bzw. den Robotern zusammenwirkende Peripherien bzw. Werkzeuge wie Förderer, Bearbeitungstische oder dergleichen aufweisen. Insbesondere kann eine automatisierte Fertigungs- oder Montagezelle, aber auch ein einzelner Roboter, eine Roboteranwendung im Sinne der vorliegenden Erfindung darstellen. Ein Programm kann insbesondere von dem bzw. den Robotern anzufahrende Posen, abzufahrende Bahnen, und/oder von Werkzeugen auszuführende Aktionen, beispielsweise das Öffnen oder Schließen eines Greifers, vorgeben, und ist bevorzugt in einer in einer Steuerung der Roboteranwendung ausführbaren Form bzw. Sprache vorhanden, beispielsweise der KUKA Robot Language („KRL”) der Anmelderin.An inventive system or method is used for programming a robot application. A robot application in the sense of the present invention may in particular comprise one or more robots, preferably additionally one or more robot-controlled tools such as grippers, welding guns, painting or glue nozzles or the like, and / or additionally one or more peripherals cooperating with the robot (s). Have tools such as conveyors, editing tables or the like. In particular, an automated production or assembly cell, but also a single robot, can represent a robot application in the sense of the present invention. In particular, a program may specify poses to be approached by the robot (s), tracks to be traveled, and / or actions to be performed by tools, such as the opening or closing of a gripper, and is preferably present in a form executable in a controller of the robot application For example, the applicant's KUKA Robot Language ("KRL").

Zum vereinfachten Programmieren der Roboteranwendung ist ein Programmiermittel vorgesehen. Allgemein kann ein Mittel im Sinne der vorliegenden Erfindung hard- und/oder softwaretechnisch ausgebildet sein. Insbesondere kann ein Mittel eine oder mehrere Hardwarekomponenten, insbesondere Rechen- bzw. Verarbeitungseinrichtungen wie zum Beispiel Prozessoren, Speichereinrichtungen wie zum Beispiel Datenträger, Ein- und/oder Ausgabeeinrichtungen wie zum Beispiel Tastatur, Maus, Joystick, Touchscreen, Bildschirm oder dergleichen aufweisen. Zusätzlich oder alternativ kann ein Mittel im Sinne der vorliegenden Erfindung ein oder mehrere Softwarekomponenten, insbesondere Programme bzw. Routinen, Programmmodule, Unterprogramme und/oder, vorzugsweise objektorientierte, Datenstrukturen, Bibliotheken und dergleichen aufweisen.For simplified programming of the robot application, a programming means is provided. In general, a means in the sense of the present invention may be designed in terms of hardware and / or software technology. In particular, an agent may have one or more hardware components, in particular computing or processing devices such as processors, memory devices such as data carriers, input and / or output devices such as keyboard, mouse, joystick, touch screen, screen or the like. Additionally or alternatively, a means according to the present invention, one or more software components, in particular programs or routines, program modules, subroutines and / or, preferably object-oriented, data structures, libraries and the like.

Zusätzlich zu dem Programmiermittel zum vereinfachten Programmieren ist ein Simulationsmittel zum simulationsgestützten Programmieren der Roboteranwendung vorgesehen. Unter einem simulationsgestützten Programmieren wird vorliegend insbesondere die Erstellung, Modifikation und/oder Überprüfung eines Programms für die Roboteranwendung verstanden, wobei wenigstens eine Simulation durchgeführt wird. Eine Simulation kann insbesondere eine reine Visualisierung, beispielsweise einer Roboterbahn oder eines Programmablaufes oder Zustandes der Roboteranwendung, zum Beispiel der Relativposition eines Werkstückes und eines werkstückbearbeitenden oder -führenden Roboters, eine kinematische Simulation, die beispielsweise Posen- und Gelenkkoordinatenänderungen einander zuordnet, und/oder eine dynamische Simulation sein, die in der Roboteranwendung bei Durchführung des Programms auftretende Kräfte und Momente, zum Beispiel Kontaktkräfte, und/oder zur Durchführung des Programms erforderliche Kräfte und Momente, beispielsweise Antriebsmomente, ermittelt.In addition to the programming means for simplified programming, a simulation means for simulation-based programming of the robot application is provided. In the present case, simulation-based programming is understood as meaning, in particular, the creation, modification and / or checking of a program for the robot application, wherein at least one simulation is carried out. A simulation may in particular be a pure visualization, for example a robot path or a program sequence or state of the robot application, for example the relative position of a workpiece and a workpiece-processing or -routing robot, a kinematic simulation which assigns, for example, pose and joint coordinate changes to one another, and / or one be dynamic simulation in the robot application when performing the Program occurring forces and moments, for example, contact forces, and / or required for the implementation of the program forces and moments, such as drive torques determined.

Das Simulationsmittel weist eine mächtigere Ein- und/oder Ausgabemöglichkeit auf als das Programmiermittel, das entsprechend zum demgegenüber vereinfachten Programmieren vorgesehen ist. Eine Eingabemöglichkeit kann dabei beispielsweise durch Lexikon und Grammatik einer Programmiersprache, Detaillierungsgrad von Parametrierungen, Umfang von Bibliotheken, logischen Verknüpfungsmöglichkeiten von Ereignissen und dergleichen definiert sein, eine Ausgabemöglichkeit beispielsweise durch die Dimension und/oder Komplexität einer Darstellung.The simulation means has a more powerful input and / or output capability than the programming means, which is provided according to the simplified programming on the other hand. An input option can be defined, for example, by lexicon and grammar of a programming language, level of detail of parameterizations, scope of libraries, logical linking possibilities of events and the like, an output possibility for example by the dimension and / or complexity of a representation.

Entsprechend kann in einer bevorzugten Ausführung das Programmiermittel zum aufgabengestützten Programmieren der Roboteranwendung und/oder zum Programmieren einer Bedienoberfläche eingerichtet sein wie dies im KUKA SmartGUI Studio der Fall ist. Unter einem aufgabengestützten Programmieren wird insbesondere eine Eingabemöglichkeit verstanden, die es dem Anwender im Wesentlichen nur ermöglicht, einzelne, vorgegebene Aufgaben aus einer Bibliothek auszuwählen und miteinander über Pfade zu verknüpfen, wobei die Möglichkeit, neue Aufgaben zu erstellen, vorhandene Aufgaben, insbesondere durch Parametrierung, zu modifizieren, und Pfade, insbesondere durch Parametrierung, zu verändern, begrenzt sind. Insbesondere ist in einem Programmiermittel zum vereinfachten Programmieren in einer bevorzugten Ausführung im Gegensatz zu einem Simulationsmittel mit dementsprechend mächtigerer Ein- und Ausgabemöglichkeit eine Simulation, insbesondere eine, vorzugsweise drei- oder vierdimensionale Visualisierung, nicht möglich. Zusätzlich oder alternativ ermöglicht das Programmiermittel in einer bevorzugten Ausführung eine online-Programmierung. Umgekehrt ist in einer bevorzugten Ausführung nur das Simulationsmittel zum CAD-gestützten Programmieren und/oder Simulieren, vorzugsweise drei- oder vierdimensionalen Visualisieren, der Roboteranwendung eingerichtet, zusätzlich oder alternativ aber nur zur offline-Programmierung eingerichtet. Vorliegend wird die Zeit bzw. ein entsprechender normierter Parameter wie etwa eine Bahnkoordinate, zur kompakteren Darstellung vorliegend als eine Dimension bezeichnet, so dass etwa eine vierdimensionale Visualisierung eine räumliche Visualisierung eines Ablaufes bezeichnet, eine dreidimensionale Visualisierung gleichermaßen eine statische räumliche Visualisierung oder eine ebene Visualisierung eines Ablaufes. In einer bevorzugten Ausführung ist das Programmiermittel in einem bzw. durch ein Handgerät implementiert, das Simulationsmittel in einem bzw. durch einen stationären Computer, beispielsweise einen PC.Accordingly, in a preferred embodiment, the programming means for task-based programming of the robot application and / or for programming a user interface can be set up as is the case in the KUKA SmartGUI Studio. Task-based programming is understood to mean, in particular, an input possibility which essentially only allows the user to select individual, predefined tasks from a library and to link them to one another via paths, the possibility of creating new tasks, existing tasks, in particular by parameterization, and to modify paths, in particular by parameterization, are limited. In particular, in a programming means for simplified programming in a preferred embodiment, in contrast to a simulation means with correspondingly more powerful input and output capability, simulation, in particular one, preferably three- or four-dimensional visualization, is not possible. Additionally or alternatively, the programming means in a preferred embodiment enables online programming. Conversely, in a preferred embodiment, only the simulation means for CAD-based programming and / or simulation, preferably three- or four-dimensional visualization, of the robot application is set up, additionally or alternatively, however, set up only for offline programming. In the present case, the time or a corresponding normalized parameter, such as a path coordinate, for compact presentation herein referred to as a dimension, so that about a four-dimensional visualization denotes a spatial visualization of a process, a three-dimensional visualization alike a static spatial visualization or a planar visualization of a sequence. In a preferred embodiment, the programming means is implemented in or by a handheld device, the simulation means in or through a stationary computer, for example a PC.

Erfindungsgemäß ist nun ein Transfermittel zur Be- und/oder Verarbeitung eines Programms, welches mit einem von dem Programmier- und dem Simulationsmittel erstellt oder bearbeitet worden ist, mit dem anderen von dem Programmier- und dem Simulationsmittel vorgesehen. Dabei wird unter einem Bearbeiten insbesondere eine Veränderung des Programms, unter einem Verarbeiten beispielsweise auch das testweise Ausführen in einer Simulation, verstanden.According to the invention, a transfer means for processing and / or processing a program, which has been created or processed with one of the programming and the simulation means, is provided with the other of the programming and the simulation means. In this case, a processing is understood as meaning, in particular, a change in the program, for example, a processing, for example, the test-type execution in a simulation.

Auf diese Weise kann gemäß einem Aspekt der vorliegenden Erfindung vorteilhafterweise ein Programm, welches mit dem Programmiermittel in einfacher Weise, etwa durch Auswählen, Parametrieren und Verknüpfen von Jobs, erstellt worden ist, mit dem mächtigeren Simulationsmittel in einer Simulation getestet und dort bei Bedarf unmittelbar bearbeitet werden. Gemäß einem anderen Aspekt der vorliegenden Erfindung kann ein Programm, welches von einem erfahrenen Anwender mit dem Simulationsmittel erstellt worden ist, von einem Anwender mit geringeren Kenntnissen, vor Ort und/oder online in einfacher Weise durch das Programmiermittel modifiziert werden.In this way, according to one aspect of the present invention, a program which has been created with the programming means in a simple manner, for example by selecting, parameterizing and linking jobs, can be advantageously tested with the more powerful simulation means in a simulation and processed there as required become. According to another aspect of the present invention, a program that has been created by a skilled user with the simulation tool may be easily modified by a less-knowledgeable user, on-site, and / or online by the programming means.

Das Transfermittel stellt in einer bevorzugten Ausführung eine gemeinsame Datenbasis bzw. -struktur zur Verfügung, auf die das Programmier- und das Simulationsmittel zugreifen. Auf diese Weise kann insbesondere sichergestellt werden, dass im Programmier- und im Simulationsmittel verwendete Daten stets synchron gehalten werden, es entfällt auch der Aufwand und die Fehlermöglichkeit eines Datentransfers. Vorzugsweise werden Programmier- und/oder Simulationsmittel bzw. deren Datenstruktur entsprechend erweitert.The transfer means, in a preferred embodiment, provides a common database or structure accessed by the programming and simulation means. In this way, it can be ensured, in particular, that data used in the programming and simulation means are always kept synchronized; it also eliminates the expense and the possibility of error of a data transfer. Preferably, programming and / or simulation means or their data structure are expanded accordingly.

Zusätzlich oder alternativ kann das Transfermittel auch zur Überführung des Programm von dem einen von dem Programmier- und dem Simulationsmittel in das andere von dem Programmier- und dem Simulationsmittel eingerichtet sein, indem es insbesondere das Programm, gegebenenfalls in einer gemeinsamen Sprache, aus dem einen von dem Programmier- und dem Simulationsmittel exportiert und in das andere von dem Programmier- und dem Simulationsmittel importiert.In addition or as an alternative, the transfer means can also be set up for transferring the program from one of the programming and simulation means to the other of the programming and simulation means, in particular by transferring the program, possibly in a common language, from the one of the programming and simulation means and imported into the other of the programming and the simulation means.

Vorzugsweise ist das Transfermittel dabei zur Be- und/oder Verarbeitung von Aktionen eingerichtet, so dass neben reinen Posen oder Roboterbahnen auch Aktionen, die beispielsweise mit dem Programmiermittel programmiert wurden, in dem Simulationsmittel simuliert werden können. Aktionen im Sinne der vorliegenden Erfindung können insbesondere Aktionen von robotergeführten oder mit Robotern zusammenwirkenden Werkzeugen, etwa das Öffnen und Schließen eines Greifers, die Aktivierung und Deaktivierung von Lackier- oder Klebedüsen, Schweißzangen und dergleichen, sein.Preferably, the transfer means is set up for handling and / or processing of actions, so that in addition to pure poses or robot tracks, actions that have been programmed, for example, with the programming means can be simulated in the simulation means. Actions in the sense of the present invention may in particular be actions of robot-guided or robot-interacting tools, such as the opening and closing of a gripper, the activation and Deactivation of painting or gluing nozzles, welding guns and the like, be.

Insbesondere, um solche Aktionen mit Bahnen eines oder mehrerer Roboter der Roboteranwendung zu verknüpfen, so dass beispielsweise der Roboter während des Anfahrens einer Aufnahmepose den Greifer öffnet und ihn bei Erreichen schließt, um eine Nutzlast aufzunehmen, ist in einer bevorzugten Ausführung das Programmier- und/oder das Simulationsmittel zur Erstellung und/oder Bearbeitung von Aktionspunkten eingerichtet. Als Aktionspunkte werden dabei Punkte auf einer Roboterbahn bezeichnet, bei deren Erreichen eine Aktion begonnen, beendet oder geändert werden soll. Allgemein ist in einer bevorzugten Ausführung vorgesehen, dass das Programmier- und/oder das Simulationsmittel zur Erstellung und/oder Bearbeitung von Bahnpunkten eingerichtet ist.In particular, to associate such actions with tracks of one or more robots of the robotic application such that, for example, the robot opens the gripper during launch of a receptacle and closes it upon reaching to receive a payload, in a preferred embodiment the programming and / or or the simulation means for creating and / or editing action points set up. Points of action on a robot path are called action points, upon which an action is to be started, ended or changed. Generally, it is provided in a preferred embodiment that the programming and / or the simulation means is set up for the creation and / or processing of track points.

Zusätzlich oder alternativ zu einem Transfer von Aktionen ist das Transfermittel in einer bevorzugten Ausführung zur Be- und/oder Verarbeitung von Modellen, insbesondere Robotermodellen eingerichtet. Wird beispielsweise in dem Programmiermittel durch Auswahl aus einer Bibliothek und Parametrierung ein Robotertyp, eine Roboterposition und/oder eine Roboterperipherie vorgegeben, ist in einer bevorzugten Ausführung vorgesehen, dass das Transfermittel diesen Robotertyp, diese Roboterposition bzw. diese Roboterperipherie auch dem Simulationsmittel zur Verfügung stellt, dass diese(n) entsprechend in einer Simulation berücksichtigen kann und hierzu vorzugsweise auf entsprechende CAD-Daten zurückgreift.In addition or as an alternative to a transfer of actions, in a preferred embodiment the transfer means is set up to process and / or process models, in particular robotic models. If, for example, a robot type, a robot position and / or a robot periphery are specified in the programming means by selection from a library and parameterization, it is provided in a preferred embodiment that the transfer means also make this robot type, robot position or robot periphery available to the simulation means, that this (s) can be considered accordingly in a simulation and for this preferably makes use of corresponding CAD data.

Vorzugsweise arbeitet das Transfermittel teilweise oder vollständig automatisiert. Insbesondere bei einem teilweise automatisierten Transfermittel kann eine Ein- und/oder Ausgabemöglichkeit für einen Anwenderdialog vorgesehen sein. So kann es beispielsweise vorteilhaft sein, wenn aus dem Programmiermittel transferierte Robotertypen, Roboterpositionen, Roboterperipherien, Aktionen und/oder Bahn-, insbesondere Aktionspunkte dialoggestützt transferiert werden.Preferably, the transfer agent works partially or completely automated. In particular with a partially automated transfer means, an input and / or output possibility for a user dialog can be provided. For example, it may be advantageous if robot types, robot positions, robot peripherals, actions and / or path, in particular action points transferred from the programming means are transferred in a dialog-supported manner.

Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:Further advantages and features emerge from the subclaims and the exemplary embodiments. This shows, partially schematized:

1: eine Roboteranwendung; und 1 a robot application; and

2: ein System bzw. Verfahren nach einer Ausführung der vorliegenden Erfindung zur Programmierung der Roboteranwendung der 1. 2 a system or method according to an embodiment of the present invention for programming the robot application of 1 ,

1 zeigt eine Roboteranwendung mit einem Roboter 1, der von einem ersten Förderer 2A ein rundes Werkstück 3A aufnehmen und in ein eckiges Werkstück 3B einsetzen soll, welches auf einem zweiten Förderer 2B angeliefert wird. Nach Umgreifen soll der Roboter 1 das zusammengesetzte Werkstück 3C auf einem dritten Förderer 2C absetzen und zum ersten Förderer zurückkehren. Eine sichere Home-Position ist mit eingezogenem Roboterarm in der Mitte zwischen den drei Förderern definiert (vgl. 2). 1 shows a robot application with a robot 1 who is from a first conveyor 2A a round workpiece 3A pick up and into a square workpiece 3B which should be on a second conveyor 2 B is delivered. After embracing the robot 1 the assembled workpiece 3C on a third conveyor 2C drop off and return to the first conveyor. A safe home position is defined with the robot arm retracted in the middle between the three conveyors (cf. 2 ).

Um diesen Arbeitsablauf zu programmieren, kann ein Anwender mit geringeren Kenntnissen und/oder vor Ort beispielsweise ein Handgerät verwenden, dessen Bedienoberfläche in 2 schematisch angedeutet ist. Das Handgerät bzw. das darauf ablaufende Programm stellen ein Programmiermittel 20 im Sinne der vorliegenden Erfindung dar.To program this procedure, a user with less knowledge and / or on-site, for example, a hand-held device use, the user interface in 2 is indicated schematically. The handset or the program running on it provide a programming means 20 in the sense of the present invention.

Der Anwender, beispielsweise ein Handwerker, der einen universellen Roboter für den oben dargestellten Prozess programmieren will, wählt aus einer Bibliothek (nicht dargestellt) die einzelnen Jobs aus, die bei dem Prozess anfallen, nämlich das Greifen eines Werkstückes (2: „21A”, „21C”), das Ineinanderfügen von Werkstücken (2: „21B”) sowie das Ablegen eines Werkstückes auf einem Förderer (2: „21D”). Diese verknüpft er durch Transferpfade 23 logisch miteinander und passt sie durch entsprechende Parametrierung, beispielsweise der Vorgabe der Aufnahmepose für das Werkstück 3A im Job 21A, an den konkreten Prozess an.The user, for example, a craftsman who wants to program a universal robot for the process shown above, selects from a library (not shown), the individual jobs that occur in the process, namely the gripping of a workpiece ( 2 : " 21A "," 21C "), The joining of workpieces ( 2 : " 21B ") As well as placing a workpiece on a conveyor ( 2 : " 21D "). He links these through transfer paths 23 logically with each other and fits them by appropriate parameterization, for example, the specification of the receiving pose for the workpiece 3A in the job 21A , to the concrete process.

Zusätzlich gibt er die Home-Position 22 vor und erstellt Transferpfade zu dieser, um aus jedem Job in die Home-Position verfahren zu können, und sieht einen Zähler 24 vor, der bei Erreichen der Stückzahl „100” den Prozess nicht mehr wiederholt, sondern den Roboter 1 in die Home-Position verfährt.In addition, he gives the home position 22 before and creates transfer paths to this, to be able to move from any job to the home position, and sees a counter 24 before, when the number of pieces "100" is reached, the process is not repeated, but the robot 1 moves to the home position.

Man erkennt, dass auch ein Anwender mit geringeren Kenntnissen und/oder vor Ort mit dem Programmiermittel 20 in einfacher Weise die Roboteranwendung der 1 programmieren kann. Zusätzlich stellt das Programmiermittel 20 auch eine Bedienoberfläche des Handgerätes dar, da der Anwender durch Antippen der Touchscreen-Symbole 21A, ... 21D, 22 den jeweiligen Job bzw. die jeweilige Position anfahren kann.It can be seen that even a user with less knowledge and / or on site with the programming means 20 in a simple way the robot application of 1 can program. Additionally, the programming tool provides 20 also a user interface of the handset, as the user by tapping the touchscreen icons 21A , ... 21D . 22 can approach the respective job or position.

Diese vereinfachte Programmierung erlaubt jedoch insbesondere keine Simulation der programmierten Anwendung. Hierzu ist auf einem stationären PC ein Simulations- und Programmierprogramm implementiert, dessen Bildschirm in 2 schematisch angedeutet ist. PC bzw. das darauf ablaufende Programm stellen ein Simulationsmittel 10 im Sinne der vorliegenden Erfindung dar.However, this simplified programming in particular does not allow simulation of the programmed application. For this purpose, a simulation and programming program is implemented on a stationary PC, the screen in 2 is indicated schematically. PC or the running program provide a simulation tool 10 in the sense of the present invention.

In diesem wird insbesondere die Bahn 13 des Roboters 1 räumlich visualisiert und mithilfe von Ersatzmodellen 11, 12A, ... 12C für den Roboter 1 bzw. die Förderer 2A, ..., 2C simuliert. In hier nicht näher dargestellter Weise kann ein kompetenter Anwender die Bahn 13 nicht nur zu Testzwecken simulieren, sondern auch in komplexerer Weise verändern, als dies das weniger mächtige Programmiermittel 20 ermöglicht. Beispielsweise kann er durch direkte Vorgabe von Bewegungscodes die Bahn 13 gegenüber Standardtransferpfaden optimieren.In particular, this is the web 13 of the robot 1 spatially visualized and with the help of replacement models 11 . 12A , ... 12C for the robot 1 or the sponsors 2A , ..., 2C simulated. In a manner not shown here, a competent user can use the web 13 not just for testing purposes, but also more complex ways of changing it than the less powerful programming tool 20 allows. For example, he can by direct specification of motion codes the web 13 optimize against standard transfer paths.

Um dies zu ermöglichen, ist in einer Ausführung der vorliegenden Erfindung eine gemeinsame, in 2 angedeutete, Datenbasis 30 vorgesehen, auf die, wie in 2 durch Doppelpfeile angedeutet, sowohl das Programmiermittel 20 als auch das Simulationsmittel 10 zugreifen. Fügt beispielsweise der Anwender mit dem Programmiermittel 20 einen weiteren Job ein (nicht dargestellt), so werden die entsprechenden Bahnpunkte und Aktionen, etwa das Öffnen und Schließen des Greifers, in der Datenbasis 30 angelegt, so dass sie auch im Simulationsmittel 10 zur Verfügung stehen. Ändert umgekehrt der kompetente Anwender mithilfe des Simulationsmittels 10 die Konsequenz einer erfüllten Zählerbedingung „≥ 100”, etwa ein Anfahren der Aufnahme- anstelle der Home-Position, wird auch die Datenbasis 30 entsprechend verändert und steht auch im Programmiermittel 20 zur Verfügung.In order to make this possible, in one embodiment of the present invention, a common, in 2 indicated, database 30 provided on, as in 2 indicated by double arrows, both the programming tool 20 as well as the simulation tool 10 access. For example, the user inserts with the programming tool 20 another job (not shown), the corresponding path points and actions, such as the opening and closing of the gripper, in the database 30 created, so they also in the simulation tool 10 be available. Conversely, the competent user changes using the simulation tool 10 the consequence of a fulfilled counter condition "≥ 100", such as approaching the recording instead of the home position, also becomes the database 30 changed accordingly and is also in the programming tool 20 to disposal.

In einer anderen Ausführung der vorliegenden Erfindung ist stattdessen ein Programm auf einem Rechner 40 vorgesehen, welches ein durch das Programmiermittel 20 oder Simulationsmittel 10 erstellte oder bearbeitete Programm dialoggestützt in das Simulationsmittel 10 bzw. Programmiermittel 20 überführt. Dabei werden neben den reinen Bahndaten, insbesondere den anzufahrenden Posen, auch die Aktionen, beispielsweise das Öffnen und Schließen des Greifers oder das Mitzählen des Zählers 24, ex- bzw. importiert. Dies geschieht teilautomatisiert im Dialog mit dem Anwender, dem hierzu beispielsweise auf dem Bildschirm des PCs 40 entsprechende Eingabeaufforderungen oder Auswahlmöglichkeiten angezeigt werden und der über die Tastatur beispielsweise das Werkstück parametrieren kann.In another embodiment of the present invention, instead, a program is on a computer 40 provided which one by the programming means 20 or simulation means 10 created or edited program based on dialog in the simulation tool 10 or programming means 20 transferred. In addition to the pure trajectory data, in particular the poses to be approached, the actions, for example the opening and closing of the gripper or counting the counter, also become active 24 , exported or imported. This happens partially automatically in dialogue with the user, for example on the screen of the PC 40 corresponding prompts or choices are displayed and the keyboard can for example parameterize the workpiece.

Wie durch die räumliche Visualisierung im Simulationsmittel 10 angedeutet, ist dieses CAD-gestützt und verwendet zur Simulation CAD-Daten von Robotern, Peripherie bzw. Werkzeugen wie den Förderern 2A, ..., 2C, und Werkstücken 3A, ..., 3C. Da zur vereinfachten Programmierung insbesondere Modelle der Förderer 2A, ..., 2C, und der Werkstücke 3A, ..., 3C nicht erforderlich sind, werden diese im Dialog mit dem Anwender erstellt bzw. modifiziert, wenn das Programm vom Programmiermittel 20 in das Simulationsmittel 10 überführt wird.As by the spatial visualization in the simulation tool 10 indicated, this is CAD-based and uses for simulation CAD data of robots, peripherals or tools such as the conveyors 2A , ..., 2C , and workpieces 3A , ..., 3C , For simplified programming in particular models of conveyors 2A , ..., 2C , and the workpieces 3A , ..., 3C are not required, these are created in dialogue with the user or modified when the program by the programming means 20 in the simulation means 10 is transferred.

Mithin stellen die gemeinsame Datenbasis 30, der PC bzw. das auf diesem implementierte, dialoggestützte Export-/Import-Programm jeweils ein Transfermittel im Sinne der vorliegenden Erfindung dar.Consequently, the common database 30 , the PC or the implemented on this, dialog-based export / import program is a transfer agent in the sense of the present invention.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
Roboterrobot
2A, ..., 2C2A, ..., 2C
FödererFöderer
3A3A
rundes Werkstückround workpiece
3B3B
eckiges Werkstückangular workpiece
3C3C
zusammengesetztes Werkstückassembled workpiece
1010
Simulationsmittelsimulant
1111
CAD-Modell des Roboters 1 CAD model of the robot 1
12A, ..., 12C12A, ..., 12C
CAD-Modell des Föderers 2A, ..., 2C CAD model of the Föderers 2A , ..., 2C
1313
simulierte Roboterbahnsimulated robot track
2020
Programmiermittelprogramming means
21A, ..., 21D21A, ..., 21D
Jobjob
2222
Home-PositionHome Position
2323
Transferpfadtransfer path
2424
Zählercounter
30, 4030, 40
Transfermitteltransfer agent

Claims (11)

System zur Programmierung einer Roboteranwendung (1, 2A, 2B, 2C), mit einem Programmiermittel (20) zum vereinfachten Programmieren der Roboteranwendung; einem Simulationsmittel (10) zum simulationsgestützten Programmieren der Roboteranwendung, wobei das Simulationsmittel eine mächtigere Ein- und/oder Ausgabemöglichkeit aufweist als das Programmiermittel; und einem Transfermittel (30; 40) zur Be- und/oder Verarbeitung eines Programms, welches mit einem von dem Programmier- und dem Simulationsmittel erstellt oder bearbeitet worden ist, mit dem anderen von dem Programmier- und dem Simulationsmittel.System for programming a robot application ( 1 . 2A . 2 B . 2C ), with a programming means ( 20 ) for simplified programming of the robot application; a simulation tool ( 10 ) for simulation-based programming of the robot application, wherein the simulation means has a more powerful input and / or output capability than the programming means; and a transfer agent ( 30 ; 40 ) for processing and / or processing a program which has been created or edited with one of the programming and the simulation means, with the other of the programming and the simulation means. System nach Anspruch 1, dadurch gekennzeichnet, dass das Transfermittel eine gemeinsame Datenbasis (30) für das Programmier- und das Simulationsmittel zur Verfügung stellt.System according to claim 1, characterized in that the transfer means have a common database ( 30 ) for the programming and simulation means. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Transfermittel (40) zur Überführung des Programms von dem einen von dem Programmier- und dem Simulationsmittel in das andere von dem Programmier- und dem Simulationsmittel eingerichtet ist.System according to one of the preceding claims, characterized in that the transfer means ( 40 ) is arranged for transferring the program of the one of the programming and the simulation means in the other of the programming and the simulation means. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Transfermittel wenigstens teilweise automatisiert arbeitet.System according to one of the preceding claims, characterized in that the transfer means operates at least partially automated. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Transfermittel (40) eine Ein- und/oder Ausgabemöglichkeit für einen Anwenderdialog aufweist. System according to one of the preceding claims, characterized in that the transfer means ( 40 ) has an input and / or output option for a user dialog. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Programmier- und/oder das Simulationsmittel zur Erstellung und/oder Bearbeitung von Bahnpunkten, insbesondere Aktionspunkten, eingerichtet ist.System according to one of the preceding claims, characterized in that the programming and / or the simulation means for creating and / or processing of train points, in particular action points, is set up. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Programmiermittel zum aufgabengestützten Programmieren der Roboteranwendung und/oder zum Programmieren einer Bedienoberfläche eingerichtet ist.System according to one of the preceding claims, characterized in that the programming means for task-based programming of the robot application and / or for programming a user interface is set up. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Simulationsmittel zum CAD-gestützten Programmieren und/oder Simulieren der Roboteranwendung eingerichtet ist.System according to one of the preceding claims, characterized in that the simulation means for CAD-based programming and / or simulating the robot application is set up. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Transfermittel zur Be- und/oder Verarbeitung von Aktionen und/oder Modellen (11, 12A, 12B, 12C) eingerichtet ist.System according to one of the preceding claims, characterized in that the transfer means for processing and / or processing of actions and / or models ( 11 . 12A . 12B . 12C ) is set up. Verfahren zur Programmierung einer Roboteranwendung (1, 2A, 2B, 2C) mit einem System nach einem der vorhergehenden Ansprüche, mit den Schritten: Erstellen oder Bearbeiten eines Programms für die Roboteranwendung mit einem von dem Programmier- und dem Simulationsmittel; und Be- und/oder Verarbeiten dieses Programms mit dem anderen von dem Programmier- und dem Simulationsmittel.Method for programming a robot application ( 1 . 2A . 2 B . 2C A system according to any one of the preceding claims, comprising the steps of: creating or editing a program for the robotic application with one of the programming and simulation means; and processing and / or processing this program with the other of the programming and simulation means. Transfermittel für ein System nach einem der vorhergehenden Ansprüche 1 bis 9, dadurch gekennzeichnet, dass es zur Durchführung eines Verfahrens nach Anspruch 10 eingerichtet ist.Transfer means for a system according to one of the preceding claims 1 to 9, characterized in that it is adapted to carry out a method according to claim 10.
DE102011008306A 2011-01-11 2011-01-11 System for programming of robot application, is provided with programming element for simplified programming of robot application Withdrawn DE102011008306A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102011008306A DE102011008306A1 (en) 2011-01-11 2011-01-11 System for programming of robot application, is provided with programming element for simplified programming of robot application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102011008306A DE102011008306A1 (en) 2011-01-11 2011-01-11 System for programming of robot application, is provided with programming element for simplified programming of robot application

Publications (1)

Publication Number Publication Date
DE102011008306A1 true DE102011008306A1 (en) 2012-07-12

Family

ID=46509678

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011008306A Withdrawn DE102011008306A1 (en) 2011-01-11 2011-01-11 System for programming of robot application, is provided with programming element for simplified programming of robot application

Country Status (1)

Country Link
DE (1) DE102011008306A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015175739A1 (en) * 2014-05-16 2015-11-19 Microsoft Technology Licensing, Llc Robotic task demonstration interface
CN110909428A (en) * 2019-11-26 2020-03-24 北京工业大学 Robot constant-force polishing processing parameterized programming method based on UG NX secondary development

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015175739A1 (en) * 2014-05-16 2015-11-19 Microsoft Technology Licensing, Llc Robotic task demonstration interface
CN110909428A (en) * 2019-11-26 2020-03-24 北京工业大学 Robot constant-force polishing processing parameterized programming method based on UG NX secondary development

Similar Documents

Publication Publication Date Title
EP3275606B1 (en) Process module library and programming environment for programming a manipulator process
DE102012218297B4 (en) Method for dynamically optimizing a robot control interface
DE102010045529B4 (en) Interactive robot control system and method of use
DE102011113590B4 (en) Plan simultaneous paths with one or more humanoid robots
EP1447770B1 (en) Method and apparatus for visualization of computer-based information
DE102014103738B3 (en) VISUAL TROUBLESHOOTING FOR ROBOTIC TASKS
DE102014108287B4 (en) Quick learning by imitating power torque tasks by robots
DE112010000775B4 (en) INDUSTRIAL ROBOT SYSTEM
DE102015012961B4 (en) robotic system
DE10352815B4 (en) Simulation method for machining a workpiece by a machine tool and corresponding computer
DE112008003963B4 (en) System and method for off-line programming of an industrial robot
Pieskä et al. Simulation and programming experiences of collaborative robots for small-scale manufacturing
EP2285537A1 (en) Device and method for the computer-assisted generation of a manipulator track
DE102019205651B3 (en) Method and system for carrying out robot applications
EP3434424A1 (en) Efficient programming of robots for processing of workpieces with various variants
EP3812106B1 (en) Robot assembly, method for operating the robot assembly, computer program and machine readable storage medium
DE102010004476A1 (en) Method for controlling e.g. palatalized robot application, involves generating and/or modifying control interfaces based on configuration of robot application or during change of configuration of robot application
WO2017220199A1 (en) Configuring and/or controlling a robot arrangement
DE102011008306A1 (en) System for programming of robot application, is provided with programming element for simplified programming of robot application
DE102017010678B4 (en) Method and system for specifying an application pattern command lexicon for inputting at least one robot command
DE102009007286A1 (en) System e.g. production system, operating method, involves remote controlling control system independent of position of system based on graphical representation of system operation on portable display
DE102022104525B4 (en) Methods and robots for performing tasks and computer programs
EP3132331A2 (en) Haptic system and operating method
Rawat et al. Model Driven Robot Simulation: RoboCell
WO2020099648A1 (en) Method for visualizing the automation of a technical system

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee