DE102018112647A1 - Method for operating a robot by means of a special process calculus - Google Patents

Method for operating a robot by means of a special process calculus Download PDF

Info

Publication number
DE102018112647A1
DE102018112647A1 DE102018112647.6A DE102018112647A DE102018112647A1 DE 102018112647 A1 DE102018112647 A1 DE 102018112647A1 DE 102018112647 A DE102018112647 A DE 102018112647A DE 102018112647 A1 DE102018112647 A1 DE 102018112647A1
Authority
DE
Germany
Prior art keywords
processes
terminated
robot
hierarchy
units
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
DE102018112647.6A
Other languages
German (de)
Other versions
DE102018112647B4 (en
Inventor
Sven Parusel
Jose Medina
Lorenz Mösenlechner
Mohamadreza Sabaghian
Saskia Golz
Sebastian Nagel
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.)
Franka Emika GmbH
Original Assignee
Franka Emika 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 Franka Emika GmbH filed Critical Franka Emika GmbH
Priority to DE102018112647.6A priority Critical patent/DE102018112647B4/en
Priority to PCT/EP2019/063305 priority patent/WO2019224293A1/en
Publication of DE102018112647A1 publication Critical patent/DE102018112647A1/en
Application granted granted Critical
Publication of DE102018112647B4 publication Critical patent/DE102018112647B4/en
Expired - Fee Related 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/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben eines Roboters (1), wobei der Roboter (1) eine Recheneinheit (9) und eine Vielzahl von Aktoreinheiten (3) und/oder Sensoreinheiten (5) aufweist, wobei durch die Recheneinheit (9) zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten (3) und/oder der Sensoreinheiten (5) durch eine Vielzahl parallel ausführbarer Prozesse erfolgt, wobei für zumindest einen ersten Teil der Prozesse eine erste Hierarchie definiert ist und für zumindest einen zweiten Teil der Prozesse eine zweite Hierarchie definiert ist, wobei in der ersten Hierarchie ein unter einem ersten der Prozesse stehender zweiter der Prozesse bei Ausführung auf der Recheneinheit (9) terminiert wird, wenn der erste der Prozesse terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse terminiert wird, wenn alle vierten der Prozesse terminiert sind, und wobei für einen dritten Teil der Prozesse auf eine Befehlsausführung innerhalb eines fünften der Prozesse des dritten Teils abhängig von der Aufgabe ein sechster der Prozesse des dritten Teils gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils parametriert oder terminiert wird.The invention relates to a method for operating a robot (1), wherein the robot (1) has a computing unit (9) and a plurality of actuator units (3) and / or sensor units (5), wherein the arithmetic unit (9) is designed for execution a task, a control of the actuator units (3) and / or the sensor units (5) by a plurality of parallel executable processes, wherein for at least a first part of the processes, a first hierarchy is defined and for at least a second part of the processes defines a second hierarchy wherein, in the first hierarchy, a second one of the processes under a first one of the processes is scheduled to execute on the arithmetic unit (9) when the first one of the processes is terminated, in the second hierarchy one over a plurality of fourth ones of the processes third of the processes is terminated when all fourth of the processes are terminated, and wherein for a third part of the processes au f a command execution is started within a fifth of the processes of the third part, depending on the task, a sixth of the processes of the third part, or a sixth active process of the third part is parameterized or terminated during execution of the fifth of the processes.

Description

Die Erfindung betrifft ein Verfahren zum Betreiben eines Roboters, eine Vorrichtung zum Betreiben eines Roboters sowie einen Roboter mit einer ebensolchen Vorrichtung.The invention relates to a method for operating a robot, a device for operating a robot, and a robot with such a device.

Aufgabe der Erfindung ist es, eine Verwaltung von Prozessen beim Betreiben eines Roboters effizienter zu gestalten.The object of the invention is to make management of processes in the operation of a robot more efficient.

Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.The invention results from the features of the independent claims. Advantageous developments and refinements are the subject of the dependent claims.

Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Betreiben eines Roboters, wobei der Roboter eine Recheneinheit und eine Vielzahl von Aktoreinheiten und/oder Sensoreinheiten aufweist, wobei durch die Recheneinheit zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten und/oder der Sensoreinheiten durch eine Vielzahl parallel ausführbarer Prozesse erfolgt, wobei für zumindest einen ersten Teil der Prozesse eine erste Hierarchie definiert ist und für zumindest einen zweiten Teil der Prozesse eine zweite Hierarchie definiert ist, wobei in der ersten Hierarchie ein unter einem ersten der Prozesse stehender zweiter der Prozesse bei Ausführung auf der Recheneinheit terminiert wird, wenn der erste der Prozesse terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse terminiert wird, wenn alle vierten der Prozesse terminiert sind, und wobei für einen dritten Teil der Prozesse auf eine Befehlsausführung innerhalb eines fünften der Prozesse des dritten Teils abhängig von der Aufgabe ein sechster der Prozesse des dritten Teils gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils parametriert oder terminiert wird.A first aspect of the invention relates to a method for operating a robot, wherein the robot has a computing unit and a multiplicity of actuator units and / or sensor units, wherein the arithmetic unit for carrying out a task controls the actuator units and / or the sensor units in parallel by a multiplicity executable processes, wherein for at least a first part of the processes, a first hierarchy is defined and for at least a second part of the processes, a second hierarchy is defined, wherein in the first hierarchy a second of the processes under a first of the processes when executed on the Arithmetic unit is terminated when the first of the processes is terminated, wherein in the second hierarchy one of a plurality of fourth of the processes third of the processes is terminated, when all fourth of the processes are terminated, and wherein for a third part of the processes to a Befehlsausf within a fifth of the processes of the third part, depending on the task, a sixth of the processes of the third part is started, or a sixth of the processes of the third part active during the execution of the fifth of the processes is parameterized or terminated.

Parallel ausführbare Prozesse sind insbesondere Prozesse, bei denen ein Prozess nicht auf ein Ergebnis aus einem anderen Prozess warten muss, um selbst ausführbar zu sein, sondern Prozesse, die unabhängig voneinander gleichzeitig oder quasi-gleichzeitig (insbesondere auf einem Einkernprozessor) ausgeführt werden können.Processes that can be executed in parallel are, in particular, processes in which one process does not have to wait for a result from another process in order to be executable on its own, but processes that can be executed independently of one another simultaneously or quasi-simultaneously (in particular on a single-core processor).

Unter einem jeweiligen Prozess aus der Vielzahl von Prozessen wird insbesondere ein ausführbarer Programmteil verstanden, wobei der Programmteil bevorzugt als ausführbarer maschinenlesbarer Code der Recheneinheit zur Verfügung steht. Dieser ausführbare Programmteil liegt bevorzugt als kompilierter Quelltext vor, auch genannt „binary“, oder alternativ bevorzugt als ausführbares Skript vor. Ein jeweiliger Prozess enthält weiterhin insbesondere eine Vielzahl von möglichen oder auch notwendigen Befehlsausführungen, wobei jede der Befehlsausführungen in Form einer programmierten Funktion in dem einem jeweiligen Prozess zu Grunde legenden ausführbaren Code implementiert ist. Bei der Ausführung eines Prozesses wird insbesondere maschinenlesbarer Code in einen Hauptspeicher der Recheneinheit eingelesen und von diesem Hauptspeicher aus ausgeführt. Ein jeweiliger Prozess ist insbesondere dazu ausgeführt, eine der Aktoreinheiten und oder eine der Sensoreinheiten anzusteuern, wobei der Begriff „Ansteuern“ dahingehend zu verstehen ist, dass eine jeweilige der Aktoreinheiten beim Ansteuern mit einem Sollwert beaufschlagt wird, wohingegen das Ansteuern einer jeweiligen der Sensoreinheiten dahingehend zu verstehen ist, dass die auf der Recheneinheit ausgeführten Prozesse, die eine jeweilige der Sensoreinheiten ansteuern, keine Datenverbindung zur Sensoreinheit unterhält, das heißt, von der Sensoreinheit erfasste Informationen einliest und gegebenenfalls entsprechend verarbeitet. Findet kein Ansteuern einer der Sensoreinheiten im oben genannten Sinne durch einen jeweiligen Prozess statt, so besteht keine Datenverbindung zwischen einer der Sensoreinheiten und dem jeweiligen Prozess. Weiterhin ist ein Ansteuern einer der Sensoreinheiten durch einen jeweiligen Prozess als eine Steuerung der einen der Sensoreinheiten im eigentlichen Sinne zu verstehen, wenn die Sensoreinheit eine parametrierbare Größe aufweist, beispielsweise wenn ein Blendenwinkel einer Kameraeinheit durch Ansteuerung einstellbar ist oder wenn ein numerischer Messbereich einer Sensoreinheit durch Ansteuerung veränderbar ist oder wenn eine Sensoreinheit in einer Vielzahl von Frequenzspektren ein Signal erfassen kann, wobei durch Ansteuerung ein Spektralbereich auswählbar ist.A particular process from the multiplicity of processes is understood to mean, in particular, an executable program part, wherein the program part is preferably available as executable machine-readable code of the arithmetic unit. This executable program part is preferably present as a compiled source code, also called "binary", or alternatively preferably as an executable script. In particular, a respective process contains, in particular, a multiplicity of possible or even necessary instruction executions, wherein each of the instruction executions is implemented in the form of a programmed function in the executable code underlying a respective process. In the execution of a process, in particular, machine-readable code is read into a main memory of the arithmetic unit and executed from this main memory. A respective process is designed, in particular, to control one of the actuator units and / or one of the sensor units, the term "activation" being to be understood in such a way that a respective one of the actuator units is subjected to a desired value during the activation, whereas the activation of a respective one of the sensor units is effected it is to be understood that the processes executed on the arithmetic unit which actuate a respective one of the sensor units does not maintain a data connection to the sensor unit, that is, reads in information acquired by the sensor unit and if necessary processes it accordingly. If no activation of one of the sensor units in the above-mentioned sense takes place by means of a respective process, then there is no data connection between one of the sensor units and the respective process. Furthermore, controlling one of the sensor units by a respective process is to be understood as a control of one of the sensor units in the actual sense if the sensor unit has a parameterizable size, for example if an aperture angle of a camera unit can be set by control or if a numerical measuring range of a sensor unit passes through Control is changeable or when a sensor unit can detect a signal in a variety of frequency spectra, wherein by driving a spectral range is selectable.

Bevorzugt sind der erste Teil der Prozesse, der zweite Teil der Prozesse, sowie der dritte Teil der Prozesse gegenseitig sich nicht ausschließend, das heißt, dass ein jeweiliger der Prozesse genau einem der Teile zugeordnet werden kann, oder genau zwei der Teile zugeordnet werden kann, oder genau drei der drei Teile zugeordnet werden kann oder keinem der Teile zugeordnet werden kann.Preferably, the first part of the processes, the second part of the processes, and the third part of the processes are mutually non-exclusive, that is, a respective one of the processes can be assigned to exactly one of the parts, or exactly two of the parts can be assigned, or exactly three of the three parts can be assigned or can not be assigned to any of the parts.

Insbesondere für einen dritten Teil der Prozesse wird auf eine bestimmte Befehlsausführung innerhalb eines fünften der Prozesse abhängig von der Aufgabe eine der folgenden Möglichkeiten ausgeführt:

  • - ein sechster der Prozesse wird gestartet, oder
  • - ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse wird parametriert,
  • - ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse wird terminiert.
In particular for a third part of the processes, one of the following possibilities is executed for a specific command execution within a fifth of the processes, depending on the task:
  • - a sixth of the processes is started, or
  • a sixth of the processes active during the execution of the fifth of the processes is parameterized,
  • a sixth of the processes active during the execution of the fifth of the processes is terminated.

Welche der drei Optionen durch eine jeweilige Befehlsausführung gewählt wird, ist von der Aufgabe abhängig, insbesondere von dem aktuellen Fortschritt der Ausführung der Aufgabe und/oder der Art der Aufgabe. Ferner ist es davon abhängig, ob ein sechster der Prozesse während der Ausführung des fünften der Prozesse aktiv ist, das heißt ausgeführt wird. Für jede der drei Optionen steht dabei bevorzugt eine eigene Befehlsausführung in dem fünften der Prozesse zur Verfügung, wobei jede der Befehlsausführungen bevorzugt als Funktionsaufruf, das heißt als ein so genannter „function call“ ausgeführt ist. Which of the three options is chosen by a particular command execution depends on the task, in particular the current progress of the task execution and / or the type of task. Furthermore, it depends on whether a sixth of the processes is active during the execution of the fifth of the processes, that is to say carried out. For each of the three options, a separate command execution is preferably available in the fifth of the processes, wherein each of the command executions preferably takes the form of a function call, that is, a so-called "function call".

Es ist eine vorteilhafte Wirkung der Erfindung, dass die Verwaltung von Prozessen beim Betreiben eines Roboters effizienter gestaltet wird und insbesondere eine zentrale Einheit zum Verwalten der Prozesse entfällt oder zumindest auf ein Minimum reduziert wird, da insbesondere die Prozesse sich gegenseitig steuern können.It is an advantageous effect of the invention that the management of processes in the operation of a robot is made more efficient and in particular a central unit for managing the processes is omitted or at least reduced to a minimum, in particular because the processes can control each other.

Gemäß einer vorteilhaften Ausführungsform dient die Vielzahl von vierten der Prozesse zum Ansteuern jeweils zumindest einer der Aktoreinheiten und der dritte der Prozesse ist ein Prozess zum Ansteuern zumindest einer der Sensoreinheiten zum Überwachen der vierten der Prozesse und/oder der durch die vierten der Prozesse angesteuerten Aktoreinheiten.According to an advantageous embodiment, the plurality of fourth of the processes are used to control in each case at least one of the actuator units, and the third of the processes is a process for activating at least one of the sensor units for monitoring the fourth of the processes and / or the actuator units controlled by the fourth of the processes.

Das Überwachen der vierten der Prozesse beschreibt insbesondere ein Überwachen auf ein Auftreten eines Fehlers in zumindest einem der vierten Prozesse.In particular, monitoring the fourth of the processes describes monitoring for an occurrence of an error in at least one of the fourth processes.

Gemäß einer weiteren vorteilhaften Ausführungsform dient die Vielzahl von vierten der Prozesse zum Ansteuern jeweils zumindest einer der Aktoreinheiten und der dritte der Prozesse ist ein Prozess zum Steuern der vierten der Prozesse.According to a further advantageous embodiment, the plurality of fourth of the processes are used for driving in each case at least one of the actuator units, and the third of the processes is a process for controlling the fourth of the processes.

Beim Steuern der vierten der Prozesse übernimmt der dritte der Prozesse eine Verwaltungsrolle, das heißt, er dient als Prozessmanager über die vierten der Prozesse.In controlling the fourth of the processes, the third of the processes assumes a management role, that is, it serves as the process manager through the fourth of the processes.

Gemäß einer weiteren vorteilhaften Ausführungsform wird der zweite der Prozesse durch den ersten der Prozesse gestartet.According to a further advantageous embodiment, the second of the processes is started by the first of the processes.

Insbesondere wird bereits zu Beginn der Ausführung des ersten der Prozesse der zweite der Prozesse gestartet, so dass der zweite der Prozesse ein sogenannter „Child Process“ des ersten der Prozesse ist.In particular, the second of the processes is already started at the beginning of the execution of the first of the processes, so that the second of the processes is a so-called "child process" of the first of the processes.

Gemäß einer weiteren vorteilhaften Ausführungsform wird beim Terminieren des dritten der Prozesse ein siebter der Prozesse zum weiteren Ausführen der Aufgabe gestartet, wobei durch den siebten der Prozesse weitere der Prozesse zum Ansteuern der Aktoreinheiten und/oder Sensoreinheiten gestartet werden.According to a further advantageous embodiment, when terminating the third of the processes, a seventh of the processes for further execution of the task is started, wherein by the seventh of the processes further of the processes for activating the actuator units and / or sensor units are started.

Gemäß einer weiteren vorteilhaften Ausführungsform wird durch den sechsten der Prozesse zumindest eine der Aktoreinheiten zum Ausführen einer Suchbewegung eines Endeffektors eines Robotermanipulators des Roboters zum Auffinden einer Aussparung in einem Objekt angesteuert und durch den fünften der Prozesse wird zumindest eine der Sensoreinheiten für eine Überwachung einer vertikalen Geschwindigkeit des Endeffektors angesteuert, wobei der sechste der Prozesse durch den fünften der Prozesse terminiert wird, wenn durch den fünften der Prozesse eine vertikale Geschwindigkeit des Endeffektors oberhalb eines vordefinierten Grenzwerts detektiert wird.According to a further advantageous embodiment, at least one of the actuator units for executing a seek motion of an end effector of a robot manipulator of the robot for finding a recess in an object is driven by the sixth of the processes, and by the fifth of the processes at least one of the sensor units for monitoring a vertical speed of the end effector, wherein the sixth of the processes is terminated by the fifth of the processes when the fifth of the processes detects a vertical velocity of the end effector above a predefined limit.

Gemäß einer weiteren vorteilhaften Ausführungsform wird durch den zweiten der Prozesse zumindest eine der Aktoreinheiten zum Ausüben einer Kraft durch den Roboter auf ein Objekt angesteuert und durch den ersten der Prozesse zumindest eine der Sensoreinheiten zum Überwachen einer Position eines Endeffektors eines Robotermanipulators des Roboters angesteuert.According to a further advantageous embodiment, the second of the processes activates at least one of the actuator units for exerting a force by the robot on an object and the first of the processes activates at least one of the sensor units for monitoring a position of an end effector of a robot manipulator of the robot.

Gemäß einer weiteren vorteilhaften Ausführungsform werden alle Prozesse terminiert, wenn zumindest einer aus dem ersten bis siebten der Prozesse unerwartet durch einen Fehler terminiert wird.According to a further advantageous embodiment, all processes are terminated when at least one of the first to seventh of the processes is unexpectedly terminated by an error.

Ein weiterer Aspekt der Erfindung betrifft eine Vorrichtung zum Betreiben eines Roboters, wobei der Roboter eine Recheneinheit und eine Vielzahl von Aktoreinheiten und/oder Sensoreinheiten aufweist, wobei die Recheneinheit dazu ausgeführt ist, eine Aufgabe durch Ansteuerung der Aktoreinheiten und/oder der Sensoreinheiten mittels einer Vielzahl parallel ausführbarer Prozesse durchzuführen, wobei für zumindest einen ersten Teil der Prozesse eine erste Hierarchie definiert ist und für zumindest einen zweiten Teil der Prozesse eine zweite Hierarchie definiert ist, wobei in der ersten Hierarchie ein unter einem ersten der Prozesse stehender zweiter der Prozesse bei Ausführung auf der Recheneinheit terminiert wird, wenn der erste der Prozesse terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse terminiert wird, wenn alle vierten der Prozesse terminiert sind, und wobei für einen dritten Teil der Prozesse auf eine Befehlsausführung innerhalb eines fünften der Prozesse des dritten Teils abhängig von der Aufgabe ein sechster der Prozesse des dritten Teils gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils parametriert oder terminiert wird. Another aspect of the invention relates to a device for operating a robot, wherein the robot has a computing unit and a plurality of actuator units and / or sensor units, wherein the computing unit is designed to perform a task by driving the actuator units and / or the sensor units by means of a plurality performing parallel executable processes, wherein for at least a first part of the processes, a first hierarchy is defined and for at least a second part of the processes, a second hierarchy is defined, wherein in the first hierarchy, a second of the processes under a first of the processes at execution the arithmetic unit is terminated when the first of the processes is terminated, wherein in the second hierarchy, a third of the processes over a plurality of fourth of the processes is terminated, when all fourth of the processes are terminated, and wherein for a third part of the processes e In the case of a command execution, a sixth of the processes of the third part is started within a fifth of the processes of the third part, depending on the task, or a sixth of the processes of the third part active during the execution of the fifth of the processes is parameterized or terminated.

Ein weiterer Aspekt der Erfindung betrifft einen Roboter mit einer Vorrichtung wie oben und im Folgenden beschrieben.Another aspect of the invention relates to a robot with a device as described above and below.

Vorteile und bevorzugte Weiterbildungen des vorgeschlagenen Verfahrens ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit der vorgeschlagenen Vorrichtung vorstehend gemachten Ausführungen.Advantages and preferred developments of the proposed method result from an analogous and analogous transmission of the statements made above in connection with the proposed device.

Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.Further advantages, features and details will become apparent from the following description in which - where appropriate, with reference to the drawings - at least one embodiment is described in detail. The same, similar and / or functionally identical parts are provided with the same reference numerals.

Es zeigen:

  • 1 ein Verfahren zum Betreiben eines Roboters gemäß einem Ausführungsbeispiel der Erfindung, und
  • 2 einen Roboter mit einer Vorrichtung zum Betreiben des Roboters gemäß einem weiteren Ausführungsbeispiel der Erfindung.
Show it:
  • 1 a method of operating a robot according to an embodiment of the invention, and
  • 2 a robot with a device for operating the robot according to another embodiment of the invention.

Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.The illustrations in the figures are schematic and not to scale.

1 zeigt ein Verfahren zum Betreiben eines Roboters 1, wobei der Roboter 1 eine Recheneinheit 9 und eine Vielzahl von Aktoreinheiten 3 und/oder Sensoreinheiten 5 aufweist, wobei durch die Recheneinheit 9 zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten 3 und/oder der Sensoreinheiten 5 durch eine Vielzahl parallel ausführbarer Prozesse erfolgt, wobei für zumindest einen ersten Teil der Prozesse eine erste Hierarchie definiert ist und für zumindest einen zweiten Teil der Prozesse eine zweite Hierarchie definiert ist, wobei in der ersten Hierarchie ein unter einem ersten der Prozesse stehender zweiter der Prozesse bei Ausführung auf der Recheneinheit 9 terminiert wird, wenn der erste der Prozesse terminiert wird, - wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse terminiert wird, wenn alle vierten der Prozesse terminiert sind, und wobei für einen dritten Teil der Prozesse auf eine Befehlsausführung innerhalb eines fünften der Prozesse des dritten Teils abhängig von der Aufgabe ein sechster der Prozesse des dritten Teils gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils parametriert oder terminiert wird. Die drei Teile sind in 1 mit „I“, „II“ und „III“ bezeichnet. 1 shows a method for operating a robot 1 , where the robot 1 an arithmetic unit 9 and a plurality of actuator units 3 and / or sensor units 5 , wherein by the arithmetic unit 9 to perform a task, a control of the actuator units 3 and / or the sensor units 5 is performed by a plurality of parallel executable processes, wherein for at least a first part of the processes, a first hierarchy is defined and for at least a second part of the processes, a second hierarchy is defined, wherein in the first hierarchy, a second of the processes under a first of the processes when executed on the arithmetic unit 9 is terminated when the first of the processes is terminated, wherein in the second hierarchy, a third of the processes over a plurality of fourth of the processes is terminated, when all fourth of the processes are terminated, and wherein for a third part of the processes Command execution within a fifth of the processes of the third part depending on the task, a sixth of the processes of the third part is started, or during the execution of the fifth of the processes active sixth of the processes of the third part is parameterized or terminated. The three parts are in 1 With " I "," II " and " III " designated.

2 zeigt einen Roboter 1 mit einer Vorrichtung 10 zum Betreiben eines Roboters 1, wobei der Roboter 1 eine Recheneinheit 9 und eine Vielzahl von Aktoreinheiten 3 und/oder Sensoreinheiten 5 aufweist, wobei die Recheneinheit 9 dazu ausgeführt ist, eine Aufgabe durch Ansteuerung der Aktoreinheiten 3 und/oder der Sensoreinheiten 5 mittels einer Vielzahl parallel ausführbarer Prozesse durchzuführen, wobei für zumindest einen ersten Teil der Prozesse eine erste Hierarchie definiert ist und für zumindest einen zweiten Teil der Prozesse eine zweite Hierarchie definiert ist, wobei in der ersten Hierarchie ein unter einem ersten der Prozesse stehender zweiter der Prozesse bei Ausführung auf der Recheneinheit 9 terminiert wird, wenn der erste der Prozesse terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse terminiert wird, wenn alle vierten der Prozesse terminiert sind, und wobei für einen dritten Teil der Prozesse auf eine Befehlsausführung innerhalb eines fünften der Prozesse des dritten Teils abhängig von der Aufgabe ein sechster der Prozesse des dritten Teils gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils parametriert oder terminiert wird. 2 shows a robot 1 with a device 10 to operate a robot 1 , where the robot 1 an arithmetic unit 9 and a plurality of actuator units 3 and / or sensor units 5 has, wherein the arithmetic unit 9 to do this, a task by controlling the actuator units 3 and / or the sensor units 5 by performing a plurality of parallel executable processes, wherein for at least a first part of the processes, a first hierarchy is defined and for at least a second part of the processes, a second hierarchy is defined, wherein in the first hierarchy, a second of the processes under a first of the processes when executed on the arithmetic unit 9 is terminated when the first of the processes is scheduled, wherein in the second hierarchy, a third of the processes over a plurality of fourth ones of the processes is terminated, when all fourth ones of the processes are terminated, and wherein for a third portion of the processes is a command execution within a fifth of the processes of the third part, depending on the task, a sixth of the processes of the third part is started, or a sixth of the processes of the third part active during the execution of the fifth of the processes is parameterized or terminated.

Obwohl die Erfindung im Detail durch bevorzugte Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Es ist ebenfalls klar, dass beispielhaft genannte Ausführungsformen wirklich nur Beispiele darstellen, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen, beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente, vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa weitergehende Erläuterungen in der Beschreibung, definiert wird.Although the invention has been further illustrated and explained in detail by way of preferred embodiments, the invention is not limited by the disclosed examples, and other variations can be derived therefrom by those skilled in the art without departing from the scope of the invention. It is therefore clear that a multitude of possible variations exists. It is also to be understood that exemplified embodiments are really only examples that are not to be construed in any way as limiting the scope, applicability, or configuration of the invention. Rather, the foregoing description and description enable the skilled artisan to practice the exemplary embodiments, and those of skill in the knowledge of the disclosed inventive concept may make various changes, for example, to the function or arrangement of particular elements recited in an exemplary embodiment. without departing from the scope defined by the claims and their legal equivalents, such as further explanation in the specification.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
Roboterrobot
33
Aktoreinheitenactuator units
55
Sensoreinheitensensor units
99
Recheneinheitcomputer unit
1010
Vorrichtungdevice

Claims (10)

Verfahren zum Betreiben eines Roboters (1), wobei der Roboter (1) eine Recheneinheit (9) und eine Vielzahl von Aktoreinheiten (3) und/oder Sensoreinheiten (5) aufweist, wobei durch die Recheneinheit (9) zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten (3) und/oder der Sensoreinheiten (5) durch eine Vielzahl parallel ausführbarer Prozesse erfolgt, wobei für zumindest einen ersten Teil der Prozesse eine erste Hierarchie definiert ist und für zumindest einen zweiten Teil der Prozesse eine zweite Hierarchie definiert ist, wobei in der ersten Hierarchie ein unter einem ersten der Prozesse stehender zweiter der Prozesse bei Ausführung auf der Recheneinheit (9) terminiert wird, wenn der erste der Prozesse terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse terminiert wird, wenn alle vierten der Prozesse terminiert sind, und wobei für einen dritten Teil der Prozesse auf eine Befehlsausführung innerhalb eines fünften der Prozesse des dritten Teils abhängig von der Aufgabe ein sechster der Prozesse des dritten Teils gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils parametriert oder terminiert wird.Method for operating a robot (1), wherein the robot (1) has a computer unit (9) and a multiplicity of actuator units (3) and / or sensor units (5), wherein a control unit is provided by the computer unit (9) for executing a task the actuator units (3) and / or the sensor units (5) are implemented by a multiplicity of parallel executable processes, wherein for at least a first part of the processes a first hierarchy is defined and for at least a second part of the processes a second hierarchy is defined, wherein in the first hierarchy, a second one of the processes under a first one of the processes is terminated when executed on the arithmetic unit (9) when the first of the processes is terminated, wherein in the second hierarchy, a third of the processes over a plurality of fourth ones of the processes is terminated when all fourth ones of the processes are terminated, and wherein, for a third part of the processes for a command execution within a fifth of the processes of the third part, a sixth of the processes of the third part is started depending on the task, or a sixth of the processes of the third part active during the execution of the fifth of the processes is parameterized or is terminated. Verfahren nach Anspruch 1, wobei die Vielzahl von vierten der Prozesse zum Ansteuern jeweils zumindest einer der Aktoreinheiten (3) dient und der dritte der Prozesse ein Prozess zum Ansteuern zumindest einer der Sensoreinheiten (5) zum Überwachen der vierten der Prozesse und/oder der durch die vierten der Prozesse angesteuerten Aktoreinheiten (3) ist.Method according to Claim 1 wherein the plurality of fourth one of the processes for driving each of at least one of the actuator units (3) and the third of the processes, a process for driving at least one of the sensor units (5) for monitoring the fourth of the processes and / or by the fourth of the processes actuated actuator units (3). Verfahren nach Anspruch 1, wobei die Vielzahl von vierten der Prozessen zum Ansteuern jeweils zumindest einer der Aktoreinheiten (3) dient und der dritte der Prozesse ein Prozess zum Steuern der vierten der Prozesse ist.Method according to Claim 1 wherein the plurality of fourth of the processes are for driving at least one of the actuator units (3), respectively, and the third of the processes is a process for controlling the fourth of the processes. Verfahren nach Anspruch 1, wobei der zweite der Prozesse durch den ersten der Prozesse gestartet wird.Method according to Claim 1 wherein the second of the processes is started by the first of the processes. Verfahren nach einem der vorhergehenden Ansprüche, wobei beim Terminieren des dritten der Prozesse ein siebter der Prozesse zum weiteren Ausführen der Aufgabe gestartet wird, wobei durch den siebten der Prozesse weitere der Prozesse zum Ansteuern der Aktoreinheiten (3) und/oder Sensoreinheiten (5) gestartet werden.Method according to one of the preceding claims, wherein at the termination of the third of the processes, a seventh of the processes for further execution of the task is started, wherein by the seventh of the processes more of the processes for driving the actuator units (3) and / or sensor units (5) started become. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch den sechsten der Prozesse zumindest eine der Aktoreinheiten (3) zum Ausführen einer Suchbewegung eines Endeffektors eines Robotermanipulators des Roboters (1) zum Auffinden einer Aussparung in einem Objekt angesteuert wird und durch den fünften der Prozesse zumindest eine der Sensoreinheiten (5) für eine Überwachung einer vertikalen Geschwindigkeit des Endeffektors angesteuert wird, und wobei der sechste der Prozesse durch den fünften der Prozesse terminiert wird, wenn durch den fünften der Prozesse eine vertikale Geschwindigkeit des Endeffektors oberhalb eines vordefinierten Grenzwerts detektiert wird.Method according to one of the preceding claims, wherein at least one of the actuator units (3) for executing a seek movement of an end effector of a robot manipulator of the robot (1) is searched by the sixth of the processes for finding a recess in an object and by the fifth of the processes at least one of the sensor units (5) for a Monitoring a vertical speed of the end effector is driven, and wherein the sixth of the processes is terminated by the fifth of the processes when a vertical velocity of the end effector above a predefined limit is detected by the fifth of the processes. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch den zweiten der Prozesse zumindest eine der Aktoreinheiten (3) zum Ausüben einer Kraft durch den Roboter (1) auf ein Objekt angesteuert wird und durch den ersten der Prozesse zumindest eine der Sensoreinheiten (5) zum Überwachen einer Position eines Endeffektors eines Robotermanipulators des Roboters (1) angesteuert wird.Method according to one of the preceding claims, wherein at least one of the actuator units (3) for exerting a force by the robot (1) is driven onto an object by the second of the processes and by the first of the processes at least one of the sensor units (5) for monitoring a position of an end effector of a robot manipulator of the robot (1) is driven. Verfahren nach einem der vorhergehenden Ansprüche, wobei alle Prozesse terminiert werden, wenn zumindest einer aus dem ersten bis siebten der Prozesse unerwartet durch einen Fehler terminiert wird.Method according to one of the preceding claims, wherein all processes are terminated when at least one of the first to seventh of the processes is unexpectedly terminated by an error. Vorrichtung (10) zum Betreiben eines Roboters (1), wobei der Roboter (1) eine Recheneinheit (9) und eine Vielzahl von Aktoreinheiten (3) und/oder Sensoreinheiten (5) aufweist, wobei die Recheneinheit (9) dazu ausgeführt ist, eine Aufgabe durch Ansteuerung der Aktoreinheiten (3) und/oder der Sensoreinheiten (5) mittels einer Vielzahl parallel ausführbarer Prozesse durchzuführen, wobei für zumindest einen ersten Teil der Prozesse eine erste Hierarchie definiert ist und für zumindest einen zweiten Teil der Prozesse eine zweite Hierarchie definiert ist, - wobei in der ersten Hierarchie ein unter einem ersten der Prozesse stehender zweiter der Prozesse bei Ausführung auf der Recheneinheit (9) terminiert wird, wenn der erste der Prozesse terminiert wird, - wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse terminiert wird, wenn alle vierten der Prozesse terminiert sind, und wobei für einen dritten Teil der Prozesse auf eine Befehlsausführung innerhalb eines fünften der Prozesse des dritten Teils abhängig von der Aufgabe ein sechster der Prozesse des dritten Teils gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils parametriert oder terminiert wird.Device (10) for operating a robot (1), wherein the robot (1) has a computing unit (9) and a plurality of actuator units (3) and / or sensor units (5), wherein the computing unit (9) is designed to perform a task by controlling the actuator units (3) and / or the sensor units (5) by means of a plurality of parallel executable processes, wherein for at least a first part of the processes, a first hierarchy is defined and defines a second hierarchy for at least a second part of the processes is wherein, in the first hierarchy, a second one of the processes under a first one of the processes is terminated when executed on the arithmetic unit (9) when the first of the processes is terminated, wherein, in the second hierarchy, a third of the processes over a plurality of fourth of the processes is terminated when all fourth of the processes are terminated, and wherein for a third portion of the processes, a command execution within a fifth of the processes of the third part is dependent upon the task is started a sixth of the processes of the third part, or during the execution of the fifth of the processes active sixth of the processes of the third part is parameterized or terminated. Roboter (1) mit einer Vorrichtung (10) nach Anspruch 9.Robot (1) with a device (10) according to Claim 9 ,
DE102018112647.6A 2018-05-25 2018-05-25 Method for operating a robot using a special process calculus Expired - Fee Related DE102018112647B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102018112647.6A DE102018112647B4 (en) 2018-05-25 2018-05-25 Method for operating a robot using a special process calculus
PCT/EP2019/063305 WO2019224293A1 (en) 2018-05-25 2019-05-23 Method for operating a robot using a special process calculus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018112647.6A DE102018112647B4 (en) 2018-05-25 2018-05-25 Method for operating a robot using a special process calculus

Publications (2)

Publication Number Publication Date
DE102018112647A1 true DE102018112647A1 (en) 2019-11-28
DE102018112647B4 DE102018112647B4 (en) 2021-11-18

Family

ID=66690320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018112647.6A Expired - Fee Related DE102018112647B4 (en) 2018-05-25 2018-05-25 Method for operating a robot using a special process calculus

Country Status (2)

Country Link
DE (1) DE102018112647B4 (en)
WO (1) WO2019224293A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69214171T2 (en) * 1991-01-11 1997-02-20 Canon Kk Fault diagnosis through process simulation
DE19634279A1 (en) * 1996-08-24 1998-02-26 Bosch Gmbh Robert Method and device for accelerated execution of a program by a programmable logic controller
EP2017746A1 (en) * 2007-04-24 2009-01-21 Siemens Aktiengesellschaft Method and device for planning and evaluation of industrial processes
DE102014105381A1 (en) * 2014-04-15 2015-10-15 Brötje-Automation GmbH Method for operating an automation arrangement
DE102015205173A1 (en) * 2015-03-23 2016-09-29 Siemens Aktiengesellschaft Method for producing a composite product as well as production module and production control
DE102016211554A1 (en) * 2016-06-28 2017-12-28 Siemens Aktiengesellschaft Method and device for designing a production process for producing a product composed of several partial products

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008021671B4 (en) * 2008-04-30 2013-04-11 Kuka Laboratories Gmbh Method and device for monitoring a manipulator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69214171T2 (en) * 1991-01-11 1997-02-20 Canon Kk Fault diagnosis through process simulation
DE19634279A1 (en) * 1996-08-24 1998-02-26 Bosch Gmbh Robert Method and device for accelerated execution of a program by a programmable logic controller
EP2017746A1 (en) * 2007-04-24 2009-01-21 Siemens Aktiengesellschaft Method and device for planning and evaluation of industrial processes
DE102014105381A1 (en) * 2014-04-15 2015-10-15 Brötje-Automation GmbH Method for operating an automation arrangement
DE102015205173A1 (en) * 2015-03-23 2016-09-29 Siemens Aktiengesellschaft Method for producing a composite product as well as production module and production control
DE102016211554A1 (en) * 2016-06-28 2017-12-28 Siemens Aktiengesellschaft Method and device for designing a production process for producing a product composed of several partial products

Also Published As

Publication number Publication date
WO2019224293A1 (en) 2019-11-28
DE102018112647B4 (en) 2021-11-18

Similar Documents

Publication Publication Date Title
DE112018005832B4 (en) ROBOT MOTION ADJUSTMENT DEVICE, MOTION CONTROL SYSTEM AND ROBOT SYSTEM
DE102013010853B4 (en) Numerical control device having a program restart function
EP0368190A1 (en) Method and apparatus for monitoring the execution time of a computer-executed object programme
EP2706421A1 (en) Method for the computer-controlled generation of at least a portion of an executable control program
DE102004019653B4 (en) simulation device
DE102019205651B3 (en) Method and system for carrying out robot applications
DE102020104952A1 (en) MANAGEMENT DEVICE AND MANAGEMENT SYSTEM
EP1150186A1 (en) Modell based on-line optimization
DE112019007889T5 (en) MACHINING PROGRAM CONVERSION DEVICE, NUMERICAL CONTROL DEVICE AND MACHINING PROGRAM CONVERSION METHOD
WO2008089929A1 (en) Control of an operation of a coordinate measuring device
EP2363809B1 (en) Method for optimizing a control program for actuators
AT523850B1 (en) Computer-aided method and device for probability-based speed prediction for vehicles
EP3080668A1 (en) Method for manipulating a control program of a control device
EP0450116A1 (en) Automation apparatus with single-step test
EP3268822B1 (en) Projecting device and method for configuring and/or parameterising automation components of an automation system
DE102018112647A1 (en) Method for operating a robot by means of a special process calculus
DE102017010678A1 (en) A method and system for providing an apply pattern command dictionary for inputting at least one robot command
EP3374136A1 (en) Method and computer program for correcting errors in a manipulator system
DE102019217427A1 (en) Controlling and / or monitoring a machine arrangement
EP3581935A1 (en) System for the automatic recognition of laboratory work objects and method of operating a system for automatic recognition of laboratory work objects
DE102020103852B4 (en) Creation and optimization of a control program for a robot manipulator
DE102022203386B4 (en) Control method, control system, motor vehicle, computer program product and computer-readable medium
DE112021005419T5 (en) Robot control device and robot system
WO2002037281A2 (en) Programming tool
DE102020003526A1 (en) Control device, control system and machine learning device

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee