Method and system for controlling behaviors of plurality of robots in cloud environment

A cloud-based robot control system addresses the challenge of managing multiple robots by using a centralized behavior tree engine, facilitating efficient control and resource allocation without requiring specialized knowledge.

WO2026071452A1PCT designated stage Publication Date: 2026-04-02NAVER CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-08-04
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Conventional behavior tree engines are installed directly on robots, requiring specialized knowledge and making it difficult to manage multiple robots, and resource allocation is inefficient.

Method used

A cloud-based robot control system that uses a behavior tree engine to generate commands for multiple robots, allowing centralized management and resource allocation through a cloud environment, with a user interface for creating and managing behavior trees.

Benefits of technology

Enables efficient management and control of multiple robots by providing a centralized system for behavior control, reducing the need for specialized knowledge and optimizing resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025011591_02042026_PF_FP_ABST
    Figure KR2025011591_02042026_PF_FP_ABST
Patent Text Reader

Abstract

A method and a system for controlling behaviors of a plurality of robots in a cloud environment are disclosed. In one embodiment, a robot control method for a robot control server implemented by at least one computer device included in a cloud environment may comprise the steps of: acquiring a command generated by a behavior tree engine from the behavior tree engine for generating a command for each robot according to a behavior tree algorithm by using a behavior tree generated for a service and a blackboard that stores information about the state of at least one robot; transmitting the acquired command to a corresponding robot; receiving information about a performance result of the robot for the transmitted command and information about the state of the robot; transmitting the information about the performance result to a service system associated with the service; and storing the information about the state of the robot on the blackboard in association with the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Method and system for controlling the behavior of multiple robots in a cloud environment

[0001] The following description relates to a robot control method and system for controlling the behavior of multiple robots in a cloud environment.

[0002] The Behavior Tree (BT) algorithm is an algorithm that defines robot behavior in a tree-like manner. Conventionally, behavior tree engines were installed directly in the robot software to handle only behavior control for standalone robots.

[0003] In these conventional technologies, specialized knowledge of robot software is mandatory because the behavior tree engine is installed directly on the robot itself; furthermore, when multiple robots exist, it was difficult to manage the behavior tree for each robot, and there was a problem requiring additional resource allocation because the tree is operated by the robot.

[0004] A robot control method and system for controlling the behavior of multiple robots in a cloud environment are provided.

[0005] A robot control method for a robot control server implemented by at least one computer device included in a cloud environment, wherein the at least one computer device includes at least one processor, and the at least one processor obtains a command generated by a behavior tree engine from a behavior tree engine that generates a command for each robot according to a behavior tree algorithm using a blackboard that stores information about a behavior tree generated for a service and the state of at least one robot; the at least one processor transmits the obtained command to a corresponding robot; the at least one processor receives information about the result of execution of the transmitted command and information about the state of the robot; the at least one processor transmits information about the result of execution to a service system linked to the service; and the at least one processor stores information about the state of the robot in the blackboard linked to the robot.

[0006] According to one aspect, the robot control method may further include the step of providing a user interface for generating a behavior tree for the service to an administrator of the service by the at least one processor; and the step of registering the behavior tree generated through the user interface in conjunction with the service and the at least one robot by the at least one processor.

[0007] According to another aspect, the user interface may include a function for generating at least one scenario for the service, and each of the at least one scenario may include a behavior tree composed of at least one node.

[0008] According to another aspect, the function for generating the above scenario may be characterized by including at least one function among a function for adding at least one node to the behavior tree and a function for changing information about a node included in the behavior tree.

[0009] According to another aspect, the function for adding at least one node to the behavior tree may be characterized by providing a function for displaying a connection structure between nodes connected to the first node according to the manager's selection of a connection area displayed for the first node included in the behavior tree, and a node addition function for adding a new node.

[0010] According to another aspect, the user interface may be characterized by including a function for setting the start and stop of a behavior tree for the service.

[0011] According to another aspect, the user interface may include a function for checking at least one of the authoring history and the operation history of the behavior tree for the service, and the operation history may be characterized by including information about the nodes of the behavior tree and information about the blackboard.

[0012] According to another aspect, the step of acquiring the command may further acquire an identifier of a robot corresponding to the command, and the step of transmitting the acquired command to a corresponding robot may be characterized by transmitting the acquired command to a robot corresponding to the further acquired identifier.

[0013] According to another aspect, the behavior tree engine may be characterized by performing a Depth First Search (DFS) on the behavior tree from the root until a child node returns a state at preset intervals, and generating the command, writing a value to the blackboard, or performing an action set by the administrator of the service according to the returned state.

[0014] A computer program stored on a computer-readable recording medium is provided to be combined with a computer device to execute the above method on the computer device.

[0015] A computer-readable recording medium is provided on which a program for executing the above method is recorded on a computer device.

[0016] A robot control system comprises: a robot control server implemented by at least one computer device included in a cloud environment; at least one robot; and a behavior tree engine that generates commands for each robot according to a behavior tree algorithm using a blackboard that stores information about a behavior tree generated for a service and the state of the at least one robot, wherein the at least one computer device comprises at least one processor implemented to execute a command readable by the at least one computer device, and wherein the robot control server, by means of the at least one processor, obtains a command generated by the behavior tree engine from the behavior tree engine, transmits the obtained command to a corresponding robot, receives information about the result of execution of the transmitted command and information about the state of the robot, transmits the information about the result of execution to a service system linked to the service, and stores information about the state of the robot in the blackboard linked to the robot.

[0017] A robot control server implemented by at least one computer device included in a cloud environment, wherein the at least one computer device includes at least one processor implemented to execute a command readable by the at least one computer device, and wherein the at least one processor obtains a command generated by a behavior tree engine according to a behavior tree algorithm from a behavior tree engine that generates a command for each robot using a blackboard that stores a behavior tree generated for a service and information about the state of the at least one robot, transmits the obtained command to a corresponding robot, receives information about the result of execution of the transmitted command and information about the state of the robot, transmits the information about the result of execution to a service system linked to the service, and stores information about the state of the robot in the blackboard in conjunction with the robot.

[0018] A robot control method and system for controlling the behavior of multiple robots in a cloud environment can be provided.

[0019] FIG. 1 is a diagram illustrating an example of the operating environment of a robot control system in one embodiment of the present invention.

[0020] FIGS. 2 to 4 are drawings illustrating examples of screens for viewing behavior tree scenarios generated for each robot in an embodiment of the present invention.

[0021] FIGS. 5 to 7 are drawings illustrating examples of detailed configurations of a scenario in an embodiment of the present invention.

[0022] FIG. 8 is a diagram illustrating an example of a user interface for adding nodes for detailed configuration of a scenario in an embodiment of the present invention.

[0023] FIG. 9 is a drawing illustrating an example of a user interface for changing a node for detailed configuration of a scenario in an embodiment of the present invention.

[0024] FIG. 10 is a drawing illustrating an example of the detailed configuration of a scenario created for a courier service in one embodiment of the present invention.

[0025] FIG. 11 is a drawing illustrating an example of a tree driving screen in an embodiment of the present invention.

[0026] FIG. 12 is a block diagram illustrating an example of the internal configuration of a robot control server according to an embodiment of the present invention.

[0027] FIG. 13 is a flowchart illustrating an example of a robot control method of a robot control server according to an embodiment of the present invention.

[0028] FIG. 14 is a block diagram illustrating an example of a computer device according to an embodiment of the present invention.

[0029] Hereinafter, embodiments will be described in detail with reference to the attached drawings.

[0030] FIG. 1 is a diagram illustrating an example of an operating environment of a robot control system in an embodiment of the present invention. A robot control system (100) according to the present embodiment may include a robot control server (110), a behavior tree (BT) engine (120), and a plurality of robots (130).

[0031] The robot control server (110) is a system implemented in a cloud environment and can control multiple robots (130) so that multiple robots (130) process multiple services (140). At this time, the behavior tree engine (120) may also be included in the cloud environment. For example, the behavior tree engine (120) may be included in the robot control server (110) or implemented in a physical device separate from the physical device implementing the robot control server (110) so that they can communicate with each other in the same cloud environment. Additionally, the multiple services (140) may be service systems related to the provision of each service.

[0032] The behavior tree engine (120) can transmit commands for actions for each of the multiple robots (130) to the robot control server (110). For example, the behavior tree engine (120) can transmit a command to the robot control server (110) to “Robot 1” to “open the cargo box” to provide a specific service among the multiple services (140), namely a delivery service. In this case, the robot control server (110) can transmit the command to “Robot 1”.

[0033] At this time, "Robot 1" can perform an action according to a transmitted command (e.g., opening a storage box) and then transmit information about the result of the action performed by "Robot 1" according to the command and information about the state of "Robot 1" to the robot control server (110). Information about the state of the robot may be predefined information regarding the position or operational state of the robot. For example, in the previous example of the storage box, information about the result of the action performed by the robot according to the command may include information that the storage box has been opened, and information about the state of the robot may include information about the robot's current position, information indicating whether the storage box is open or closed, etc. The robot control server (110) can determine that "Robot 1" has opened the storage box according to the command through information about the result of the action performed by "Robot 1" according to the command, and can transmit information about that "Robot 1" has opened the storage box (information about the result of the performed action) to the courier service.

[0034] Additionally, the robot control server (110) can store information about the transmitted robot's state in the behavior tree engine (120), and based on the stored information about the robot's state, the tree can be operated by the behavior tree engine (120) to transmit commands for each service and each robot to the robot control server (110). For example, the behavior tree can be composed of nodes and a blackboard, in which case the nodes can form a tree structure. The blackboard is a key-value store and is a storage that can store data necessary to perform tree logic. The information about the robot's state described above can be stored in this blackboard. Nodes can be divided into action nodes and control flow nodes; control flow nodes can determine the flow of logic, and action nodes can determine specific actions (behaviors) of the robot. Since the behavior tree algorithm itself is already well known, the specific method for determining the flow of logic and actions is omitted. Meanwhile, the behavior tree engine (120) can issue commands to the robot or write values ​​on the blackboard through these nodes, or perform any action desired by the user. The behavior tree engine (120) can perform a Depth First Search (DFS) on the tree from the root until a child node returns a state at regular intervals (e.g., Tick). For example, the behavior tree engine (120) can perform a Tick every 0.5 seconds, taking into account the latency occurring in the network, but is not limited to this.

[0035] Meanwhile, the robot control server (110) can provide a user interface that enables administrators of each service to create, manage, and operate each service's tree in a cloud environment, thereby facilitating smooth service operation. For example, the robot control server (110) can provide an API (Application Programming Interface) that can create and / or delete behavior trees on the robot control server (110). In this case, each service can create or delete behavior trees for its service based on the API provided by the robot control server (110). Similarly, the robot control server (110) can provide APIs that can start and / or stop behavior trees, APIs that can view and / or modify blackboards, and APIs that can create, modify, and / or delete scenarios of behavior trees. For example, the robot control server (110) can provide a behavior tree web interface. The behavior tree web interface may include functions for tree authoring tools, checking tree authoring history, starting and stopping the tree, checking tree status, and / or checking tree operation history (nodes and blackboard), and these functions may be performed through the API calls described above.

[0036] In other words, when the administrators of each service create and start a behavior tree for their service through the behavior tree web interface provided by the robot control server (110), the behavior tree engine (120) can search the behavior tree every tick and transmit a command to the robot control server (110) to operate a specific robot according to the returned state. In this case, the robot control server (110) can transmit the command to the specific robot. Additionally, after the specific robot performs an action according to the transmitted command, it can transmit information about the result of the performed action and information about the robot's state to the robot control server (110). In this case, the robot control server (110) can transmit information about the result of the robot's action to the corresponding service to notify it, and can store information about the robot's state in a blackboard. Based on the information stored in the blackboard, the behavior tree engine (120) can search the behavior tree at the next tick to determine the flow of logic and the robot's action.

[0037] FIGS. 2 to 4 illustrate examples of screens for viewing behavior tree scenarios generated per robot in an embodiment of the present invention. The embodiments of FIGS. 2 to 4 are examples of list screens for behavior tree scenarios generated per robot for different services, where "2nDC ALLY", "2nDC ALONE", and "2nDC Workstation" may each be service identifiers, and different behavior tree scenarios for each of these services may be managed through creation, viewing, and / or deletion. Here, "2nDC ALLY", "2nDC ALONE", and "2nDC Workstation" may be classified according to the type of service provided by the robot, and for each type of service, multiple different robots may provide the corresponding service.

[0038] When each scenario is clicked on the scenario list view screen, a user interface may be provided that allows viewing the detailed components of the scenario. Additionally, features for scenario authoring may be provided within this user interface. In this case, since drawing all components related to a single service within a single scenario would make the scenario too extensive, scenarios can be written separately for each function and / or behavior. Furthermore, the individually written scenarios can all be combined in a root scenario (for example, "Root MAIN"). For example, other scenarios can be referenced via reference nodes.

[0039] FIGS. 5 to 7 are drawings illustrating examples of detailed configurations of scenarios in an embodiment of the present invention. FIGS. 5 to 7 show examples of detailed configurations of scenarios for "Root," "Charge," and "Emergency" of 2nDC ALLY. FIGS. 5 to 7 show some of the nodes of the scenario for each function and / or action. The flow of each node and the robot's actions according to the sub-nodes can be written by an administrator for each service. As previously explained, the behavior tree algorithm itself is already well known, so a detailed description is omitted.

[0040] FIG. 8 illustrates an example of a user interface for adding nodes for detailed configuration of a scenario in an embodiment of the present invention. In the embodiment of FIG. 8, when a user (e.g., an administrator of a specific service) selects a connection area (e.g., an area where a diamond shape is displayed) of a first node of a tree (e.g., an area where a diamond shape is displayed) (e.g., clicking the connection area with a mouse in a PC environment), a connection structure (810) between the first node and the connected nodes is displayed, and a node addition function (820) for adding a new node is displayed. The node addition function (820) may present a list of node types so that the user can select the type of node to be added. The user can select the type of second node to be added from the node addition function (820), and the second node of the selected type can be added by connecting it to the first node. Since there are connection areas at the top and bottom of each node, the user can add various types of nodes by selecting the corresponding connection area.

[0041] FIG. 9 is a diagram illustrating an example of a user interface for changing a node for detailed configuration of a scenario in an embodiment of the present invention. The embodiment of FIG. 9 illustrates an example in which a node changing function (920) is provided to change information related to a specific node (910) as the user selects the node (910) of the tree. The node changing function (920) may provide a function to change information related to the node, such as parameters, name, function, and / or type of the node.

[0042] In the embodiments of FIGS. 2 to 9, a scenario list viewing screen is provided to the administrators of each service so that the administrator can create, delete, and / or view scenarios, and can view the detailed configuration of a scenario by clicking on each scenario on the scenario list viewing screen, as well as add and / or change the detailed configuration of a scenario in the interface. The scenarios created through this user interface and the detailed configurations of the scenarios can be stored and utilized in the robot control server (110) and / or the behavior tree engine (120).

[0043] FIG. 10 is a diagram illustrating an example of the detailed configuration of a scenario created for a courier service in an embodiment of the present invention. The embodiment of FIG. 10 shows an example of the detailed configuration of a scenario created by the manager of the service for the courier service. In this case, FIG. 10 shows only some of the nodes required for the courier service. If additional functions and / or robot actions are required, the manager may add new nodes as described in the embodiment of FIG. 8, and may change information about existing nodes if necessary.

[0044] The scenarios, nodes, and information regarding the nodes described in the embodiments of FIGS. 2 to 10 above may be generated by an administrator according to the needs of each service, and the robot control server (110) may provide the administrator with a user interface including functions for this purpose and may store the scenarios and detailed configurations of the scenarios generated by the administrator as a tree. Subsequently, the behavior tree engine (120) may control the robots by utilizing the stored tree and a blackboard that stores information about the robot's state.

[0045] FIG. 11 is a diagram illustrating an example of a tree operation screen in an embodiment of the present invention. The embodiment of FIG. 11 shows an example of a lookup screen indicating whether a service identified by a service name is performed (started and stopped) for each individual robot identified by a robot identifier (ROBOT ID). In this case, VERSION may refer to the version of the behavior tree, and TICK DURATION may refer to the behavior tree engine (120) performing a depth-first search from the root until a child node returns a state in the behavior tree at set times (100ms in the embodiment of FIG. 11) to generate a command for each robot. A command may not be generated for every tick depending on the behavior tree.

[0046] FIG. 12 is a block diagram illustrating an example of the internal configuration of a robot control server according to an embodiment of the present invention, and FIG. 13 is a flowchart illustrating an example of a robot control method of a robot control server according to an embodiment of the present invention. The robot control server (110) according to the present embodiment may be implemented by at least one computer device included in a cloud environment. For example, the processor of the computer device may be implemented to execute a control instruction according to the code of an operating system included in the memory of the computer device or the code of at least one computer program. Here, the processor may control the computer device and / or the robot control server (110) so that the computer device and / or the robot control server (110) perform steps (1310 to 1370) included in the method of FIG. 13 according to the control instruction provided by the code stored in the computer device.

[0047] First, as illustrated in FIG. 12, the robot control server (110) may include an interface providing unit (1210), a tree management unit (1220), a command acquisition unit (1230), a command transmission unit (1240), an information receiving unit (1250), an information transmission unit (1260), and an information storage unit (1270). Here, each of the interface providing unit (1210), the tree management unit (1220), the command acquisition unit (1230), the command transmission unit (1240), the information receiving unit (1250), the information transmission unit (1260), and the information storage unit (1270) may be a functional expression of at least one processor for controlling the robot control server to perform steps (1310 to 1370) of a robot control method.

[0048] In step (1310), the interface providing unit (1210) may provide a user interface for creating a behavior tree for a service to the administrator of the service. For example, the user interface may include a function for creating at least one scenario for the service. In this case, each of the at least one scenario may include a behavior tree composed of at least one node. Additionally, the function for creating a scenario may include at least one function among a function for adding at least one node to the behavior tree and a function for changing information about the node included in the behavior tree. In this case, the function for adding at least one node to the behavior tree may provide a function for displaying a connection structure between nodes connected to the first node according to the administrator's selection of a connection area displayed for the first node included in the behavior tree, and a node addition function for adding a new node. Embodiments providing a scenario list screen have been described above through FIGS. 2 to 4, and embodiments of a behavior tree composed of multiple nodes have been described through FIGS. 5 to 10. In particular, an example of a function for adding a new node was explained through Fig. 9, and an example of a function for changing information about a node included in a behavior tree was explained through Fig. 10.

[0049] Additionally, the user interface may include a function for setting the start and stop of a behavior tree for the service. Additionally, the user interface may include a function for checking at least one of the authoring history and the operation history of the behavior tree for the service. In this case, the operation history may include information about the nodes of the behavior tree and information about the blackboard.

[0050] In step (1320), the tree management unit (1220) can register a behavior tree generated through a user interface in conjunction with a service and at least one robot. The registered behavior tree can be provided to a behavior tree engine. Here, the behavior tree engine can correspond to the behavior tree engine (120) described above.

[0051] In step (1330), the command acquisition unit (1230) can acquire commands from the behavior tree engine. The behavior tree engine can generate commands for each robot according to a behavior tree algorithm using a blackboard that stores information about the state of at least one robot and a behavior tree generated for the service, and the command acquisition unit (1230) can receive and acquire commands provided by the behavior tree engine. As previously described, the behavior tree engine may be included in the robot control server (110), but it may also be implemented in a computer device separate from the computer device implementing the robot control server (110) and provide commands by communicating with the robot control server (110).

[0052] The behavior tree engine can perform a depth-first search of the behavior tree from the root until a child node returns a state at preset intervals, and generate a command based on the returned state, write a value to the blackboard, or perform an action set by the service administrator. The command acquisition unit (1230) can receive a command whenever the behavior tree engine generates and provides a command, and subsequent steps (1340) to (1370) can be performed for each received command.

[0053] In step (1340), the command transmission unit (1240) can transmit the acquired command to the corresponding robot. For example, the command acquisition unit (1230) can further acquire an identifier of the robot corresponding to the command in step (1330). In this case, the command transmission unit (1240) can transmit the acquired command to the robot corresponding to the further acquired identifier in step (1340).

[0054] In step (1350), the information receiving unit (1250) can receive information about the result of execution of the transmitted command of the robot and information about the state of the robot. The information about the state of the robot may be predefined information regarding the position or operating state of the robot, as previously described.

[0055] In step (1360), the information transmission unit (1260) can transmit information about the execution result to a service system linked to the service. The information transmitted to the service system can be used to determine the progress status of the service by the robots in the service system.

[0056] In step (1370), the information storage unit (1270) can store information about the robot's state in conjunction with the robot on the blackboard. As previously explained, information about the robot's state can be stored on the blackboard, and information about the robot's state can be used by the behavior tree engine to generate commands for the robot.

[0057] Thus, according to embodiments of the present invention, a robot control method and system for controlling the behavior of a plurality of robots in a cloud environment can be provided.

[0058] FIG. 14 is a block diagram illustrating an example of a computer device according to an embodiment of the present invention. As shown in FIG. 14, the computer device (1400) may include memory (1410), a processor (1420), a communication interface (1430), and an input / output interface (1440). The memory (1410) is a computer-readable recording medium and may include a non-perishable mass storage device such as RAM (random access memory), ROM (read only memory), and a disk drive. Here, the non-perishable mass storage device such as ROM and the disk drive may be included in the computer device (1400) as a separate permanent storage device distinct from the memory (1410). Additionally, an operating system and at least one program code may be stored in the memory (1410). These software components may be loaded into memory (1410) from a computer-readable recording medium separate from memory (1410). This separate computer-readable recording medium may include computer-readable recording media such as floppy drives, disks, tapes, DVD / CD-ROM drives, and memory cards. In another embodiment, software components may be loaded into memory (1410) via a communication interface (1430) rather than a computer-readable recording medium. For example, software components may be loaded into memory (1410) of a computer device (1400) based on a computer program installed by files received through a network (Network, 1460).

[0059] The processor (1420) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (1420) via memory (1410) or a communication interface (1430). For example, the processor (1420) may be configured to execute instructions received according to program code stored in a recording device such as memory (1410).

[0060] The communication interface (1430) may provide a function for the computer device (1400) to communicate with other devices through a network (1460). For example, requests, commands, data, files, etc. generated by the processor (1420) of the computer device (1400) according to program code stored in a recording device such as memory (1410) may be transmitted to other devices through the network (1460) under the control of the communication interface (1430). Conversely, signals, commands, data, files, etc. from other devices may be received by the computer device (1400) through the communication interface (1430) of the computer device (1400) via the network (1460). Signals, commands, data, etc. received through the communication interface (1430) may be transmitted to the processor (1420) or memory (1410), and files, etc. may be stored in a storage medium (the permanent storage device described above) that the computer device (1400) may further include.

[0061] The communication method is not limited and may include not only communication methods utilizing communication networks (e.g., mobile communication networks, wired internet, wireless internet, broadcasting networks) that the network (1460) may include, but also short-range wireless communication between devices. For example, the network (170) may include any one or more networks such as a PAN (personal area network), LAN (local area network), CAN (campus area network), MAN (metropolitan area network), WAN (wide area network), BBN (broadband network), and the Internet. Additionally, the network (1460) may include any one or more network topologies such as a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or hierarchical network, but is not limited thereto.

[0062] The input / output interface (1440) may be a means for interfacing with an input / output device (I / O device, 1450). For example, the input device may include a device such as a microphone, keyboard, or mouse, and the output device may include a device such as a display or speaker. As another example, the input / output interface (1440) may be a means for interfacing with a device in which the functions for input and output are integrated into one, such as a touchscreen. The input / output device (1450) may be composed of a computer device (1400) and a single device.

[0063] Additionally, in other embodiments, the computer device (1400) may include fewer or more components than those of FIG. 14. However, it is not necessary to clearly illustrate most of the prior art components. For example, the computer device (1400) may be implemented to include at least some of the input / output devices (1450) described above, or may include other components such as a transceiver, a database, etc.

[0064] The system or device described above may be implemented as a hardware component, or a combination of a hardware component and a software component. For example, the device and component described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as, for example, 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 unit may execute an operating system (OS) and one or more software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. In addition, other processing configurations, such as parallel processors, are also possible.

[0065] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or instruct the processing unit independently or collectively. Software and / or data may be embodied in any type of machine, component, physical device, virtual equipment, computer storage medium, or device so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and may be stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

[0066] The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., either individually or in combination. The medium may continuously store a program executable by a computer, or temporarily store it for execution or download. Furthermore, the medium may be various recording or storage means in the form of a single or multiple hardware components, and is not limited to a medium directly connected to a computer system, but may also exist distributed over a network. Examples of media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Additionally, other examples of media may include recording or storage media managed by app stores that distribute applications or sites and servers that supply or distribute various other software. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

[0067] Although the embodiments have been described above with reference to limited examples and drawings, those skilled in the art can make various modifications and variations from the description above. For example, suitable results can be achieved even if the described techniques are performed in a different order than described, and / or the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.

[0068] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.

Claims

1. A robot control method of a robot control server implemented by at least one computer device included in a cloud environment, At least one computer device includes at least one processor, and A step of obtaining a command generated by a behavior tree engine from a behavior tree engine that generates a command for each robot according to a behavior tree algorithm, using a blackboard that stores information about a behavior tree generated for a service and the state of at least one robot by the above-mentioned at least one processor; A step of transmitting the acquired command to a corresponding robot by the above at least one processor; A step of receiving, by the above at least one processor, information regarding the result of execution of the above-transmitted command of the robot and information regarding the state of the robot; A step of transmitting information about the execution result to a service system associated with the service by the at least one processor; and A step of storing information about the state of the robot in the blackboard in conjunction with the robot by the above at least one processor A robot control method including 2. In Paragraph 1, The step of providing a user interface for generating a behavior tree for the service to the manager of the service by the at least one processor; and A step of registering a behavior tree generated through the user interface by the at least one processor in conjunction with the service and the at least one robot A robot control method including further 3. In Paragraph 2, The above user interface includes a function for generating at least one scenario for the service, and Each of the above at least one scenario includes a behavior tree composed of at least one node. A robot control method characterized by 4. In Paragraph 3, A robot control method characterized by including at least one function among a function for generating the above scenario, a function for adding at least one node to the above behavior tree, and a function for changing information about a node included in the above behavior tree.

5. In Paragraph 4, A robot control method characterized by providing a function for adding at least one node to the behavior tree, a function for displaying a connection structure between nodes connected to the first node according to the manager's selection of a connection area displayed for the first node included in the behavior tree, and a node addition function for adding a new node.

6. In Paragraph 2, A robot control method characterized in that the above user interface includes a function for setting the start and stop of a behavior tree for the above service.

7. In Paragraph 2, The above user interface includes a function for checking at least one of the authoring history and operation history of the behavior tree for the above service, and The above driving history includes information about the nodes of the above behavior tree and information about the above blackboard. A robot control method characterized by 8. In Paragraph 1, The step of obtaining the above command is, Further obtain the identifier of the robot corresponding to the above command, and The step of transmitting the above-mentioned acquired command to a corresponding robot is, Transmitting the acquired command to the robot corresponding to the further acquired identifier A robot control method characterized by 9. In Paragraph 1, A robot control method characterized by the above behavior tree engine performing a Depth First Search (DFS) on the behavior tree from the root until a child node returns a state at preset intervals, and generating the command, writing a value to the blackboard, or performing an action set by the administrator of the service according to the returned state.

10. A computer program stored on a computer-readable recording medium combined with a computer device to execute the method of any one of claims 1 to 9 on said computer device.

11. In a robot control system, A robot control server implemented by at least one computer device included in a cloud environment; At least one robot; and A behavior tree engine that generates commands for each robot according to a behavior tree algorithm using a blackboard that stores information about a behavior tree generated for a service and the state of at least one robot. Includes, The at least one computer device comprises at least one processor implemented to execute instructions readable by the at least one computer device, and The robot control server above is, by the at least one processor, From the above behavior tree engine, obtain the command generated by the above behavior tree engine, and The above-mentioned acquired command is transmitted to the corresponding robot, and Receive information regarding the execution result of the above-mentioned command of the above-mentioned robot and information regarding the status of the above-mentioned robot, and Information regarding the results of the above execution is transmitted to a service system linked to the above service, and Storing information about the state of the above robot in the above blackboard in conjunction with the above robot A robot control system characterized by 12. In Paragraph 11, The robot control server above is, by the at least one processor, A user interface for generating a behavior tree for the above service is provided to the administrator of the above service, and Registering the behavior tree generated through the above user interface in conjunction with the above service and at least one robot A robot control system characterized by 13. In Paragraph 12, The above user interface includes a function for generating at least one scenario for the service, a function for setting the start and stop of a behavior tree for the service, and further includes at least one function among a function for checking at least one of the authoring history and operation history of the behavior tree for the service. Each of the above at least one scenario includes a behavior tree composed of at least one node, and The above driving history includes information about the nodes of the above behavior tree and information about the above blackboard. A robot control system characterized by 14. In Paragraph 11, The above robot control server is, To obtain the above command Further obtain the identifier of the robot corresponding to the above command, and In order to transmit the above-mentioned acquired command to a corresponding robot, by the above-mentioned at least one processor, Transmitting the acquired command to the robot corresponding to the further acquired identifier A robot control system characterized by 15. In Paragraph 11, A robot control system characterized by the above behavior tree engine performing a Depth First Search (DFS) on the behavior tree from the root until a child node returns a state at preset intervals, and generating the command according to the returned state, writing a value to the blackboard, or performing an action set by the administrator of the service.

16. A robot control server implemented by at least one computer device included in a cloud environment, The at least one computer device comprises at least one processor implemented to execute instructions readable by the at least one computer device, and By the above at least one processor, A command generated by the behavior tree engine is obtained from a behavior tree engine that generates commands for each robot according to a behavior tree algorithm using a blackboard that stores information about a behavior tree generated for a service and the state of at least one robot, and The above-mentioned acquired command is transmitted to the corresponding robot, and Receive information regarding the execution result of the above-mentioned command of the above-mentioned robot and information regarding the status of the above-mentioned robot, and Information regarding the results of the above execution is transmitted to a service system linked to the above service, and Storing information about the state of the above robot in the above blackboard in conjunction with the above robot A robot control server featuring 17. In Paragraph 16, By the above at least one processor, A user interface for generating a behavior tree for the above service is provided to the administrator of the above service, and Registering the behavior tree generated through the above user interface in conjunction with the above service and at least one robot A robot control server featuring 18. In Paragraph 17, The above user interface includes a function for generating at least one scenario for the service, a function for setting the start and stop of a behavior tree for the service, and further includes at least one function among a function for checking at least one of the authoring history and operation history of the behavior tree for the service. Each of the above at least one scenario includes a behavior tree composed of at least one node, and The above driving history includes information about the nodes of the above behavior tree and information about the above blackboard. A robot control server featuring

Citation Information

Patent Citations

  • Robot and method for controlling the same

    KR1020120074887A

  • Clear coat composition

    KR1020250112073A

  • Parking assistance system for vehicle

    KR1020260052623A

  • Apparatus and method for providing user-customized lecture matching service

    KR102624046B1

  • Engaging in human-based social interaction with members of a group using a persistent companion device

    US20160193732A1