ROBOT CONTROL SYSTEM, ROBOT AND ROBOT CONTROL METHODS
Patent Information
- Application Number
- DE102024201523
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-21
- Filing Date
- 2024-02-20
- Publication Date
- 2025-02-27
Smart Images

Figure 00000021_0000 
Figure 00000022_0000 
Figure 00000023_0000
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to a robot control system, a robot, and a robot control method, and more particularly to technologies that enable a control cloud and a robot to cooperate with each other. BACKGROUND
[0002] Since signal intensity may not reach an autonomous service robot depending on the wireless network infrastructure, the service robot may be in an offline state. To manage the offline state, different coverage scenarios may be applicable depending on the type of service the robot provides.
[0003] For example, a delivery robot may use a 5th generation (5G) or a Long Term Evolution (LTE) network provided by an internet service provider (ISP). In a situation where there is a partial shadow area, such as the interior of an elevator, the delivery robot may be able to perform delivery to a destination in an offline state. Furthermore, a sentry robot of a smart factory may apply an offline scenario by waiting in a halt state or moving to a safe location to avoid a collision with another moving robot in an offline situation.
[0004] A robot control system may perform an operation offline because an external control cloud manages a robot's scenario engine, or it may be difficult to detect or control a state in real time because the robot's scenario engine is embedded in the robot.
[0005] To solve these problems, a technology must be developed that allows a workflow engine to be loaded into a control cloud and a robot, and that enables the control cloud and the robot to collaborate with each other. DEPICTION
[0006] According to the present disclosure, a system may comprise: a communication device and a controller configured to communicate with a robot having a first workflow engine over a network via the communication device, wherein the controller may comprise a second workflow engine and is further configured to: determine a state of the robot and a state of the network, transmit a command and / or a scenario to the robot, based on the state of the robot being in a first state, cause the robot to: receive a task group from the controller and execute a command associated with the command, wherein the command is associated with at least one task of the task group, and based on the state of the robot being a second state, cause the robot to: receive the scenario from the controller,applies the scenario to the first workflow engine to obtain a plurality of tasks and perform an operation associated with the plurality of tasks.
[0007] The system, wherein the controller is configured to: apply a first scenario to the second workflow engine to obtain a first task group based on the state of the robot being the first state, and transmit to the robot a command associated with at least one task of the first task group.
[0008] The system, wherein the controller is configured to: generate a first exception scenario different from the first scenario based on the state of the network, apply the first exception scenario to the second workflow engine to obtain a first exception task group, transmit to the robot a command associated with at least one task of the first exception task group, and monitor the state of the robot during execution of the command associated with the at least one task of the first exception task group.
[0009] The system, wherein the controller is configured to: generate a representative scenario comprising a second scenario and a second exception scenario based on the state of the robot being the second state, and transmit the representative scenario to the robot.
[0010] The system, wherein the controller is configured to cause the robot to: apply the second scenario in the representative scenario received from the controller to the first workflow engine to obtain a second task group, and apply the second exception scenario to the first workflow engine to obtain a second exception task group based on: an occurrence of an exception situation associated with the second exception scenario and an operation associated with at least one task of the second task group.
[0011] The system, wherein the controller is configured to cause the robot to transmit the results of performing the at least one task of the second task group and the at least one task of the second exception task group to the controller based on performing: the operation associated with the at least one task of the second task group and an operation associated with the at least one task of the second exception task group.
[0012] The system, wherein the controller is configured to: apply a third scenario to the second workflow engine to obtain a third task group based on the state of the robot being a third state different from the first state and the second state, and transmit to the robot and through a first channel of the controller at least one task of the third task group.
[0013] The system, wherein the controller is configured to cause the robot to: perform an operation associated with at least one task of the third task group, wherein the at least one task of the third task group is received by the controller in the third state, and to transmit the state of the robot and the state of the network to a second channel of the controller.
[0014] The system, wherein the controller is configured to: determine whether the state of the robot is an exceptional state based on the state of the robot and the state of the network, wherein the state of the robot and the state of the network are received by the robot; transmit a process stop command to the robot via the first channel based on the state of the robot being the exceptional state; and apply a third exceptional scenario to the second workflow engine to obtain a third exceptional task group. The system, wherein the first state may include a state in which a connection state of the network between the robot and the controller is established, and wherein the second state may include a state in which the connection state of the network between the robot and the controller is not established.
[0015] According to the present disclosure, a robot may comprise: a communication device configured to communicate with a control system, a workflow engine configured to receive a task group, at least one processor, and a memory storing instructions that, when executed by the at least one processor, cause the robot to: in a first state of the robot: receive a first task group from the control system via the communication device and perform an operation associated with a command, the command being associated with at least one task of the first task group, and in a second state of the robot: receive a scenario from the control system via the communication device, apply the scenario to the workflow engine to obtain a second task group, and perform an operation,which is assigned to at least one task of the second task group, and in a third state of the robot: to receive a third task group from the control system via the communication device and to perform an operation which is assigned to at least one task of the third task group.
[0016] The robot, wherein the instructions, when executed by the at least one processor, cause the robot to: apply a second scenario in the scenario received from the control system, in the second state of the robot, to the workflow engine to obtain the second task group, and apply a second exception scenario in the scenario to the workflow engine to obtain a second exception task group based on: an occurrence of an exception situation and an operation associated with at least one task of the second task group.
[0017] The robot, wherein the instructions, when executed by the at least one processor, cause the robot to: communicate to the control system results of performing the at least one task of the second task group and the at least one task of the second exception task group based on: the operation associated with the at least one task of the second task group and an operation associated with the at least one task of the second exception task group.
[0018] In the robot, the instructions, when executed by the at least one processor, may cause the robot to transmit a state of the robot and a state of a network to the control system. In the robot, the first state may include a state in which a connection state of a network between the robot and the control system is established, and the second state may include a state in which the connection state of the network between the robot and the control system is not established.
[0019] According to the present disclosure, a method performed by a control system may comprise the steps of: determining a state of a robot and a state of a network at different times, transmitting a command and / or a scenario to the robot based on the state of the robot being a first state at one time: sending a task group to the robot and causing the robot to perform an operation associated with the command, wherein the command is associated with at least one task of the task group, based on the state of the robot being a second state at another time: sending the scenario to the robot, causing the robot to apply the scenario to a workflow engine of the robot to obtain a plurality of tasks, and causing the robot to perform an operation associated with the plurality of tasks.
[0020] The method may further comprise: applying a first scenario to a second workflow engine of the control system to obtain a first task group based on the state of the robot being the first state, transmitting a command associated with at least one task of the first task group to the robot, generating a first exception scenario that differs from the first scenario based on the state of the network, applying the first exception scenario to the second workflow engine to obtain a first exception task group, transmitting a command associated with at least one task of the first exception task group to the robot, and monitoring the state of the robot during the execution of the command associated with the at least one task of the first exception task group.
[0021] The method may further comprise: generating a representative scenario, which may include a second scenario and a second exception scenario, based on the state of the robot being the second state, transmitting the representative scenario to the robot, causing the second scenario to be applied in the representative scenario sent by the control system to a first workflow engine to obtain a second task group, causing the second exception scenario to be applied to the first workflow engine to obtain a second exception task group based on: an occurrence of an exception situation associated with the second exception scenario and an operation associated with at least one task of the second task group,and receiving results of the execution of the at least one task of the second task group and at least one task of the second exception task group based on: the operation associated with the at least one task of the second task group and an operation associated with the at least one task of the second exception task group.,
[0022] The method may further comprise: applying a third scenario to a second workflow engine of the control system to obtain a third task group based on the state of the robot being a third state that is different from the first state and the second state, transmitting at least one task of the third task group to the robot via a first channel of the control system, initiating an operation associated with the at least one task of the third task group, wherein the at least one task of the third task group is sent by the control system in the third state, and receiving the state of the robot and the state of the network via a second channel of the control system.
[0023] The method may further comprise: determining whether the state of the robot is an exceptional state based on the state of the robot and the state of the network, wherein the state of the robot and the state of the network are received by the robot, transmitting a process stop command to the robot via the first channel based on the state of the robot being the exceptional state, and applying a third exceptional scenario to the second workflow engine to obtain a third exceptional task group. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description taken in conjunction with the accompanying drawings: Fig. 1 shows an example of a robot control system according to an example of the present disclosure; Fig. 2 shows an example of a robot control method according to an example of the present disclosure; Fig. 3 shows an example of a control cloud and a robot in a robot control system according to an example of the present disclosure; Fig. 4 shows an example of a method for controlling a robot in a first state in a robot control system according to an example of the present disclosure; Fig. 5 shows an example of a method for controlling a robot in a second state in a robot control system according to an example of the present disclosure; Fig. 6 shows an example of a method for controlling a robot in a third state in a robot control system according to an example of the present disclosure; Fig. 7A, Fig. 7B and Fig. 7C show examples of a method for replacing a task in a third state in a robot control system according to an example of the present disclosure; Fig. 8 shows an example of a method for processing a task in a robot control system according to an example of the present disclosure; and Fig. 9 shows an example of a computer system associated with a robot control system or a robot control method according to an example of the present disclosure.
[0025] With regard to the description of the drawings, the same or similar designations may be used for the same or similar components. DETAILED DESCRIPTION
[0026] Below, some examples of the present disclosure will be described in detail with reference to the exemplary drawings. Throughout the drawings, the same reference numerals are used to designate the same or equivalent components. Furthermore, a detailed description of well-known features or functions will be omitted in order not to unnecessarily obscure the spirit of the present disclosure. Below, various examples of the present disclosure will be described with reference to the accompanying drawings. It is to be noted that this is not intended to limit the present disclosure to particular embodiments, and that it includes various modifications, equivalents, and / or alternatives of examples of the present disclosure. With reference to the description of the drawings, similar parts or components may be identified by similar reference numerals.
[0027] When describing components of examples of the present disclosure, the terms first, second, A, B, (a), (b), and the like may be used herein. These terms are used only to distinguish one component from another component, but do not limit the corresponding components, regardless of the order or priority of the corresponding components. Furthermore, unless otherwise defined, all terms used herein, including technical and scientific terms, are to be interpreted as is customary in the art to which the present disclosure belongs.It is understood that the terms used herein should be interpreted to have a meaning consistent with their meaning in the context of the present disclosure and the relevant prior art, and should not be interpreted in an idealized or overly formal sense unless expressly defined as such herein. For example, terms used in the present disclosure such as "first," "second," "1st," "2nd," or the like may be used to refer to various components, regardless of order and / or priority, and to distinguish one component from another component, but do not limit the components. For example, a first user device and a second user device refer to different user devices, regardless of order and / or priority.For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.
[0028] In the present disclosure, the terms "have", "may have", "comprise" and "have" or "may include" and "may have" indicate the presence of corresponding features (e.g., components such as numerical values, functions, operations, or parts), but do not preclude the presence of additional features.
[0029] When a component (e.g., a component) is referred to as being "(operatively or communicatively) coupled to" or "connected to" another component (e.g., a second component), it may be directly coupled or connected to the other component, or there may be an intervening component (e.g., a third component). On the other hand, when a component (e.g., a first component) is referred to as being "directly coupled to" or "directly connected to" another component (e.g., a second component), it is noted that no intervening component (e.g., a third component) is present.
[0030] According to the situation, the term “configured to” used in the present disclosure may be used interchangeably with, for example, the terms “suitable for,” “capable of,” “arranged to,” “designed for,” “made for,” or “capable of.”
[0031] The term "configured to" does not necessarily mean "specifically designed" in hardware. Instead, the phrase "a device configured to" mean that the device "can" work together with another device or other parts. For example, a "processor configured to perform A, B, and C" may mean a general-purpose processor (e.g., a central processing unit (CPU) or an application processor) that can perform corresponding operations by executing one or more software programs, a specialized processor (e.g., an embedded processor) for performing a corresponding operation, or a memory device. The singular includes the plural unless the context clearly indicates otherwise.All terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by a person trained in the field described in the present disclosure. It is further understood that terms defined in a dictionary and commonly used should also be interpreted as is customary in the relevant related art, and not in an idealized or overly formal form, unless expressly defined so herein in various examples of the present disclosure. In some cases, even if terms are terms defined in the description, they should not be interpreted to exclude examples of the present disclosure.
[0032] In the present disclosure, the terms "A or B," "at least one of A and / or B," or "one or more of A and / or B," and the like may include any and all combinations of the associated listed elements. For example, the term "A or B," "at least one of A and B," or "at least one of A or B" may refer to all cases (1) where at least one A is included, to the case (2) where at least one B is included, or to the case (3) where both at least one A and at least one B are included.Furthermore, in describing an example of the present disclosure, each of the phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B, or C," "at least one of A, B, and C," "at least one of A, B, or C," and "at least one of A, B, or C, or any combination thereof" may include any or all possible combinations of the elements enumerated together in a corresponding one of the phrases. In particular, the phrase "at least one of A, B, or C, or a combination thereof" may include "A," "B," or "C," or "AB" or "ABC," which are a combination thereof.
[0033] Examples of the present disclosure are described below with reference to Fig. 1 to 9 are described in detail.
[0034] Fig. 1 shows an example of a robot control system according to an example of the present disclosure.
[0035] The robot control system according to an example may include a robot 100 and a control cloud 140.
[0036] According to one example, the robot 100 may include a processor 110, a memory 120 with instructions 122, and a communication device 130. The robot 100 may, for example, include a first workflow engine.
[0037] For example, a workflow engine (for example, the first workflow engine and a second workflow engine) may specify software components that help automate a business process. The workflow engine may provide functionality for defining and executing a process and managing and controlling the flow of the process. The workflow engine may receive a scenario as input and output a set of tasks based on the received scenario.
[0038] For example, the scenario may include a plurality of tasks, a branch point between the tasks, a connection between the task and the branch, and an event for handling an exception (e.g., an error, an expiration, or the like). The task may be a work unit of the scenario, which may specify an operation set of a predetermined robot. Furthermore, the robot 100 may perform an operation related to the task and perform a subsequent operation based on the information contained in the branch point.
[0039] In a first state, the robot 100 may perform an operation on a command for each of the at least one tasks included in the task group, which is received from the control cloud 140. Furthermore, in a second state, the robot 100 may perform an operation on tasks obtained by applying the scenario received from the control cloud 140 to the first workflow engine. Furthermore, in a third state, the robot 100 may perform an operation on a command of each of at least one task received from the control cloud 140. A detailed method in which the robot 100 performs the operation in each of the first states, the second state, and the third state will be described below with reference to Fig. 4 to 6 are described in detail.
[0040] For example, the first state may include a state in which a connection state of a network between the robot 100 and the control cloud 140 is ensured to be always online. In other words, the first state may include that an environment in which the robot 100 performs an operation related to a command and a task is mainly in an online state. The second state may include a state in which the connection state of the network between the robot 100 and the control cloud 140 is ensured to be not always online. In other words, the second state may include that the environment in which the robot 100 performs the operation related to the command and the task is mainly in an offline state.The third state may include, for example, a partial offline state in an exceptional situation, assuming that the connection state of the network between the robot 100 and the control cloud 140 is an online state. Since the robot 100 performs an operation in each of the three states (first state, second state, and third state), a detailed description of the first to third states will be given below with reference to FIG. Fig. 4 to 6 are indicated.
[0041] Processor 110 can execute software and control at least one other component (e.g., a hardware or software component) connected to processor 110. Processor 110 can also perform various data processing or computations. For example, processor 110 can store a task, a scenario, and an instruction in memory 120.
[0042] For example, processor 110 may perform all operations performed by robot 100. Therefore, for simplicity, the description will primarily describe the operation performed by robot 100 as an operation performed by processor 110. For simplicity, the description will primarily describe processor 110 as a processor, but is not limited thereto. For example, robot 100 may include at least one processor. Each of the at least one processor may perform all operations associated with an operation related to a task, a scenario, and a command.
[0043] The memory 120 can temporarily and / or permanently store various data and / or information required to control the robot 100. For example, the memory 120 can store a task, a scenario, and a command.
[0044] The communication device 130 may assist in performing communication between the robot 100 and the control cloud 140. For example, the communication device 130 may include one or more components for performing communication between the robot 100 and the control cloud 140. For example, the communication device 130 may include a short-range wireless communication unit, a microphone, or the like. At this time, a short-range communication technology may be, but is not limited to, wireless LAN (Wi-Fi), Bluetooth, ZigBee, Wi-Fi Direct (WFD), ultra-wideband (UWB), infrared data link (IrDA), Bluetooth Low Energy (BLE), near-field communication (NFC), or the like.
[0045] The control cloud 140 may be connected to the robot 100 via a network, may include the second workflow engine, and may display a cloud for controlling the robot 100. For example, the control cloud 140 may determine a state of the robot 100 and a state of the network (e.g., a connection between the robot 100 and the control cloud 140) and transmit at least one command or scenario to the robot 100. A detailed description of the robot 100 and the control cloud 140 included in the robot control system will be described below with reference to Fig. 3 described.
[0046] Fig. 2 shows an example of a robot control method according to an example of the present disclosure.
[0047] In S210, a robot (for example, a robot 100 from Fig. 1) in a first state, perform an operation on a command from each of a plurality of tasks initiated by a control cloud (for example, a control cloud 140 from Fig. 1). For example, the robot may perform an operation in a control cloud driving scheme. In other words, in the first state (that is, a state where a connection state between the control cloud and a network is ensured online), the robot may only receive one command from each of the plurality of tasks from the control cloud to perform an operation on the command.
[0048] The control cloud may determine a state of the robot and apply a first scenario to a second workflow engine to obtain a first task group based on the determined result (i.e., the result for which the robot's state is the first state). The control cloud may transmit a command from each of the at least one task included in the received first task group to the robot. The robot may receive only the command from each of the at least one task that is the result of the scenario processed by the control cloud and thus perform an operation on the command.
[0049] If the state of the robot is the first state, the robot control system can immediately correct a scenario and consider the scenario in real time in the control cloud driving scheme, can perform convenient maintenance to control the robot, and can monitor the robot in real time to respond to an unexpected problem (for example, an exceptional situation).
[0050] In S220, the robot in a second state may perform an operation on tasks obtained by applying the scenario received from the control cloud to a first workflow engine. For example, in the second state, the robot may perform an operation in a robot driving scheme. In other words, the robot may receive the scenario from the control cloud to perform the operation on the tasks in the second state (ie, a state in which the connection state between the control cloud and the network is not ensured to be online).
[0051] The control cloud may determine a state of the robot and apply a second scenario to the robot based on the determined result (i.e., the result where the robot's state is the second state). The robot may apply the received second scenario to the first workflow engine to obtain a second task group. The robot may perform an operation on at least one task included in the received second task group.
[0052] If the state of the robot is the second state, the robot control system can extend convergence of a robot operation even in an offline environment and in an environment where the network is unstable.
[0053] In S230, the control cloud may determine a state of the robot and a state of a network and transmit at least one of the commands or the scenario to the robot. For example, if the state of the robot is the first state, the control cloud may transmit the command to the robot. If the state of the robot is the second state, the control cloud may transmit the scenario to the robot. However, the goal and condition transmitted from the control cloud to the robot are not limited to this. For example, the control cloud may transmit the scenario to the robot when the state of the robot is the first state, and may transmit the command to the robot when the state of the robot is the second state.Therefore, for the convenience of description in the description, it is mainly described that the control cloud can transmit the command to the robot when the state of the robot is the first state, and can transmit the scenario to the robot when the state of the robot is the second state.
[0054] Fig. 3 shows an example of a control cloud and a robot in a robot control system according to an example of the present disclosure.
[0055] The robot control system according to an example may include a robot 301 and a control cloud 311.
[0056] The robot 301 may include a robot agent 303, a database 305, and a first workflow engine 307. The robot agent 303 may apply a command, task, or scenario received from the control cloud 311 to the first workflow engine 307 on behalf of the robot 301.
[0057] In particular, the robot agent 303 may send a task or the like via a first channel (which may be designated as RSocket in Fig. 3) from a control server 313 of the control cloud 311.
[0058] When the robot agent 303 receives the scenario from the control server 313 via the first channel, it can apply the received scenario to the first workflow engine 307 to obtain a task group. The task group can include at least one task associated with the received scenario.
[0059] The robot agent 303 can store the received task group in the database 305. Furthermore, the robot agent 303 can use a second channel (for example, Kafka in Fig. 3) and a publish / subscribe function (Pub / Sub) send or receive data of a status or state of the running scenario.
[0060] The control cloud 311 may include the control server 313, a database 315, and a second workflow engine 317. Similar to the robot agent 303 of the robot 301, the control server 313 may, for example, apply a scenario to the second workflow engine 317 on behalf of the control cloud 311.
[0061] In particular, the control server 313 may transmit at least one scenario (e.g., first to third scenarios), one task group (e.g., first to third task group), or one command, or any combination thereof, to the robot 301 via the first channel.
[0062] For example, the first workflow engine 307 can be a workflow engine based on the Business Process Model and Notation (BPMN) in the same version as the second workflow engine 317. BPMN can, for example, be a standardized graphical notation for modeling and representing a business process. BPMN can be used to share the business process with various stakeholders and to represent the business process in a way that is easy to understand. BPMN can be a notation that describes the structure, flow, and interaction of the business process in detail and facilitates communication between stakeholders.As a result, a robot control system may have the BPMN-based workflow engine of the same version in the robot 301 and in the control cloud 311 and select driving in a control cloud scheme and driving in a robot driving scheme to respond to a robot service scheme and any exceptional situation, depending on driving settings of a scenario and a task.
[0063] Fig. 4 shows an example of a method for controlling a robot in a first state in a robot control system according to an example of the present disclosure.
[0064] The robot control system according to an example may control a robot based on a robot (for example, a robot 301 of Fig. 1) and a control cloud (for example, a control cloud 311 from Fig. 3) in a first state.
[0065] The first state may, for example, include a state in which the robot operates in an online state, such as robot movement, robot detection, or transmission of the detected result, in a factory where a Wi-Fi or LTE repeater is provided, or in an open area (such as a park) where there is no separate shadow area (such as an offline area). Therefore, the robot control system can configure a scenario that does not require a separate workflow engine to be controlled in the robot in the first state.
[0066] In S410, the control cloud can, for example, start a first scenario (for example, a wake-up scenario in Fig. 4). To this end, in S420, when the control cloud determines that the state of the robot is the first state, it may apply the first scenario (e.g., the awake scenario in the first state) to a second workflow to obtain a first task group of the awake scenario. The control cloud may transmit a command of each of the at least one task included in the first task group of the awake scenario to the robot. Specifically, the first task group of the awake scenario may include a point movement task No. 1, a detection task, a point movement task No. 2, and a detection task.
[0067] The control cloud can apply the first scenario (for example, the awake scenario in the first state) to the second workflow, provide a command, and control the robot to execute the command. Furthermore, the control cloud can change a task unit in real time if the network environment is favorable, and it can monitor a situation for the robot to execute a scenario in real time.
[0068] If the robot performs all the operations related to the previous first scenario (e.g., the awake scenario in the first state), the control cloud may start a subsequent first scenario (e.g., a charging scenario in the first state) in S430. If it is determined that the robot's state is the first state, the control cloud may transmit the subsequent first scenario (e.g., the charging scenario in the first state) directly to the robot.
[0069] In S440, the robot may apply the subsequent first scenario (e.g., the loading scenario in the first state) to the first workflow engine to obtain a first task group of the loading scenario. In particular, the first task group of the loading scenario may include a movement start task, a movement task for the loading location, and a loading start task.
[0070] For simplicity, the first scenario and the first task group are described in the description as targets transmitted / received between the robot and the control cloud if the robot's state is the first state. Specifically, the first scenario may include the awake scenario and the charging scenario if the robot's state is the first state. Furthermore, the first task group may include a task group of the awake scenario and a task group of the charging scenario. Therefore, the first scenario and the first task group are not limited to this.
[0071] The control cloud may monitor the robot in real time to respond to an immediate problem. For example, the control cloud may generate a first exception scenario different from the first scenario based on a state of a network. In other words, the first exception scenario may include at least one task for handling an exception situation of the first scenario. The control cloud may apply the first exception scenario to the second workflow engine to obtain a first exception task group. The control cloud may transmit a command from each of the at least one tasks included in the first exception task group. The control cloud may monitor a state of the robot executing the command from each of the at least one task included in the first exception task group.
[0072] Fig. 5 shows an example of a method for controlling a robot in a second state in a robot control system according to an example of the present disclosure.
[0073] The robot control system according to an example may include a robot based on a robot (for example, a robot 301 in Fig. 3) and a control cloud (for example a control cloud 311 in Fig. 3) in a second first state.
[0074] The second state may include, for example, boarding and alighting the elevator and entering and exiting the front door, an environment where a delivery robot service is performed indoors and outdoors, a case where there is a network bandwidth limitation or the like, such as boarding and alighting the elevator, moving the robot to the basement, and a case where there are many users using the same network and an unstable or frequently offline situation. Therefore, the robot control system can configure a scenario to have a task in a local environment of the robot, so that cooperation between the robot and the control cloud is not required in the second state.
[0075] In S510, the control cloud can, for example, start a second scenario (for example, a delivery scenario in Fig. 5). If it is determined that the robot's state is the second state, the control cloud can generate a representative scenario containing the second scenario (e.g., the delivery scenario in the second state) and a second exception scenario. The control cloud can transmit the representative scenario to the robot, for example, for each XML.
[0076] The second exception scenario may include at least one task for handling an exceptional situation of the second scenario if a predetermined exception occurs or if communication between the robot and the control cloud is not performed.
[0077] The robot may apply the second scenario (e.g., the delivery scenario in the second state) in the representative scenario received from the control cloud to a first workflow engine to obtain a second task group of the delivery scenario. If an exception situation associated with the second exception scenario occurs while performing an operation related to at least one task in the second task group, the robot may apply the second exception scenario to the first workflow engine to obtain a second exception task group.
[0078] The above-mentioned exceptional situation may include, for example, a situation where the network is offline after the robot enters and exits the elevator. In this case, the second exceptional scenario may include a TTS speech output task (for example, an information output task for exiting on the 3rd floor or an information output task for temporarily exiting the elevator), a task for changing the direction of the robot when exiting, and the like.
[0079] If the robot performs all operations related to the previous second scenario (e.g., the delivery scenario in the second state), the control cloud may start a subsequent second scenario (e.g., a charging scenario in the second state) in S530. To this end, if the control cloud determines that the robot's state is the second state, it may transmit the subsequent second scenario (e.g., the charging scenario in the second state) directly to the robot.
[0080] In S540, the robot may apply the subsequent second scenario (for example, the loading scenario in the second state) to the first workflow engine to obtain a second task group of the loading scenario.
[0081] For simplicity, the second scenario and the second task group are described in the description as targets transmitted / received between the robot and the control cloud when the robot's state is the second state. Specifically, when the robot's state is the second state, the second scenario may include the delivery scenario and the charging scenario. Furthermore, the second task group may include a task group of the delivery scenario and a task group of the charging scenario. Therefore, the second scenario and the second task group are not limited to this.
[0082] When performing an operation related to at least one task included in the second task group (for example, the second task group of the delivery scenario or the second task group of the loading scenario) and an operation related to at least one task included in the second exceptional task group, the robot may transmit the result of performing the at least one task included in the second task group and the performance of the at least one task included in the second exceptional task group to the control server.
[0083] Fig. 6 shows an example of a method for controlling a robot in a third state in a robot control system according to an example of the present disclosure.
[0084] The robot control system according to an example may control a robot based on a robot 600 and a control cloud 610 in the third state.
[0085] The third state is, for example, a partially offline state in an exceptional situation, assuming that the connection state of a network between the robot 600 and the control cloud 610 is an online state. In the third state of the robot 600, the robot control system must consider and control an exceptional scenario, except for a previously prepared scenario, in real time using a workflow engine for an unexpected situation. If the state of a robot is the third state (for example, if one robot is in an offline state due to incorrect priorities when performing crossing movements with another robot due to a collision accident), the robot control system can simultaneously consider a scenario (for example, a third exceptional scenario) in which the priorities are adjusted in all robots that are already operating in real time.
[0086] If it is determined that the state of the robot 600 is the third state, which is different from the first and second states, the control cloud 610 may apply a third scenario to a second workflow engine to obtain a third task group. For example, a control server of the control cloud 610 may apply the third scenario to the second workflow engine to distribute a scenario for each BPMN 2.0 XML. The control server may transmit at least one task in the third task group obtained by applying the third scenario to the second workflow engine to the robot 600 via a first channel (e.g., RSocket).
[0087] In the third state, the robot 600 may perform an operation on the at least one task included in the third task group received from the control cloud 610 and / or a command from each of the at least one tasks included in the third task group. For example, when the third scenario is received from the control cloud 610, the robot 600 may apply the received third scenario to a first workflow engine to obtain the third task group. When the robot 600 receives the third task group from the control cloud 610, it may perform an operation on at least one task included in the received third task group. When the robot 600 receives the command of each of the at least one tasks included in the third task group from the control cloud 610, it may perform an operation on the command.
[0088] The robot 600 may transmit a state of the robot and a state of the network via a second channel (for example, Kafka) included in the control cloud 610.
[0089] The control cloud 610 may determine whether the robot's state is an exception based on the robot's state and the network's state received from the robot 600. If the robot's state is an exception, the control cloud 610 may transmit a stop operation command to the robot 600 via a first channel. Further, the control cloud 610 may apply a third exception scenario to the second workflow engine to obtain a third exception task group to handle the exception.
[0090] In the third state, the robot 600 may perform an operation on at least one task included in the third exceptional task group received from the control cloud 610 and / or a command of each of the at least one task included in the third exceptional task group.
[0091] Fig. 7A to 7C show examples of a method for replacing a task in a third state in a robot control system according to an example of the present disclosure.
[0092] Fig. Fig. 7A shows an example of a process for performing an operation related to a movement task and a detection task in a third state in a robot (for example, a robot 301 of Fig. 3). For example, the robot may perform a movement start 700a and a movement end 710a task operation in association with the movement task. Thereafter, the robot may perform a detection start 720a and a detection end 730a task operation in association with the detection task. The robot may transmit the result of the movement task and detection task operation execution to a control cloud (e.g., a control cloud 311 of Fig. 3) using a process of a detection result transmission task 740a.
[0093] Fig. 7B shows an example of a process for performing an operation related to a plurality of third scenarios, each including a movement task and a detection task, in a third state in a robot. For example, the robot may perform an operation related to a third scenario 700b of movement of point A and detection of point A at point A. The robot may apply the third scenario 700b of movement of point A and detection of point A to a first workflow engine to obtain a third task group of the third scenario 700b of movement of point A and detection of point A. Similarly, the robot may perform each of the operations related to a third scenario 710b of movement of point B and detection of point B and a third scenario 720b of movement of point C and detection of point C.
[0094] Fig. Figure 7C shows an example of a process of performing an operation in a third exception scenario instead of the third scenario, if the robot is offline due to an offline occurrence at point A and / or point B and / or point C. Fig. 7B is in an exception state. For example, if the robot is in an exception state due to being offline at point B, the control cloud can transmit a stop operation command to the robot. The control cloud can then apply the third exception scenario to the second workflow engine to obtain a third exception task group.
[0095] The control cloud may transmit the third exceptional task group to the robot that is in the exceptional state due to the offline occurrence at point B. The robot may perform an operation related to at least one task included in the third exceptional task group. For example, reference numerals 700c, 710c, 720c, and 730c in Fig. 7C may be the same as the reference numerals 700a to 730a in Fig. 7A. In other words, the at least one task included in the third exceptional task group may be the same as the at least one task included in the third task group. However, unlike the third task group, the third exceptional task group may also include a task for transmitting the detection result after the waiting place movement 740c.
[0096] Fig. 8 shows an example of a method for processing a task in a robot control system according to an example of the present disclosure.
[0097] Fig. 8 shows an example of a method for processing a scenario and a task in a robot control system.
[0098] A robot 800 may be in a waiting state before receiving at least one command, task group, or scenario from a control cloud 810.
[0099] The control cloud 810 may execute the scenario. For example, the control cloud 810 may transmit the scenario to the robot 800. Further, the control cloud 810 may apply the scenario to a workflow engine to obtain a task group and transmit the obtained task group to the robot 800. Furthermore, the control cloud 810 may transmit a command from each of the tasks included in the task group to the robot 800. In other words, the control cloud 810 may transmit the command and / or the task group and / or the scenario to the robot 800 to execute the scenario.
[0100] The robot 800 can determine whether it is possible to perform the task received from the control cloud 810. If the robot 800 is able to perform an operation related to the received task, it can transmit the start of the task and a state of the robot 800 to the control cloud 810 in real time. Otherwise, if the robot 800 is unable to perform the operation related to the received task, it can transmit information about the impossibility of execution to the control cloud 810.
[0101] Whether the robot 800 is able to perform the operation related to the received task may include a battery condition and / or a command that cannot be identified by the control cloud 810 and / or a case where there is an obstacle in the environment of the robot 800.
[0102] For example, the control cloud 810 may transmit a task to the robot 800 and monitor the robot 800 in real time, thereby checking a status of the robot 800. Thereafter, upon receiving task completion information from the robot 800, the control cloud 810 may determine whether there is a subsequent task and terminate the scenario.
[0103] Fig. 9 shows an example of a computer system associated with a robot control system or a robot control method according to an example of the present disclosure.
[0104] With reference to Fig.9, a computer system 1000 may include, via the robot control system or the robot control method, at least a processor 1100, a memory 1300, a user interface input device 1400, a user interface output device 1500, a memory 1600, and a network interface 1700 connected to each other via a bus 1200.
[0105] Processor 1100 may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in memory 1300 and / or storage 1600. Memory 1300 and (other) storage 1600 may include various types of volatile or non-volatile storage media. For example, memory 1300 may include ROM (Read Only Memory) 1310 and RAM (Random Access Memory) 1320.
[0106] Accordingly, the operations of the method or algorithm described in connection with the examples disclosed in the specification may be implemented directly with a hardware module, a software module, or a combination of the hardware module and the software module executed by the processor 1100. The software module may be located on a storage medium (i.e., the memory 1300 and / or the storage 1600), such as a RAM, a flash memory, a ROM, an EPROM, an EEPROM, a register, a hard disk, a removable disk, and a CD-ROM.
[0107] The present disclosure has been made to solve the above-mentioned problems present in the prior art while maintaining the advantages of the prior art.
[0108] An example of the present disclosure provides a robot control system for simultaneously loading a workflow engine into a control cloud and a robot to minimize a problem of controlling the robot even though a network state between the robot and the control cloud is unstable, a robot, and a robot control method.
[0109] Another example of the present disclosure provides a robot control system for performing an operation with respect to a command of each of the tasks included in a task group in a first state for changing a task instruction in real time even though the situation in which the robot performs the operation is an exceptional situation, a robot, and a robot control method.
[0110] Another example of the present disclosure provides a robot control system for applying a scenario to a workflow engine to perform an operation on tasks in a second state to reduce the frequency of direct communication between the robot and the control cloud, easily perform control of the robot, and reduce communication costs (or data traffic) of the cloud, a robot, and a robot control method.
[0111] Another example of the present disclosure provides a robot control system for performing an operation with respect to a command of each of the tasks included in a task group in a third state to process a task by using only a change of the scenario based on the same control cloud and robot structure, depending on a service type (for example, a delivery service or a security service) of the robot or an area and / or an environment in which the robot performs the operation (for example, the service) to reduce development costs, a robot, and a robot control method.
[0112] The technical problems to be solved by the present disclosure are not limited to the above-mentioned problems, and any other technical problems not mentioned here will be clearly understood by a person skilled in the art to which the present disclosure relates from the following description.
[0113] According to one example of the present disclosure, a robot control system may include a robot having a first workflow engine and a control cloud connected to the robot via a network and having a second workflow engine for controlling the robot. The robot may, in a first state, perform an operation with respect to a command of each of at least one task included in a task group received from the control cloud, and, in a second state, perform an operation with respect to tasks obtained by applying a scenario received from the control cloud to the first workflow engine. The control cloud may determine a state of the robot and a state of the network and transmit a command and / or the scenario to the robot.
[0114] In one example, the control cloud may apply a first scenario to the second workflow engine to obtain a first task group if the state of the robot is determined to be the first state, and may transmit a command from each of at least one task included in the first task group to the robot.
[0115] In one example, the control cloud may generate a first exception scenario different from the first scenario based on the state of the network, apply the first exception scenario to the second workflow engine to obtain a first exception task group, transmit a command from each of at least one task included in the first exception task group to the robot, and monitor the state of the robot executing the command from each of the at least one task included in the first exception task group.
[0116] In one example, the control cloud may generate a representative scenario including a second scenario and a second exception scenario if it is determined that the state of the robot is the second state, and may transmit the representative scenario to the robot.
[0117] In one example, the robot may apply the second scenario in the representative scenario received from the control cloud to the first workflow engine to obtain a second task group, and may apply the second exception scenario to the first workflow engine to obtain a second exception task group if an exception situation associated with the second exception scenario occurs while performing an operation on at least one task included in the second task group.
[0118] In one example, the robot may transmit the result of performing the at least one task included in the second task group and the at least one task included in the second exceptional task group to the control cloud if it performs the operation related to the at least one task included in the second task group and an operation related to the at least one task included in the second exceptional task group.
[0119] In one example, the control cloud may apply a third scenario to the second workflow engine to obtain a third task group when it is determined that the state of the robot is a third state different from the first and second states, and may transmit at least one task included in the third task group to the robot via a first channel in the control cloud.
[0120] In one example, the robot may perform an operation on the at least one task included in the third task group, wherein the at least one task is received from the control cloud in the third state, and may transmit the state of the robot and the state of the network to a second channel included in the control cloud.
[0121] In one example, the control cloud may determine whether the state of the robot is an exception based on the state of the robot and the state of the network received by the robot, may send a stop operation command to the robot via the first channel if the state of the robot is the exception, and may apply a third exception scenario to the second workflow engine to obtain a third exception task group.
[0122] In one example, the first state may include a state in which a connection state of the network between the robot and the control cloud is always ensured to be online, and the second state may include a state in which the connection state of the network between the robot and the control cloud is not always ensured to be online.
[0123] According to another example of the present disclosure, a robot may include a memory storing computer-executable instructions, a communication device communicating with a control cloud, and at least one processor accessing the memory and executing the instructions. The at least one processor may, in a first state, perform an operation on a command of each of at least one task included in a first task group received from the control cloud, in a second state, perform an operation on at least one task included in a second task group obtained by applying a scenario received from the control cloud to a workflow engine, and in a third state, perform an operation on at least one task included in a third task group received from the control cloud.
[0124] In one example, the at least one processor may apply a second scenario in the scenario received from the control cloud to the workflow engine to obtain a second task group in the second state, and may apply a second exception scenario in the scenario to the workflow engine to obtain a second exception task group when an exception situation occurs while performing an operation on at least one task included in the second task group.
[0125] In one example, the at least one processor may transmit the result of performing the at least one task included in the second task group and the at least one task included in the second exception task group to the control cloud when the operation related to the at least one task included in the second task group and an operation related to the at least one task included in the second exception task group is performed.
[0126] In one example, the at least one processor may transmit a state of the robot and a state of a network of the robot to the control cloud.
[0127] In one example, the first state may include a state in which a connection state of a network between the robot and the control cloud is always ensured to be online, and the second state may include a state in which the connection state of the network between the robot and the control cloud is not always ensured to be online.
[0128] According to another example of the present disclosure, a robot control method may include performing an operation on a command of each of at least one task included in a task group received from a control cloud in a first state, performing an operation on tasks obtained by applying a scenario received from the control cloud to a first workflow engine in a second state, and determining a state of a robot and a state of a network and transmitting at least one command or the scenario to the robot.
[0129] In one example, the robot control method may further comprise applying a first scenario to a second workflow engine included in the control cloud to obtain a first task group when it is determined that the state of the robot is the first state, transmitting a command from each of at least one task included in the first task group to the robot, generating a first exception scenario different from the first scenario based on the state of the network, applying the first exception scenario to the second workflow engine to obtain a first exception task group, transmitting a command from each of at least one task included in the first exception task group to the robot, and monitoring the state of the robot performing the command from each of the at least one task included in the first exception task group.
[0130] In one example, the robot control method may further comprise generating a representative scenario including a second scenario and a second exception scenario when it is determined that the state of the robot is the second state, transmitting the representative scenario to the robot, applying the second scenario in the representative scenario received from the control cloud to the first workflow engine to obtain a second task group, applying the second exception scenario to the first workflow engine to obtain a second exception task group when an exception situation associated with the second exception scenario occurs while performing an operation related to at least one task included in the second task group, and transmitting the result of performing the at least one task included in the second task group and the at least one task,included in the second exception task group to the control cloud when the operation is performed on the at least one task included in the second task group and an operation is performed on the at least one task included in the second exception task group.
[0131] In one example, the robot control method may further comprise applying a third scenario to a second workflow engine included in the control cloud to obtain a third task group when it is determined that the state of the robot is a third state different from each of the first and second states, transmitting at least one task included in the third task group to the robot via a first channel included in the control cloud, performing an operation on the at least one task included in the third task group, the at least one task being received from the control cloud in the third state, and transmitting the state of the robot and the state of the network to a second channel included in the control cloud.
[0132] In one example, the robot control method may further comprise determining whether the state of the robot is an exceptional state based on the state of the robot and the state of the network, the states received by the robot, transmitting a process stop command to the robot via the first channel when the state of the robot is the exceptional state, and applying a third exceptional scenario to the second workflow engine to obtain a third exceptional task group.
[0133] The exemplary storage medium may be coupled to the processor 1100. The processor 1100 may read information from the storage medium and write information to the storage medium. Alternatively, the storage medium may be integrated with the processor 1100. The processor and the storage medium may be located in an application-specific integrated circuit (ASIC). The ASIC may be incorporated into a user terminal. Alternatively, the processor and the storage medium may be incorporated as separate components in the user terminal.
[0134] Although the present disclosure has been described by way of examples and the accompanying drawings, the present disclosure is not limited thereto, but may be variously modified and changed by a person skilled in the art of the present disclosure without departing from the spirit and scope of the present disclosure as claimed in the following claims.
[0135] The examples described above can be implemented with hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the examples can be implemented with general-purpose computers or special-purpose computers such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field-programmable array (FPGA), a programmable logic unit (PLU), a microprocessor, or any device capable of executing instructions and responding. A processing unit can execute an operating system (OS) or a software application running on the OS. Furthermore, the processing unit can access, store, manipulate, process, and generate data in response to executing software.One skilled in the art will understand that the processing unit may include a plurality of processing elements and / or a plurality of processing element types, although a single processing unit is illustrated for clarity. For example, the processing unit may include a plurality of processors or a processor and a controller. The processing unit may also include another processing configuration, such as a parallel processor.
[0136] Software may comprise computer programs, codes, instructions, or one or more combinations thereof, and may configure a processing unit to operate in a desired manner, or it may instruct the processing unit independently or jointly. Software and / or data may be permanently or temporarily embodied in any type of machine, component, physical equipment, virtual equipment, computer storage media or units, or transmitted signal waves to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed across computer systems interconnected by networks, and it may be stored or executed in distributed form. Software and data may be recorded on a single computer-readable storage medium.
[0137] The methods according to the examples may be implemented in the form of program instructions that can be executed by various computer means and recorded on computer-readable media. The computer-readable media may include program instructions, data files, data structures, and the like, alone or in combination, and the program instructions recorded on the media may be specifically designed and configured for an example or may be known and usable by one skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs and DVDs; magneto-optical media such as floppy disks; and hardware devices specifically configured to store and execute program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like.Program instructions include both machine code, as generated by a compiler, and higher-level code that can be executed by the computer using an interpreter.
[0138] The hardware devices described above may be configured to act as one or more software modules to perform the operations described in the examples, or vice versa.
[0139] Although the examples are described with reference to limited drawings, it may be obvious to one skilled in the art that the examples may be changed or modified in various ways based on the above description. For example, appropriate effects may be achieved even if the above processes and methods are performed in a different order than described above, and / or the aforementioned components, such as systems, structures, devices, or circuits, are combined or coupled in forms and modes other than those described above, or are replaced or exchanged with other components or equivalents.
[0140] The effects of the robot control system, the robot and the robot control method according to an example of the present disclosure will be described.
[0141] According to at least one of the examples of the present disclosure, the robot control system can simultaneously load a workflow engine into a control cloud and a robot, thereby minimizing a problem of controlling the robot even though a network state between the robot and the control cloud is unstable.
[0142] Further, the robot control system according to at least one of the examples of the present disclosure may perform an operation with respect to a command for each of the tasks included in a task group in a first state, thereby changing a task instruction in real time even though the situation in which the robot performs the operation is an exceptional situation.
[0143] Furthermore, the robot control system according to at least one of the examples of the present disclosure may apply a scenario to a workflow engine to perform an operation on tasks in a second state, thereby reducing the frequency of direct communication between the robot and the control cloud, easily performing control of the robot, and reducing the communication cost (or data traffic) of the cloud.
[0144] Furthermore, the robot control system according to at least one of the examples of the present disclosure can perform an operation on a command of each of the tasks included in the task group in a third state to process a task by using only a change of the scenario based on the same control cloud and robot structure, depending on a service type (for example, a delivery service or a security service) of the robot or an area and / or an environment in which the robot performs the operation (for example, the service), thereby reducing the development cost.
[0145] In addition, various effects determined directly or indirectly by the present disclosure can be provided.
[0146] Therefore, other embodiments, other examples, and equivalents to the claims are intended to be within the scope of the following claims.
[0147] Therefore, the examples of the present disclosure are not intended to limit the technical spirit of the present disclosure, but are merely illustrative. The scope of the present disclosure should be interpreted based on the appended claims, and all technical ideas within the scope of the claims are intended to be included in the scope of the present disclosure. List of reference symbols 600 robots 610 Control Cloud 1000 data processing system
Claims
[1] System comprising: a communication device; and a controller configured to communicate with a robot having a first workflow engine over a network via the communication device, the controller having a second workflow engine and further configured to: to determine a state of the robot and a state of the network; to transmit a command and / or scenario to the robot; based on the state of the robot being in a first state, to cause the robot to: to receive a task group from the controller; and to perform an operation associated with the command, wherein the command is associated with at least one task of the task group; and based on the fact that the state of the robot is a second state, to cause the robot to: to receive the scenario from the controller; apply the scenario to the first workflow engine to obtain a variety of tasks; and to perform a process which is assigned to the multitude of tasks. [2] The system of claim 1, wherein the controller is configured to: apply a first scenario to the second workflow engine to obtain a first task group based on the state of the robot being the first state; and to transmit a command to the robot which is assigned to at least one task of the first task group. [3] The system of claim 2, wherein the controller is configured to: generate a first exception scenario based on the state of the network that is different from the first scenario; apply the first exception scenario to the second workflow engine to obtain a first exception task group; transmitting a command to the robot that is associated with at least one task of the first exceptional task group; and to monitor the state of the robot during execution of the command associated with the at least one task of the first exceptional task group. [4] The system of claim 1, wherein the controller is configured to: generate a representative scenario comprising a second scenario and a second exception scenario based on the state of the robot being the second state; and to transmit the representative scenario to the robot. [5] The system of claim 4, wherein the controller is configured to cause the robot to: apply the second scenario in the representative scenario received from the controller to the first workflow engine to obtain a second task group; and apply the second exception scenario to the first workflow engine to obtain a second exception task group based on: an occurrence of an exceptional situation assigned to the second exceptional scenario, and a process that is assigned to at least one task in the second task group. [6] The system of claim 5, wherein the controller is configured to cause the robot to transmit results of executing the at least one task of the second task group and at least one task of the second exception task group to the controller based on executing: the process assigned to the at least one task of the second task group; and a process which is assigned to the at least one task of the second exception task group. [7] The system of claim 1, wherein the controller is configured to: apply a third scenario to the second workflow engine to obtain a third task group based on the state of the robot being a third state that is different from the first state and the second state; and to the robot and to transmit at least one task of the third task group through a first channel of the controller. [8] The system of claim 7, wherein the controller is configured to cause the robot to: to perform an operation associated with at least one task of the third task group, wherein the at least one task of the third task group is received by the controller in the third state; and to transmit the state of the robot and the state of the network to a second channel of the controller. [9] The system of claim 8, wherein the controller is configured to: to determine whether the state of the robot is an exceptional state based on the state of the robot and the state of the network, wherein the state of the robot and the state of the network are received by the robot, transmit a process stop command to the robot via the first channel based on the state of the robot being the exceptional state; and to apply a third exception scenario to the second workflow engine to obtain a third exception task group. [10] The system according to claim 1, wherein the first state includes a state in which a connection state of the network between the robot and the controller is established, and wherein the second state includes a state in which the connection state of the network between the robot and the controller is not established. [11] Robot, comprising: a communication device configured to communicate with a control system; a workflow engine configured to receive a task group; at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the robot to: in a first state of the robot: to receive a first task group from the control system via the communication device; and to perform an operation associated with a command, the command being associated with at least one task of the first task group; and in a second state of the robot: to receive a scenario from the control system via the communication device; apply the scenario to the workflow engine to obtain a second task group; and perform an operation associated with at least one task of the second task group; and in a third state of the robot: to receive a third task group from the control system via the communication device; and perform a process that is assigned to at least one task in the third task group. [12] The robot of claim 11, wherein the instructions, when executed by the at least one processor, cause the robot to: applying a second scenario in the scenario received from the control system to the workflow engine to obtain the second task group in the second state of the robot; and to apply a second exception scenario in the scenario to the workflow engine to obtain a second exception task group based on: an occurrence of an exceptional situation; and a process that is assigned to at least one task in the second task group. [13] The robot of claim 12, wherein the instructions, when executed by the at least one processor, cause the robot to: To transmit results of performing the at least one task of the second task group and the at least one task of the second exception task group to the control system on the basis of: the process associated with the at least one task of the second task group; and a process that is assigned to at least one task of the second exception task group. [14] The robot of claim 11, wherein the instructions, when executed by the at least one processor, cause the robot to transmit a state of the robot and a state of a network to the control system. [15] The robot according to claim 11, wherein the first state includes a state in which a connection state of a network between the robot and the control system is established, and wherein the second state includes a state in which the connection state of the network between the robot and the control system is not established. [16] A method performed by a control system, the method comprising: Determining a state of a robot and a state of a network at different times; Transmitting at least one command or scenario to the robot; based on the fact that the state of the robot at a given time is a first state: Sending a task group to the robot; and causing the robot to perform an operation associated with the command, the command being associated with at least one task of the task group; based on the fact that the state of the robot at another time is a second state: Sending the scenario to the robot; Causing the robot to apply the scenario to a workflow engine of the robot to obtain a variety of tasks; and Causing the robot to perform an operation associated with a plurality of tasks. [17] The method of claim 16, further comprising: Applying a first scenario to a second workflow engine of the control system to obtain a first task group based on the state of the robot being the first state; Transmitting, to the robot, a command associated with at least one task of the first task group; Generating a first exception scenario different from the first scenario based on the state of the network; Applying the first exception scenario to the second workflow engine to obtain a first exception task group; Transmitting to the robot a command associated with at least one task of the first exceptional task group; and Monitoring the state of the robot during the execution of the command associated with the at least one task of the first exceptional task group. [18] The method of claim 16, further comprising: generating a representative scenario comprising a second scenario and a second exception scenario based on the state of the robot being the second state; Transferring the representative scenario to the robot; causing the second scenario in the representative scenario sent by the control system to be applied to a first workflow engine to obtain a second task group; Causing the second exception scenario to be applied to the first workflow engine to obtain a second exception task group based on: an occurrence of an exceptional situation assigned to the second exceptional scenario, and a process that is assigned to at least one task of the second task group; and Receiving results of performing the at least one task of the second task group and at least one task of the second exception task group based on: the process associated with the at least one task of the second task group; and a process that is assigned to at least one task of the second exception task group. [19] The method of claim 16, further comprising: Applying a third scenario to a second workflow engine of the control system to obtain a third task group based on the state of the robot being a third state different from the first state and the second state; Transferring at least one task of the third task group to the robot via a first channel of the control system; initiating an operation associated with the at least one task of the third task group, wherein the at least one task of the third task group is sent by the control system in the third state; and Receiving the state of the robot and the state of the network via a second channel of the control system. [20] The method of claim 19, further comprising: Determining whether the state of the robot is an exceptional state based on the state of the robot and the state of the network, wherein the state of the robot and the state of the network are received by the robot; Transmitting an operation stop command to the robot through the first channel based on the state of the robot being the exceptional state; and Apply a third exception scenario to the second workflow engine to obtain a third exception task group.