Method, computing device, and computer program for task allocation and planning for robot for optimizing service scenario
The method enhances robot task allocation and planning by using user and environmental data to select robots, consider task dependencies, and generate behavior trees, addressing flexibility and adaptability issues in dynamic scenarios.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-25
- Publication Date
- 2026-03-05
Smart Images

Figure KR2025012906_05032026_PF_FP_ABST
Abstract
Description
Methods for assigning and planning tasks of robots, computing devices and computer programs for optimizing service scenarios
[0001] The present invention relates to a method for allocating and planning tasks of a robot, a computing device and a computer program for optimizing a service scenario.
[0002] Recently, various types of robots are being used in real life and factory automation.
[0003] These robots have specialized control scenarios tailored to their specific purposes. In factory automation, motion control scenarios suited to repetitive tasks are primarily used, and these scenarios are designed to allow robots to perform repetitive tasks to maximize efficiency.
[0004] However, simple repetitive scenarios are not enough for service robots used in daily life or in various places.
[0005] For example, guide robots must interact with users and provide information in real time, and delivery robots must avoid obstacles in their path and safely reach their destination.
[0006] Additionally, even for the same robot, the scenario for robot control often needs to be modified depending on the location where it is used or the service provided, so the robot must be controlled in a complex environment.
[0007] However, conventional robot task allocation and planning systems are designed to operate in predictable, static environments, and thus have limitations in performing robot task allocation and planning in real environments with various variables and interactions due to their complexity.
[0008] Additionally, conventional robot task allocation and planning systems are designed to operate according to fixed scenarios, limiting their ability to flexibly allocate and plan tasks according to user needs.
[0009] To address these challenges, we need methods for task allocation and planning that enable robots to perform more effectively in diverse environments and adapt to changing situations in real time.
[0010] The present invention aims to propose a method for allocating and planning tasks of a robot, a computing device and a computer program for optimizing a service scenario.
[0011] The objectives of the present invention are not limited to those mentioned above. Other objectives and advantages of the present invention not mentioned above can be understood through the following description and will be more clearly understood through the embodiments of the present invention. Furthermore, it will be readily apparent that the objectives and advantages of the present invention can be realized by the means and combinations thereof set forth in the claims.
[0012] In order to achieve the above-described purpose, a method for allocating and planning tasks of a robot performed in a computing device according to an embodiment of the present invention may include a step of acquiring robot data of a robot capable of executing a scenario for a service desired by a user and environmental data of a location where the service is to be performed, and a step of allocating and planning tasks of a robot capable of performing tasks within the scenario based on the robot data and environmental data.
[0013] Additionally, the task assignment and planning step of the robot can select a robot capable of performing the task within the scenario based on the robot data and environmental data.
[0014] Additionally, the task assignment and planning step of the robots can assign tasks to selected robots by considering the dependencies between tasks within the scenario.
[0015] Additionally, the tasks within the above scenario may consist of at least one main action or sub-action of the robot.
[0016] In addition, the task assignment and planning step of the robot can establish a path plan for performing the task assigned to the robot and generate a behavior tree of the robot according to the path plan.
[0017] In addition, the task assignment and planning step of the robot can establish the task assignment and planning of the robot so as to minimize the time required to complete the task.
[0018] Additionally, a step of preprocessing the robot data and environmental data may be further included to efficiently perform task assignment and planning of the scenario.
[0019] Meanwhile, the computing device of the present invention includes a processor and a memory communicating with the processor, wherein the memory stores instructions for causing the processor to perform operations, and the operations may include an operation of acquiring robot data of a robot capable of executing a scenario for a service desired by a user and environmental data of a location where the service is to be performed, and an operation of allocating and planning tasks of a robot capable of performing tasks within the scenario based on the robot data and environmental data.
[0020] Additionally, the task assignment and planning operations of the robot can select a robot capable of performing the task within the scenario based on the robot data and environmental data.
[0021] Additionally, the task assignment and planning operations of the robots can assign tasks to selected robots by considering dependencies between tasks within the scenario.
[0022] Additionally, the tasks within the above scenario may consist of at least one main action or sub-action of the robot.
[0023] In addition, the task assignment and planning operations of the robot can establish a path plan for performing the task assigned to the robot and generate a behavior tree of the robot according to the path plan.
[0024] In addition, the robot's task allocation and planning operations can be established so that the time required to complete the task is minimized.
[0025] Additionally, the operation of preprocessing the robot data and environmental data may be further included to efficiently perform the task assignment and planning of the scenario.
[0026] According to the present invention, task allocation and planning can be optimized to efficiently perform tasks in various environments, and the robot's tasks can be adjusted in real time according to user needs or environmental changes.
[0027] In addition, the present invention can merge or modify multiple scenarios, and efficiently perform task allocation and planning of robots even in complex scenarios by considering dependencies and interdependencies between tasks.
[0028] The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
[0029] Figure 1 is a schematic diagram showing the configuration of a robot control system according to one embodiment of the present invention.
[0030] Figure 2 is an exemplary diagram showing the configuration of a robot control system according to one embodiment of the present invention.
[0031] Figure 3 is a flowchart illustrating a scenario creation method according to one embodiment of the present invention.
[0032] Figure 4 is a flowchart illustrating a method for assigning and planning tasks of a robot according to one embodiment of the present invention.
[0033] Figure 5 is an exemplary diagram showing a preprocessing process according to one embodiment of the present invention.
[0034] Figure 6 is a flowchart illustrating more specifically the task allocation and planning of a robot according to one embodiment of the present invention.
[0035] Figure 7 is an exemplary diagram showing robot-specific task distribution according to one embodiment of the present invention.
[0036] Figure 8 is an exemplary diagram showing the configuration of a computing device according to one embodiment of the present invention.
[0037] The following merely illustrates the principles of the present invention. Therefore, those skilled in the art will be able to implement the principles of the present invention and invent various devices within the scope and spirit of the present invention, even if not explicitly described or illustrated herein. Furthermore, all conditional terms and embodiments listed herein are expressly intended, in principle, to facilitate understanding of the concepts of the present invention, and should be understood as being in no way limiting to the specifically enumerated embodiments and conditions.
[0038] The above-described objects, features and advantages will become more apparent through the following detailed description with reference to the attached drawings, so that a person having ordinary skill in the art to which the present invention pertains can easily practice the technical idea of the present invention.
[0039] In addition, in describing the present invention, if it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.
[0040] Hereinafter, various embodiments of the present invention will be described in detail with reference to the attached drawings.
[0041] Figure 1 is a schematic diagram showing the configuration of a robot control system according to one embodiment of the present invention.
[0042] Referring to FIG. 1, a robot control system (1000) according to the present invention may include a process for dynamically planning and optimizing the actions of a robot, and the robot control system (1000) may provide a robot control service aimed at automatically generating and coordinating the tasks of the robot through various steps, such as inputting scenarios / commands for robot control, action planning, and execution management. Here, a robot may refer to any type of robot that can automate specific tasks, extend human capabilities, and perform tasks in difficult-to-access locations.
[0043] For example, robots may include robots that perform exploration activities in difficult-to-access environments, robots that assist with precise surgery or treatment in the medical field, and robots that perform tasks such as assembling, packaging, welding, and painting products in manufacturing processes. In the present invention, the description will be based on robots that perform tasks such as cleaning, guiding, and delivery for the purpose of serving general consumers or providing services.
[0044] The robot control service of the robot control system (1000) can be broadly divided into three parts: a scenario process for inputting, outputting, generating, and managing scenarios for robot control; a work process for planning and assigning robot behavior trees (BTs) and tasks; and a simulation process for executing simulations. Each process can interact and be operated in an integrated manner to optimally achieve the user's desired results.
[0045] First, regarding the scenario process, a user using the robot control system (1000) can input scenarios or control commands for tasks to be performed by the robot through an app (APP, 11) that provides robot control services. The user-entered scenarios can be easily managed (edited, created, etc.) through an intuitive user interface and adjusted to various work environments and purposes. In this case, the user may refer to an employee (e.g., an on-site consulting employee) who contacts a customer to provide robot control services, or a customer who utilizes the robot control services.
[0046] The user's input scenario is created as a scenario for a service through several modification processes via the scenario module (1200) in the robot control system (1000), and the created scenario can be reflected in the robot's work plan and allocation through the work creation module (1400).
[0047] And, through the simulation module (1300), the service scenario can be simulated as a virtual robot in a virtual space (12) and then distributed as a robot that will provide the service desired by the user.
[0048]
[0049] Hereinafter, the overall operation of the robot control system (1000) will be described with reference to FIG. 2.
[0050] Figure 2 is an exemplary diagram showing the configuration of a robot control system according to one embodiment of the present invention.
[0051] Referring to FIG. 2, a user (21) can provide user input to a robot control system (1000) to create a scenario or manage (e.g., modify) an existing scenario through an interface module (1100) for robot control suitable for a desired service. Here, the interface module (1100) can interact with the user through a web browser or an app.
[0052] In addition, the scenario module (1200) can create a new scenario or modify an existing scenario based on user input entered through the interface module (1100), and can manage / modify various items related to the scenario (e.g., movement path, map, BGM, etc.).
[0053] Next, the service scenario generated in the scenario module (1200) and various data related to the service scenario can be provided to the task generation module (1400) via the data management module (1500). Here, the data management module (1500) is responsible for service management and data relay management, and can coordinate smooth data flow and tasks with other modules of the robot control system (1000).
[0054] In addition, the task creation module (1400) establishes task allocation and task plans for each robot using a service scenario and user input, creates a robot behavior tree (BT) and reflects it in the user's scenario to create a service scenario, and this service scenario can be provided to the simulation module (1300) via the data management module (1500).
[0055] Additionally, the simulation module (1300) performs services using a virtual robot in a virtual environment based on a service scenario, thereby verifying (or testing) the service scenario and acquiring various data (e.g., success or failure, spatial status, learning data, etc.). The various data acquired in this way are provided to the task generation module (1400) and can be used to optimize the service scenario.
[0056] In addition, the data management module (1500) can distribute service scenarios to a robot (22) via a relay module (1600). Here, the relay module (1600) is a module that supports safe and efficient data communication in a network environment and can perform packet relay and TLS mutual authentication.
[0057] Additionally, the data storage module (1700) can store various data generated or input during the operation of the robot control system (1000).
[0058] For example, the data storage module (1700) may store performance data, reference data, simulator data, environmental data, robot data, sensing data, service data, keywords matching main actions and sub-actions, etc.
[0059] Through each module of the robot control system (1000) described above, a user can create and modify various desired scenarios in real time, and by verifying and optimizing the proposed scenarios through simulation, a robot control service that can quickly respond to dynamic environmental changes can be provided.
[0060]
[0061] Next, a method for generating a scenario for robot control in a robot control system (1000) is described with reference to FIG. 3.
[0062] Figure 3 is a flowchart illustrating a scenario creation method according to one embodiment of the present invention.
[0063] Referring to FIG. 3, the robot control system (1000) can receive a draft scenario for a service to be performed by the robot from the user (S100). Here, the draft scenario is an initial input stage in the robot control system (1000) where the user defines the basic plan and requirements for the task to be performed by the robot. The user can set the robot's task goals and environmental conditions and provide an outline of the task to be performed by the robot. For example, the draft scenario may include information about the path, movements, etc. for the service to be performed by the robot.
[0064] Specifically, the interface module (1100) of the robot control system (100) supports various input methods such as a GUI (Graphical User Interface) input method, a voice input method, and a text input method so that a user can input a scenario intuitively and efficiently, and each input method will be described.
[0065] First, let's explain the GUI input method. Users can input scenarios through an intuitive graphical user interface. The GUI input method allows users to interact with the robot through drag-and-drop, button clicks, and other methods, allowing them to easily configure the robot's work path, target points, and task details.
[0066] For example, a user can specify a robot's movement path by dragging it on an on-screen map, and enter a draft scenario by selecting and adding the required tasks from a task list.
[0067] Next, the text input method is described. A user can input a scenario in text format. At this time, the robot control system (100) can recommend commands or settings for controlling the robot based on the text entered by the user, and the user can select the recommended commands or settings to input a draft scenario. This text input can be useful for accurately conveying detailed commands or settings.
[0068] Additionally, when explaining the voice input method, users can input draft scenarios using natural language. For example, a user can input a draft scenario for the robot by voice-referencing a command such as "Start cleaning in the living room at 10 o'clock and move to the kitchen after cleaning."
[0069] Meanwhile, the draft scenario input into the robot control system (1000) may be input by a consulting staff member who conducts consultation with a customer receiving the service.
[0070] Additionally, the robot control system (100) can receive a draft scenario from at least two input methods among a GUI (Graphical User Interface) input method, a voice input method, and a text input method.
[0071] In this case, the robot control system (100) can preprocess each draft scenario input through multiple input methods to generate a multi-modal draft scenario. Here, the multi-modal draft scenario may refer to a single comprehensive draft scenario that combines data collected through multiple input methods.
[0072] Specifically, the robot control system (100) can generate a multi-modal draft scenario in text format by organizing content inconsistencies or duplicate information between various input formats or resolving conflicts in draft scenarios input through various input methods.
[0073] For example, if a draft scenario such as “Deliver the document to the 3rd floor marketing department, then deliver coffee to the 5th floor conference room” is input by voice input, or “Designate the route from the 3rd floor marketing department to the 5th floor conference room by dragging it on the map within the building” is input by GUI input, the robot control system (100) can preprocess the input draft scenario to generate a multi-modal draft scenario such as “Move to the 3rd floor marketing department and place the document, then move to the 5th floor conference room and place the coffee there.”
[0074] By utilizing two or more input methods in this way, users can effectively input draft scenarios for their needs.
[0075] Additionally, the robot control system (1000) can detect keywords related to robot control from the input draft scenario (S200). Here, keywords are words or phrases with significant meaning in the user-entered commands or scenarios, and can be used to clearly define the robot's task goals and methods. For example, keywords can be words indicating the type, location, target, or action of the task to be performed by the robot, such as "movement," "arrival," "cleaning," "delivery," or "security."
[0076] Specifically, when a user inputs a draft scenario using voice and text input, the draft scenario is input in natural language, so the scenario module (1200) of the robot control system (1000) can utilize natural language processing (NLP) technology to interpret the syntax of the input sentence, identify verbs and nouns indicating major actions, and extract keywords related to robot control. At this time, the robot control system (1000) can analyze the context of the sentence, process polysemous and complex sentences, and appropriately detect keywords.
[0077] Furthermore, the robot control system (1000) can recognize and compensate for various input variations and differences in the user's pronunciation, intonation, and expression style through continuous learning, thereby accurately detecting keywords. For example, even if the user inputs the command "Start food delivery from the kitchen" differently depending on the expression style, such as "Bring food to the kitchen" or "Deliver to the kitchen," the robot control system (1000) can interpret these as having the same meaning and accurately detect keywords such as "delivery" and "kitchen."
[0078] That is, the robot control system (1000) can detect keywords by recognizing new input methods or pronunciation patterns through adaptive learning.
[0079] In addition, when a user inputs a draft scenario using a GUI input method, when configuring the scenario, he or she is provided with options for settings, commands, etc. for the robot's operations, and each option is matched with a predefined keyword, and the robot control system (1000) can detect keywords related to robot control in the draft scenario through the matched keywords.
[0080] Additionally, when a user inputs a draft scenario in multiple input modes, the robot control system (1000) can detect keywords related to robot control from the multi-modal draft scenario.
[0081] Additionally, the robot control system (1000) can recommend the robot's main action and sub-action to the user based on the detected keywords (S300). Here, the robot's main action represents the main task performed by the robot, and the sub-action represents a detailed task that supports or assists the main action.
[0082] Specifically, a main action can consist of actions that represent the primary task or goal the robot must perform. For example, a main action can be comprised of essential parts of a task, such as "Move," "Arrive," "Start," "Pick up a tray," or "Return to a waiting area," and can define the goals the robot must achieve.
[0083] Additionally, sub-actions are subtasks that assist the main action and can be composed of detailed tasks to support the execution of the main action. These can be defined as necessary components to increase the efficiency and success rate of the main action, such as "BGM operation," "LED operation," "TTS playback," "tray check," and "battery check."
[0084] That is, the main action represents the main task or goal that the robot must perform, and the sub-action can mean a detailed sub-task to assist the main action and support its execution.
[0085] Additionally, the robot control system (1000) can recommend to the user the main action and sub-action of the robot that are matched by each detected keyword.
[0086] In addition, the robot control system (1000) can select the main action and sub-action of the robot and recommend them to the user by considering not only the detected keywords but also various data (e.g., robot data, environmental data, etc.).
[0087] Next, the robot control system (1000) can verify user approval for the recommended main and sub-actions (S400). Specifically, the robot control system (1000) considers approval complete when the user presses the "Final Confirmation" button. However, if the user selects only a portion of the actions or modifies internal parameters, the robot control system (1000) may consider approval disapproved.
[0088] If the user does not approve (S400, NO), the robot control system (1000) may receive the user's modified scenario for the service (S600). Here, the modified scenario refers to the robot's work plan updated based on the draft scenario to accommodate changes in user needs or environmental conditions. The modified scenario may also refer to a step that optimizes or refines the robot's action plan by reflecting additional user input or feedback based on the work goals and conditions defined in the draft scenario.
[0089] These revised scenarios can be entered using the same input method as the draft scenario entry step (S100) described above. For example, revised scenarios can be entered that include changing the order of recommended main actions and sub-actions, modifying internal parameters of sub-actions, or selecting other main actions or sub-actions.
[0090] In addition, the robot control system (1000) can re-detect keywords in the input modification scenario (S200) and re-recommend main actions and sub-actions (S300) based on the re-detected keywords. At this time, the keyword re-detection step (S200) may be omitted depending on the input modification scenario.
[0091] That is, the above-described keyword detection step (S200) and recommendation step (S300) can be repeatedly performed according to user approval.
[0092] Meanwhile, if the user approves (S400, NO), the robot control system (1000) can generate a service scenario based on the determined main action and sub-action (S500).
[0093] Specifically, the robot control system (1000) can generate a service scenario by integrating the robot's action tree, task planning, and assignment based on the determined main and sub-actions of the scenario. Here, the service scenario is a final robot task plan tailored to user needs and environmental conditions, and represents a comprehensive plan for robot task performance by integrating the robot's action tree, task planning, and assignment.
[0094] In this regard, a method for assigning and planning tasks of a robot to create a service scenario is described with reference to FIG. 4.
[0095] Figure 4 is a flowchart illustrating a method for assigning and planning tasks of a robot according to one embodiment of the present invention.
[0096] Referring to FIG. 4, the robot control system (1000) can obtain various data for allocating and planning the robot's work (S1000).
[0097] Specifically, the robot control system (1000) can acquire robot data of a robot capable of executing a scenario for a service desired by a user and environmental data of a location where the service is to be performed. Here, the environmental data may include location and spatial information (e.g., a map of a space where the robot will work, location information, whether interfloor movement is required), obstacle information (e.g., the location of physical obstacles, movable space and restricted areas), climate and lighting condition information (e.g., indoor temperature, humidity, lighting brightness level), floor condition information (e.g., floor material (carpet, tile, etc.) and condition (wetness, slippery)), etc.
[0098] Additionally, robot data may include robot function and specification information (e.g., robot movement speed, maximum load weight, etc.), location information (e.g., current location, etc.), battery status information (e.g., current battery level, expected battery consumption, etc.), sensor status information (e.g., status and sensed information of each sensor such as camera, distance sensor, ultrasonic sensor, etc.), and task history information (e.g., current task status, success rate of previous tasks, failure cause, etc.).
[0099] These data can be received in real time from robots through the relay module (1600) of the robot control system (1000) and stored in real time in the data storage module (1700) of the robot control system (1000).
[0100] Additionally, the robot control system (1000) can obtain a user scenario from the user via the interface module (1100). Here, the user scenario may include not only a draft scenario or a revised scenario in which the main action and sub-actions are determined, but also a simple scenario that implies a simple task without complex procedures. For example, a simple scenario may be implemented with a single main action or sub-action, such as "call," "request a towel," "request a spoon," or "request water."
[0101] The data acquired in this way can be provided to the job creation module (1400) through the data management module (1500).
[0102] Additionally, the robot control system (1000) can obtain scenarios of at least two users from multiple users.
[0103] Next, the robot control system (1000) can preprocess the acquired data to efficiently perform robot task allocation and planning (S2000).
[0104] Specifically, the robot control system (1000) can preprocess robot data and environmental data to efficiently perform robot task allocation and planning for a user's scenario through a task generation module (1400).
[0105] For example, the robot control system (1000) can perform preprocessing to improve the quality of data by removing noise from collected robot data and environmental data and processing missing values.
[0106] As another example, the robot control system (1000) can perform preprocessing to convert different formats of robot data and environmental data into a standard format and normalize the range of values to make the data consistent.
[0107] Additionally, the robot control system (1000) can preprocess scenarios for multiple users to efficiently perform robot task allocation and planning. For example, the robot control system (1000) can delete duplicate scenarios for the same user or merge multiple scenarios for the same user. This will be further described with reference to FIG. 5.
[0108] Figure 5 is an exemplary diagram showing a preprocessing process according to one embodiment of the present invention.
[0109] Referring to FIG. 5, each user located in ROOM 701, ROOM705, ROOM 302, and the lobby can input multiple single scenarios such as ‘request for water’, ‘request for towel’, ‘request for amenities’, and ‘call’ through the interface module (1100) of the robot control system (100).
[0110] In addition, the robot control system (100) can perform preprocessing by merging the single scenario of the ROOM705 user among the multiple input single scenarios into 'water request and towel request' and removing the 'water request' duplication from the single scenario of the ROOM701 user.
[0111] Meanwhile, in this example, only a single scenario is used as an example for convenience of explanation, but it is not limited to this.
[0112] Again, referring to FIG. 4, the robot control system (1000) can establish work allocation and planning of the robot using preprocessed data (S3000).
[0113] Specifically, the robot control system (1000) can select a robot capable of performing a task within a scenario, and assign and plan the task to the selected robot. Here, the scenario may consist of at least one task, and the task may consist of a main action or sub-action of at least one robot included in the scenario.
[0114] In this regard, the robot's task allocation and planning method is described in more detail with additional reference to FIG. 6.
[0115] Figure 6 is a flowchart illustrating more specifically the task allocation and planning of a robot according to one embodiment of the present invention.
[0116] Referring to FIG. 6, the robot control system (1000) can select a robot to perform a task based on robot data and environmental data (S3100).
[0117] Specifically, the robot control system (1000) can select a robot by considering the battery status, movement speed, and current work status of each robot to determine whether the robot can additionally perform tasks within the scenario.
[0118] Additionally, the robot control system (1000) can select a robot by considering obstacle information, a map of the workspace, and previous task success rates to determine whether the robot can perform the task within the given scenario. At this time, the robot can be selected in order of highest task success rate.
[0119] Next, the robot control system (1000) can assign tasks within a scenario to each selected robot (S3200).
[0120] Specifically, the robot control system (1000) can assign tasks to each robot based on the task difficulty. At this time, the task difficulty can be determined based on the difficulty of each main action and sub-action. For example, the difficulty can be a value between 0 and 9, with higher values indicating higher difficulty. Furthermore, the higher the difficulty of each main action and sub-action, the higher the task difficulty.
[0121] Additionally, task difficulty can be determined differently for each robot. For example, a task including the first main action may be assigned a difficulty of 3 for the first robot but 8 for the second robot. This difficulty assessment method can contribute to improving the efficiency of the overall system by assigning tasks based on the characteristics and strengths of each robot.
[0122] Additionally, the robot control system (1000) can assign tasks to each robot based on the task's priority. In this case, the robot control system (1000) can assign tasks by determining priorities based on the importance and urgency of the tasks.
[0123] For example, the robot control system (1000) can determine that emergency drug delivery is a high priority, general goods transport is a medium priority, and regular maintenance is a low priority.
[0124] Additionally, the robot control system (1000) can assign tasks to each robot based on the distance between the robot and the work point. In this case, the robot control system (1000) can assign tasks so that the movement time of each robot is minimized.
[0125] That is, the robot control system (1000) can assign tasks by considering at least one of the difficulty of the task, the priority of the service (or task), and the movement distance (or movement time).
[0126] Meanwhile, the robot control system (1000) can assign tasks to selected robots by considering at least one of dependency and interdependency between tasks within a scenario. Here, dependency between tasks refers to a situation where a specific task depends on the completion of another task (e.g., task B can only start if task A is completed), and interdependency between tasks refers to a situation where two or more tasks influence each other's execution (e.g., task C and task D require each other's intermediate results or must support each other). Such dependency and interdependency can be determined by analyzing the relationship between the tasks' mutual influences.
[0127] Next, the robot control system (1000) can establish a path plan for each robot (S3300). Here, path planning refers to the process of determining an optimal path for the robot to move safely and efficiently while performing a task.
[0128] Specifically, the robot control system (1000) can generate a 2D or 3D map of the robot's workspace based on environmental data and robot data, recognize fixed obstacles (walls, machines, etc.) and moving obstacles (people, mobile equipment, etc.) along the path, and then calculate the shortest path to the work point. At this time, the robot control system (1000) can modify the path by additionally considering the robot's energy consumption.
[0129] Next, the robot control system (1000) can generate a behavior tree (BT) for the robot to move along the planned path (S3400). Here, the behavior tree is a structural model that systematically organizes and controls all actions, including main actions and sub-actions within a task, and can be composed of multiple nodes.
[0130] Specifically, the robot control system (1000) can generate a behavior tree by considering the planned path and the main action and sub-action within the task. Here, the behavior tree may be composed of a root node (Root Node) that is the starting point of the entire behavior tree and includes actions related to the main goal of the task, a composite node (Composite Node) that is an intermediate node constituting the behavior tree, a decorator node (Decorator Node) that sets specific conditions or repetitions to determine whether to perform a sub-action, and a leaf node that defines an individual action to actually perform. Here, the composite node may include a priority selector node that groups and manages multiple actions and selects and executes an action with a high priority among multiple actions, and a sequence node that performs actions in a set order, and the leaf node may include the main action or sub-action of the task.
[0131] Additionally, the robot control system (1000) can repeatedly perform each step (S3100 to S3400) to establish work allocation and planning of the robots so that the time required for each robot to complete a task is minimized.
[0132] That is, the robot control system (1000) can allocate and plan tasks for the robots that will perform tasks within the above scenario based on robot data and environmental data. At this time, the robot control system (1000) can perform task allocation and task planning through the PDDL (Planning Domain Definition Language) Planner, AI model, and BT Builder.
[0133] Referring again to FIG. 4, the robot control system (1000) can generate a service scenario by reflecting the behavior tree in the user's scenario (S4000). Here, the generated service scenario can be distributed to the robot or simulated.
[0134] Specifically, the task generation module (1400) of the robot control system (1000) generates a behavior tree for a scenario and transmits it to the data management module (1500), and the data management module (1500) can reflect the behavior tree in the user's scenario to generate a service scenario. At this time, the service scenario can be generated for each robot.
[0135] Additionally, the data management module (1500) of the robot control system (1000) can distribute service scenarios to each robot through the relay module (1600). This will be further explained with reference to FIG. 7.
[0136] Figure 7 is an exemplary diagram showing robot-specific task distribution according to one embodiment of the present invention.
[0137] Referring to FIG. 7, the robot control system (1000) can create service scenarios by establishing work allocation and planning of robots based on preprocessed user scenarios, and distribute the service scenarios to the first robot, the second robot, and the third robot, respectively, to which the service scenarios are distributed, and the first robot, the second robot, and the third robot, respectively, can perform work according to each service scenario.
[0138] Additionally, the data management module (1500) of the robot control system (1000) can transmit a service scenario to the simulation module (1300), and the simulation module (1300) can simulate based on the service scenario.
[0139] In addition, the simulation module (1300) provides various data acquired while simulating a service scenario to the task creation module (1400), and the task creation module (1400) can re-establish the task allocation and plan of the robot through the data.
[0140] According to the task allocation and planning method of the robot of the present invention described above, task allocation and planning can be optimized so that tasks can be performed efficiently in various environments, and the tasks of the robot can be adjusted in real time according to user needs or environmental changes.
[0141] In addition, the present invention can merge or modify multiple scenarios, and efficiently perform task allocation and planning of robots even in complex scenarios by considering dependencies and interdependencies between tasks.
[0142] Meanwhile, the robot control system (1000) of the present invention or each module within the robot control system (1000) can be implemented as a computing device, and this will be described with reference to FIG. 8.
[0143] Figure 8 is an exemplary diagram showing the configuration of a computing device according to one embodiment of the present invention.
[0144] Referring to FIG. 8, in some embodiments of the present invention, the robot control system (1000) may be implemented in the form of a computing device.
[0145] At least one of each module constituting the robot control system (1000) is implemented on a general-purpose computing processor and thus may include a processor (1008), an input / output I / O (1002), a memory (1004), an interface (1006), and a bus (1014). The processor (1008), the input / output device (1002), the memory (1004), and / or the interface (1006) may be coupled to each other via the bus (1014). The bus (1014) corresponds to a path through which data is transferred.
[0146] Specifically, the processor (1008) may include at least one of a Central Processing Unit (CPU), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphic Processing Unit (GPU), a microprocessor, a digital signal processor, a microcontroller, an application processor (AP), and logic elements capable of performing functions similar thereto.
[0147] The input / output device (1002) may include at least one of a keypad, a keyboard, a touchscreen, and a display device. The memory (1004) may store data and / or programs.
[0148] The interface (1006) may perform a function of transmitting data to or receiving data from a communication network. The interface (1006) may be wired or wireless. For example, the interface (1006) may include an antenna or a wired / wireless transceiver. The memory (1004) may further include high-speed DRAM and / or SRAM, etc., as a volatile operating memory that enhances the operation of the processor (1008) while protecting personal information.
[0149] Additionally, the memory (1004) stores programming and data configurations that provide the functionality of some or all of the modules described herein. For example, it may include logic for performing selected aspects of the task allocation and planning method of the robot according to the present embodiment.
[0150] A program or application is loaded with a set of instructions including each operation of the present invention stored in the memory (1004) and the processor is enabled to perform each operation. Here, an operation of acquiring robot data of a robot capable of executing a scenario for a service desired by each user and environmental data of a location where the service is to be performed, an operation of allocating and planning tasks of a robot capable of performing tasks within the scenario based on the robot data and environmental data, and an operation of preprocessing the robot data and environmental data to efficiently perform the task allocation and planning of the scenario may be included.
[0151] The various embodiments described herein may be implemented in a recording medium readable by a computer or similar device, for example, using software, hardware, or a combination thereof.
[0152] In terms of hardware implementation, the embodiments described herein can be implemented using at least one of ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors, controllers, micro-controllers, microprocessors, and other electrical units for performing functions. In some cases, the embodiments described herein can be implemented as a control module itself.
[0153] In a software implementation, the procedures and functions described herein, as well as other embodiments, may be implemented as separate software modules. Each of these software modules may perform one or more of the functions and operations described herein. The software code may be implemented as a software application written in a suitable programming language. The software code may be stored in a memory module and executed by a control module.
[0154] The above description is merely an example of the technical idea of the present invention, and those skilled in the art will appreciate that various modifications, changes, and substitutions can be made without departing from the essential characteristics of the present invention.
[0155] Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are intended to illustrate, rather than limit, the technical concept of the present invention, and the scope of the technical concept of the present invention is not limited by these embodiments and the accompanying drawings. The protection scope of the present invention should be interpreted by the following claims, and all technical concepts within the scope equivalent thereto should be interpreted as being included within the scope of the rights of the present invention.
Claims
1. In a method for allocating and planning tasks of a robot performed on a computing device, A step of acquiring robot data of a robot capable of executing a scenario for a service desired by a user and environmental data of a location where the service is to be performed; A task assignment and planning method, comprising: a step of assigning and planning tasks for a robot capable of performing tasks within the scenario based on the robot data and environmental data; 2. In paragraph 1, The above robot's task allocation and planning steps are A task assignment and planning method characterized by selecting a robot capable of performing a task within the scenario based on the robot data and environmental data.
3. In paragraph 2, The above robot's task allocation and planning steps are A task assignment and planning method characterized by assigning tasks to selected robots by considering dependencies between tasks in the above scenario.
4. In paragraph 1, A task assignment and planning method, characterized in that the tasks within the above scenario are composed of at least one main action or sub-action of the robot.
5. In paragraph 2, The above robot's task allocation and planning steps are A task assignment and planning method characterized by establishing a path plan for performing a task assigned to a robot and generating a behavior tree of the robot according to the path plan.
6. In paragraph 1, The above robot's task allocation and planning steps are A task assignment and planning method characterized by establishing task assignment and planning of the robot so as to minimize the time required to complete the task.
7. In paragraph 1, A task allocation and planning method, further comprising a step of preprocessing the robot data and environmental data to efficiently perform task allocation and planning of the scenario.
8. Processor, and including a memory communicating with the processor, The above memory stores instructions that cause the processor to perform operations, The above actions are actions for obtaining robot data of a robot capable of executing a scenario for a service desired by the user and environmental data of a location where the service is to be performed; and A computing device including an operation of allocating and planning tasks of a robot capable of performing tasks within the scenario based on the robot data and environmental data.
9. In paragraph 8, The above robot's task allocation and planning actions are A computing device characterized in that it selects a robot capable of performing a task within the scenario based on the robot data and environmental data.
10. In paragraph 9, The above robot's task allocation and planning actions are A computing device characterized in that it assigns tasks to selected robots by considering dependencies between tasks in the above scenario.
11. In paragraph 8, A computing device characterized in that the tasks within the above scenario are composed of at least one main action or sub-action of the robot.
12. In paragraph 8, The above robot's task allocation and planning actions are A computing device characterized by establishing a path plan for performing a task assigned to a robot and generating a behavior tree of the robot according to the path plan.
13. In paragraph 8, The above robot's task allocation and planning actions are A computing device characterized in that it establishes work assignment and planning of the robot so as to minimize the time required to complete the above task.
14. In paragraph 8, A computing device further comprising an operation of preprocessing the robot data and environmental data to efficiently perform task assignment and planning of the scenario.
15. A computer-readable recording medium storing a program for performing a work allocation and planning method according to any one of paragraphs 1 to 7.
16. A program stored on a computer-readable recording medium including a program code for executing a work allocation and planning method according to any one of paragraphs 1 to 7.
Citation Information
Patent Citations
Apparatus and method for managing robot tasks
KR1020170095108A
Method of purifying lake water using nano and micro bubble
KR1020210146720A
Cofferdam structure and construction method of temporary facility using the same
KR102181917B1
Mobile vehicles in manufacturing
US20210232989A1
KR20230072210A