A control method and system for multiple robots

By collecting real-time data flows of multiple robots, dynamically allocating resources, and adjusting task strategies using distributed computing frameworks and real-time decision-making algorithms, the problems of inflexible resource allocation, inflexible scheduling and incomplete collaboration in multi-robot systems are solved, and task execution efficiency and response speed are improved.

CN119748464BActive Publication Date: 2025-07-18JILIN COMM POLYTECHNIC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510252007.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2025-07-18
Estimated Expiration
2045-03-05

AI Technical Summary

Technical Problem

The resource allocation in the existing multi-robot control system is not flexible enough, the task scheduling lacks real-time, and the collaboration mechanism is not perfect enough, resulting in low task execution efficiency and slow response speed.

Method used

By collecting real-time data flow of robots, dynamically allocating computing resources, adjusting task execution strategies using distributed computing frameworks and real-time decision-making algorithms, and coordinating robot actions to improve work efficiency and response speed.

Benefits of technology

The flexibility, adaptability and robustness of multi-robot systems are realized, the task execution efficiency and response speed are improved, and the robot collaboration capabilities are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119748464B_ABST
    Figure CN119748464B_ABST
Patent Text Reader

Abstract

The present application provides a method and system for controlling multiple robots. Among them, real-time data streams generated by multiple robots during task execution are collected; according to the real-time data streams, computing resources are dynamically allocated to the multiple robots, wherein the basis for computing resource allocation is the current task complexity and remaining computing power of each robot; a distributed computing framework is used to process the real-time data streams, and based on the processed data streams, the task execution strategies of the multiple robots are adjusted through a real-time decision-making algorithm; according to the task execution strategies, the actions of the multiple robots are coordinated to improve the working efficiency and response speed of the multiple robots. The technical solution provided by the present application improves the working efficiency and response speed of the multi-robot system, while enhancing the flexibility, adaptability and robustness of the system, providing technical support for realizing more efficient multi-robot cooperation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the technical field of data processing, and in particular, to a method and system for controlling multiple robots. Background Art

[0002] With the development of automation and intelligent technologies, multi-robot systems have been widely used in many fields such as industrial manufacturing, logistics distribution, and disaster rescue. In these scenarios, robots need to cooperate to complete complex and diverse tasks. To achieve efficient multi-robot cooperation, it is necessary to collect a large amount of data streams generated by each robot during task execution in real time, and dynamically adjust the behavior strategies of the robots based on these data flows. This requires the system to not only be able to process a large amount of data in real time, but also be able to dynamically allocate computing resources according to the current task complexity and remaining computing power of each robot, so as to ensure that each robot can execute tasks in the best state.

[0003] Current multi-robot control systems mainly rely on static resource allocation and task scheduling strategies. These systems usually pre-define the roles and responsibilities of each robot before the task starts, and rarely make dynamic adjustments during task execution. Although some studies have proposed using distributed computing frameworks to process the data streams generated by robots and tried to adjust task execution strategies through real-time decision-making algorithms, these solutions often lack an accurate grasp of the real-time state of robots and are difficult to achieve highly dynamic resource allocation and task scheduling.

[0004] The existing multi-robot control systems have the following several main defects:

[0005] The resource allocation is not flexible enough: The traditional resource allocation method is usually static and cannot be dynamically adjusted according to the changes in the real-time state of the robots, resulting in unreasonable resource allocation when the task complexity changes or the robot loads are uneven, which affects the overall task execution efficiency.

[0006] The task scheduling lacks real-time performance: The existing task scheduling algorithms are slow to respond to emergencies or environmental changes, and cannot quickly adjust the task execution strategy, reducing the response speed and flexibility of the system.

[0007] The cooperation mechanism is not perfect enough: The existing multi-robot cooperation mechanisms do not fully consider the complexity of the collective behavior of the robot group when dealing with data sharing and task coordination between robots, resulting in poor cooperation effects in practical applications, especially in high-concurrency or variable environments. Summary of the Invention

[0008] An embodiment of the present application provides a method and system for controlling multiple robots to solve the problems of inflexible resource allocation, lack of real-time task scheduling, and imperfect cooperation mechanism in the prior art.

[0009] In a first aspect, an embodiment of the present application provides a method for controlling multiple robots, including:

[0010] Collect real-time data streams generated by multiple robots during task execution;

[0011] According to the real-time data streams, dynamically allocate computing resources to the multiple robots, where the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot;

[0012] Use a distributed computing framework to process the real-time data streams, and based on the processed data streams, adjust the task execution strategies of the multiple robots through a real-time decision-making algorithm;

[0013] According to the task execution strategies, coordinate the actions of the multiple robots to improve the work efficiency and response speed of the multiple robots.

[0014] Optionally, the dynamically allocating computing resources to the multiple robots according to the real-time data streams includes:

[0015] Based on the real-time data streams, evaluate the task complexity of the tasks currently executed by each robot, where the task complexity includes task type, required computing amount, and expected completion time;

[0016] Real-time monitor the computing resource usage of each robot to determine the remaining computing power of each robot, where the computing resource usage includes CPU load, memory usage rate, storage space occupancy, and network bandwidth;

[0017] Based on the task complexity and the remaining computing power, predict the required computing resource amount of each robot in the future period;

[0018] Based on the required computing resources of each robot, dynamically allocate computing resources to the multiple robots to ensure the rationality and efficiency of computing resource usage, where the computing resources include adjusting the CPU frequency, allocating memory resources, optimizing the storage access mode, and adjusting the network priority.

[0019] Optionally, the adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm based on the processed data streams includes:

[0020] Based on the pre - processed data stream, obtain the task complexity, computing resource usage, and remaining computing power corresponding to each robot, and input them into a pre - set real - time decision algorithm. The real - time decision algorithm is used to formulate a task execution strategy based on the task complexity, computing resource usage, and remaining computing power corresponding to each robot;

[0021] According to the task execution strategy, dynamically adjust the task assignment and execution order of each robot.

[0022] Optionally, coordinating the actions of the multiple robots according to the task execution strategy includes:

[0023] According to the task execution strategy, generate an action instruction set for each robot. The action instruction set includes instructions related to the collaboration relationship between multiple robots and their respective task priorities;

[0024] Through a distributed computing framework, send the action instruction set to the control system of the corresponding robot to ensure accurate execution of the instructions;

[0025] During the process of the multiple robots executing tasks, continuously monitor the status information of each robot;

[0026] According to the status information, adjust the action instructions of each robot in real - time.

[0027] Optionally, dynamically allocating computing resources to the multiple robots according to the real - time data stream includes:

[0028] Calculate the optimal resource allocation for dynamically allocating computing resources to the multiple robots through the following formula:

[0029] ;

[0030] Where, represents the optimal resource allocation, represents the task execution time of the th robot, represents the computing power of the th robot, represents the total number of robots, represents the computing error correction term caused by environmental factors, is a weight factor used to balance the influence of task execution time and computing power on resource allocation, is another weight factor used to further balance the relationship between task execution time and computing power.

[0031] Optionally, based on the processed data stream, adjusting the task execution strategy of the multiple robots through a real - time decision algorithm further includes:

[0032] Calculate the task priority in the task execution strategies of the multiple robots after adjustment using the following formula:

[0033] ;

[0034] where, represents the task priority after adjustment, represents the original task priority, represents the increase in task execution time due to external interference, represents the maximum allowable task execution time, represents a weight factor used to balance the relationship between task urgency and execution time, represents an energy consumption adjustment factor, represents the expected change in energy consumption during task execution, represents another weight factor used to balance the change in energy consumption among multiple robots, represents the maximum allowable energy consumption of the task.

[0035] Optionally, based on the processed data stream, adjusting the task execution strategies of the multiple robots through a real-time decision algorithm further includes:

[0036] Calculate the cooperation coefficient of the cooperation relationship among the multiple robots in the task execution strategies of the multiple robots after adjustment using the following formula:

[0037] ;

[0038] where, represents the cooperation coefficient between the th robot and the th robot, and respectively represent the data values of the th and the th robot at the th time point, and respectively represent the average data values of the th and the th robot, represents the number of time points for data collection, is a weighting coefficient used to balance the contributions of consistency and difference in data correlation calculation, is a weighting coefficient used to introduce a higher-order difference evaluation; and the cooperation coefficient is used to quantify the effectiveness of data sharing and the cooperation level among robots, thereby guiding the dynamic adjustment of task execution strategies.

[0039] In a second aspect, an embodiment of the present application provides a multi-robot control system, including:

[0040] An acquisition module, configured to acquire real-time data streams generated by multiple robots during task execution;

[0041] An allocation module, configured to dynamically allocate computing resources to the multiple robots according to the real-time data streams, where the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot;

[0042] An adjustment module, configured to process the real-time data streams by using a distributed computing framework, and based on the processed data streams, adjust the task execution strategies of the multiple robots through a real-time decision algorithm;

[0043] A coordination module, configured to coordinate the actions of the multiple robots according to the task execution strategies, so as to improve the working efficiency and response speed of the multiple robots.

[0044] In a third aspect, an embodiment of the present application provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the multi-robot control method according to any one of the first aspect.

[0045] In a fourth aspect, an embodiment of the present application provides a computer storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the multi-robot control method according to any one of the first aspect is implemented.

[0046] In the embodiments of the present application, real-time data streams generated by multiple robots during task execution are acquired; computing resources are dynamically allocated to the multiple robots according to the real-time data streams, where the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot; the real-time data streams are processed by using a distributed computing framework, and based on the processed data streams, the task execution strategies of the multiple robots are adjusted through a real-time decision algorithm; the actions of the multiple robots are coordinated according to the task execution strategies, so as to improve the working efficiency and response speed of the multiple robots. The technical solution provided by the present application improves the working efficiency and response speed of the multi-robot system, and at the same time enhances the flexibility, adaptability and robustness of the system, providing technical support for realizing more efficient multi-robot cooperation.

[0047] These aspects or other aspects of the present application will be more clearly understood in the following description of the embodiments. Description of the Drawings

[0048] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the accompanying drawings required for the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.

[0049] Figure 1 It is a flowchart of the control of multiple robots provided by an embodiment of the present application;

[0050] Figure 2 It is a schematic structural diagram of a multi-robot control system provided by an embodiment of the present application;

[0051] Figure 3 It is a schematic structural diagram of a computing device provided by an embodiment of the present application. Detailed implementation manners

[0052] In order to enable those skilled in the art to better understand the solutions of the present application, the following will clearly and completely describe the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings in the embodiments of the present application.

[0053] In some processes described in the specification and claims of the present application and the above accompanying drawings, multiple operations appear in a specific order. However, it should be clearly understood that these operations can be executed not in the order in which they appear herein or in parallel. The operation numbers such as 101 and 102 are only used to distinguish different operations, and the numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations can be executed in sequence or in parallel. It should be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., and do not represent a sequence, nor do they limit that "first" and "second" are of different types.

[0054] The following will clearly and completely describe the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative efforts belong to the scope of protection of the present application.

[0055] Figure 1 A flowchart of a method for controlling multiple robots is provided for an embodiment of the present application. As Figure 1 shown, the method includes:

[0056] 101. Collect the real-time data streams generated by multiple robots during the execution of tasks;

[0057] In this step, it is first necessary to understand the concept of "real-time data stream".

[0058] "Real-time data stream" refers to a continuous set of data that is generated in real time by various robot sensors and other data acquisition devices during the execution of tasks by multiple robots. This data can include, but is not limited to, position information, speed information, load information, energy consumption information, etc. The purpose of collecting this data is to obtain the current state of the robot through data analysis and make corresponding decisions and adjustments based on this state information.

[0059] In the embodiment of this application, assume that a team of three robots is performing a goods handling task in a warehouse. These three robots are equipped with a variety of sensors (such as GPS receivers, wheel encoders, inertial measurement units IMU (Inertial Measurement Unit, IMU), cameras, etc.), and these sensors can provide the position information, attitude information, speed information, etc. of the robots in real time.

[0060] In actual operation, each robot will continuously send this sensor data back to the central control system. For example, assume that the position information of the robot is updated once per second, then within one minute, 60 position information records will be generated. This data is collected to form a data stream, which can be expressed as:

[0061] ;

[0062] Among them, each represents the position information of the robot at the th second. Similarly, robots B and C will also generate their own data streams.

[0063] Specifically, in a simple example, assume that the position of robot A at the 1st second is , and the position at the 2nd second is , then:

[0064] ;

[0065] In this way, the central control system can obtain the real-time position information flow of all robots during the task execution, and then use it for subsequent steps such as dynamic cold source allocation and task scheduling.

[0066] For further illustration, assume that the positions of the robot from the 1st second to the 3rd second are respectively , while the positions of the robot Then, the position information flow of these two robots can be expressed as:

[0067] ; These data streams will be used for operations such as dynamically allocating computing resources and processing real-time data streams in subsequent steps.

[0068] 102. Dynamically allocate computing resources to the multiple robots according to the real-time data stream, where the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot;

[0069] Optionally, the dynamically allocating computing resources to the multiple robots according to the real-time data stream in step 102 includes: evaluating the task complexity of the task currently executed by each robot based on the real-time data stream, where the task complexity includes task type, required computing amount, and expected completion time; real-time monitoring the computing resource usage of each robot to determine the remaining computing power of each robot, where the computing resource usage includes CPU load, memory usage rate, storage space occupancy, and network bandwidth; predicting the required computing resource amount of each robot in the future period based on the task complexity and the remaining computing power; and dynamically allocating computing resources to the multiple robots based on the required computing resources of each robot to ensure the rationality and efficiency of the computing resource usage, where the computing resources include adjusting the CPU frequency, allocating memory resources, optimizing the storage access mode, and adjusting the network priority.

[0070] Optionally, the dynamically allocating computing resources to the multiple robots according to the real-time data stream in step 102 includes:

[0071] Calculating the optimal resource configuration for dynamically allocating computing resources to the multiple robots through the following formula:

[0072] ;

[0073] Where, represents the optimal resource configuration, represents the task execution time of the th robot, represents the computing power of the th robot, represents the total number of robots, represents the computing error correction term caused by environmental factors, is a weight factor used to balance the influence of task execution time and computing power on resource configuration, is another weight factor used to further balance the relationship between task execution time and computing power.

[0074] In this step, several important concepts need to be understood:

[0075] Task complexity: A comprehensive evaluation index of factors such as the amount of computing resources required for a robot to execute a task, the type of task, and the expected completion time. The higher the task complexity, the more computing resources are required.

[0076] Computing resource usage: Refers to the current computing resource occupancy of the robot, including but not limited to CPU load, memory usage, storage space occupancy, and network bandwidth, etc.

[0077] Remaining computing power: Refers to the amount of computing resources currently unoccupied by the robot, which is a key indicator for determining whether it can accept new tasks or more tasks.

[0078] Dynamically allocate computing resources: Dynamically adjust the computing resource allocation strategy according to the task complexity and remaining computing power of each robot evaluated from the real-time data stream, to ensure the rationality and efficiency of computing resource usage.

[0079] In the embodiments of the present application, assume there is a team consisting of five robots, which is executing a complex task, such as classifying and transporting goods in a warehouse. Each robot is responsible for different subtasks, and these subtasks have different task complexities and required amounts of computing resources. The goal is to dynamically adjust the allocation of computing resources through real-time data flow to improve the overall task completion efficiency.

[0080] Specific steps for dynamically allocating computing resources:

[0081] Evaluate task complexity: Evaluate the task complexity of the task currently executed by each robot by analyzing the real-time data stream. The task complexity includes task type, required computing amount, expected completion time, etc.

[0082] Real-time monitor the computing resource usage: Real-time monitor the computing resource usage of each robot, including CPU load, memory usage, storage space occupancy, and network bandwidth, etc., to determine the remaining computing power of each robot.

[0083] Predict the required amount of computing resources: Based on the task complexity and remaining computing power, predict the required amount of computing resources for each robot in the future time period.

[0084] Dynamically allocate computing resources: Based on the required amount of computing resources for each robot, dynamically adjust the allocation of computing resources to ensure the rationality and efficiency of computing resource usage. The computing resources here include adjusting the CPU frequency, allocating memory resources, optimizing the storage access mode, and adjusting the network priority, etc.

[0085] Assume there are three robots A, B, and C, and the task complexity and computing power of each robot are as follows:

[0086] Robot A: The task execution time is 10 seconds and the computing power is 1000 units.

[0087] Robot B: The task execution time is 15 seconds and the computing power is 800 units.

[0088] Robot C: The task execution time is 12 seconds and the computing power is 1200 units.

[0089] Use the following formula to calculate the optimal resource allocation for dynamically allocating computing resources to the multiple robots:

[0090] ;

[0091] Where, represents the optimal resource allocation, represents the task execution time of the th robot, represents the computing power of the th robot, represents the total number of robots, represents the computing error correction term caused by environmental factors, is a weight factor used to balance the impact of task execution time and computing power on resource allocation, is another weight factor used to further balance the relationship between task execution time and computing power.

[0092] Assume , then:

[0093]

[0094] After simplification, we get:

[0095] After further calculation, we get:

[0096] Therefore, the optimal resource allocation is approximately equal to 10.57.

[0097] Through the above steps, it is possible to dynamically allocate computing resources according to the task complexity and remaining computing power of each robot, thereby improving the overall working efficiency and response speed of the multi-robot system.

[0098] 103. Use a distributed computing framework to process the real-time data stream, and based on the processed data stream, adjust the task execution strategies of the multiple robots through a real-time decision-making algorithm;

[0099] Optionally, based on the processed data stream in step 103, adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm includes: based on the preprocessed data stream, obtaining the task complexity, computing resource usage, and remaining computing power corresponding to each robot, and inputting them into a preset real-time decision-making algorithm, where the real-time decision-making algorithm is used to formulate task execution strategies according to the task complexity, computing resource usage, and remaining computing power corresponding to each robot; dynamically adjusting the task allocation and execution order of each robot according to the task execution strategies.

[0100] Optionally, based on the processed data stream in step 103, adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm further includes: calculating the task priorities in the adjusted task execution strategies of the multiple robots using the following formula:

[0101] ;

[0102] where, represents the adjusted task priority, represents the original task priority, represents the increase in task execution time caused by external interference, represents the maximum allowable task execution time, represents a weight factor used to balance the relationship between task urgency and execution time, represents an energy consumption adjustment factor, represents the expected change in energy consumption during task execution, represents another weight factor used to balance the energy consumption changes among multiple robots, represents the maximum allowable energy consumption of the task.

[0103] Optionally, based on the processed data stream in step 103, adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm further includes:

[0104] calculating the cooperation coefficient of the cooperation relationship among the multiple robots in the adjusted task execution strategies of the multiple robots using the following formula:

[0105] ;

[0106] where, represents the cooperation coefficient between the th robot and the th robot, and respectively represent the th and the th robots in the The data values at a time point and respectively represent the average data values of the -th and -th robots, represents the number of time points for data collection, is a weighting coefficient used to balance the consistency and differential contributions in data correlation calculation, is a weighting coefficient used to introduce a higher-order differential evaluation; and the cooperation coefficient

[0107] In this step, it is necessary to understand the following important concepts:

[0108] Distributed computing framework: refers to a software architecture that can support large-scale data processing. It allows multiple computing nodes to work together to achieve high-performance computing. Common distributed computing frameworks include Apache Hadoop, Apache Spark, etc.

[0109] Real-time decision-making algorithm: refers to an algorithm that can quickly make decisions based on the current state. In this step, this algorithm is used to adjust the task execution strategy of the robot according to the processed data stream.

[0110] Task execution strategy: refers to formulating the optimal task allocation and execution order according to the task complexity of the robot, the use of computing resources, and the remaining computing power.

[0111] Task priority: refers to the importance and urgency of the task, which determines the execution order of the task.

[0112] Cooperation coefficient: refers to a quantitative index that measures the cooperation level between robots, reflecting the effectiveness and cooperation level of data sharing between robots.

[0113] In the embodiment of the present application, it is assumed that there is a team composed of four robots, which is performing a complex task, such as automated assembly on a factory production line. Each robot is responsible for different subtasks, and these subtasks have different task complexities and required computing resource amounts. The goal is to dynamically adjust the task execution strategy of each robot through real-time data streams and a distributed computing framework to improve the overall task completion efficiency.

[0114] Processing the real-time data stream using a distributed computing framework: Processing the real-time data stream from multiple robots through a distributed computing framework. This includes data collection, cleaning, transformation, and preliminary analysis.

[0115] Obtain the task complexity, computing resource usage, and remaining computing power corresponding to each robot: According to the processed data stream, extract the current task complexity, computing resource usage (such as CPU load, memory usage rate, storage space occupancy, network bandwidth, etc.) of each robot, and the remaining computing power.

[0116] Adjust the task execution strategies of the multiple robots through a real-time decision-making algorithm: Input the above information into a pre-set real-time decision-making algorithm to formulate task execution strategies. The strategies include dynamically adjusting the task allocation and execution order of each robot.

[0117] Calculate the adjusted task priority: Use the following formula to calculate the adjusted task priority:

[0118] ;

[0119] where, represents the adjusted task priority, represents the original task priority, represents the increase in task execution time due to external interference, represents the maximum allowable execution time of the task, represents the weight factor used to balance the relationship between task urgency and execution time, represents the energy consumption adjustment factor, represents the expected change in energy consumption during task execution, represents another weight factor used to balance the change in energy consumption among multiple robots, represents the maximum allowable energy consumption of the task.

[0120] Assume ,, ,, ,, ,, ,, and ,, ,, :

[0121]

[0122] Therefore, the adjusted task priority is 19.14.

[0123] Furthermore, calculate the collaboration coefficient of the collaboration relationship among multiple robots in the adjusted task execution strategy:

[0124] Use the following formula to calculate the collaboration coefficient:

[0125] ;

[0126] Among them, represents the th robot and the th robot's cooperation coefficient, and respectively represent the th and th robot's data values at the th time point, and respectively represent the th and th robot's average data values, represents the number of time points for data collection, is the weighting coefficient, used to balance the consistency and differential contributions in the data correlation calculation, is the weighting coefficient, used to introduce a higher-order differential evaluation; and the cooperation coefficient is used to quantify the effectiveness of data sharing and the cooperation level among robots, and further guide the dynamic adjustment of the task execution strategy.

[0127] Assume , and , , then:

[0128]

[0129] Therefore, the cooperation coefficient is 1.5375.

[0130] Through the above steps, the task execution strategy can be dynamically adjusted according to the task complexity, computing resource usage, and remaining computing power of each robot, thereby improving the overall working efficiency and response speed of the multi-robot system.

[0131] 104. According to the task execution strategy, coordinate the actions of the multiple robots to improve the working efficiency and response speed of the multiple robots.

[0132] Optionally, the coordinating the actions of the multiple robots according to the task execution strategy in step 104 includes: generating an action instruction set for each robot according to the task execution strategy, where the action instruction set includes instructions related to the cooperation relationship among the multiple robots and their respective task priorities; through a distributed computing framework, sending the action instruction set to the control system of the corresponding robot to ensure accurate execution of the instructions; during the process of the multiple robots executing tasks, continuously monitoring the status information of each robot; and according to the status information, adjusting the action instructions of each robot in real time.

[0133] In this step, the following important concepts need to be understood:

[0134] Task execution strategy: The optimal task allocation and execution order formulated according to the real-time data stream and the allocation of computing resources.

[0135] Action instruction set: The specific operation instructions for each robot generated according to the task execution strategy, including instructions related to collaboration relationships and task priorities.

[0136] Distributed computing framework: A technical framework that can support large-scale data processing and distributed task scheduling, such as Apache Hadoop or Apache Spark, etc.

[0137] Status information: Refers to the real-time status of the robot during task execution, including information such as position, speed, load, energy consumption, etc.

[0138] Real-time adjustment: Dynamically adjust the action instructions of the robot according to the changes in the status information to adapt to environmental changes and task requirements.

[0139] In the embodiment of the present application, assume that there is a team composed of four robots, which is executing a complex task, such as cargo handling and sorting in a warehouse. Each robot is responsible for different subtasks, and these subtasks have different task complexities and required amounts of computing resources. The goal is to dynamically adjust the task execution strategy of each robot through the real-time data stream and the distributed computing framework to improve the overall task completion efficiency.

[0140] Generate an action instruction set for each robot according to the task execution strategy: Generate an action instruction set for each robot according to the task execution strategy obtained in step 103. These instruction sets include the specific operation instructions of the robot, the collaboration relationship, and their respective task priorities.

[0141] Send the action instruction set to the control system of the corresponding robot through the distributed computing framework: Send the generated action instruction set to the control system of each robot through the distributed computing framework (such as Apache Spark) to ensure that the instructions can be accurately executed. The purpose of doing this is to ensure that each robot can adjust its actions according to the latest task execution strategy.

[0142] During the process of the multiple robots executing tasks, continuously monitor the status information of each robot: During the entire task execution process, continuously monitor the status information of each robot, including position, speed, load, energy consumption, etc., so as to understand the execution situation of each robot in real time.

[0143] Adjust the action instructions of each robot in real time according to the state information: According to the monitored state information, if it is found that a certain robot encounters problems or the task requirements change, immediately recalculate the task execution strategy through a real-time decision-making algorithm, and accordingly adjust the action instruction set to ensure that the task can be completed efficiently.

[0144] Suppose there are four robots A, B, C, and D, which are performing a complex warehouse goods handling task. The task complexity, computing resource usage, and remaining computing power of each robot are as follows:

[0145] Robot A: The task execution time is 10 seconds, the computing power is 1000 units, and the remaining computing power is 80%.

[0146] Robot B: The task execution time is 15 seconds, the computing power is 800 units, and the remaining computing power is 70%.

[0147] Robot C: The task execution time is 12 seconds, the computing power is 1200 units, and the remaining computing power is 90%.

[0148] Robot D: The task execution time is 8 seconds, the computing power is 900 units, and the remaining computing power is 75%.

[0149] Generate an action instruction set for each robot according to the task execution strategy:

[0150] Robot A: Give priority to executing Task 1, and then execute Task 2.

[0151] Robot B: Give priority to executing Task 3, and then execute Task 4.

[0152] Robot C: Give priority to executing Task 5, and then execute Task 6.

[0153] Robot D: Give priority to executing Task 7, and then execute Task 8.

[0154] Through the distributed computing framework Apache Spark, send these action instruction sets to the control systems of each robot to ensure that each robot can adjust its actions according to the latest task execution strategy.

[0155] During the execution process, continuously monitor the state information of each robot, such as the position information as follows:

[0156] The position information of Robot A is [(10, 10), (11, 11), (12, 12)].

[0157] The position information of Robot B is [(20, 20), (21, 21), (22, 22)].

[0158] The position information of robot C is [(30, 30), (31, 31), (32, 32)].

[0159] The position information of robot D is [(40, 40), (41, 41), (42, 42)].

[0160] If it is detected that a certain robot (such as robot B) encounters an obstacle or the task requirements change, the task execution strategy is immediately recalculated through a real-time decision-making algorithm, and the action instruction set is adjusted accordingly. For example, if robot B encounters an obstacle, it may be necessary to reassign tasks to other robots or adjust the task order.

[0161] Through the above steps, the task execution strategy can be dynamically adjusted according to the task complexity, computing resource usage, and remaining computing power of each robot, thereby improving the overall working efficiency and response speed of the multi-robot system.

[0162] Figure 2 The present application provides a structural schematic diagram of a multi-robot control system, as Figure 2 shown. The system includes:

[0163] An acquisition module 21, configured to acquire real-time data streams generated by multiple robots during task execution;

[0164] An allocation module 22, configured to dynamically allocate computing resources to the multiple robots according to the real-time data streams, where the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot;

[0165] An adjustment module 23, configured to process the real-time data streams using a distributed computing framework, and adjust the task execution strategies of the multiple robots through a real-time decision-making algorithm based on the processed data streams;

[0166] A coordination module 24, configured to coordinate the actions of the multiple robots according to the task execution strategies to improve the working efficiency and response speed of the multiple robots.

[0167] Figure 2 The multi-robot control system described above can execute Figure 1 the multi-robot control method described in the embodiments shown. The implementation principle and technical effects will not be elaborated here. For the multi-robot control system in the above embodiments, the specific manners in which each module and unit perform operations have been described in detail in the embodiments related to the method, and will not be elaborated here.

[0168] In a possible design, Figure 2 the multi-robot control system of the embodiments shown can be implemented as a computing device, as Figure 3As shown, the computing device may include a storage component 31 and a processing component 32;

[0169] The storage component 31 stores one or more computer instructions, and among them, the one or more computer instructions are called and executed by the processing component 32.

[0170] The processing component 32 is used for: collecting real-time data streams generated by multiple robots during task execution; dynamically allocating computing resources to the multiple robots according to the real-time data streams, where the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot; processing the real-time data streams using a distributed computing framework, and based on the processed data streams, adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm; coordinating the actions of the multiple robots according to the task execution strategies to improve the working efficiency and response speed of the multiple robots.

[0171] Among them, the processing component 32 may include one or more processors to execute computer instructions to complete all or part of the steps in the above method. Of course, the processing component may also be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components for executing the above method.

[0172] The storage component 31 is configured to store various types of data to support the operation of the terminal. The storage component may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0173] Of course, the computing device may also necessarily include other components, such as an input / output interface, a display component, a communication component, etc.

[0174] The input / output interface provides an interface between the processing component and the peripheral interface module, and the above peripheral interface module may be an output device, an input device, etc.

[0175] The communication component is configured to facilitate communication between the computing device and other devices in a wired or wireless manner, etc.

[0176] Among them, the computing device can be a physical device or an elastic computing host provided by a cloud computing platform. In this case, the computing device can refer to a cloud server. The above-mentioned processing components, storage components, etc. can be basic server resources rented or purchased from a cloud computing platform.

[0177] The embodiment of the present application also provides a computer storage medium storing a computer program, and when the computer program is executed by a computer, it can implement the above-mentioned Figure 1 manipulation method of multiple robots in the illustrated embodiment.

[0178] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described system, device, and unit can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.

[0179] The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative labor.

[0180] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the prior art can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0181] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for controlling multiple robots, characterized in that, Including: Collecting real-time data streams generated by multiple robots during task execution; Dynamically allocating computing resources to the multiple robots according to the real-time data streams, where the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot; Processing the real-time data streams using a distributed computing framework, and based on the processed data streams, adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm; Coordinating the actions of the multiple robots according to the task execution strategies to improve the working efficiency and response speed of the multiple robots; The adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm based on the processed data streams further includes: Calculating the cooperation coefficient of the cooperation relationship among the multiple robots in the adjusted task execution strategies of the multiple robots using the following formula: ; Among them, represents the cooperation coefficient between the -th robot and the -th robot, and respectively represent the data values of the -th and the -th robot at the -th time point, and respectively represent the average data values of the -th and the -th robot, represents the number of time points for data collection, is a weighting coefficient used to balance the contributions of consistency and difference in data correlation calculation, is a weighting coefficient used to introduce a higher-order difference evaluation; and the cooperation coefficient is used to quantify the effectiveness of data sharing and the cooperation level between robots to guide the dynamic adjustment of task execution strategies.

2. The method according to claim 1, wherein The dynamically allocating computing resources to the multiple robots according to the real-time data streams includes: Evaluating the task complexity of the task currently executed by each robot based on the real-time data stream, where the task complexity includes task type, required computing amount, and expected completion time; Real-time monitoring the computing resource usage of each robot to determine the remaining computing power of each robot, where the computing resource usage includes CPU load, memory usage rate, storage space occupancy, and network bandwidth; Predicting the required computing resource amount of each robot in the future period based on the task complexity and the remaining computing power; Dynamically allocating computing resources to the multiple robots based on the required computing resources of each robot to ensure the rationality and efficiency of computing resource usage, where the computing resources include adjusting the CPU frequency, allocating memory resources, optimizing the storage access mode, and adjusting the network priority.

3. The method according to claim 2, wherein The adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm based on the processed data streams includes: Based on the preprocessed data streams, obtaining the task complexity, computing resource usage, and remaining computing power corresponding to each robot, and inputting them into a preset real-time decision-making algorithm, where the real-time decision-making algorithm is used to formulate task execution strategies according to the task complexity, computing resource usage, and remaining computing power corresponding to each robot; Dynamically adjusting the task assignment and execution order of each robot according to the task execution strategies.

4. The method according to claim 3, characterized in that The coordinating the actions of the multiple robots according to the task execution strategies includes: Generating an action instruction set for each robot according to the task execution strategies, where the action instruction set includes instructions related to the cooperation relationship among the multiple robots and their respective task priorities; Sending the action instruction set to the control system of the corresponding robot through a distributed computing framework to ensure accurate execution of the instructions; During the process of the multiple robots executing tasks, continuously monitoring the status information of each robot; Real-time adjusting the action instructions of each robot according to the status information.

5. The method according to claim 4, wherein The dynamically allocating computing resources to the multiple robots according to the real-time data streams includes: Calculate the optimal resource allocation for dynamically allocating computing resources to the multiple robots through the following formula: ; Among them, represents the optimal resource allocation, represents the task execution time of the th robot, represents the computing power of the th robot, represents the total number of robots, represents the computing error correction term caused by environmental factors, is the weight factor used to balance the influence of task execution time and computing power on resource allocation, is another weight factor used to further balance the relationship between task execution time and computing power.

6. A multi-robot control system, characterized in that, Including: A collection module, configured to collect real-time data streams generated by multiple robots during task execution; An allocation module, configured to dynamically allocate computing resources to the multiple robots according to the real-time data stream, wherein the basis for the computing resource allocation is the current task complexity and remaining computing power of each robot; An adjustment module, configured to process the real-time data stream using a distributed computing framework, and based on the processed data stream, adjust the task execution strategies of the multiple robots through a real-time decision-making algorithm; A coordination module, configured to coordinate the actions of the multiple robots according to the task execution strategies to improve the work efficiency and response speed of the multiple robots; The adjusting the task execution strategies of the multiple robots through a real-time decision-making algorithm based on the processed data stream further includes: Calculating a cooperation coefficient of the cooperation relationship between the multiple robots in the adjusted task execution strategies of the multiple robots using the following formula: ; Among them, represents the cooperation coefficient between the -th robot and the -th robot, and respectively represent the data values of the -th and the -th robot at the -th time point, and respectively represent the average data values of the -th and the -th robot, represents the number of time points for data collection, is a weighting coefficient used to balance the contributions of consistency and difference in data correlation calculation, is a weighting coefficient used to introduce a higher-order difference evaluation; and the cooperation coefficient is used to quantify the effectiveness of data sharing and the cooperation level between robots to guide the dynamic adjustment of task execution strategies.

7. An electronic device, comprising a memory and a processor, characterized in that, A computer program is stored in the memory, and the processor is configured to run the computer program to execute the multi-robot control method according to any one of claims 1 to 5.

8. A computer storage medium having computer program instructions stored thereon, characterized in that, When the computer program instructions are executed by the processor, the multi-robot control method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Technologies for dynamic remote resource allocation

    CN109313582A

  • Cloud edge collaborative data resource allocation method and system

    CN119396584A

  • KR20240073246A