DE102017216093A1 - Method for parameterizing a robotic manipulator - Google Patents

Method for parameterizing a robotic manipulator Download PDF

Info

Publication number
DE102017216093A1
DE102017216093A1 DE102017216093.4A DE102017216093A DE102017216093A1 DE 102017216093 A1 DE102017216093 A1 DE 102017216093A1 DE 102017216093 A DE102017216093 A DE 102017216093A DE 102017216093 A1 DE102017216093 A1 DE 102017216093A1
Authority
DE
Germany
Prior art keywords
utility
parameterization
configuration file
parameter
parameterization process
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.)
Granted
Application number
DE102017216093.4A
Other languages
German (de)
Other versions
DE102017216093B4 (en
Inventor
Franz Steinmetz
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.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
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 Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102017216093.4A priority Critical patent/DE102017216093B4/en
Publication of DE102017216093A1 publication Critical patent/DE102017216093A1/en
Application granted granted Critical
Publication of DE102017216093B4 publication Critical patent/DE102017216093B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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/32Operator till task planning
    • G05B2219/32126Hyperlink, access to program modules and to hardware modules in www, web server, browser

Landscapes

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

Abstract

Verfahren zur Parametrierung eines robotischen Manipulators, mit den folgenden Verfahrensschritten:
- Erstellen einer Konfigurationsdatei (10) in der in maschinenlesbarer Form der Ablauf des Parametrierungsprozesses beschrieben ist,
- wobei die Konfigurationsdatei (10) mindestens einen Hinweis auf ein Dienstprogramm (12a, 12b, 12c) enthält, das beim maschinellen Auslesen der Konfigurationsdatei ausgeführt wird,
- wobei die Konfigurationsdatei (10) ferner mindestens einen Parameter (14a, 14b) definiert, der beim Ausführen des Dienstprogramms (12a, 12b, 12c) von diesem ausgelesen wird.

Figure DE102017216093A1_0000
Method for the parameterization of a robotic manipulator, comprising the following method steps:
- creating a configuration file (10) in which in machine-readable form the sequence of the parameterization process is described,
wherein the configuration file (10) contains at least one reference to a utility program (12a, 12b, 12c) which is executed when the configuration file is read out by machine,
- wherein the configuration file (10) further defines at least one parameter (14a, 14b) which is read out by the utility (12a, 12b, 12c) when it is executed.
Figure DE102017216093A1_0000

Description

Die Erfindung betrifft ein Verfahren zur Parametrierung eines robotischen Manipulators.The invention relates to a method for parameterizing a robotic manipulator.

Heutzutage werden die meisten Roboter und Anlagen immer noch von ausgebildeten Informatikern (Experten) programmiert. Für jede neue Aufgabe wird ein neues Programm geschrieben. Dieses Programm wird mit einer textuellen Programmiersprache geschrieben und ist sehr spezifisch an die Aufgabe angepasst. Meist werden hierbei sehr statische Bedingungen angenommen, die eine hohe Ausführungsgeschwindigkeit erlauben, jedoch die Nähe zu einem Menschen oder sogar Interkation mit ihm verbieten. Auch erfordern kleine Änderungen der Bedingungen Anpassungen am Programm.Today, most robots and equipment are still programmed by trained computer scientists (experts). For each new task, a new program is written. This program is written using a textual programming language and is very specific to the task. In most cases very static conditions are assumed, which allow a high execution speed, but prohibit the proximity to a person or even interaction with him. Also, minor changes in conditions require adjustments to the program.

Um Roboter auch in kleinen und mittelständigen Unternehmen (KMU) und beim Einsatz in Produktionen mit geringen Stückzahlen gewinnbringend nutzen zu können, gibt es neue Ansätze der Programmierung. Ein Experte entwickelt nicht mehr spezifische Programme, sondern möglichst generisch ausgelegte Fertigkeiten. Eine Fertigkeit ist ebenfalls ein Roboterprogramm, das jedoch für einen Aufgabenbereich konzipiert ist, etwa „Schrauben“ oder „Fügen“. Das Programm verfügt typischerweise über mehrere Parameter, mit denen es an die Aufgabenstellung angepasst werden kann.In order to be able to profitably use robots in small and medium-sized enterprises (SMEs) and for use in low-volume productions, there are new approaches to programming. An expert no longer develops specific programs, but rather generically designed skills. A skill is also a robot program, but it is designed for a job, such as "screwing" or "joining". The program typically has several parameters with which it can be adapted to the task.

Dieses Einstellen der Parameter wird als Parametrierung bezeichnet. Ein einfacher Arbeiter (Werker) soll in der Lage sein, eine oder mehrere Fertigkeiten auszuwählen und diese zu parametrieren. Ziel ist es also, dass die Parametrierung möglichst einfach vonstatten geht.This setting of the parameters is referred to as parameterization. A simple worker (worker) should be able to select one or more skills and parameterize them. The aim is therefore that the parameterization is as simple as possible.

Typischerweise wird hierzu eine graphische Benutzeroberfläche verwendet, die einen Parameter anzeigt und zur Eingabe des gewünschten Parameterwertes auffordert.Typically, a graphical user interface is used for this, which displays a parameter and prompts for the input of the desired parameter value.

Neben der einfachen Eingabe von Parameterwerten über Tastatur und Maus ist es häufig intuitiver, schneller und einfacher (externe) Mensch-Maschine-Interfaces (im weiteren mit „MMI“ abgekürzt) zu verwenden. Beispiele für MMI sind Spracherkennungssysteme, nachgiebige Manipulatoren, Joysticks, Augentracker, etc. Verfügt eine Fertigkeit „Schrauben“ etwa über einen Parameter „Lochposition“, so könnte dieser Wert durch Handführen eines Manipulators an das Loch festgelegt werden. Der Parameterwert wird in diesem Fall nicht über eine Tastatur eingegeben, sondern haptisch über einen Manipulator (der sich frei bewegen lässt) festgelegt. Die gemessene Pose des Manipulators wird als Parameterwert verwendet.In addition to the simple input of parameter values via keyboard and mouse, it is often more intuitive to use faster and easier (external) human-machine interfaces (hereinafter abbreviated to "MMI"). Examples of MMIs are speech recognition systems, compliant manipulators, joysticks, eye trackers, etc. If a skill "screws" has a parameter "hole position", for example, this value could be set by manipulating a manipulator to the hole. The parameter value is not entered in this case via a keyboard, but haptically determined by a manipulator (which can be moved freely). The measured pose of the manipulator is used as the parameter value.

Eine Herausforderung besteht nun darin, wie ein MMI in den Parametrierprozess eingebunden werden kann. Hierbei muss festgelegt werden, welches MMI für welchen Parameter benutzt wird, welche Aufgaben dem Nutzer übertragen werden, wie der Nutzer über seine Aufgabe und den Fortgang des Prozesses informiert wird, wie bestimmt wird, welcher Wert für den Parameter verwendet wird, und wie ein MMI konfiguriert wird.One challenge now is how to integrate an MMI in the parameterization process. Here it must be determined which MMI is used for which parameter, which tasks are transferred to the user, how the user is informed about his task and the progress of the process, how it is determined which value is used for the parameter, and how an MMI is configured.

Aus dem Stand der Technik sind folgende Systeme bekannt:

  • - „Robot Programming Suite“ (RPS) von ArtiMinds
  • - DESK von FRANKA EMIKA,
  • - drag&bot von Fraunhofer IPA.
The following systems are known from the prior art:
  • - Robot Programming Suite (RPS) by ArtiMinds
  • - DESK of FRANKA EMIKA,
  • - drag & offered by Fraunhofer IPA.

Alle Systeme verwenden einen Manipulator als MMI zur Eingabe von Positionen.All systems use a manipulator as an MMI to enter positions.

Diese Systeme weisen die folgenden Nachteile auf:These systems have the following disadvantages:

Der Parametrierungsprozess ist nicht flexibel gestaltbar, sondern fix in Form eines Programms festgelegt. Soll ein MMI ausgetauscht oder ergänzt werden, so muss das komplette Programm umgeschrieben werden. Das Programm legt zudem auch die Benutzeroberfläche (GUI) fest. Somit ist der Parametrierungsprozess fest an die GUI gebunden. Ein Austausch der GUI erzwingt ein Umschreiben des Parametrierungsprozesses. Hierbei ist zu berücksichtigen, dass die GUI von der verwendeten Hardware abhängt. Wird als Ausgabegerät statt eines Personalcomputers ein Tablet verwendet, muss meist auch bei der GUI auf eine andere Technologie gesetzt werden.The parameterization process can not be flexibly configured, but fixed in the form of a program. If an MMI is to be replaced or supplemented, then the complete program must be rewritten. The program also defines the user interface (GUI). Thus, the parameterization process is firmly tied to the GUI. An exchange of the GUI forces a rewriting of the parameterization process. It should be noted that the GUI depends on the hardware used. If a tablet is used as the output device instead of a personal computer, the GUI usually has to be set to a different technology.

Ferner sind die genannten Systeme unflexibel. Hersteller liefern einen festen Verbund aus Fertigkeiten, Parametrierprozess und GUI aus, die sich vom Anwender nicht ändern lassen. Es ist dem Anwender zum Beispiel nicht möglich, ein weiteres MMI einzubinden. Verfügt eine Firma etwa über eine 3D-Maus, mit der sich theoretisch ebenfalls Posen spezifizieren lassen, kann dies bei bestehenden Systemen nicht integriert werden.Furthermore, the systems mentioned are inflexible. Manufacturers provide a fixed set of skills, parameterization process and GUI that users can not change. For example, it is not possible for the user to integrate another MMI. For example, if a company has a 3D mouse that can theoretically also specify poses, it can not be integrated with existing systems.

Aufgabe der Erfindung ist es, ein Verfahren zur Parametrierung eines robotischen Manipulators bereit zu stellen, dass eine erhöhe Flexibilität aufweist.The object of the invention is to provide a method for the parameterization of a robotic manipulator that has an increased flexibility.

Die Lösung der Aufgabe erfolgt erfindungsgemäß durch die Merkmale des Anspruchs 1.The object is achieved according to the invention by the features of claim 1.

Beim erfindungsgemäßen Verfahren zur Parametrierung eines robotischen Manipulators erfolgt ein Erstellen einer Konfigurationsdatei, in der in maschinenlesbarer Form der Ablauf des Parametrierungsprozesses beschrieben ist. Hierbei kann beispielsweise ein maschinenlesbares Format wie JSON oder YAML verwendet werden. Die Konfigurationsdatei enthält mindestens einen Hinweis auf ein Dienstprogramm, das im Parametrierprozess verwendet wird. Die Konfigurationsdatei definiert ferner mindestens einen Parameter, für den mindestens ein Parametrierprozess beschrieben wird. Ein Parametrierprozess besteht hierbei aus einer Abfolge von Schritten, die auf Dienstprogramme verweisen.In the method according to the invention for the parameterization of a robotic manipulator, a configuration file is created in which machine-readable form the sequence of the parameterization process is described. For example, a machine-readable format such as JSON or YAML may be used. The configuration file contains at least one reference to a utility that is used in the parameterization process. The configuration file further defines at least one parameter for which at least one parameterization process is described. A parameterization process consists of a sequence of steps that refer to utilities.

Bei dem Dienstprogramm kann es sich um ein bereits vorhandenes eigenständiges Dienstprogramm handeln, das über eine Adresse, insbesondere eine URL, ansprechbar ist und das eine einheitliche bekannte Schnittstelle aufweist. Hierbei kann es sich beispielsweise um das Dienstprogramm „Objekt aufnehmen“, „Objekt ablegen“, Manipulatorbewegung, Gravitationskompensation etc. handeln. Eins oder mehrere dieser Dienstprogramme können zum Auslesen von mindestens einem Parameterwert verwendet werden, der dann als Parameterwert für den Parametrierprozess festgelegt wird.The utility may be an existing standalone utility that is addressable via an address, particularly a URL, and that has a common known interface. This can be, for example, the utility "record object", "drop object", manipulator movement, gravity compensation, etc. One or more of these utilities can be used to read out at least one parameter value, which is then set as a parameter value for the parameterization process.

Der Parametrierprozess wird somit erfindungsgemäß nicht in Form eines Programmes hinterlegt, sondern in Form einer Konfigurationsdatei beschrieben, die maschinenlesbar ist.The parameterization process is thus not inventively deposited in the form of a program, but described in the form of a configuration file that is machine-readable.

Nach dem maschienellen Auslesen der Konfigurationsdatei wird ein Parametrierungsprozess, nämlich eine Abfolge von Softwareschritten, ausgeführt, durch die die Parametrierung der Fertigkeit erfolgt.After the machine readout of the configuration file, a parameterization process, namely a sequence of software steps, is executed, through which the parameterization of the skill takes place.

Auch ist es möglich, einem Parameter mehrere Parametrierprozesse zuzuordnen. Die Auswahl, welcher Prozess durchlaufen wird, kann durch den Nutzer geschehen.It is also possible to assign several parameterization processes to one parameter. The choice of which process to go through can be done by the user.

Das erfindungsgemäße Verfahren erlaubt somit eine flexiblere Parametrierung einer Fertigkeit, da der Parametrierprozess nicht mehr fest in Form eines Programms definiert ist. Beispielsweise ist es möglich, ein MMI auszutauschen oder zu ergänzen, ohne dass das komplette Programm für den Parametrierprozess neu geschrieben werden muss. Statt eine Pose über einen handgeführten Roboter festzulegen, lässt sich durch Austausch des Dienstprogramms (vorzugsweise mit gleicher Adresse), eine 3D-Maus zur Parametrierung heranziehen, ohne weitere Änderungen am Parametrierprozess vornehmen zu müssen.The inventive method thus allows a more flexible parameterization of a skill, since the parameterization process is no longer defined in the form of a program. For example, it is possible to replace or supplement an MMI without having to rewrite the complete program for the parameterization process. Instead of defining a pose via a hand-guided robot, a 3D mouse can be used for parameterization by exchanging the utility program (preferably with the same address) without having to make any further changes to the parameterization process.

Es ist bevorzugt, dass in der Konfigurationsdatei zu jedem Schritt Informationen für einen Benutzer hinterlegt sind, die beim Ausführen des Prozesses über eine Benutzerschnittstelle, beispielsweise ein Display, dem Benutzer angezeigt werden.It is preferred that information for a user is stored in the configuration file for each step, which information is displayed to the user when executing the process via a user interface, for example a display.

Bei einem Dienstprogramm kann es sich um ein Mensch-Maschine-Interface (MMI) handeln, das zum Auslesen oder Definieren eines Parameters verwendet werden kann, der anschließend für den Parametrierprozess verwendet wird. Das Dienstprogramm kann beispielsweise auch eine Schnittstelle zu einer Datenbank sein.A utility may be a human-machine interface (MMI) that can be used to read or define a parameter that is subsequently used for the parameterization process. For example, the utility may also be an interface to a database.

Es ist weiterhin bevorzugt, dass ein Dienstprogramm, das aufgrund der Konfigurationsdatei ausgeführt wird, eine Rückmeldung über seine erfolgreiche Ausführung gibt.It is further preferred that a utility executed on the basis of the configuration file provides feedback on its successful execution.

Weiterhin ist bevorzugt, dass der nächste Schritt des Parametrierprozesses erst ausgeführt wird, nachdem das vorangehende Dienstprogramm seine erfolgreiche Ausführung gemeldet hat. Wenn keine oder eine negative Rückmeldung über die Ausführung eines vorangehenden Dienstprogramms übermittelt wird, wird der Parametrierprozess mit einem Fehler abgebrochen. Hierdurch kann sichergestellt werden, dass bei einem Programmabbruch sämtliche gestarteten Dienstprogramme beendet werden.Furthermore, it is preferred that the next step of the parameterization process is executed only after the previous utility has reported its successful execution. If no or negative feedback is sent about the execution of a previous utility, the parameterization process is aborted with an error. This can be used to ensure that all started utilities are stopped when the program is aborted.

Weiterhin ist es bevorzugt, dass für ein Dienstprogramm mindestens ein Anweisungskommando existiert, dass dem Dienstprogramm im Parametrierprozess übermittelt wird.Furthermore, it is preferred that at least one instruction command exists for a utility that is transmitted to the utility in the parameterization process.

Bei einem solchen Anweisungskommando kann es sich beispielsweise um den Befehl „Auslesen“ handeln, bei dem das Dienstprogramm bei erfolgreicher Rückmeldung einen ausgelesenen Wert liefert, der als Parameter für den Parametrierprozess verwendet wird.Such an instruction command may be, for example, the command "readout" in which the utility, upon successful confirmation, supplies a read value which is used as parameter for the parameterization process.

Weiterhin können die Anweisungskommandos „Start“ und „Stop“ verwendet werden, wobei jedes Dienstprogramm, das ein Startkommando erhalten hat, ein Stopkommando erhält, wenn ein Dienstprogramm nicht erfolgreich abgeschlossen wurde.Furthermore, the instruction commands "Start" and "Stop" may be used, with each utility that has received a start command receiving a stop command when a utility has not been completed successfully.

Es ist weiterhin möglich, Details zu einem Dienstprogramm, beispielsweise Name, Beschreibung, Adresse etc., zentral in der Liste aller Dienstprogramme zu führen. In einem Schritt des Parametrierprozesses muss dann nur noch auf den entsprechenden Dienst verwiesen werden.It is also possible to have details of a utility, such as name, description, address, etc. centrally in the list of all utilities. In one step of the parameterization process, then only the corresponding service has to be referenced.

Weiterhin können Anweisungen an Dienstprogramme gegliedert werden in Anweisungskommandos und Anweisungsparameter. Hierbei können Anweisungsparameter ein Anweisungskommando weiter spezifizieren. Ein einfacher Anweisungsparameter wäre etwa die erwartete Einheit für einen Rückgabewert, der von einem Dienstprogramm ausgelesen wird. Komplexere Parameter können auch definieren, welcher Roboter mit welchen Eigenschaften über das Dienstprogramm angesprochen werden soll. Anweisungskommandos und Anweisungsparameter werden vorzugsweise zu jedem Schritt eines Parametrierprozesses hinterlegt.Furthermore, instructions to utilities can be structured in statement commands and statement parameters. Here statement parameters can further specify an instruction command. A simple instruction parameter would be about the expected unit of return value read by a utility. More complex parameters can also define which robot with which properties are addressed by the utility should. Instruction commands and instruction parameters are preferably stored for each step of a parameterization process.

Weiterhin ist es möglich, dass ein Prozess auch spezielle Schritte enthält, die den rein sequenziellen Ablauf modifizieren. Solche speziellen Schritte können bedingte Sprünge, temporäre Speicher und arithmetische Operationen definieren, wodurch Schleifen und Verzweigungen innerhalb des Parametrierprozesses möglich sind.Furthermore, it is possible that a process also contains special steps that modify the purely sequential process. Such special steps may define conditional jumps, temporary memories, and arithmetic operations, allowing for loops and branches within the parameterization process.

Das erfindungsgemäße Verfahren bietet somit die folgenden Vorteile: The method according to the invention thus offers the following advantages:

Trennung von Fertigkeit, Parametrierungsprozess und GUI:Separation of skill, parameterization process and GUI:

Anstatt den Parametrierprozess programmatisch in die Fertigkeit zu integrieren und dabei die GUI fest zu integrieren, erlaubt die Erfindung die Konfiguration des Parametrierprozesses, unabhängig von der eingesetzten Technologie, MMI, Fertigkeit und der GUI.Instead of programmatically integrating the parameterization process into the tool while firmly integrating the GUI, the invention allows configuration of the parameterization process, regardless of the technology, MMI, skill, and GUI used.

Konfigurierbarkeit des Parametrierprozesses durch Endanwender:Configurability of the parameterization process by end users:

Der Parametrierprozess ist nicht mehr starr in die Fertigkeit integriert und damit in den Händen des Herstellers, sondern lässt sich für jeden Parameter unabhängig konfigurieren. Diese Konfiguration kann durch den Endanwender passieren, der nun in der Lage ist, die Fertigkeit an seine Umgebung und Bedingungen anzupassen.The parameterization process is no longer rigidly integrated into the craft and thus in the hands of the manufacturer, but can be configured independently for each parameter. This configuration can be done by the end user, who is now able to adapt the skill to their environment and conditions.

Anbindung beliebiger Dienstprogramme über Schnittstellenbeschreibung:Connection of any utility via interface description:

Anstatt programmatisch in der Fertigkeit direkt auf ein Dienstprogramm zuzugreifen, erhält ein Dienstprogramm eine definierte Schnittstelle. So lassen sich beliebige Dienstprogramme integrieren, so lange diese eine entsprechende Schnittstelle bieten.Instead of programmatically accessing a utility directly in the craft, a utility receives a defined interface. Any utility can be integrated as long as they provide an appropriate interface.

Korrektes Zurücksetzen von MMI im Fehlerfall:Correct reset of MMI in case of error:

Bisher muss der Hersteller für jeden Parametrierprozess einzeln sicherstellen, dass MMI im Fehlerfall korrekt zurückgesetzt werden. Mit der Erfindung ist dies inhärent im System integriert und somit von vorn herein für jeden Parameterprozess sichergestellt.Up to now, the manufacturer has to ensure individually for each parameterization process that MMIs are reset correctly in the event of an error. With the invention this is inherently integrated in the system and thus ensured from the outset for each parameter process.

Wahl zwischen verschiedenen Parametierprozessen:Choice between different parameterization processes:

Einem Parameter können mehrere Parametrierprozesse zugewiesen werden, zwischen denen der Benutzer wählen kann. Bei aktuellen Systemen gibt es immer genau einen Prozess.A parameter can be assigned several parameterisation processes, between which the user can choose. With current systems, there is always exactly one process.

Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand einer Figur erläutert.In the following, preferred embodiments of the invention will be explained with reference to a figure.

Die Figur zeigt eine schematische Darstellung einer Umgebung, in der das erfindngsgemäße Verfahren umgesetzt werden kann.The figure shows a schematic representation of an environment in which the erfindngsgemäße method can be implemented.

Die Figur zeigt die Konfigurationsdatei 10, in der in maschienenlesbarer Form der Ablauf des Parametrierungsprozesses beschrieben ist. Beim maschinellen Auslesen der Konfigurationsdatei wird eine Abfolge von Softwareschritten, nämlich der Parametrierprozess, ausgeführt.The figure shows the configuration file 10 , in which the sequence of the parameterization process is described in machine-readable form. When the configuration file is read out by machine, a sequence of software steps, namely the parameterization process, is executed.

Die Konfigurationsdatei 10 definiert die Parameter 14a und 14b. Diese können durch eins der Dienstprogramme 12a, 12b, 12c ausgelesen werden. Die Dienstprogramme 12a, 12b, 12c werden ebenfalls durch die Konfigurationsdatei 10 definiert.The configuration file 10 defines the parameters 14a and 14b , These can be through one of the utilities 12a . 12b . 12c be read out. The utilities 12a . 12b . 12c are also through the configuration file 10 Are defined.

Weiterhin kann die Konfigurationsdatei 10 Informationen für einen Benutzer ausweisen, die über eine Nutzerschnittstelle, nämlich eine GUI, angezeigt werden.Furthermore, the configuration file 10 Identify information for a user displayed through a user interface, a GUI.

Im Folgenden wird ein Anwendungsbeispiel beschrieben, bei dem für die Fertigkeit „Schrauben“ der Parameter „Lochpose“ festgelegt wird. Dies kann wie folgt geschehen:The following is an example of an application in which the parameter "hole pose" is set for the skill "screws". This can be done as follows:

Möchte der Nutzer die Lochpose bestimmen, wird zunächst automatisch der dafür nötige Akkuschrauber aufgenommen und zum Objekt bewegt. Est dann wird der Manipulator freigeschaltet und der Benutzer kann den Manipulator zum Loch führen. Anschließend bestätigt er, woraufhin die Manipulatorpose ausgelesen und der Akkuschrauber abgelegt wird. Jeder Schritt wird von einem Dialogfeld begleitet, das dem Nutzer aktuelle Informationen zur Ausführung liefert.If the user wants to determine the hole pose, the necessary electric screwdriver is automatically picked up and moved to the object. Est then the manipulator is unlocked and the user can lead the manipulator to the hole. He then confirms, whereupon the manipulator pose is read out and the cordless screwdriver is deposited. Each step is accompanied by a dialog box that provides the user with up-to-date information about execution.

Die dargestellten Konfigurationen können beliebig erweitert und/oder abgeändert werden. Der Ablauf ist eindeutig und lässt sich trotzdem von beliegiben Systemen auslesen und druchführen. Weitere MMI lassen sich in der Liste der Dienste ebenso einfach ergänzen, wenn dafür ein ensprechender Prozess vorhanden ist.The illustrated configurations can be expanded and / or modified as desired. The process is clear and can nevertheless be read out and read by legitimate systems. Other MMIs can be added to the list of services just as easily if there is an appropriate process for doing so.

Die Konfigurationsdatei kann beispielsweise in Form eines Pseudocodes die folgenden Informationen über den Parametrierprozess aufweisen:The configuration file can, for example, have the following information about the parameterization process in the form of a pseudocode:

Zunächst einmal werden die zur Verfügung stehenden Dienstprogramme wie folgt konfiguriert:

  • - Objekt aufnehmen: URL = /services/pickup_object, Port = 5000
  • - Objekt ablegen: URL = /services/place_object, Port = 5001
  • - Manipulatorbewegung: URL = /services/move_to, Port = 5002
  • - Gravitationskompensation: URL = /services/zero_gravity, Port: 5003
First of all, the available utilities are configured as follows:
  • - Record object: URL = / services / pickup_object, port = 5000
  • - Drop object: URL = / services / place_object, port = 5001
  • - Manipulator movement: URL = / services / move_to, port = 5002
  • - Gravity compensation: URL = / services / zero_gravity, port: 5003

Dem Parameter „Lochpose“ ist ein Parametrierprozess zugeordnet. Dessen Schritte können in einem ähnlichen Format wie folgt konfiguriert werden:

  • • Akkuschrauber greifen
    • ◯ Dienst: Objekt aufnehmen
    • ◯ Parameter: Roboter = roboter01, Objekt = Akkuschrauber, Geschwindigkeit = 0,1 m/s
    • ◯ Benutzerhinweis: Akkuschrauber wird aufgenommen
  • • Bewegung zum Objekt
    • ◯ Dienst: Manipulatorbewegung
    • ◯ Parameter: Roboter = roboter01, Ziel = [Koordinate], Geschwindigkeit = 0,2 m/s
    • ◯ Benutzerhinweis: Akkuschrauber wird zum Objekt geführt
  • • Lochposition durch händisches Führen des Manipulators im Gravitationskompensationsmodus eingeben
    • ◯ Dienst: Gravitationskompensation
    • ◯ Kommando: Start
    • ◯ Parameter: Roboter = roboter01
    • ◯ Benutzerhinweis: Akkuschrauber zur Lochposition führen und bestätigen
  • • Pose des Manipulator auslesen
    • ◯ Dienst: Gravitationskompensation
    • ◯ Kommando: Auslesen
    • ◯ Parameter: Roboter = roboter01
    • ◯ Benutzerhinweis: Lochposition wird ausgelesen
  • • Gravitationskompensationsmodus beenden
    • ◯ Dienst: Gravitationskompensation
    • ◯ Kommando: Stop
    • ◯ Parameter: Roboter = roboter01
    • ◯ Benutzerhinweis: Manipulator wird gestoppt
  • • Manipulator vom Objekt entfernen
    • ◯ Dienst: Manipulatorbewegung
    • ◯ Parameter: Roboter = roboter01, Ziel = [Koordinate], Geschwindigkeit = 0,1 m/s
    • ◯ Benutzerhinweis: Akkuschrauber wird vom Objekt entfernt
  • • Akkuschrauben zurücklegen
    • ◯ Dienst: Objekt ablegen
    • ◯ Parameter: Roboter = roboter01, Ziel = Ladestation, Geschwindigkeit = 0,1 m/s
    • ◯ Benutzerhinweis: Akkuschrauber wird abgelegt
The parameter "hole pose" is assigned a parameterization process. Its steps can be configured in a similar format as follows:
  • • Grab the cordless screwdriver
    • ◯ Service: record object
    • ◯ Parameter: robot = robot01, object = cordless screwdriver, speed = 0.1 m / s
    • ◯ User note: The cordless screwdriver is picked up
  • • Movement to the object
    • ◯ Service: Manipulator movement
    • ◯ Parameter: robot = robot01, destination = [coordinate], speed = 0.2 m / s
    • ◯ User note: The cordless screwdriver is guided to the object
  • • Enter the hole position by manually guiding the manipulator in the gravity compensation mode
    • ◯ service: gravitational compensation
    • ◯ Command: Start
    • ◯ Parameter: Robot = robot01
    • ◯ User note: Guide the cordless screwdriver to the hole position and confirm
  • • Read pose of manipulator
    • ◯ service: gravitational compensation
    • ◯ Command: readout
    • ◯ Parameter: Robot = robot01
    • ◯ User note: Punch position is read out
  • • End gravity compensation mode
    • ◯ service: gravitational compensation
    • ◯ Command: Stop
    • ◯ Parameter: Robot = robot01
    • ◯ User note: Manipulator is stopped
  • • Remove the manipulator from the object
    • ◯ Service: Manipulator movement
    • ◯ Parameter: robot = robot01, target = [coordinate], velocity = 0.1 m / s
    • ◯ User note: The cordless screwdriver is removed from the object
  • • Cover the battery screws
    • ◯ Service: drop object
    • ◯ Parameter: robot = robot01, target = charging station, speed = 0.1 m / s
    • ◯ User note: The cordless screwdriver is stored

Bei dem genannten Parametrierprozess existiert ein einziger Schritt der durch den Benutzer ausgeführt werden muss, nämlich derjenige, bei dem die Lochposition durch händisches Führen des Manipulators im Gravitationskompensationsmodus eingegeben wird. Die restlichen Schritte werden eigenständig durchgeführt.In the said parameterizing process, there exists a single step to be performed by the user, namely, the one in which the punching position is input by manually guiding the manipulator in the gravity compensating mode. The remaining steps are carried out independently.

Claims (9)

Verfahren zur Parametrierung eines robotischen Manipulators, mit den folgenden Verfahrensschritten: - Erstellen einer Konfigurationsdatei (10) in der in maschinenlesbarer Form der Ablauf des Parametrierungsprozesses beschrieben ist, - wobei die Konfigurationsdatei (10) mindestens einen Hinweis auf ein Dienstprogramm (12a, 12b, 12c) enthält, das im Parametrierungsprozess verwendet wird, - wobei die Konfigurationsdatei (10) ferner mindestens einen Parameter (14a, 14b) definiert, für den mindestens ein Parameterprozess beschrieben wird.Method for the parameterization of a robotic manipulator, comprising the following method steps: - creating a configuration file (10) in which in machine-readable form the sequence of the parameterization process is described, wherein the configuration file (10) contains at least an indication of a utility (12a, 12b, 12c) used in the parameterization process, - wherein the configuration file (10) further defines at least one parameter (14a, 14b) for which at least one parameter process is described. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Dienstprogramm (12a, 12b, 12c) ein bereits vorhandenes eigenständiges Dienstprogram ist, das über eine Adresse, insbesondere eine URL, ansprechbar ist und das eine einheitliche bekannte Schnittstelle aufweist.Method according to Claim 1 , characterized in that the utility (12a, 12b, 12c) is an existing stand-alone utility that is addressable via an address, in particular a URL, and that has a common known interface. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass nach dem maschinellen Auslesen der Konfigurationsdatei (10) ein Parametrierungsprozess, nämlich eine Abfolge von Softwareschritten ausgeführt wird, durch die die Parametrierung des robotischen Manipulators erfolgt.Method according to Claim 1 or 2 , characterized in that after the machine readout of the configuration file (10), a parameterization process, namely a sequence of software steps is performed, through which the parameterization of the robotic manipulator takes place. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass in der Konfigurationsdatei (10) Informationen für einen Benutzer hinterlegt sind, die beim Ausführen des Parametrierungsprozesses über eine Benutzerschnittstelle (16a, 16b) dem Benutzer angezeigt werden.Method according to Claim 3 , characterized in that in the configuration file (10) information for a user are stored, which are displayed to the user during execution of the parameterization process via a user interface (16a, 16b). Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass ein Dienstprogramm (12a, 12b, 12c) das aufgrund der Konfigurationsdatei (10) ausgeführt wird, eine Rückmeldung über eine erfolgreiche Ausführung übermittelst. Method according to one of Claims 1 to 4 , characterized in that a utility (12a, 12b, 12c) executed on the basis of the configuration file (10) transmits a response for successful execution. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der nächste Schritt des Parametrierungsprozesses erst ausgeführt wird, nachdem das vorangegangene Dienstprogramm (12a, 12b, 12c) eine erfolgreiche Ausführung gemeldet hat, wobei, wenn keine oder eine negative Rückmeldung über die Ausführung eines vorangehenden Dienstprogramms 12a, 12b, 12c) übermittelt wird, der Parametrierungsprozess mit einem Fehler abgebrochen wird.Method according to Claim 5 Characterized in that the next step of the Parametrierungsprozesses is performed only after the previous utility (12a, 12b, 12c) has reported a successful execution, wherein, if no or a negative feedback on the execution of a preceding service program 12a, 12b, 12c ), the parameterization process is aborted with an error. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass für ein Dienstprogramm (12a, 12, 12c) mindesten ein Anweisungskommando existiert, dass dem Dienstprogramm (12a, 12b, 12c) von der Konfigurationsdatei (10) übermittelt wird.Method according to one of Claims 1 to 6 , characterized in that for a utility (12a, 12, 12c) at least one instruction command exists that is transmitted to the utility (12a, 12b, 12c) from the configuration file (10). Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass ein Anweisungskommando „Auslesen“ ist, bei dem das Dienstprogramm (12a, 12b, 12c) bei erfolgreicher Rückmeldung einen ausgelesenen Wert liefert, der als Parameter für den Parametrierungsprozess verwendet wird.Method according to one of Claims 1 to 7 , characterized in that an instruction command is "read" in which the utility (12a, 12b, 12c), upon successful completion of a return, provides a read value used as parameter for the parameterization process. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass ein Anweisungskommando „Start“ und ein Anweisungskommando „Stop“ ist, wobei jedes Dienstprogramm (12a, 12b, 12c), dass ein Startkommando erhalten hat, ein Stopkommando erhält, wenn ein Dienstprogramm (12a, 12b, 12c) nicht erfolgreich abgeschlossen wurde.Method according to one of Claims 1 to 8th characterized in that an instruction command "start" and an instruction command is "stop", wherein each utility (12a, 12b, 12c) having received a start command receives a stop command if a utility (12a, 12b, 12c) does not successfully completed.
DE102017216093.4A 2017-09-12 2017-09-12 Method for parameterizing a robotic manipulator Active DE102017216093B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017216093.4A DE102017216093B4 (en) 2017-09-12 2017-09-12 Method for parameterizing a robotic manipulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017216093.4A DE102017216093B4 (en) 2017-09-12 2017-09-12 Method for parameterizing a robotic manipulator

Publications (2)

Publication Number Publication Date
DE102017216093A1 true DE102017216093A1 (en) 2019-03-14
DE102017216093B4 DE102017216093B4 (en) 2019-05-02

Family

ID=65441932

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017216093.4A Active DE102017216093B4 (en) 2017-09-12 2017-09-12 Method for parameterizing a robotic manipulator

Country Status (1)

Country Link
DE (1) DE102017216093B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11590651B2 (en) 2019-10-28 2023-02-28 Robert Bosch Gmbh Method and device for training manipulation skills of a robot system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022203406A1 (en) 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Carrying out a robot application and creating a program for it

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130030568A1 (en) * 2010-04-23 2013-01-31 Samsung Heavy Ind. Co., Ltd. Robot system control method and a device therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130030568A1 (en) * 2010-04-23 2013-01-31 Samsung Heavy Ind. Co., Ltd. Robot system control method and a device therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11590651B2 (en) 2019-10-28 2023-02-28 Robert Bosch Gmbh Method and device for training manipulation skills of a robot system

Also Published As

Publication number Publication date
DE102017216093B4 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
DE102015204641B4 (en) Method and system for programming a robot
EP1447770B1 (en) Method and apparatus for visualization of computer-based information
DE112009003656B4 (en) Method and system for in-production optimization of the parameters of a robot used for assembly
DE102019006800A1 (en) Robot controller and display device using augmented reality and mixed reality
DE602004009264T2 (en) Voice-controlled device for editing a robot teaching program
DE102015011830C5 (en) Robot system for setting a motion surveillance area of a robot
DE112008003963B4 (en) System and method for off-line programming of an industrial robot
EP3098034B1 (en) Selecting an apparatus or an object using a camera
EP3725472A1 (en) Method for determining a trajectory of a robot
DE102014226554A1 (en) Identification and repair support apparatus and method
DE102018009024B4 (en) Teaching device for carrying out a teaching process for a robot
WO2007065750A1 (en) Tracking system and method for determining pose
DE102017216093B4 (en) Method for parameterizing a robotic manipulator
DE112021003127T5 (en) PROGRAMMING DEVICE
DE102020212658A1 (en) Apparatus and method for controlling a robotic device
DE102018004673A1 (en) Robot system displaying a speed
DE102019205651B3 (en) Method and system for carrying out robot applications
DE102019209616A1 (en) Carrying out a given task with the aid of at least one robot
DE112020006647T5 (en) ORIGIN RETURN DEVICE
DE102018004326B4 (en) Robot teaching device for setting teaching points based on a moving image of a workpiece
DE102016210097A1 (en) robot
DE112008003870T5 (en) A method and system for controlling an industrial robot in accordance with a motion control parameter set
WO2019057490A1 (en) Method for localising a mobile robot
WO2007025658A1 (en) Methods and system for establishing a sequence of movements for a robot
DE102020211053A1 (en) Annotation device

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final