CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the U.S. National Phase of International Patent Application No. PCT/EP2017/059558, filed on 21 Apr. 2017, which claims benefit of German Patent Application No. 102016004836.0, filed on 24 Apr. 2016, the contents of which are incorporated herein by reference in their entirety.

BACKGROUND

Field

The invention relates to a method of controlling a robot system as well as a robot system.

Related Art

The robot system in this case includes a robot with components driven by actuators; sensors for sensing a current state of the robot; a central control unit, which executes a current control program for controlling and coordinating the robot system; one or more user interfaces; wherein the user interfaces and the control unit are configured for modifying the current control program during the execution thereof into a modified control program; and one or more processor units, which execute services for the central control unit. The robot, the sensors, the central control unit, the user interfaces, and the processor units in this case communicate with one another over a dynamic data network, which is possibly time-variant.

Especially when robots of such robot systems with components driven by actuators can interact with humans, it is necessary, for increasing safety, that the current control program be correctly executable and sturdy, and have almost no errors that could lead to undesirable robot states that are hazardous to humans, and/or the environment, and/or the robot.

SUMMARY

The object of the invention is to provide an improved method of controlling a robot system as well as a robot system that has increased, i.e., improved, safety when executing a control program.

The invention results from the features of the main claims. Advantageous further embodiments and designs are the subject matter of the dependent claims. Further features, application options, and advantages of the invention result from the following description, and explanation, of example embodiments of the invention, which are represented in the figures.

A first aspect of the invention relates to a method of controlling a robot system, wherein the robot system includes the following components: a robot ROBO with elements driven by actuators; first sensors S1ifor sensing a current robot state Zrobo(t), where i=1, . . . , I; a central control unit ZSE, which executes a current control program SP(t) for controlling and coordinating the robot system; one or more user interfaces NSp, which, together with the control unit, are configured for modifying the current control program SP(t), during the execution thereof at a time t1, into a modified control program SP(t)=SP*(t for t>t1), where p=1, . . . , P; and one or more processor units PEr, which execute services MPSrfor the central control unit ZSE and/or for one or more of the other components of the robot system, where r=1, . . . , R.

The term “current robot state Zrobo(t)” is understood to be broadly formulated. It includes, inter alia, mechanical, dynamic, electric, and data-based, time-dependent states of the robot. Furthermore, the term includes states of the robot independent of time such as, for example, the mechanical setup state/configuration thereof, etcetera.

The control unit ZSE is advantageously designed as a computer or processor, which controls and coordinates the robot system, with all of its listed components, based on the current control program SP(t).

The term “a current control program SP(t)” is understood to be a sequence of instructions that satisfies the rules of a certain control programming language. The control program SP(t) may include auxiliary control programs, so-called apps (application software), etcetera.

The central control unit ZSE is connected to one or more processor units PEr, which execute services MPSrfor the central control unit ZSE, where r=1, . . . , R.

The term “processor units PEr” is understood to be broadly formulated. It essentially includes all units having their own processor, i.e., their own data processing, which provides, in the broadest of terms, a “service” for the robot system and/or for one or more of its components. These services are characterized in this case as services MPSr. They depend particularly on the type of the respective processor units PEr.

Thus, a processor unit PErmay exclusively further process data coming from the control unit ZSE and/or other components of the robot system, for example, show data or the further processing results thereof, or generate an action, a service, etc. based on the data coming from the control unit ZSE and/or other components of the robot system. Particularly, output units for outputting optical, tactile, and/or acoustic information fall into this category of processor units.

Furthermore, a processor unit PErcan further process data coming from the control unit ZSE and/or other components of the robot system, and transmit the result of the further processing to the control unit ZSE and/or to the other components. In this variant, multiple processor units PErarranged in a dispersed manner are joined together to provide an increased computing capacity, in order to enable, for example, complex computations in a short period of time. In this variant, time-parallel, diverse tasks may be further executed by various processor units PEr, the results of which are transmitted to the control unit ZSE and/or to other components of the robot system for further processing.

Finally, a processor unit PErmay exclusively generate data itself, which are transmitted to the control unit ZSE and/or to other components of the robot system. This category includes, for example, all sensor systems that acquire, optionally pre-process, and transmit measurement data to the control unit ZSE and/or to other components of the robot system over their own interface.

User interfaces NSpare advantageously equipped with a monitor/display and an interface for manual and/or acoustic input of data and information. The user interfaces NSpare advantageously, for example, computer terminals, notebooks, and smart phones. The user interfaces NSpand the control unit ZSE are configured for modifying the current control program SP(t), during the execution thereof at a time t1, into a modified control program SP(t)=SP*(t for t>t1), wherein changes entered via the user interfaces NSpare advantageously implemented sequentially in the current control program SP(t), where p=1, . . . , P. The formula SP(t)=SP*(t for t>t1) means that the current control program, which is always characterized with SP(t), is specified by the control program SP*(t for t>t1), starting at the time t1.

According to the invention, the robot, the first sensors S1i, the central control unit ZSE, the user interfaces NSp, and the processor units PErrare connected to one another over a possibly dynamic and/or time-variant data network DN such that corresponding data communication can take place among the components of the robot system.

Advantageously, the individual components of the robot system communicate over electrical and/or optical data lines. The data exchanged among components are advantageously encrypted.

The robot ROBO can accept robot states Zroboaccording to the invention, wherein the following applies: ZroboϵZrobo,totalandZrobo,totaldefines a state space, which indicates the quantities of all possible robot states, and wherein a state spaceZrobo,permittedis further specified, which defines the quantity of all permitted robot states Zrobo,permitted, wherein the following applies: Zrobo,permittedϵZrobo,permittedandZrobo,permitted⊆Zrobo,total.

The first sensors S1ican accept sensor states ZS1,iaccording to the invention, wherein the following applies: ZS1,iϵZS1,i,totalandZS1,i,totaldefines a state space, which indicates the quantities of all possible sensor states, and wherein a state spaceZS1,i,permittedis further specified, which defines the quantity of all permitted sensor statesZS1,i,permitted, wherein the following applies: ZS1,i,permittedϵZS1,i,permittedandZS1,i,permitted⊆ZS1,i,total.

The control unit ZSE can accept control unit states ZZSEaccording to the invention, wherein the following applies: ZZSEϵZZSE,totalandZZSE,totaldefines a state space, which indicates the quantities of all possible control unit states, and wherein a state spaceZZSE,permittedis further specified, which defines the quantity of all permitted control unit states ZZSE,permitted, wherein the following applies: ZZSE,permittedϵZZSE,permittedandZZSE,permitted⊆ZZSE,total,

The user interfaces NSpcan accept user interface states ZNS,paccording to the invention, wherein the following applies: ZNS,pϵZNS,p,totalandZNS,p,totaldefines a state space, which indicates the quantities of all possible user interface states, and wherein a state spaceZNS,p,permittedis further specified, which defines the quantity of all permitted user interface states ZNS,p,permitted, wherein the following applies: ZNS,p,permittedϵZNS,p,permittedandZNS,p,permitted⊆ZNS,p,total.

The processor units PErrcan accept processor states ZPE,raccording to the invention, wherein the following applies: ZPE,rϵZPE,r,totalandZPE,r,totaldefines a state space, which indicates the quantities of all possible processor states, and wherein a state spaceZPE,r,permittedis further specified, which defines the quantity of all permitted processor states ZPR,r,permitted, wherein the following applies: ZPE,r,permittedϵZPE,r,permittedandZPE,r,permitted⊆ZPE,r,total.The term “processor state” here is understood to be broadly formulated. It includes, for example, all electric, mechanical, temperature-dependent, data-related, operating, etc. states of the processor units PErthat are technically ascertainable.

The services MPSrcan accept service states ZMPS,raccording to the invention, wherein the following applies: ZMPS,rϵZMPS,r,totalandZMPS,r,totaldefines a state space, which indicates the quantities of all possible service states, and wherein a state spaceZMPS,r,permittedis further specified, which defines the quantity of all permitted service states ZMPS,r,permitted, wherein the following applies: ZMPS,r,permittedϵZMPS,r,permittedandZMPS,r,permitted⊆ZMPS,r,total. The term “service state” here is understood to be broadly formulated. It includes, for example, all electric, mechanical, temperature-dependent, data-related, operating, etc. states of a service MPSrthat are technically ascertainable.

According to the invention, the date network DN can potentially accept dynamic and/or time-variant data network states Zdata, wherein the following applies: ZdataϵZdata,totalandZdata,totaldefines a state space, which indicates the quantities of all possible data network states, and wherein a state spaceZdata,permittedis further specified, which defines the quantity of all permitted data network states Zdata,permitted, wherein the following applies: Zdata,permittedϵZdata,permittedandZdata,permitted⊆Zdata,total. The term “data network state” here is understood to be broadly formulated. It includes, for example, all electric, mechanical, temperature-dependent, data-related, operating, etc. states of the data network DN that are technically ascertainable.

The proposed method includes the following steps: predictively testing, during the execution of the current control program SP(t), to determine whether a complete execution of the current control program SP(t) will lead to an error state, wherein the error state is defined such that the execution of the current control program SP(t) leads to a:robot state Zrobo, to which the following applies: Zrobo∉Zrobo,permittedand/orsensor state ZS1,i, to which the following applies: ZS1,i∉ZS1,i,permittedand/orcontrol unit state ZZSE, to which the following applies: ZZSE∉ZZSE,permittedand/orprocessor state ZPE,r, to which the following applies: ZPR,r∉ZPR,r,permittedand/orservice state ZMPS,r, to which the following applies: ZMPS,r∉ZMPS,r,permittedand/oruser interface state ZNS,p, to which the following applies: ZNS,p∉ZNS,p,permittedand/ordata network state Zdata(t), to which the following applies: Zdata∉Zdata,permitted
and, if such an error state is predicted during the testing, executing one or more of the following listed actions:automatic modifying of the current control program SP(t) such that no error state is determined with a new predictive test, and execution of the automatically, correspondingly modified control program SP(t);generating a prompt to modify the current control program SP(t) on one or all user interfaces NSp;generating an optical or acoustic warning;stopping the execution of the current control program SP(t);activating the robot ROBO to take on a predefined standby state;

The proposed method thus executes a predictive test for each current control program SP(t) to determine whether an execution of the complete or to-be-processed current control program SP(t) will lead to an error state. In doing so, a modified current control program SP(t) does not have to be executed completely, which means that this test will have a predictive character. That is, it is not a requirement to wait until the current control program SP(t) generates an error during its execution; instead, these potential errors states can be detected in advance with the present method. This particularly ensures that the robot system will not enter a state that threatens safety. This is particularly advantageous for robot systems including a robot, which interacts with humans and/or dynamic environments.

This predictive test advantageously takes place at the same time as the execution of the current control program SP(t) and advantageously particularly for the part of the control program yet to be processed. In a preferred alternative, this test is executed for the entire modified current control program after a change to the current control program.

An advantageous refinement of the proposed method is characterized in that the state spacesZrobo,permitted,ZS1,i,permitted,ZZSE,permitted,ZPR,r,permitted,ZMPS,r,permitted,ZNS,p,permitted,Zdata,permittedare defined as a function of an output/action, which is intended to be executed by the robot ROBO by using the control program SP(t). This enables a specification of the state spaces optimized to the task and/or action executable by a robot, and thus a specific definition of error states as a function of the task and/or action.

An advantageous refinement of the proposed method is characterized in that the control program SP(t) is introspective, i.e., that the control program SP(t) recognizes its own structure and can modify it.

Advantageously, the data network state Zdataconsiders one or more of the following parameters:physical availability of the components: robot ROBO, first sensors S1icentral control unit ZSE, user interfaces NSp, and processor units PErin the data network DN;a current communication state among the components;data and signal runtimes among the components; andchronological and causal limitations of a data exchange among the components.

Advantageously, the robot state Zroboconsiders one or more of the following parameters:current physical configuration of the robot ROBO;a dynamic state of the robot ROBO;an electric state of the robot ROBO; andinteraction(s) of the robot ROBO with an environment.

Advantageously, the processor state ZPE,rconsiders one or more of the following parameters:service or algorithm currently being executed on the processor unit;current performance of the service or algorithm being executed on the processor unit;available processor capacity of the processor unit;current load of the processor unit;available working memory of the processor unit;state of the control bus of the respective processor unit;architecture of the processor unit;command set of the processor unit; andcycling of the processor unit.

Advantageously, the service state ZMPS,rconsiders one or more of the following parameters:a current physical/mechanical configuration of the robot ROBO;a dynamic state of the robot ROBO;an electric state of the robot ROBO; andinteraction(s) of the robot ROBO with an environment.

The invention further relates to a computer system with a data processing device, wherein the data processing device is designed such that a previously described method is executed on a data processing device.

The invention further relates to a digital memory medium with electronically readable control signals, wherein the control signals can cooperate with a programmable computer system such that a previously described method is executed.

The invention further relates to a computer program product with a memory code, stored on a machine-readable carrier, for executing a previously described method when the program code is executed on a data processing device.

The invention further relates to a computer program with program codes for executing a previously described method when the program is running on a data processing device. To this end, the data processing device may be designed as any computer system known from the prior art.

Finally, the invention relates to a robot system, including the following components:

a robot ROBO with elements driven by actuators; first sensors S1ifor sensing a current robot state Zrobo(t), where i=1, . . . , I; a central control unit ZSE, which executes a current control program SP(t) for controlling the robot system; one or more user interfaces NSp, where p=1, . . . , P; one or more processor units PEr, which execute services MPSrfor the central control unit ZSE and/or for one or more of the other components of the robot system, where r=1, . . . , R; wherein the robot ROBO, the first sensors S1i, the central control unit ZSE, the user interfaces NSp, and the processor units PErcommunicate with each other over a data network DN; and wherein the central control unit ZSE and the user interfaces NSpare configured for modifying the current control program SP(t), during the execution thereof at a time t1, into a modified control program SP(t)=SP*(t for t>t1).

According to the invention, the robot ROBO can accept robot states Zrobo, wherein the following applies: ZroboϵZrobo,totalandZrobo,totaldefines a state space, which indicates the quantities of all possible robot states, and wherein a state spaceZrobo,permittedis further specified, which defines the quantity of all permitted robot states Zrobo,permitted, wherein the following applies: Zrobo,permittedϵZrobo,permittedlandZrobo,permitted⊆Zrobo,total.

According to the invention, the first sensors S1ican accept sensor states ZS1,i, wherein the following applies: ZS1,iϵZS1,i,totalandZS1,i,totaldefines a state space, which indicates the quantities of all possible sensor states, and wherein a state spaceZS1,i,permittedis further specified, which defines the quantity of all permitted sensor states ZS1,i,permitted, wherein the following applies: ZS1,i,permittedϵZS1,i,permittedandZS1,i,permitted⊆ZS1,i,total.

According to the invention, the control unit ZSE can accept control unit states ZZSE, wherein the following applies: ZZSEϵZZSE,totalandZZSE,totaldefines a state space, which indicates the quantities of all possible control unit states, and wherein a state spaceZZSE,permittedis further specified, which defines the quantity of all permitted control unit states ZZSE,permitted, wherein the following applies: ZZSE,permittedϵZZSE,permittedandZZSE,permitted⊆ZZSE,total.

According to the invention, the user interfaces NSpcan accept user interface states ZNS,p, wherein the following applies: ZNS,pϵZNS,p,totalandZNS,p,totaldefines a state space, which indicates the quantities of all possible user interface states, and wherein a state spaceZNS,p,permittedis further specified, which defines the quantity of all permitted user interface states ZNS,p,permitted, wherein the following applies: ZNS,p,permittedϵZNS,p,permittedandZNS,p,permitted⊆ZNS,p,total

According to the invention, the processor units PErr205can accept processor states ZPE,r, wherein the following applies: ZPE,rϵZPE,r,totalandZPE,r,totaldefines a state space, which indicates the quantities of all possible processor states, and wherein a state spaceZPE,r,permittedis further specified, which defines the quantity of all permitted processor states ZPR,r,permitted, wherein the following applies: ZPE,r,permittedϵZPE,r,permittedandZPE,r,permitted⊆ZPE,r,total.

According to the invention, the services MPSrcan accept service states ZMPS,r, wherein the following applies: ZMPS,rϵZMPS,r,totalandZMPS,r,totaldefines a state space, which indicates the quantities of all possible service states, and wherein a state spaceZMPS,r,permittedis further specified, which defines the quantity of all permitted service states ZMPS,r,permitted, wherein the following applies: ZMPS,r,permittedϵZMPS,r,permittedandZMPS,r,permitted⊆ZMPS,r,total.

According to the invention, the data network DN can accept data network states Zdata, wherein the following applies: ZdataϵZdata,totalandZdata,totaldefines a state space, which indicates the quantities of all possible data network states, and wherein a state spaceZdata,permittedis further specified, which defines the quantity of all permitted data network states Zdata,permitted, wherein the following applies: Zdata,permittedϵZdata,permittedandZdata,permitted⊆Zdata,total.

The control unit ZSE of the proposed robot system is further executed and configured such that the following operations are executed:predictively testing, during or before the execution of the current control program SP(t), to determine whether a complete execution of the current control program SP(t) will lead to an error state, wherein the error state is defined such that the execution of the current control program SP(t) leads to a:robot state Zrobo, to which the following applies: Zrobo∉Zrobo,permittedand/orsensor state ZS1,i, to which the following applies: ZS1,i∉ZS1,i,permittedand/orcontrol unit state ZZSE, to which the following applies: ZZSE∉ZZSE,permittedand/orprocessor state ZPE,r, to which the following applies: ZPR,r∉ZPR,r,permittedand/orservice state ZMPS,r, to which the following applies: ZMPS,r∉ZMPS,r,permittedand/oruser interface state ZNS,p, to which the following applies: ZNS,p∉ZNS,p,permittedand/ordata network state Zdata(t), to which the following applies: Zdata∉Zdata,permitted.

If such an error state is predicted during the testing, the control unit initiates execution of one or more of the following listed actions:automatically modifying of the current control program SP(t) such that no error state is determined with a new predictive test, and executing the automatically, correspondingly modified control program SP(t);generating a prompt to modify the current control program SP(t) on one or all user interfaces NSp;generating an optical or acoustic warning;stopping the execution of the current control program SP(t); andactivating the robot ROBO to take on a predefined standby state.

Advantages and advantageous refinements of the proposed robot system result from an analogous and corresponding transfer of the statements made regarding the proposed method.

Other advantages, features, and details result from the following description, in which at least one exemplary embodiment is described in detail—optionally with reference to the drawing. Equivalent, similar, and/or functionally equivalent parts have been given the same reference numbers.

