DE102018112647B4 - Method for operating a robot using a special process calculus - Google Patents

Method for operating a robot using a special process calculus Download PDF

Info

Publication number
DE102018112647B4
DE102018112647B4 DE102018112647.6A DE102018112647A DE102018112647B4 DE 102018112647 B4 DE102018112647 B4 DE 102018112647B4 DE 102018112647 A DE102018112647 A DE 102018112647A DE 102018112647 B4 DE102018112647 B4 DE 102018112647B4
Authority
DE
Germany
Prior art keywords
processes
terminated
robot
computing unit
hierarchy
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.)
Expired - Fee Related
Application number
DE102018112647.6A
Other languages
German (de)
Other versions
DE102018112647A1 (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

Landscapes

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

Abstract

Verfahren zum Betreiben eines Roboters (1), wobei der Roboter (1) eine Recheneinheit (9) und eine Vielzahl von Aktoreinheiten (3) und Sensoreinheiten (5) aufweist, wobei durch die Recheneinheit (9) zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten (3) und der Sensoreinheiten (5) durch eine Vielzahl parallel ausführbarer Prozesse erfolgt, wobei die Prozesse sich gegenseitig steuern können, 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) durch die Recheneinheit (9) terminiert wird, wenn der erste der Prozesse durch die Recheneinheit (9) terminiert wird,wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse durch die Recheneinheit (9) terminiert wird, wenn alle vierten der Prozesse durch die Recheneinheit (9) 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 durch die Recheneinheit (9) gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils durch die Recheneinheit (9) parametriert oder terminiert wird.A method for operating a robot (1), the robot (1) having a computing unit (9) and a plurality of actuator units (3) and sensor units (5), the computing unit (9) triggering the actuator units to perform a task (3) and the sensor units (5) takes place through a plurality of processes that can be executed in parallel, the processes being able to control one another, a first hierarchy being defined for at least a first part of the processes and a second hierarchy being defined for at least a second part of the processes is, wherein in the first hierarchy a second of the processes standing under a first of the processes is terminated by the computing unit (9) when the first of the processes is terminated by the computing unit (9) when executed on the computing unit (9), wherein in of the second hierarchy, a third of the processes above a multiplicity of fourth of the processes is terminated by the computing unit (9) if a All fourth of the processes are terminated by the processing unit (9), and a sixth of the processes of the third part is started by the processing unit (9) for a third part of the processes on an instruction execution within a fifth of the processes of the third part, depending on the task or a sixth of the processes of the third part that is active during the execution of the fifth of the processes is parameterized or terminated by the computing unit (9).

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.

Im Stand der Technik ist das Modellieren von Prozessen insbesondere durch Graphen bekannt.In the prior art, the modeling of processes, in particular by means of graphs, is known.

So betrifft die DE 10 2016 211 554 A1 ein Verfahren zur Gestaltung eines Produktionsprozesses zum Produzieren eines aus mehreren Teilprodukten zusammengesetzten Produkts in einem mehrere Produktionsmodule aufweisenden Produktionssystem.So affects the DE 10 2016 211 554 A1 a method for designing a production process for producing a product composed of several sub-products in a production system having several production modules.

Die DE 10 2015 205 173 A1 betrifft ein Verfahren zum Produzieren eines aus mehreren Teilprodukten zusammengesetzten Produkts in einem mehrere Produktionsmodule aufweisenden Produktionssystem.the DE 10 2015 205 173 A1 relates to a method for producing a product composed of several partial products in a production system having several production modules.

Die DE 10 2014 105 381 A1 betrifft ein Verfahren zum Betrieb einer Automatisierungsanordnung, vorzugsweise zum Betrieb einer Automatisierungszelle, mit einem Manipulator und einem Ein-Ausgabe-Modul zur automatisierten Fertigung sowie einer Rechnervorrichtung.the DE 10 2014 105 381 A1 relates to a method for operating an automation arrangement, preferably for operating an automation cell, with a manipulator and an input / output module for automated production and a computer device.

Die DE 692 14 171 T2 betrifft ein Simulationsverfahren und insbesondere eine auf einem Modell beruhende Fehlerdiagnose, die den Aufbau und die Wirkungsweise einer zu untersuchenden Vorrichtung beinhaltet.the DE 692 14 171 T2 relates to a simulation method and in particular to a fault diagnosis based on a model, which includes the structure and the mode of operation of a device to be examined.

Die DE 196 34 279 A1 betrifft ein Verfahren zur beschleunigten Ausführung eines Programmes durch eine speicherprogrammierbare Steuerung (SPS) an einer Maschine, welche von der SPS betätigte Aktoren zum Bewirken von Maschinenaktionen sowie Sensoren zur Abgabe von Maschinenzustandssignalen aufweist.the DE 196 34 279 A1 relates to a method for the accelerated execution of a program by a programmable logic controller (PLC) on a machine, which has actuators operated by the PLC for effecting machine actions and sensors for outputting machine status signals.

Ferner betrifft die EP 2 017 746 A1 betrifft ein Verfahren zur Planung eines industriellen Prozesses.Furthermore, the EP 2 017 746 A1 relates to a method for planning an industrial process.

Aufgabe der Erfindung ist es, eine Verwaltung von Prozessen beim Betreiben eines Roboters effizienter zu gestalten.The object of the invention is to make the management of processes when operating 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 further developments and refinements are the subject matter 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 Sensoreinheiten aufweist, wobei durch die Recheneinheit zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten und der Sensoreinheiten durch eine Vielzahl parallel ausführbarer Prozesse erfolgt, wobei die Prozesse sich gegenseitig steuern können, 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 durch die Recheneinheit terminiert wird, wenn der erste der Prozesse die Recheneinheit terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse die Recheneinheit terminiert wird, wenn alle vierten der Prozesse die Recheneinheit 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 die Recheneinheit gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils die Recheneinheit parametriert oder terminiert wird.A first aspect of the invention relates to a method for operating a robot, the robot having a computing unit and a plurality of actuator units and sensor units, the computing unit controlling the actuator units and the sensor units by a plurality of processes that can be carried out in parallel to perform a task, wherein the processes can control one another, a first hierarchy being defined for at least a first part of the processes and a second hierarchy being defined for at least a second part of the processes, a second of the processes in the first hierarchy being under a first of the processes during execution on the processing unit by the processing unit is terminated when the first of the processes the processing unit is terminated, wherein in the second hierarchy a third of the processes standing above a plurality of fourth of the processes the processing unit is terminated when all fourth d he processes of the computing unit are terminated, and for a third part of the processes on an instruction execution within a fifth of the processes of the third part, depending on the task, a sixth of the processes of the third part, the computing unit is started, or one during the execution of the fifth of the Processes active sixth of the processes of the third part, the arithmetic unit 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 a process does not have to wait for a result from another process in order to be executable itself, but processes that can be executed simultaneously or quasi-simultaneously (in particular on a single-core processor) independently of one another.

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 respective process from the multiplicity of processes is understood to mean, in particular, an executable program part, the program part preferably being available as executable machine-readable code to the computing unit. This executable program part is preferably available as a compiled source text, also called “binary”, or, alternatively, preferably as an executable script. A respective process furthermore contains in particular a multiplicity of possible or also necessary command executions, each of the command executions being implemented in the form of a programmed function in the executable code on which a respective process is based. When executing a process, machine-readable code, in particular, is read into a main memory of the computing 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 “control” being understood to mean that a respective one of the actuator units is acted upon with a setpoint value when being activated, whereas the activation of a respective one of the sensor units to this effect it is to be understood that the processes carried out on the computing unit that control a respective one of the sensor units, maintains no data connection to the sensor unit, that is, reads in information recorded by the sensor unit and, if necessary, processes it accordingly. If one of the sensor units in the above-mentioned sense is not activated by a respective process, there is no data connection between one of the sensor units and the respective process. Furthermore, a control of one of the sensor units by a respective process is to be understood as a control of the one of the sensor units in the actual sense, if the sensor unit has a parameterizable size, for example if a diaphragm angle of a camera unit can be set by control or if a numerical measuring range of a sensor unit by Control is changeable or if a sensor unit can detect a signal in a plurality of frequency spectra, wherein a spectral range can be selected by control.

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.The first part of the processes, the second part of the processes and the third part of the processes are preferably not mutually exclusive, that is, each 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 none of the parts can be assigned.

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 die Recheneinheit gestartet, oder
  • - ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse wird die Recheneinheit parametriert,
  • - ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse wird die Recheneinheit terminiert.
For a third part of the processes in particular, one of the following options is carried out in response to a specific command execution within a fifth of the processes, depending on the task:
  • - A sixth of the processes is started the processing unit, or
  • - a sixth of the processes that is active during the execution of the fifth of the processes is parameterized in the arithmetic unit,
  • - a sixth of the processes that is active during the execution of the fifth of the processes, the processing unit 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 die Recheneinheit 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 selected by a respective command execution depends on the task, in particular on the current progress of the execution of the task 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 the arithmetic unit is being executed. For each of the three options, a separate command execution is preferably available in the fifth of the processes, each of the command executions preferably being executed as a function call, that is to say as 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 when operating 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, since the processes in particular can control one another.

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 is used to control at least one of the actuator units and the third of the processes is a process to control 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.Monitoring the fourth of the processes describes, in particular, 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 is used to control 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.When controlling the fourth of the processes, the third of the processes takes on an administrative role, that is, it serves as the process manager for 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 the third of the processes is terminated, a seventh of the processes for further executing the task is started, the seventh of the processes starting further of the processes for controlling the actuator units and / or sensor units.

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, the sixth of the processes controls at least one of the actuator units for executing a search movement of an end effector of a robot manipulator of the robot to find a recess in an object, and the fifth of the processes activates at least one of the sensor units for monitoring a vertical speed of the end effector is controlled, the sixth of the processes being terminated by the fifth of the processes, if by the fifth of the Processes a vertical speed of the end effector is detected above a predefined limit value.

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 controls at least one of the actuator units for exerting a force by the robot on an object and the first of the processes controls 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 durch die Recheneinheit 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 by the processing unit if at least one of the first to seventh of the processes is unexpectedly terminated due to 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 Sensoreinheiten aufweist, wobei die Recheneinheit dazu ausgeführt ist, eine Aufgabe durch Ansteuerung der Aktoreinheiten und der Sensoreinheiten mittels einer Vielzahl parallel ausführbarer Prozesse durchzuführen, wobei die Prozesse sich gegenseitig steuern können, 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 durch die Recheneinheit terminiert wird, wenn der erste der Prozesse durch die Recheneinheit terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse durch die Recheneinheit terminiert wird, wenn alle vierten der Prozesse durch die Recheneinheit 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 durch die Recheneinheit gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils durch die Recheneinheit parametriert oder terminiert wird.Another aspect of the invention relates to a device for operating a robot, the robot having a computing unit and a plurality of actuator units and sensor units, the computing unit being designed to perform a task by controlling the actuator units and the sensor units by means of a plurality of processes that can be carried out in parallel , wherein the processes can control each other, wherein a first hierarchy is defined for at least a first part of the processes and a second hierarchy is defined for at least a second part of the processes, with a second of the processes in the first hierarchy Processes when executed on the processing unit by the processing unit is terminated when the first of the processes is terminated by the processing unit, a third of the processes in the second hierarchy above a plurality of fourth of the processes being terminated by the processing unit when all fourth of the processes are terminated by the processing unit, and wherein for a third part of the processes on an instruction 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 by the processing unit, or a sixth of the processes of the third part that is active during the execution of the fifth of the processes is parameterized or terminated by the computing unit.

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 transfer 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 emerge from the following description, in which at least one exemplary embodiment is described in detail - possibly with reference to the drawing. Identical, similar and / or functionally identical parts are provided with the same reference symbols.

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 for operating a robot according to an embodiment of the invention, and
  • 2 a robot with a device for operating the robot according to a further embodiment of the invention.

Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.The representations 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 Sensoreinheiten 5 aufweist, wobei durch die Recheneinheit 9 zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten 3 und 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 Figure 3 shows a method of operating a robot 1 , with the robot 1 an arithmetic unit 9 and a variety of actuator units 3 and sensor units 5 having, by the arithmetic unit 9 a control of the actuator units to carry out a task 3 and the sensor units 5 takes place through a plurality of processes that can be executed in parallel, a first hierarchy being defined for at least a first part of the processes and a second hierarchy being defined for at least a second part of the processes, a second of the processes in the first hierarchy being under a first of the processes when running on the processing unit 9 is terminated when the first of the processes is terminated, wherein in the second hierarchy a third of the processes standing above 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 to one 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 that is active during the execution of the fifth of the processes is parameterized or terminated. The three parts are in 1 marked with "I", "II" and "III".

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 Sensoreinheiten 5 aufweist, wobei die Recheneinheit 9 dazu ausgeführt ist, eine Aufgabe durch Ansteuerung der Aktoreinheiten 3 und 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 for operating a robot 1 , with the robot 1 an arithmetic unit 9 and a variety of actuator units 3 and sensor units 5 having, wherein the arithmetic unit 9 for this purpose, a task is carried out by controlling the actuator units 3 and the sensor units 5 by means of a plurality of processes that can be executed in parallel, a first hierarchy being defined for at least a first part of the processes and a second hierarchy being defined for at least a second part of the processes, a second of the processes in the first hierarchy being under a first of the processes when running on the processing unit 9 is terminated when the first of the processes is terminated, wherein in the second hierarchy a third of the processes standing above 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 to an instruction 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 that is active during the execution of the fifth of the processes is parameterized or terminated.

BezugszeichenlisteList of reference symbols

11
Roboterrobot
33
AktoreinheitenActuator units
55
SensoreinheitenSensor units
99
RecheneinheitArithmetic unit
1010
Vorrichtungcontraption

Claims (10)

Verfahren zum Betreiben eines Roboters (1), wobei der Roboter (1) eine Recheneinheit (9) und eine Vielzahl von Aktoreinheiten (3) und Sensoreinheiten (5) aufweist, wobei durch die Recheneinheit (9) zur Ausführung einer Aufgabe eine Ansteuerung der Aktoreinheiten (3) und der Sensoreinheiten (5) durch eine Vielzahl parallel ausführbarer Prozesse erfolgt, wobei die Prozesse sich gegenseitig steuern können, 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) durch die Recheneinheit (9) terminiert wird, wenn der erste der Prozesse durch die Recheneinheit (9) terminiert wird, wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse durch die Recheneinheit (9) terminiert wird, wenn alle vierten der Prozesse durch die Recheneinheit (9) 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 durch die Recheneinheit (9) gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils durch die Recheneinheit (9) parametriert oder terminiert wird.A method for operating a robot (1), the robot (1) having a computing unit (9) and a plurality of actuator units (3) and sensor units (5), the computing unit (9) triggering the actuator units to perform a task (3) and the sensor units (5) takes place through a plurality of processes that can be executed in parallel, the processes being able to control one another, a first hierarchy being defined for at least a first part of the processes and a second hierarchy being defined for at least a second part of the processes is, wherein in the first hierarchy a second of the processes, which is below a first of the processes, is terminated by the arithmetic unit (9) during execution on the arithmetic unit (9) if the first of the processes is terminated by the arithmetic unit (9), wherein in the second hierarchy a third of the processes standing above a plurality of fourth of the processes is terminated by the computing unit (9) if all fourth of the processes are terminated by the computing unit (9), and wherein for a third part of the processes to one Instruction 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 by the arithmetic unit (9), or a sixth of the processes of the third part active during the execution of the fifth of the processes by the arithmetic unit (9 ) is parameterized or 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.Procedure according to Claim 1 , wherein the plurality of fourth of the processes is used to control at least one of the actuator units (3) and the third of the processes is a process for controlling at least one of the sensor units (5) for monitoring the fourth of the processes and / or that by the fourth of the processes controlled actuator units (3). 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 Steuern der vierten der Prozesse ist.Procedure according to Claim 1 wherein the plurality of fourth of the processes is used to control at least one of the actuator units (3) 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.Procedure according to Claim 1 , the second of the processes being 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 when the third of the processes is terminated, a seventh of the processes for further executing the task is started, the seventh of the processes starting further of the processes for controlling the actuator units (3) and / or sensor units (5) will. 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, whereby the sixth of the processes controls at least one of the actuator units (3) for executing a search movement of an end effector of a robot manipulator of the robot (1) to find a recess in an object and the fifth of the processes controls at least one of the sensor units (5) for a Monitoring a vertical speed of the end effector is controlled, and wherein the sixth of the processes is terminated by the fifth of the processes if a vertical speed of the end effector above a predefined limit value 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 the second of the processes controls at least one of the actuator units (3) for exerting a force by the robot (1) on an object and the first of the processes controls 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 controlled. Verfahren nach einem der vorhergehenden Ansprüche, wobei alle Prozesse durch die Recheneinheit (9) terminiert werden, wenn zumindest einer aus dem ersten bis siebten der Prozesse unerwartet durch einen Fehler durch die Recheneinheit (9) terminiert wird.Method according to one of the preceding claims, wherein all processes are terminated by the computing unit (9) if at least one of the first to seventh of the processes is unexpectedly terminated by an error by the computing unit (9). Vorrichtung (10) zum Betreiben eines Roboters (1), wobei der Roboter (1) eine Recheneinheit (9) und eine Vielzahl von Aktoreinheiten (3) und Sensoreinheiten (5) aufweist, wobei die Recheneinheit (9) dazu ausgeführt ist, eine Aufgabe durch Ansteuerung der Aktoreinheiten (3) und der Sensoreinheiten (5) mittels einer Vielzahl parallel ausführbarer Prozesse durchzuführen, wobei die Prozesse sich gegenseitig steuern können, 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) durch die Recheneinheit (9) terminiert wird, wenn der erste der Prozesse durch die Recheneinheit (9) terminiert wird, - wobei in der zweiten Hierarchie ein über einer Vielzahl von vierten der Prozesse stehender dritter der Prozesse durch die Recheneinheit (9) terminiert wird, wenn alle vierten der Prozesse durch die Recheneinheit (9) 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 durch die Recheneinheit (9) gestartet wird, oder ein während der Ausführung des fünften der Prozesse aktiver sechster der Prozesse des dritten Teils durch die Recheneinheit (9) parametriert oder terminiert wird.Device (10) for operating a robot (1), the robot (1) having a computing unit (9) and a plurality of actuator units (3) and sensor units (5), the computing unit (9) for this purpose is designed to perform a task by controlling the actuator units (3) and the sensor units (5) by means of a plurality of processes that can be carried out in parallel, the processes being able to control one another, a first hierarchy being defined for at least a first part of the processes 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 standing under a first of the processes is terminated by the arithmetic unit (9) when the first of the processes is executed on the arithmetic unit (9) the computing unit (9) is terminated, - a third of the processes in the second hierarchy above a plurality of fourth of the processes being terminated by the computing unit (9) when all fourth of the processes are terminated by the computing unit (9), and whereby, for a third part of the processes, an instruction execution within a fifth of the processes de In the third part, depending on the task, a sixth of the processes of the third part is started by the arithmetic unit (9), or a sixth of the processes of the third part that is active during the execution of the fifth of the processes is parameterized or terminated by the arithmetic unit (9). 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 DE102018112647A1 (en) 2019-11-28
DE102018112647B4 true 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
DE102018112647A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
DE112010000775B4 (en) INDUSTRIAL ROBOT SYSTEM
DE102020100316B4 (en) DETERMINATION DEVICE
EP0753168B1 (en) Process for automatic fault diagnosis
DE102015107436B4 (en) Trainable path control
DE102019103824A1 (en) FAULT FORECASTING DEVICE AND MECHANICAL LEARNING DEVICE
DE102016106085A1 (en) Machine tool management system
DE102018006550B4 (en) Abnormality detection device
DE10341325B4 (en) Test device and test method for testing of tool or production machines
DE102004019653B4 (en) simulation device
EP3058425B1 (en) Device and method for changing operating settings of a technical installation
EP3320431A1 (en) Computer-implemented method for processing data object variants
DE102017007909A1 (en) Production control equipped with a function for identifying the cause after an operation stop of a production facility comprising manufacturing facilities
DE102019109258A1 (en) Waveform display device
DE102016004185A1 (en) Numerical control with control of an intervention between tool and workpiece
DE112019007579B4 (en) Numerical control device and machine learning device
EP3268822B1 (en) Projecting device and method for configuring and/or parameterising automation components of an automation system
DE102018112647B4 (en) Method for operating a robot using a special process calculus
DE102017117144A1 (en) simulation device
EP3629108B1 (en) Planning of an automation system
DE102020103852B4 (en) Creation and optimization of a control program for a robot manipulator
DE102017010678A1 (en) A method and system for providing an apply pattern command dictionary for inputting at least one robot command
EP2864845B1 (en) Automated reconfiguration of a discrete event control loop
DE102021003650A1 (en) Information processing apparatus, method of controlling an information processing apparatus, manufacturing system, method of manufacturing objects, and recording medium
DE102020102996A1 (en) Process for an integrated design for the modeling, simulation and testing of a real-time architecture within a model-based system and software development
EP3504596B1 (en) Automatic optimization of the parametrization of a motion controller

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