Robot control system, robot, and robot control method

JP2025029556APending Publication Date: 2025-03-06HYUNDAI MOTOR CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023211459
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-21
Filing Date
2023-12-14
Publication Date
2025-03-06

AI Technical Summary

Benefits of technology

【0031】 本発明によるロボット制御システム、ロボット、及びロボット制御方法の効果に対して説明する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025029556000001_ABST
    Figure 2025029556000001_ABST
Patent Text Reader

Abstract

To provide a robot control system that can minimize an issue of management and control of a robot although a network state between the robot and a management cloud is unstable, a robot, and a robot control method.SOLUTION: The present invention relates to a robot control system including: a robot including a first work flow engine; and a management cloud that is coupled to the robot via a network, that includes a second work flow engine, and that controls the robot. The robot, in a first state, performs an operation related to an instruction for each of one or more tasks included in a task group received from the management cloud, and in a second state, performs an operation related to a task acquired by applying a scenario received from the management cloud to the first work flow engine. The management cloud determines a state of the robot and a state of the network, and transmits at least one of an instruction and a scenario to the robot.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a robot control system, a robot, and a robot control method, and more particularly, to a technology for interoperating with a control cloud and a robot. [Background technology]

[0002] Autonomous driving-based service robots may go offline due to insufficient signal strength depending on the infrastructure conditions of the wireless network. To deal with this, it is necessary to have various scenarios for coverage depending on the type of service the robot provides.

[0003] For example, a delivery service robot mainly uses 5G or LTE networks provided by ISP (Internet Service Provider) companies, but in situations where there are some shadow areas such as inside an elevator, the delivery service robot must be able to deliver to the destination in an offline state. Also, a patrol robot for a smart factory needs an offline scenario where it must wait in a stopped state or move to a safe place to avoid collisions with other moving robots in an offline situation.

[0004] In existing robot control systems, the robot's scenario engine is managed by an external control cloud, making it impossible to operate offline or difficult to incorporate into the robot and grasp and control its status in real time.

[0005] Therefore, in order to solve these problems, it is necessary to develop technology that can install workflow engines on the control cloud and robots and link them together. Summary of the Invention [Problem to be solved by the invention]

[0006] An embodiment of the present invention aims to provide a robot control system, a robot, and a robot control method that can minimize issues with managing and controlling the robot even if the network condition between the robot and the control cloud is unstable by simultaneously installing a workflow engine in the control cloud and the robot.

[0007] In addition, the embodiments of the present invention aim to provide a robot control system, a robot, and a robot control method that can change task instructions in real time even if the situation in which the robot performs an operation is an exceptional situation by performing operations related to the commands of each task included in a task group in a first state.

[0008] In addition, the embodiments of the present invention aim to provide a robot control system, robot, and robot control method that, in the second state, applies a scenario to a workflow engine to perform operations related to a task, thereby reducing the frequency of direct communication between the robot and the control cloud, making it easier to control the robot, and reducing cloud communication costs (traffic).

[0009] In addition, the embodiments of the present invention aim to provide a robot control system, robot, and robot control method that can process tasks by simply changing the scenario based on the same control cloud and robot structure according to the type of robot service (e.g., delivery service, patrol service) or the area and / or environment in which the robot performs an action (e.g., service) by performing actions related to the commands of each task included in the task group in the third state, thereby reducing development costs.

[0010] The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description. [Means for solving the problem]

[0011] A robot control system according to an embodiment of the present invention includes a robot including a first workflow engine; and a control cloud connected to the robot via a network, including a second workflow engine, and controlling the robot. In a first state, the robot performs an operation related to an instruction for at least one task included in a task group received from the control cloud, and in a second state, the robot performs an operation related to a task acquired by applying a scenario received from the control cloud to the first workflow engine. The control cloud can determine a state of the robot and a state of the network and transmit at least one of the instructions and the scenario to the robot.

[0012] In one embodiment, when the control cloud determines that the state of the robot is the first state, it can apply a first scenario to the second workflow engine to obtain a first task group and transmit instructions for at least one or more tasks included in the first task group to the robot.

[0013] In one embodiment, the control cloud can generate a first exception scenario different from the first scenario based on the network status, apply the first exception scenario to the second workflow engine to obtain a first exception task group, transmit instructions for each of at least one or more tasks included in the first exception task group to the robot, and monitor a status of the robot performing the instructions for each of at least one or more tasks included in the first exception task group.

[0014] In one embodiment, when the control cloud determines that the robot's state is in the second state, it can generate a representative scenario including a second scenario and a second exception scenario and transmit the representative scenario to the robot.

[0015] In one embodiment, the robot applies the second scenario among the representative scenarios received from the control cloud to the first workflow engine to obtain a second task group, and if an exception situation related to the second exception scenario occurs while performing an operation related to at least one task included in the second task group, the robot applies the second exception scenario to the first workflow engine to obtain a second exception task group.

[0016] In one embodiment, when the robot performs operations related to at least one task included in the second task group and at least one task included in the second exception task group, the robot may transmit results of performing at least one task included in the second task group and at least one task included in the second exception task group to the control cloud.

[0017] In one embodiment, when the control cloud determines that the state of the robot is a third state different from each of the first state and the second state, it can apply a third scenario to the second workflow engine to obtain a third task group, and transmit at least one task included in the third task group to the robot via a first channel included in the control cloud.

[0018] In one embodiment, in the third state, the robot may perform operations related to at least one task included in the third task group received from the control cloud, and transmit the status of the robot and the status of the network to a second channel included in the control cloud.

[0019] In one embodiment, the control cloud determines whether the state of the robot is an exception state based on the state of the robot and the state of the network received from the robot, and if the state of the robot is an exception state, transmits an operation stop command to the robot via the first channel and applies a third exception scenario to the second workflow engine to obtain a third exception task group.

[0020] In one embodiment, the first state may include a state in which the network connection state between the robot and the control cloud is always guaranteed to be online, and the second state may include a state in which the network connection state between the robot and the control cloud cannot always be guaranteed to be online.

[0021] A robot according to an embodiment of the present invention includes a memory storing computer-executable instructions; a communication unit for communicating with a control cloud; and at least one processor for accessing the memory and executing the instructions, wherein the at least one processor can perform an operation related to instructions for at least one task included in a first task group received from the control cloud in a first state, perform an operation related to at least one task included in a second task group acquired by applying a scenario received from the control cloud to a workflow engine in a second state, and perform an operation related to at least one task included in a third task group received from the control cloud in a third state.

[0022] In one embodiment, in the second state, the at least one processor may apply a second scenario among the scenarios received from the control cloud to the workflow engine to obtain a second task group, and if an exception situation occurs while performing an operation related to at least one task included in the second task group, may apply a second exception scenario among the scenarios to the workflow engine to obtain a second exception task group.

[0023] In one embodiment, when the at least one processor performs an operation related to at least one task included in the second task group and an operation related to at least one task included in the second exception task group, the at least one processor may transmit a 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.

[0024] In one embodiment, the at least one processor may transmit the state of the robot and the state of the robot's network to the control cloud.

[0025] In one embodiment, the first state may include a state in which the network connection state between the robot and the control cloud is always guaranteed to be online, and the second state may include a state in which the network connection state between the robot and the control cloud cannot always be guaranteed to be online.

[0026] A robot control method according to an embodiment of the present invention may include an operation of performing, in a first state, an operation related to commands for at least one task included in a task group received from a control cloud; an operation of performing, in a second state, an operation related to a task acquired by applying a scenario received from the control cloud to a first workflow engine; and an operation of determining a robot state and a network state and transmitting at least one of the commands and the scenario to the robot.

[0027] In one embodiment, the robot control method may further include, when it is determined that the state of the robot is in the first state, an operation of applying a first scenario to a second workflow engine included in the control cloud to obtain a first task group; an operation of transmitting instructions for each of at least one or more tasks included in the first task group to the robot; an operation of generating a first exception scenario different from the first scenario based on a state of the network; an operation of applying the first exception scenario to the second workflow engine to obtain a first exception task group; an operation of transmitting instructions for each of at least one or more tasks included in the first exception task group to the robot; and an operation of monitoring a state of the robot performing instructions for each of at least one or more tasks included in the first exception task group.

[0028] In one embodiment, the robot control method may further include an operation of generating a representative scenario including a second scenario and a second exceptional scenario when it is determined that the state of the robot is in the second state; an operation of transmitting the representative scenario to the robot; an operation of applying the second scenario among the representative scenarios received from the control cloud to the first workflow engine to obtain a second task group; an operation of applying the second exception scenario to the first workflow engine to obtain a second exception task group when an exception situation related to the second exception scenario occurs while performing an operation related to at least one task included in the second task group; and an operation of transmitting results of performing at least one task included in the second task group and at least one task included in the second exception task group to the control cloud when an operation related to at least one task included in the second task group and an operation related to at least one task included in the second exception task group have been performed.

[0029] In one embodiment, the robot control method may further include an operation of 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 in a third state different from each of the first state and the second state; an operation of transmitting at least one task included in the third task group to the robot via a first channel included in the control cloud; an operation of performing an operation related to at least one task included in the third task group received from the control cloud in the third state; and an operation of transmitting the state of the robot and the state of the network to a second channel included in the control cloud.

[0030] In one embodiment, the robot control method may further include an operation of determining whether a state of the robot is an exception state based on a state of the robot and a state of the network received from the robot; an operation of transmitting an operation stop command to the robot via the first channel if the state of the robot is an exception state; and an operation of applying a third exception scenario to the second workflow engine to obtain a third exception task group. Effect of the Invention

[0031] The effects of the robot control system, robot, and robot control method according to the present invention will now be described.

[0032] According to at least one of the embodiments of the present invention, by simultaneously installing a workflow engine in the control cloud and the robot, it is possible to have an effect of minimizing issues with managing and controlling the robot even if the network condition between the robot and the control cloud is unstable.

[0033] Furthermore, according to at least one of the embodiments of the present invention, by performing operations related to the commands of each task included in the task group in the first state, it is possible to have an advantage that task instructions can be changed in real time even if the situation in which the robot performs the operation is an exceptional situation.

[0034] Furthermore, according to at least one of the embodiments of the present invention, in the second state, by applying a scenario to a workflow engine to perform operations related to a task, the frequency of direct communication between the robot and the control cloud can be reduced, making it easier to control the robot and reducing cloud communication costs (traffic).

[0035] Furthermore, according to at least one of the embodiments of the present invention, by performing operations related to the commands of each task included in the task group in the third state, it is possible to obtain an effect of reducing development costs by processing tasks based on the same control cloud and robot structure with only a change in the scenario depending on the type of robot service (e.g., delivery service, patrol service) or the area and / or environment in which the robot operation (e.g., service) is performed.

[0036] In addition, various other effects may be provided that can be grasped directly or indirectly through this document. [Brief description of the drawings]

[0037] [Figure 1] FIG. 1 illustrates a robot control system according to an embodiment of the present invention. [Diagram 2] 1 is a flowchart illustrating a robot control method according to an embodiment of the present invention. [Diagram 3] A diagram showing a control cloud and a robot in a robot control system according to one embodiment of the present invention. [Figure 4] 4 is a flowchart illustrating a method for controlling a robot in a first state in a robot control system according to an embodiment of the present invention. [Diagram 5] 6 is a flowchart illustrating a method for controlling a robot in a second state in a robot control system according to an embodiment of the present invention. [Figure 6] 10 is a flowchart illustrating a method for controlling a robot in a third state in a robot control system according to an embodiment of the present invention. [Figure 7a] 11 is a flowchart illustrating a method for switching tasks in a third state in a robot control system according to an embodiment of the present invention. [Figure 7b] 11 is a flowchart illustrating a method for switching tasks in a third state in a robot control system according to an embodiment of the present invention. [Figure 7c] 11 is a flowchart illustrating a method for switching tasks in a third state in a robot control system according to an embodiment of the present invention. [Figure 8] 1 is a flowchart illustrating a method for processing a task in a robot control system according to an embodiment of the present invention. [Figure 9] FIG. 1 illustrates a computer system relating to a robot control system or a robot control method according to an embodiment of the present invention.

[0038] In connection with the description of the figures, the same or similar reference numbers may be used for the same or similar components. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0039] Some embodiments of the present invention will be described in detail below with reference to exemplary drawings. When attaching reference numerals to components in each drawing, it should be noted that the same components are given the same numerals as much as possible even if they are displayed in different drawings. In addition, in describing the embodiments of the present invention, if a detailed description of related known configurations or functions is deemed to hinder understanding of the embodiments of the present invention, the detailed description will be omitted. In particular, various embodiments of the present document will be described with reference to the drawings. However, this is not intended to limit the technology described in this document to a specific embodiment, and should be understood as including various modifications, equivalents, and / or alternatives of the embodiments of the present document. In describing the drawings, similar reference numerals may be used for similar components.

[0040] In describing components of the embodiments of the present invention, terms such as first, second, A, B, (a), (b) and the like may be used. Such terms are merely used to distinguish the components from other components, and do not limit the nature, order, or sequence of the components. In addition, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning they have in the context of the related art, and should not be interpreted as idealized or overly formal unless expressly defined in this application. For example, expressions such as "first", "second", "primary" or "secondary" used in this document may modify various components regardless of order and / or importance, and are used only to distinguish a component from other components, and do not limit the components. For example, a first user device and a second user device may indicate different user devices regardless of order or importance. For example, a first component may be named a second component, and similarly, the second component may be named instead of the first component, without departing from the scope of the invention as described herein.

[0041] In this document, the terms "have," "can have," "include," or "can include" indicate the presence of a given feature (e.g., a value, a function, an operation, or a component such as a part) and do not exclude the presence of additional features.

[0042] When a component (e.g., a first component) is referred to as being "operatively or communicatively coupled with / to" or "connected to" another component (e.g., a second component), it should be understood that the component may be directly coupled to the other component or may be coupled through another 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 with" or "directly connected to" another component (e.g., a second component), it may be understood that there is no other component (e.g., a third component) between the component and the other component.

[0043] As used in this document, the expression "configured to" may be substituted, depending on the context, for example, with "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of."

[0044] The term "configured to" does not necessarily mean that the hardware is "specifically designed to". Instead, in some circumstances, the phrase "a device configured to" may mean that the device is "capable of" working with other devices or components. For example, the phrase "a processor configured to perform A, B, and C" may mean a dedicated processor (e.g., an embedded processor) for performing the operations, or a generic-purpose processor (e.g., a CPU or application processor) that can perform the operations by executing one or more software programs stored in a memory device. The terms used in this document are merely used to describe a particular embodiment and are not intended to limit the scope of other embodiments. The singular term may include the plural term unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by a person of ordinary skill in the art described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted to have the same or similar meaning as the meaning they have in the context of the related art, and unless otherwise clearly defined in this document, they shall not be interpreted to have an ideal or overly formal meaning. In some cases, even if a term is defined in this document, it cannot be interpreted to exclude the embodiments of this document.

[0045] In this document, expressions such as "A or B," "at least one of A and / or B," or "one or more of A and / or B" can include all possible combinations of the items listed together. For example, "A or B," "at least one of A and B," or "at least one of A or B" can refer to all cases including (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. In addition, in describing components of the embodiments of the present invention, each of 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, or C," and "at least one of A, B, C, or any combination thereof" can include any one of the items listed together with the corresponding phrase, or all possible combinations thereof. In particular, a phrase such as "at least one of A, B, C, or any combination thereof" can include A or B or C or combinations thereof such as AB or ABC.

[0046] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.

[0047] FIG. 1 is a diagram showing a robot control system according to an embodiment of the present invention.

[0048] A robot control system according to one embodiment may include a robot 100 and a control cloud 140.

[0049] According to an embodiment, the robot 100 may include a processor 110, a memory 120 including an instruction word 122, and a communication unit 130. For example, the robot 100 may include a first workflow engine.

[0050] For example, the workflow engines (e.g., the first workflow engine and the second workflow engine) may represent software components that assist in automating and executing business processes. The workflow engine provides functionality for defining and executing a process, and may manage and control the flow of the process. The workflow engine may take a scenario as input, and may output a task group related to the input scenario.

[0051] For example, a scenario may include a number of tasks, branch points between tasks, connections between tasks and branches, and events for handling exceptions (e.g., errors or expiration times). Here, a task is a unit operation of a scenario and may represent a set of predetermined robot actions. Also, the robot 100 may perform an action related to the task and perform the next action based on information included in the branch point.

[0052] In the first state, the robot 100 can perform an operation related to an instruction of at least one or more tasks included in a task group received from the control cloud 140. In addition, in the second state, the robot 100 can perform an operation related to a task acquired by applying a scenario received from the control cloud 140 to a first workflow engine. In addition, in the third state, the robot 100 can perform an operation related to an instruction of at least one or more tasks received from the control cloud 140. Detailed methods of the robot 100 performing operations in each of the first state, second state, and third state will be described in detail later with reference to FIGS. 4 to 6.

[0053] For example, the first state may include a state in which the network connection state between the robot 100 and the control cloud 140 is always guaranteed to be online. That is, the first state may include an environment in which the robot 100 performs an operation related to a command or a task being mainly online. The second state may include a state in which the network connection state between the robot 100 and the control cloud 140 cannot always be guaranteed to be online. That is, the second state may include an environment in which the robot 100 performs an operation related to a command or a task being mainly offline. Finally, the third state may include a partial offline state in an exceptional situation, assuming that the network connection state between the robot 100 and the control cloud 140 is online. A detailed description of the first to third states will be described in detail below with reference to FIGS. 4 to 6, as the robot 100 performs operations in each of the first, second, and third states.

[0054] The processor 110 may execute software and control at least one other component (e.g., a hardware or software component) coupled to the processor 110. The processor 110 may also perform a variety of other data processing or calculation functions. For example, the processor 110 may store tasks, scenarios, and instructions in the memory 120.

[0055] For reference, the processor 110 can perform all operations performed by the robot 100. Therefore, in this specification, for convenience of explanation, the operations performed by the robot 100 are mainly described as operations performed by the processor 110. Also, in this specification, for convenience of explanation, the processor 110 is mainly described as one processor, but is not limited thereto. For example, the robot 100 can include at least one or more processors. Each of the at least one or more processors can perform all operations related to the operations related to the tasks, scenarios, and instructions.

[0056] The memory 120 may temporarily and / or permanently store various data and / or information required to control the robot 100. For example, the memory 120 may store tasks, scenarios, and instructions.

[0057] The communication unit 130 may support communication between the robot 100 and the control cloud 140. For example, the communication unit 130 may include one or more components for communicating between the robot 100 and the control cloud 140. For example, the communication unit 130 may include a short range wireless communication unit, a microphone, etc. At this time, the short range communication technology may include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth (registered trademark), ZigBee, Wi-Fi Direct (WFD), ultra-wideband (UWB), infrared communication (IrDA, infrared Data Association), Bluetooth Low Energy (BLE), Near Field Communication (NFC), etc.

[0058] The control cloud 140 may be connected to the robot 100 via a network, include a second workflow engine, and indicate a cloud that controls the robot 100. For example, the control cloud 140 may determine the state of the robot 100 and the state of the network (e.g., connection between the robot 100 and the control cloud 140) and transmit at least one of a command and a 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 later with reference to FIG. 3.

[0059] FIG. 2 is a flowchart illustrating a robot control method according to an embodiment of the present invention.

[0060] In step (S210), the robot (e.g., robot 100 in FIG. 1) can perform operations related to commands for each of a plurality of tasks received from a control cloud (e.g., control cloud 140 in FIG. 1) in a first state. For example, the robot can perform operations in a control cloud-driven manner in the first state. That is, the robot can perform operations related to the commands by receiving only commands for each of a plurality of tasks from the control cloud in the first state (i.e., a state in which the connection state between the control cloud and the network is guaranteed to be online).

[0061] The control cloud can determine the state of the robot, and based on the determination result (i.e., the result that the state of the robot is the first state), apply the first scenario to the second workflow engine to obtain a first task group. The control cloud can transmit instructions for at least one or more tasks included in the obtained first task group to the robot. The robot can perform an operation related to the instructions by receiving only the instructions for at least one or more tasks that are the result of the scenario processed by the control cloud.

[0062] When the robot's state is the first state, the robot control system can instantly modify and update the scenario in real time in a cloud-driven manner, making it convenient to perform maintenance and repairs to control the robot and to respond to unforeseen problems (e.g., exceptional situations) while monitoring the robot in real time.

[0063] In step S220, the robot can perform an operation related to the acquired task by applying the scenario received from the control cloud to the first workflow engine in the second state. For example, the robot can perform an operation in a robot-driven manner in the second state. That is, the robot can perform an operation related to the task by receiving a scenario from the control cloud in the second state (i.e., a state in which the connection state between the control cloud and the network cannot be guaranteed to be online).

[0064] The control cloud may determine the state of the robot and transmit a second scenario to the robot based on the determination result (i.e., the result that the state of the robot 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 related to at least one task included in the obtained second task group.

[0065] When the robot is in the second state, the robot control system can expand the guaranteed range of robot operation in a robot driving manner even in offline and unstable network environments.

[0066] In step (S230), the control cloud may determine the state of the robot and the state of the network and transmit at least one of a command and a scenario to the robot. For example, the control cloud may transmit a command to the robot when the state of the robot is a first state. Also, the control cloud may transmit a scenario to the robot when the state of the robot is a second state. However, the object and condition that the control cloud transmits to the robot are not limited thereto. For example, the control cloud may transmit a scenario to the robot when the state of the robot is a first state, and the control cloud may transmit a command to the robot when the state of the robot is a second state. Therefore, in this specification, for convenience of explanation, it is mainly described that the control cloud may transmit a command to the robot when the state of the robot is a first state, and the control cloud may transmit a scenario to the robot when the state of the robot is a second state.

[0067] FIG. 3 is a diagram showing a control cloud and a robot in a robot control system according to one embodiment of the present invention.

[0068] A robot control system according to one embodiment can include a robot 301 and a control cloud 311.

[0069] The robot 301 may include a robot agent 303, a database 305, and a first workflow engine 307. The robot agent 303 may apply commands, tasks, or scenarios received on behalf of the robot 301 from the control cloud 311 to the first workflow engine 307.

[0070] Specifically, the robot agent 303 can receive tasks, etc. from the control server 313 of the control cloud 311 via a first channel (eg, shown as RSocket in FIG. 3).

[0071] When the robot agent 303 receives a scenario from the control server 313 via the first channel, the robot agent 303 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 related to the received scenario.

[0072] The robot agent 303 can store the acquired task group in a database 305. The robot agent 303 can also transmit or receive status data of the progress of a scenario through a second channel (e.g., shown as Kafka in FIG. 3) and a Publish / Subscribe (Pub / Sub) function.

[0073] The control cloud 311 may include a control server 313, a database 315, and a second workflow engine 317. For example, the control server 313 may apply a scenario to the second workflow engine 317 on behalf of the control cloud 311, similar to the robot agent 303 of the robot 301.

[0074] Specifically, the control server 313 can transmit at least one of a scenario (e.g., a first scenario to a third scenario), a task group (e.g., a first task group to a third task group), an instruction, or a combination thereof to the robot 301 via the first channel.

[0075] For reference, the first workflow engine 307 may be a workflow engine based on the same version of BPMN (Business Process Model and Notation) as the second workflow engine 317. For example, BPMN may be a standardized graphic notation for modeling and expressing a business process. BPMN may be used to express a business process in an easy-to-understand manner by sharing it with various stakeholders. BPMN may be a notation that can describe the structure, flow, and interaction of a business process in detail and facilitate communication between stakeholders. Through this, the robot control system is equipped with the same version of the BPMN-based workflow engine in both the robot 301 and the control cloud 311, and can select the control cloud method of driving and the robot driving method to respond to the robot service method and each exceptional situation according to the driving setting of the scenario or task.

[0076] FIG. 4 is a flowchart illustrating a method for controlling a robot in a first state in a robot control system according to an embodiment of the present invention.

[0077] According to an embodiment, the robot control system can control a robot in a first state based on the robot (e.g., robot 301 in FIG. 3) and a control cloud (e.g., control cloud 311 in FIG. 3).

[0078] For example, the first state may include a state in which the robot is operated in an online state, such as moving, detecting, and transmitting detection results in a factory where a repeater such as Wi-Fi or LTE is guaranteed, or in an open area (e.g., a park) without a separate shadow area (e.g., an offline area), etc. Thus, the robot control system may configure a scenario in which it is not necessary to run a separate workflow engine in the robot in the first state.

[0079] For example, in step S410, the control cloud may start a first scenario (e.g., the patrol scenario in FIG. 4). To this end, in step S420, if the control cloud determines that the state of the robot is the first state, it may apply the first scenario (e.g., the patrol scenario in the first state) to a second workflow engine to obtain a first task group of the patrol scenario. The control cloud may transmit to the robot an instruction for at least one or more tasks included in the first task group of the patrol scenario. Specifically, the first task group of the patrol scenario may include a first point movement task, a detection task, a second point movement task, and a detection task.

[0080] The control cloud can apply the first scenario (e.g., patrol scenario in the first state) to the second workflow engine, transmit commands, and control the robot to execute the scenario. In addition, the control cloud can make changes in real time down to the task level when the network environment is good, and can monitor the robot's execution of the scenario in real time.

[0081] In step (S430), the control cloud can start the next first scenario (e.g., charging scenario in the first state) when the robot has performed all the operations related to the previous first scenario (e.g., patrol scenario in the first state). To this end, when the control cloud determines that the state of the robot is the first state, it can directly transmit the next first scenario (e.g., charging scenario in the first state) to the robot.

[0082] In step S440, the robot may apply to a first workflow engine to obtain a first task group of the charging scenario. Specifically, the first task group of the charging scenario may include a start moving task, a charging station moving task, and a start charging task.

[0083] For reference, in this specification, for convenience of explanation, the first scenario and the first task group are described as being targets to be transmitted / received between the robot and the control cloud when the state of the robot is the first state. Specifically, when the state of the robot is the first state, the first scenario may include a patrol scenario and a charging scenario. Furthermore, the first task group may include a task group of the patrol scenario and a task group of the charging scenario. Therefore, the first scenario and the first task group are not limited thereto.

[0084] The control cloud can respond to immediate problems by monitoring the robot in real time. For example, the control cloud can generate a first exception scenario different from the first scenario based on a network state. That is, the first exception scenario can include at least one or more tasks for overcoming an exception situation of the first scenario. The control cloud can apply the first exception scenario to a second workflow engine to obtain a first exception task group. The control cloud can transmit instructions for at least one or more tasks included in the first exception task group to the robot. The control cloud can monitor a state of the robot performing instructions for at least one or more tasks included in the first exception task group.

[0085] FIG. 5 is a flowchart illustrating a method for controlling a robot in a second state in a robot control system according to an embodiment of the present invention.

[0086] According to an embodiment, the robot control system can control the robot in the second state based on the robot (e.g., robot 301 in FIG. 3) and the control cloud (e.g., control cloud 311 in FIG. 3).

[0087] For example, the second state may include a situation where the network bandwidth is limited, such as when the robot gets on and off the elevator, enters and exits the front door, gets on and off the elevator, moves to the basement, and there are many network users using the same bandwidth, as well as a situation where the network is unstable or frequently offline, such as an environment where the robot performs indoor and outdoor delivery robot services. Therefore, the robot control system may configure a scenario in which the robot has a task in a local environment in the second state so that the robot does not need to be linked to the control cloud.

[0088] For example, in step (S510), the control cloud can start a second scenario (e.g., the delivery scenario in FIG. 5). If the control cloud determines that the state of the robot is in the second state, it can generate a representative scenario including 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, in XML units.

[0089] Here, the second exception scenario may include at least one or more tasks for overcoming an exception situation of the second scenario when a predetermined exception occurs or communication between the robot and the control cloud is not possible.

[0090] The robot can apply a second scenario (e.g., a delivery scenario in a second state) among the representative scenarios received from the control cloud to the first workflow engine to acquire a second task group of the delivery scenario. When an exceptional situation related to the second exception scenario occurs while the robot is performing an operation related to at least one task included in the second task group, the robot can apply the second exception scenario to the first workflow engine to acquire the second exception task group.

[0091] For example, the above-mentioned exception situation can include a situation where the network is offline after the robot gets on the elevator. In this case, the second exception scenario can include a TTS voice output task (e.g., a task to output information to get off at the third floor, or a task to output information to leave for a while) and a task to change the direction of the robot to get off, etc.

[0092] In step S530, the control cloud can start the next second scenario (e.g., charging scenario in the second state) when the robot has performed all the operations related to the previous second scenario (e.g., delivery scenario in the second state). To this end, when the control cloud determines that the state of the robot is in the second state, it can directly transmit the next second scenario (e.g., charging scenario in the second state) to the robot.

[0093] In step (S540), the robot can apply a next second scenario (e.g., a charging scenario in a second state) to the first workflow engine to obtain a second task group of the charging scenario.

[0094] For reference, in this specification, for convenience of explanation, the second scenario and the second task group are described as being targets to be transmitted / received between the robot and the control cloud when the state of the robot is the second state. Specifically, when the state of the robot is the second state, the second scenario may include a delivery scenario and a 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 thereto.

[0095] When the robot performs an operation related to at least one or more tasks included in the second task group (e.g., the second task group of the delivery scenario or the second task group of the charging scenario) and an operation related to at least one or more tasks included in the second exception task group, the robot may transmit a result of performing the at least one or more tasks included in the second task group and the at least one or more tasks included in the second exception task group to the control cloud.

[0096] FIG. 6 is a flowchart illustrating a method for controlling a robot in a third state in a robot control system according to an embodiment of the present invention.

[0097] In one embodiment, the robot control system can control the robot based on the robot 600 and the control cloud 610 in the third state.

[0098] For example, the third state is a partial offline state in an exceptional situation, assuming that the network connection state between the robot 600 and the control cloud 610 is online. In the third state of the robot 600, the robot control system needs to reflect and drive an exceptional scenario other than the scenario prepared in advance using the workflow engine in real time for a situation that could not be predicted in advance. Specifically, when one robot is in the third state (for example, when one robot is traveling crossing other robots in a factory and is offline due to a collision accident caused by incorrect priority), the robot control system can simultaneously reflect the scenario with the adjusted priority (for example, the third exceptional scenario) in real time to all robots already in operation.

[0099] When the control cloud 610 determines that the state of the robot 600 is a third state different from each of the first state and the second state, the control cloud 610 can apply the third scenario to the second workflow engine to obtain a third task group. For example, the control server of the control cloud 610 can distribute the scenario in BPMN2.0 XML units by applying the third scenario to the workflow. The control server can transmit at least one or more tasks included 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).

[0100] In the third state, the robot 600 may perform an operation related to at least one or more tasks included in the third task group and / or an instruction for each of the at least one or more tasks included in the third task group received from the control cloud 610. For example, when a third scenario is received from the control cloud 610, the robot 600 may apply the received third scenario to the first workflow engine to obtain a third task group. When a third task group is received from the control cloud 610, the robot 600 may perform an operation related to at least one or more tasks included in the received third task group. When a command for at least one or more tasks included in the third task group is received from the control cloud 610, the robot 600 may perform an operation related to the command.

[0101] The robot 600 can transmit the robot state and the network state over a second channel (e.g., Kafka) included in the control cloud 610.

[0102] The control cloud 610 may determine whether the robot state is an exception state based on the robot state and the network state received from the robot 600. If the robot state is an exception state, the control cloud 610 may transmit an operation stop command to the robot 600 via the first channel. In addition, to resolve the exception state, the control cloud 610 may apply a third exception scenario to a second workflow engine to obtain a third exception task group.

[0103] In the third state, the robot 600 may perform operations related to at least one or more tasks included in the third exception task group and / or instructions for each of the at least one or more tasks included in the third exception task group received from the control cloud 610.

[0104] 7a to 7c are flow charts illustrating a method for switching tasks in a third state in a robot control system according to an embodiment of the present invention.

[0105] As shown in FIG. 7a, FIG. 7a illustrates a process in which a robot (e.g., robot 301 in FIG. 3) performs operations related to a movement task and a detection task in the third state. For example, the robot may perform operations of a movement start 700a and a movement end 710a task for the movement task. Thereafter, the robot may perform operations of a detection start 720a and a detection end 730a task for the detection task. The robot may transmit the results of the operations related to the movement task and the detection task to the control cloud (e.g., control cloud 311 in FIG. 3) by performing an operation of a detection result transmission 740a task.

[0106] As shown in FIG. 7b, FIG. 7b illustrates a process in which the robot performs a plurality of operations of the third scenario including a movement task and a detection task in the third state. For example, the robot may perform an operation related to the third scenario 700b of moving to point A and detecting point A at point A. The robot may apply the third scenario 700b of moving to point A and detecting point A to the first workflow engine to obtain the third task group of the third scenario 700b of moving to point A and detecting point A. Similarly, the robot may perform operations related to the third scenario 710b of moving to point B and detecting point B at point B, and the third scenario 720b of moving to point C and detecting point C at point C.

[0107] As shown in Fig. 7c, Fig. 7c illustrates a process of performing an operation in a third exception scenario other than the third scenario when the robot is in an exception state due to offline occurrence at least at one of points A, B, and C in Fig. 7b. For example, when the robot is in an exception state due to offline occurrence at point B, the control cloud may transmit an operation stop command to the robot. Then, the control cloud may apply the third exception scenario to the second workflow engine to obtain a third exception task group.

[0108] The control cloud may transmit the third exception task group to the robot in an exception state due to offline occurrence at point B. The robot may perform operations related to at least one or more tasks included in the third exception task group. For example, reference numbers 700c to 730c in FIG. 7c may be the same as reference numbers 700a to 730c in FIG. 7a. That is, at least one or more tasks included in the third exception task group may be the same as at least one or more tasks included in the third task group. However, unlike the third task group, the third exception task group may further include a detection result transmission task 740c after moving to a waiting location.

[0109] FIG. 8 is a flowchart illustrating a method for processing a task in a robot control system according to an embodiment of the present invention.

[0110] As shown in FIG. 8, FIG. 8 is a flow chart illustrating a method for processing scenarios and tasks in a robot control system.

[0111] The robot 800 may be in a task waiting state before receiving at least one of an instruction, a task group, and a scenario from the control cloud 810.

[0112] The control cloud 810 may execute a scenario. For example, the control cloud 810 may transmit the scenario to the robot 800. Also, 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 an instruction for at least one task included in the task group to the robot 800. That is, the control cloud 810 may execute a scenario by transmitting at least one of an instruction, a task group, and a scenario to the robot 800.

[0113] For example, the robot 800 may determine whether or not to perform a task received from the control cloud 810. If the robot 800 is able to perform an operation related to the received task, it may transmit the start of the task and the state of the robot 800 in real time to the control cloud 810. On the other hand, if the robot 800 is unable to perform an operation related to the received task, it may transmit information indicating that the task cannot be performed to the control cloud 810.

[0114] For reference, whether the robot 800 can perform an operation related to a received task may include at least one of the following: battery status, commands that cannot be confirmed by the control cloud 810, or the presence of obstacles in the vicinity.

[0115] The control cloud 810 can check the status of the robot 800, for example, by transmitting a task to the robot 800 and monitoring the robot 800 in real time. After that, when the control cloud 810 receives information of the completion of a task from the robot 800, it can end the scenario after checking whether there is a next task.

[0116] FIG. 9 is a diagram showing a computer system relating to a robot control system or a robot control method according to an embodiment of the present invention.

[0117] As shown in FIG. 9, a computer system 1000 relating to a robot control system or a robot control method may include at least one processor 1100, memory 1300, a user interface input device 1400, a user interface output device 1500, storage 1600, and a network interface 1700 coupled via a bus 1200.

[0118] The processor 1100 may be a central processing unit (CPU) or a semiconductor device that executes processing on instructions stored in the memory 1300 and / or the storage 1600. The memory 1300 and the storage 1600 may include various types of volatile or non-volatile storage media. For example, the memory 1300 may include a read only memory (ROM) and a random access memory (RAM).

[0119] Thus, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by the processor 1100, or in a combination of the two. The software modules may also reside in a storage medium (i.e., memory 1300 and / or storage 1600) such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, etc.

[0120] An exemplary storage medium may be coupled to the processor 1100 such that the processor 1100 can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integral to the processor 1100. The processor and the storage medium may reside in an custom integrated circuit (ASIC). The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.

[0121] The above description is merely illustrative of the technical concept of the present invention, and various modifications and variations can be made by a person having ordinary skill in the art to which the present invention pertains without departing from the essential characteristics of the present invention.

[0122] The above-described embodiments may be implemented with hardware components, software components, and / or a combination of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications executed on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, the processing device may be described as being one, but those skilled in the art will appreciate that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

[0123] The software may include a computer program, code, instructions, or a combination of one or more of these, and may configure or instruct a processing device to operate as desired, either individually or collectively. The software and / or data may be permanently or temporarily embodied in some type of machine, component, physical device, virtual device, computer storage medium or device, or transmitted signal wave, to be interpreted by the processing device or to provide instructions or data to the processing device. The software may be distributed over network-coupled computer systems and stored or executed in a distributed manner. The software and data may be stored on a computer-readable recording medium.

[0124] The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination, and the program instructions recorded on the medium may be those specially designed and constructed for the embodiment, or those that are well known and available to those skilled in the art of computer software. Examples of computer readable recording 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 floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language code, such as that produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter, etc.

[0125] The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

[0126] Even if the embodiments are described above using limited drawings, those having ordinary skill in the art may apply various technical modifications and variations based thereon. For example, the described techniques may be performed in a different order than described, and / or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different manner than described, or may be replaced or substituted by other components or equivalents, and still achieve appropriate results.

[0127] Therefore, other implementations, embodiments, and equivalents of the claims are intended to be within the scope of the following claims.

[0128] Therefore, the embodiments disclosed in the present invention are intended to explain the technical idea of ​​the invention, not to limit it, and the scope of the technical idea of ​​the present invention is not limited by such embodiments. The scope of protection of the present invention should be interpreted according to the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

Claims

1. a robot including a first workflow engine; and A control cloud connected to the robot via a network, including a second workflow engine, and controlling the robot. comprising The robot comprises: In a first state, perform an operation related to at least one task command included in a task group received from the control cloud; In a second state, the scenario received from the control cloud is applied to the first workflow engine to perform an operation related to the acquired task; The control cloud includes: determining a state of the robot and a state of the network and transmitting at least one of a command and a scenario to the robot; Robot control system.

2. The control cloud includes: If it is determined that the state of the robot is the first state, applying a first scenario to the second workflow engine to obtain a first task group; transmitting instructions for at least one task included in the first task group to the robot; The robot control system of claim 1 .

3. The control cloud includes: generating a first exceptional scenario different from the first scenario based on a state of the network; Applying the first exception scenario to the second workflow engine to obtain a first exception task group; transmits instructions for at least one task included in the first exception task group to the robot; monitoring a state of the robot performing instructions of at least one or more tasks included in the first exception task group; The robot control system of claim 2 .

4. The control cloud includes: When it is determined that the state of the robot is the second state, a representative scenario including a second scenario and a second exceptional scenario is generated; transmitting the representative scenario to the robot; The robot control system of claim 1 .

5. The robot comprises: Applying the second scenario among the representative scenarios received from the control cloud to the first workflow engine to obtain a second task group; When an exception situation related to the second exception scenario occurs while performing an operation related to at least one task included in the second task group, the second exception scenario is applied to the first workflow engine to obtain a second exception task group. The robot control system of claim 4.

6. The robot comprises: When the operation related to at least one task included in the second task group and the operation related to at least one task included in the second exception task group are performed, transmit a result of performing at least one task included in the second task group and at least one task included in the second exception task group to the control cloud. The robot control system of claim 5.

7. The control cloud includes: If it is determined that the state of the robot is a third state different from each of the first state and the second state, applying a third scenario to the second workflow engine to obtain a third task group; Transmitting at least one task included in the third task group to the robot via a first channel included in the control cloud; The robot control system of claim 1 .

8. The robot comprises: In the third state, performing an operation related to at least one task included in the third task group received from the control cloud; Transmitting the state of the robot and the state of the network to a second channel included in the control cloud; The robot control system of claim 7.

9. The control cloud includes: determining whether the state of the robot is an exception state based on the state of the robot received from the robot and the state of the network; If the state of the robot is an exception state, transmitting an operation stop command to the robot through the first channel; Applying a third exception scenario to the second workflow engine to obtain a third exception task group; The robot control system of claim 8.

10. The first state is The network connection state between the robot and the control cloud is always guaranteed to be online, The second state is Including a state where the network connection state between the robot and the control cloud cannot always be guaranteed to be online; The robot control system of claim 1 .

11. memory containing computer-executable instructions; A communications unit that communicates with the control cloud; and At least one processor that accesses the memory and executes the instructions. comprising The at least one processor In a first state, perform an operation related to at least one task command included in a first task group received from the control cloud; In a second state, performing an operation related to at least one task included in a second task group acquired by applying the scenario received from the control cloud to a workflow engine; In a third state, performing an operation related to at least one task included in a third task group received from the control cloud; robot.

12. The at least one processor In the second state, a second scenario among the scenarios received from the control cloud is applied to the workflow engine to obtain a second task group; When an exception situation occurs while performing an operation related to at least one task included in the second task group, a second exception scenario among the scenarios is applied to the workflow engine to obtain a second exception task group. The robot according to claim 11.

13. The at least one processor When the operation related to at least one task included in the second task group and the operation related to at least one task included in the second exception task group are performed, transmit a result of performing at least one task included in the second task group and at least one task included in the second exception task group to the control cloud. The robot of claim 12.

14. The at least one processor Transmitting the state of the robot and the state of the robot network to the control cloud; The robot according to claim 11.

15. The first state is The network connection state between the robot and the control cloud is always guaranteed to be online, The second state is Including a state where the network connection state between the robot and the control cloud cannot always be guaranteed to be online; The robot according to claim 11.

16. In the first state, performing an operation related to an instruction of at least one task included in the task group received from the control cloud; In a second state, the scenario received from the control cloud is applied to a first workflow engine to perform an operation related to the acquired task; and An operation of determining a state of a robot and a state of a network and transmitting at least one of a command and a scenario to the robot. Including, A method for controlling a robot.

17. When it is determined that the state of the robot is the first state, applying a first scenario to a second workflow engine included in the control cloud to obtain a first task group; transmitting instructions for 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 a condition of the network; applying the first exception scenario to the second workflow engine to obtain a first exception task group; transmitting instructions for at least one or more tasks included in the first exception task group to the robot; and monitoring a state of the robot performing instructions of at least one or more tasks included in the first exception task group; Further comprising: The robot control method according to claim 16.

18. an operation of generating a representative scenario including a second scenario and a second exceptional scenario when the state of the robot is determined to be the second state; transmitting the representative scenario to the robot; applying the second scenario among the representative scenarios received from the control cloud to the first workflow engine to obtain a second task group; When an exception situation related to the second exception scenario occurs while performing an operation related to at least one task included in the second task group, applying the second exception scenario to the first workflow engine to obtain a second exception task group; and an operation of transmitting results of performing at least one or more tasks included in the second task group and at least one or more tasks included in the second exception task group to the control cloud when performing an operation related to at least one or more tasks included in the second task group and an operation related to at least one or more tasks included in the second exception task group; Further comprising: The robot control method according to claim 16.

19. When it is determined that the state of the robot is a third state different from each of the first state and the second state, applying a third scenario to a second workflow engine included in the control cloud to obtain a third task group; transmitting at least one task included in the third task group to the robot via a first channel included in the control cloud; In the third state, performing an operation related to at least one task included in the third task group received from the control cloud; and Transmitting the state of the robot and the state of the network to a second channel included in the control cloud. Further comprising: The robot control method according to claim 16.

20. determining whether the state of the robot is an exception state based on the state of the robot received from the robot and the state of the network; transmitting an operation stop command to the robot via the first channel when the state of the robot is an exception state; and applying a third exception scenario to the second workflow engine to obtain a third exception task group; Further comprising:

20. The robot control method according to claim 19.